Data backup method, device, medium, electronic equipment and program product

By generating and executing recovery point deletion tasks on the backup work service node, the target recovery point data and backup index in file system backup are directly deleted, which solves the problem of inefficient deletion of recovery points in the existing technology, and achieves efficient resource saving and recovery point deletion.

CN118672828BActive Publication Date: 2025-03-21BEIJING VOLCANO ENGINE TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410925805.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-07-10
Publication Date
2025-03-21
Estimated Expiration
2044-07-10

AI Technical Summary

Technical Problem

When the prior art deletes recovery points in file system backup, it is easy to cause subsequent recovery points of backup data to be unusable, and the deletion process is inefficient and occupies a lot of computer resources.

Method used

By generating a recovery point deletion task, a task is issued to the backup work service node, instructing it to determine the target data to be deleted based on the backup index of the target recovery point, the backup index of the previous recovery point, and the backup index of the subsequent recovery point, and directly delete the data and its backup index from the backup library.

Benefits of technology

It realizes the direct deletion of the target recovery point data and backup index in the backup library, without data relocation or backup index merging, avoids the need for periodic garbage collection, saves computing resources and storage space, and improves the efficiency of recovery point deletion.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118672828B_ABST
    Figure CN118672828B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a data backup method, device, medium, electronic device and program product, and relates to the field of computer technology. By generating a recovery point deletion task, the recovery point deletion task is issued to a backup work service node, and the backup work service node is instructed to determine a first target data to be deleted according to a first backup index corresponding to a target recovery point, a second backup index of a previous recovery point corresponding to the target recovery point, and a third backup index of a subsequent recovery point corresponding to the target recovery point, and the first target data and the first backup index are deleted from a backup library. The first target data and the first backup index of the target recovery point in the backup library can be directly deleted without data migration or merging backup indexes. There is no need to recycle useless backup data through periodic GC, and there is no need to additionally maintain metadata referenced by data, thereby not only greatly saving computing resources and storage space, but also improving the efficiency of recovery point deletion.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technology, and in particular to a data backup method, device, medium, electronic device and program product. Background Art

[0002] Backing up data is not only an effective means to combat hardware failures, natural disasters or malicious attacks, but also provides strong support for business continuity. As the cornerstone of data security, file system backup can ensure data integrity and availability, providing users with a reliable way to deal with various potential threats.

[0003] However, when you need to delete a recovery point in the file system backup, since the recovery points corresponding to the full backup and the subsequent incremental backup form a recovery chain, once a recovery point in the recovery chain is deleted, the subsequent recovery points of the backup data will become unusable.

[0004] In the related art, when deleting a recovery point, in order to enable the subsequent recovery points to continue to be used, either data merging and relocation are performed when deleting the recovery point, or more metadata is maintained, or soft deletion and periodic garbage collection (GC) are performed. However, these methods are not only inefficient, but also occupy more computer resources. Summary of the invention

[0005] This summary is provided to introduce concepts in a brief form that will be described in detail in the detailed description below. This summary is not intended to identify key features or essential features of the claimed technical solution, nor is it intended to limit the scope of the claimed technical solution.

[0006] In a first aspect, the present disclosure provides a data backup method, comprising:

[0007] Generate a recovery point deletion task, the recovery point deletion task is used to instruct to delete a target recovery point in a backup library, the backup library is used to manage backup data and backup indexes corresponding to each recovery point;

[0008] The recovery point deletion task is issued to the backup work service node, and the backup work service node is instructed to determine the first target data to be deleted based on the first backup index corresponding to the target recovery point, the second backup index of the predecessor recovery point corresponding to the target recovery point, and the third backup index of the successor recovery point corresponding to the target recovery point, and delete the first target data and the corresponding first backup index from the backup library.

[0009] In a second aspect, the present disclosure provides a data backup device, comprising:

[0010] A task generation module is configured to generate a recovery point deletion task, wherein the recovery point deletion task is used to instruct to delete a target recovery point in a backup library, wherein the backup library is used to manage backup data and backup indexes corresponding to each recovery point;

[0011] The sending module is configured to send the recovery point deletion task to the backup work service node, and instruct the backup work service node to determine the first target data to be deleted based on the first backup index corresponding to the target recovery point, the second backup index of the predecessor recovery point corresponding to the target recovery point, and the third backup index of the successor recovery point corresponding to the target recovery point, and delete the first target data and the corresponding first backup index from the backup library.

[0012] In a third aspect, the present disclosure provides a computer-readable medium having a computer program stored thereon, which, when executed by a processing device, implements the steps of the method described in the first aspect.

[0013] In a fourth aspect, the present disclosure provides an electronic device, including:

[0014] a storage device having a computer program stored thereon;

[0015] A processing device is used to execute the computer program in the storage device to implement the steps of the method described in the first aspect.

[0016] In a fifth aspect, the present disclosure provides a computer program product, including a computer program, which implements the steps of the method described in the first aspect when executed by a processor.

[0017] Based on the above technical solution, by generating a recovery point deletion task, the recovery point deletion task is issued to the backup work service node, and the backup work service node is instructed to determine the first target data to be deleted according to the first backup index corresponding to the target recovery point, the second backup index of the predecessor recovery point corresponding to the target recovery point, and the third backup index of the successor recovery point corresponding to the target recovery point, and delete the first target data and the corresponding first backup index from the backup library. The first target data and the first backup index of the target recovery point in the backup library can be directly deleted without data migration or merging backup indexes. There is no need to recycle useless backup data through periodic GC, and there is no need to additionally maintain metadata referenced by data, which not only greatly saves computing resources and storage space, but also improves the efficiency of recovery point deletion.

[0018] Other features and advantages of the present disclosure will be described in detail in the following detailed description. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and the originals and elements are not necessarily drawn to scale. In the drawings:

[0020] Figure 1 It is a schematic diagram of the structure of a data backup system according to some embodiments.

[0021] Figure 2 The present invention is a flowchart of a data backup method according to some embodiments.

[0022] Figure 3 is a schematic diagram of backing up data according to some embodiments.

[0023] Figure 4 is a schematic diagram of a cloud server according to some embodiments.

[0024] Figure 5 is a schematic diagram showing a data organization form according to some embodiments.

[0025] Figure 6 is a flow chart of a data backup method according to some other embodiments.

[0026] Figure 7 It is a schematic diagram of the structure of a data backup device according to some embodiments.

[0027] Figure 8 is a schematic diagram of the structure of an electronic device according to some embodiments. DETAILED DESCRIPTION

[0028] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain 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 construed as being limited to the embodiments described herein, which are instead provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.

[0029] It should be understood that the various steps described in the method embodiments of the present disclosure may be performed in different orders and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this respect.

[0030] The term "including" and its variations used herein are open inclusions, i.e., "including but not limited to". The term "based on" means "based at least in part on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". The relevant definitions of other terms will be given in the following description.

[0031] It should be noted that the concepts such as "first" and "second" mentioned in the present disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.

[0032] It should be noted that the modifications of "one" and "plurality" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, it should be understood as "one or more".

[0033] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only used for illustrative purposes and are not used to limit the scope of these messages or information.

[0034] Figure 1 FIG. 1 is a schematic diagram showing a structure of a data backup system according to some embodiments. Figure 1 As shown, an embodiment of the present disclosure provides a data backup system, which includes a backup control center 110, a cloud server 120 and a database server.

[0035] The backup control center 110 is used to manage the backup plan and periodically send data backup tasks to the client 121 (client) deployed in the cloud server 120 according to the backup time indicated in the backup plan, so that the client 121 executes the data backup task and completes a data backup, and backs up the data of the user file system 122 (also called the backup source) in the cloud server 120 to the backup library 130 in the database server.

[0036] Moreover, the backup control center 110 is also used to manage the life cycle of the backup source, backup library 130, recovery point, data backup task, and data recovery task in the cloud server 120, which life cycle includes creation, deletion, update, etc.

[0037] The cloud server 120 is used to access the user file system 122 in the cloud server 120 through the client 121 deployed in the cloud server 120, perform data backup tasks, upload the backup index and backup data to the backup library 130, or perform data recovery tasks to restore the backup data in the backup library 130 to the specified user file system 122.

[0038] The database server is used to store backup data and corresponding backup indexes through the deployed backup library 130 .

[0039] In addition, the backup control center 110 may also execute a recovery point deletion task through the backup worker service node (Backup Worker) 140 to delete the recovery point in the backup repository 130 .

[0040] Figure 2 FIG. 1 is a flow chart of a data backup method according to some embodiments. Figure 2 As shown, the present disclosure provides a data backup method, which can be applied to Figure 1 The backup control center 110 shown in FIG. 1 is a backup control center 110. It should be noted that the backup control center may be a backup management server. Figure 2 As shown, the method may include the following steps.

[0041] In step 210, a recovery point deletion task is generated, where the recovery point deletion task is used to instruct to delete a target recovery point in the backup repository.

[0042] Here, the recovery point deletion task can be configured by the user through the backup control center. That is, the recovery point deletion task can be configured through the backup control center to instruct the backup control center to delete the target recovery point of the backup library in the database server. It should be understood that the recovery point deletion task can actually be understood as deleting the backup data and backup index corresponding to the target recovery point.

[0043] The backup library in the database server is used to store the backup data of each recovery point and the backup index corresponding to the backup data, and is used to manage the backup data and the backup index corresponding to each recovery point.

[0044] Exemplarily, the backup repository may be a data storage architecture that adopts object storage, or the backup repository may be a data storage architecture that adopts NAS (Network Attached Storage). Object storage is a system that stores data as objects, and each object generally includes data and related metadata. Network attached storage is a file-level storage device that allows data to be accessed and shared through standard network protocols (such as NFS, SMB / CIFS).

[0045] It should be noted that the backup control center may record the recovery points corresponding to each data backup, and the user may indicate the recovery point to be deleted as the target recovery point in the recovery point deletion task.

[0046] A recovery point is a state where data is successfully backed up and can be used to restore to a specific point in time. When performing a data backup, a recovery point corresponding to this data backup can be generated, and the recovery point can be associated with the backup data and backup index corresponding to this data backup.

[0047] In step 220, a recovery point deletion task is issued to the backup work service node, and the backup work service node is instructed to determine the first target data to be deleted based on the first backup index corresponding to the target recovery point, the second backup index of the predecessor recovery point corresponding to the target recovery point, and the third backup index of the successor recovery point corresponding to the target recovery point, and delete the first target data and the corresponding first backup index from the backup library.

[0048] Here, the backup control center may send the recovery point deletion task to the backup work service node (BackupWorker), so that the backup work service node executes the recovery point deletion task.

[0049] The backup work service node can be a work process that is invisible to the user and is responsible for executing the recovery point deletion task. It is worth noting that the backup work service node can be deployed inside the backup control center as part of the backup control center. Of course, the backup work service node can also be deployed as an independent service or process on one or more nodes of the data backup system. For example, the backup work service node can be deployed on a cloud server, a database server, or other computing resources of the data backup system.

[0050] The backup work service node can respond to the recovery point deletion task, obtain the first backup index corresponding to the target recovery point from the backup library, obtain the second backup index of the predecessor recovery point corresponding to the target recovery point from the backup library, and obtain the third backup index of the successor recovery point corresponding to the target recovery point from the backup library.

[0051] The recovery chain is a chain of recovery points generated by multiple data backups of the same backup source. The first recovery point in the recovery chain can usually be a full backup of the backup source. On the recovery chain, the previous recovery point of a recovery point is called a predecessor recovery point. On the recovery chain, the next recovery point of a recovery point is called a successor recovery point. The predecessor recovery point corresponding to the target recovery point is the previous recovery point of the target recovery point on the recovery chain, and the successor recovery point corresponding to the target recovery point is the next recovery point of the target recovery point on the recovery chain.

[0052] The backup index includes the metadata of all the backup data of a certain recovery point, including the path of the backup data, the modification timestamp of the backup data, and other information.

[0053] Then, the backup work service node determines the first target data to be deleted in the backup library according to the first backup index, the second backup index and the third backup index. It should be noted that the first target data to be deleted can be the backup data of all the backup data included in the first backup index except the backup data inherited from the second backup index and the backup data referenced by the third backup index.

[0054] It is worth noting that the recovery point deletion task may include the recovery point identifier corresponding to the target recovery point. Of course, if the target recovery point has a predecessor recovery point and / or a successor recovery point, the recovery point deletion task may also include the predecessor recovery point identifier corresponding to the predecessor recovery point and / or the successor recovery point identifier corresponding to the successor recovery point. The backup work service node responds to the recovery point deletion task, obtains the first backup index from the backup library through the recovery point identifier corresponding to the target recovery point, obtains the second backup index from the backup library through the predecessor recovery point identifier, and obtains the third backup index from the backup library through the successor recovery point identifier.

[0055] It should be understood that if the target recovery point does not have a previous recovery point and / or a subsequent recovery point, the second backup index and / or the third backup index may not be obtained. For example, if the target recovery point does not have a previous recovery point, the first target data to be deleted is determined based on the first backup index and the third backup index.

[0056] After the backup work service node determines the first target data to be deleted, the backup work service node deletes the first target data from the backup library of the database server and deletes the first backup index, thereby completing the deletion of the target recovery point.

[0057] It should be noted that after deleting the first target data and the first backup index from the backup repository, the backup control center can delete the recovery point identifier corresponding to the target recovery point recorded by the backup control center. If the target recovery point has a backup checkpoint, the checkpoint corresponding to the target recovery point is deleted from the backup repository.

[0058] It is worth noting that in the disclosed embodiment, the recovery point is deleted by directly deleting the first target data and the first backup index in the backup library from the backup library. There is no need to migrate the first target data or merge the backup index. There is no need to recycle useless backup data through periodic GC, and there is no need to additionally maintain the metadata of the data references.

[0059] Therefore, by generating a recovery point deletion task, issuing the recovery point deletion task to the backup work service node, and instructing the backup work service node to determine the first target data to be deleted according to the first backup index corresponding to the target recovery point, the second backup index of the predecessor recovery point corresponding to the target recovery point, and the third backup index of the successor recovery point corresponding to the target recovery point, and deleting the first target data and the corresponding first backup index from the backup library, the first target data and the first backup index of the target recovery point in the backup library can be directly deleted without data migration or merging backup indexes. There is no need to recycle useless backup data through periodic GC, and there is no need to additionally maintain metadata referenced by data, which not only greatly saves computing resources and storage space, but also improves the efficiency of recovery point deletion.

[0060] In some feasible implementations, in step 220, first backup data that is not inherited from the second backup index can be determined from the backup data included in the first backup index based on the first backup index and the second backup index, and second backup data that is not referenced by the third backup index can be determined from the first backup data based on the first backup index and the third backup index, and the second backup data can be determined as the first target data.

[0061] here, Figure 3 FIG. 1 is a schematic diagram of backing up data according to some embodiments. Figure 3 As shown, the backup data included in a recovery point may include the backup data inherited from the previous recovery point and the backup data newly added to the recovery point. The backup data newly added to the recovery point may include two parts, namely, the backup data no longer referenced by the subsequent recovery point and the backup data referenced by the subsequent recovery point.

[0062] The backup data inherited from the previous recovery point cannot be deleted because the previous recovery point is still referencing it. Similarly, the backup data referenced by the subsequent recovery point is still referenced by the subsequent recovery point, so the backup data referenced by the subsequent recovery point cannot be deleted.

[0063] In the disclosed embodiment, the backup work service node can determine the first backup data that is not inherited from the second backup index from all the backup data included in the first backup index by comparing the first backup index and the second backup index. The first backup data can be understood as the backup data newly added to the target recovery point relative to the previous recovery point. Then, by comparing the first backup index and the second backup index, the second backup data that is not referenced by the third backup index is determined from the first backup data. The second backup data can be understood as the backup data newly added to the target recovery point relative to the previous recovery point and not referenced by the subsequent recovery point. Therefore, the second backup data is backup data that can be safely deleted, and the second backup data is determined as the first target data to be deleted.

[0064] In some embodiments, when deleting the target recovery point, the backup control center may generate a recovery point deletion task, which includes a recovery point identifier corresponding to the target recovery point, a predecessor recovery point identifier corresponding to the predecessor recovery point, and a successor recovery point identifier corresponding to the successor recovery point. Then, the backup control center sends the recovery point deletion task to the backup work service node to instruct the backup work service node to receive the recovery point deletion task, obtain the first backup index from the backup library according to the recovery point identifier corresponding to the target recovery point, obtain the second backup index from the backup library through the predecessor recovery point identifier, and obtain the third backup index from the backup library through the successor recovery point identifier. Then, the backup work service node constructs corresponding data sets according to the first backup index, the second backup index, and the third backup index, respectively, and each data set contains all backup data in the backup index of the corresponding recovery point. Among them, the first backup index corresponds to the first data set, the second backup index corresponds to the second data set, and the third backup index corresponds to the third data set. Let the set to be deleted = the first data set - the second data set - the third data set, then all the backup data included in the set to be deleted is the first target data.

[0065] Therefore, through the above implementation, when deleting a recovery point, the first target data that can be safely deleted can be directly deleted, thereby realizing direct deletion of the recovery point without the need for data migration or merging of backup indexes, and without the need to recycle useless backup data through periodic GC, and without the need to additionally maintain metadata referenced by the data. This not only greatly saves computing resources and storage space, but also improves the efficiency of recovery point deletion.

[0066] In some possible implementations, such as Figure 1 As shown, the data backup system may further include a cloud server, wherein the cloud server may be deployed with an Elastic Compute Service (ECS), and a user file system may be mounted on the ECS.

[0067] Figure 4 FIG. 1 is a schematic diagram of a cloud server according to some embodiments. Figure 4 As shown, an ECS may be deployed in the cloud server, a user file system and a client are deployed in the ECS, and the client communicates with the backup control center, the backup library and the user file system respectively.

[0068] It is worth mentioning that Figure 4 The cloud server architecture diagram is only used for explanation and does not limit the specific architecture of the cloud server. For example, one or more ECSs may be deployed on the cloud server, and the client may be deployed inside the cloud server instead of directly inside the ECS.

[0069] Correspondingly, the backup control center can determine the data backup task and issue the data backup task to the cloud server. The data backup task is used to enable the cloud server to access the first backup source through the client based on an access protocol in the preconfigured access protocol that is adapted to the type of the first backup source, and execute the data backup task, generate a target backup index corresponding to the second target data, and upload the target backup index and the second target data to the backup repository.

[0070] Here, the data backup task is used to instruct to back up the second target data of the first backup source in the cloud server. The first backup source may be a user file system mounted on the ECS. The second target data may be the specified data in the first backup source that needs to be backed up.

[0071] It should be understood that the data backup task can be generated periodically by the backup control center and sent to the client according to the time specified in the backup plan. Among them, the backup plan can be a periodic, regularly executed backup plan created for a certain backup source. The corresponding backup source, backup path, backup start time, backup execution interval, backup data retention time and other parameters can be set in the backup plan to facilitate periodic and continuous backup of the backup source data. Of course, the data backup task can also be a backup task set by the user.

[0072] The backup control center generates data backup tasks and sends them to the clients deployed on the cloud server.

[0073] It should be noted that corresponding clients can be installed on different backup source systems and platforms. The clients are used to execute data backup tasks and data recovery tasks issued by the backup control center.

[0074] The client can access the first backup source based on the access protocol that is adapted to the type of the first backup source in the preconfigured access protocol. In other words, the client supports communicating with the backup source through the communication protocol that is adapted to the backup source, and the client supports communicating with different types of backup repositories.

[0075] Exemplarily, in the disclosed embodiment, the backup source may be a user file system using protocols such as POSIX, NFS, and SMB. Depending on the type of the user file system to be backed up, the client communicates with the user file system through a communication protocol adapted to the backup source, so that the client can adapt not only the user file system of the POSIX protocol, but also the user file system of protocols such as NFS and SMB. In addition, the client also supports communication with different types of backup repositories, such as a backup repository using object storage, a backup repository using network attached storage, and the like.

[0076] The client deployed on the cloud server receives the data backup task issued by the backup control center, responds to the data backup task, accesses the first backup source through the access protocol of the type video of the first backup source, and executes the data backup task. When executing the data backup task, the client scans the first backup source to obtain the second target data that needs to be backed up as indicated by the data backup task, and generates a target backup index corresponding to the second target data based on the scanned second target data. Then, the target backup index and the second target data are uploaded to the backup library to complete the execution of the data backup task.

[0077] It should be noted that during the data backup process, the client needs to traverse the specified directories and files in the user file system, obtain the metadata of the file (such as modification time), read the file content, etc. Through the client, the above operations on the user file system can be supported regardless of the user file system of the POSIX protocol or the NAS protocol. Therefore, the data backup method provided by the embodiment of the present disclosure has strong versatility.

[0078] Therefore, through the client, it can be applicable to different types of user file systems and support different types of backup libraries, and has strong versatility.

[0079] It is worth noting that when the amount of data to be backed up is large, there may be multiple clients, and each client is responsible for backing up part of the data.

[0080] In some possible implementations, the backup repository may include a user storage space that supports tenants of the cloud server to access the backup index and backup data.

[0081] The user storage space may be a storage space on the cloud belonging to a tenant of a cloud service provided by a cloud server, and the user storage space supports being accessed by the user, so that the user can access the backup index and backup data stored in the user storage space.

[0082] It is worth noting that the backup repository can be a data storage architecture that adopts object storage, or it can be other types of file systems that can support the storage of key-value pairs.

[0083] Exemplarily, the backup repository adopts an object storage data storage architecture or a network attached storage data storage architecture, and the user storage space includes a storage bucket in the object storage or a designated directory in the network attached storage.

[0084] When the backup repository is an object storage, the user storage space is a storage bucket in the object storage, which can store multiple backup data of one or more backup sources. When the backup repository is a network attached storage, the user storage space corresponds to one or more specified directories in the network attached storage, which are used to store multiple backup data of one or more backup sources.

[0085] Accordingly, the cloud server may upload the target backup index and the second target data to the user storage space of the backup repository through the client.

[0086] Here, the user storage space supports being accessed so that the user can access the backup index and backup data stored in the user storage space. That is, the backup index and backup data are stored in the user storage space of the backup library, and when the user needs to read a certain backup data, the corresponding backup data can be obtained by accessing the corresponding user storage space.

[0087] In the disclosed embodiment, by supporting the accessed user storage space to store backup data and backup indexes, the stored backup data can be accessed by the user. When the user needs to perform data analysis on the backup data, the user can access the user storage space, read the corresponding backup data, and perform data analysis on the backup data.

[0088] It should be understood that in the related art, the backup data is stored inside the database and is not visible to the user. Only when the user needs to restore the data, the backup data stored in the database can be restored to a specific location. However, by using the data backup method provided by the embodiment of the present disclosure, the backup data and the backup index are stored in the user storage space of the backup library, so that the backup index and the backup data can be visible to the user, and the user can directly read the required backup data and backup index by accessing the corresponding user storage space.

[0089] Therefore, by storing the backup data and the backup index in the user storage space, the user can directly access the backup data and the backup index stored in the user storage space, thereby realizing the secondary utilization of the backup data and the backup index.

[0090] In some practicable implementations, the backup index is stored in the backup repository in a preset data organization form, and the data organization form includes at least one of the following parameters:

[0091] An environment identifier used to characterize the business environment in which the target backup source corresponding to the backup index is located, a backup source type used to characterize the type to which the target backup source belongs, a backup source identifier corresponding to the target backup source, a recovery point identifier corresponding to the backup index, a backup directory used to store backup data corresponding to the backup index, and a backup checkpoint corresponding to the backup index.

[0092] Here, in the backup library, backup data and corresponding backup indexes are stored. The backup data is the original data of the file. The backup source identifier of the backup source and the file identifier corresponding to the data (such as path or inode) can be used as the key, and the data content can be used as the value corresponding to the key to store the backup data. The corresponding backup data can be directly found by the key later. The backup index includes the metadata of all backup data contained in the recovery point (such as data modification time, data path, and recovery point identifier).

[0093] In the embodiment of the present disclosure, the backup index is stored in the backup repository in a preset data organization form.

[0094] Among them, the environment identifier (prefix) is used to indicate the business environment where the target backup source is located. Depending on the business environment, the environment identifier may also be different. The backup source type (resource-type) is used to indicate the type of the target backup source. The backup source identifier (resource-id) is used to indicate the corresponding backup source. For example, the backup source identifier can be the unique identifier corresponding to the target backup source. The recovery point identifier is used to indicate the recovery point corresponding to the backup index. The backup checkpoint (checkpoint) is used to indicate that the data backup corresponding to the backup index has been successfully completed. If a backup index has a corresponding backup checkpoint, it means that the corresponding data backup task has been completed, and the data up to a certain point in time has been successfully backed up. The backup directory (backup_index) is a directory used to store all metadata of the backup data.

[0095] Figure 5 FIG. 1 is a schematic diagram showing a data organization form according to some embodiments. Figure 5 As shown in the figure, when the backup repository is object storage, the backup index and backup data are Figure 5 The data organization shown is stored in buckets in object storage.

[0096] Of course, it should be understood that when the backup repository is a network-attached storage, the backup index and backup data can also be stored in the same manner as described above. Figure 5 The data organization shown is stored in a specified directory on the network attached storage.

[0097] Data is stored in the object storage in the form of objects. Each object has a unique key, which can be composed of multiple parts. For example, the key corresponding to the backup index generated by a backup can be: / cbr / filesystem_01 / recovery_point_001 / backup_index. Among them, cbr represents the corresponding business environment, filesystem_01 is the backup source identifier corresponding to the user file system, recovery_point_001 is the recovery point identifier, and backup_index is the corresponding backup directory. In actual application scenarios, the recovery point identifier can also further include other additional information. For example, after a retry, the recovery point identifier can include the retried version.

[0098] It should be noted that backup_index is used to save the metadata of all backup data of this backup, which can be stored by row, and each row represents an actual data. backup_index actually represents the file system of the backup data of a certain recovery point.

[0099] It is worth noting that if the backup data stored in backup_index is large in size, it can be stored by splitting it up. For example, the data path can be hashed and divided into multiple objects for storage.

[0100] Therefore, by storing the backup index in the backup repository in the above preset data organization form, the backup index can be effectively organized and stored.

[0101] In some practicable implementations, the backup index may be displayed according to the data organization form in response to a viewing operation on the backup index.

[0102] Here, the backup control center can obtain the backup index read by the user from the backup library, and display the backup index in the above data organization form.

[0103] Of course, the backup index can also be viewed by a user terminal, which may refer to a terminal device using a cloud service. When a user needs to view a backup index in the backup library, the backup index can be displayed on the user terminal through the above data organization information.

[0104] Exemplarily, when a user needs to view the backup index stored in a storage bucket of an object storage, the user can perform a viewing operation on a certain storage bucket on the user terminal corresponding to the user, and display the backup index corresponding to the storage bucket in the above-mentioned data organization form on the user terminal, so that the backup index is visible to the user.

[0105] Therefore, through the above implementation, the backup index is visible to the user, so that the user can intuitively understand the backup index he reads and find the corresponding backup data according to the displayed backup index.

[0106] In some achievable implementations, the data backup task may include an incremental backup task. Accordingly, the incremental backup task may include a target recovery point identifier, a backup source identifier corresponding to the first backup source, a predecessor recovery point identifier corresponding to the target recovery point identifier, and a data backup parameter, wherein the data backup parameter is used to indicate that the second target data in the first backup source is to be backed up.

[0107] Here, incremental backup refers to backing up the data space that has changed or been modified since the last backup. The last backup can be a full backup or an incremental backup. Before performing an incremental backup on a backup source, a full backup of the backup source is required.

[0108] The backup control center initiates an incremental backup for the first backup source and can generate a target recovery point identifier, which is used to indicate the target backup index and the second target data corresponding to the current backup of the first backup source.

[0109] When it is necessary to perform incremental backup on the first backup source, the backup control center can send an incremental backup task to the client of the cloud server. The incremental backup task includes a target recovery point identifier, a backup source identifier corresponding to the first backup source, a predecessor recovery point identifier corresponding to the target recovery point identifier, and data backup parameters. The data backup parameters can actually be understood as describing the need to back up certain directories or data in the first backup source. The predecessor recovery point identifier corresponding to the target recovery point identifier is the recovery point identifier of the predecessor recovery point of the recovery point corresponding to this incremental backup.

[0110] Correspondingly, the cloud server executes the incremental backup task through the client, determines the fourth backup index corresponding to the predecessor recovery point identifier according to the predecessor recovery point identifier, scans the first backup source indicated by the backup source identifier through the client according to the data backup parameters, determines the second target data to be backed up in the first backup source, and generates a target backup index corresponding to the target recovery point identifier based on the second target data, determines the incremental backup data in the second target data included in the target backup index according to the target backup index and the fourth backup index, and uploads the target backup index and the incremental backup data to the backup repository through the client.

[0111] Here, the backup control center instructs the client of the cloud server to obtain the fourth backup index corresponding to the predecessor recovery point identifier through the predecessor recovery point identifier in response to the incremental backup task after receiving the incremental backup task. It should be noted that if the client locally stores a cache of the fourth backup index corresponding to the predecessor recovery point identifier, the fourth backup index can be directly obtained locally. If the client does not locally store a cache of the fourth backup index corresponding to the predecessor recovery point identifier, the fourth backup index can be obtained from the backup library through the predecessor recovery point identifier.

[0112] Then, the client scans the first backup source indicated by the backup source identifier according to the data backup parameters, determines the second target data to be backed up in the first backup source, and generates a target backup index corresponding to the target recovery point identifier according to the scanned second target data.

[0113] Next, the client determines the incremental backup data in the second target data included in the target backup index according to the target backup index and the fourth backup index.

[0114] Exemplarily, each second target data in the target backup index can be traversed. If the traversed second target data does not exist in the fourth backup index, the second target data is incremental backup data. If the traversed second target data exists in the fourth backup index, if the data modification time of the second target data is inconsistent with the data modification time of the corresponding data in the fourth backup index, it means that the second target data has changed since the last backup, and the second target data is incremental backup data. If the data modification time is consistent, it means that the second target data has not changed since the last backup, and the second target data is not incremental backup data.

[0115] After the incremental backup data is determined, the target backup index and all incremental backup data are written to the backup repository for storage. It should be noted that if the backup repository adopts the data storage architecture of object storage, the client can upload the target backup index and incremental backup data to the object storage through the corresponding interface (API) of the object storage. If the backup repository adopts the data storage architecture of network attached storage, the client can upload the target backup index and incremental backup data to the network attached storage through the NAS protocol.

[0116] It should be understood that both object storage and network attached storage can be supported by the client. Object storage supports storage by key. For network attached storage, the client can convert the read and write operations of the key into read and write operations on the data path, so that the client can easily support object storage and network attached storage.

[0117] It should be noted that during the process of uploading the target backup index and incremental backup data, if any data is deleted, the corresponding data in the target backup index will also be deleted.

[0118] After the target backup index and the incremental backup data are uploaded, a checkpoint can be written to the target backup index to indicate that the incremental backup has been successfully completed. Of course, the target backup index can also be saved locally on the client in the form of a file for the next backup.

[0119] It is worth noting that during the incremental backup process, the client can perform the following operations on the backup source: traverse the directories and data in the backup source, obtain the metadata of the data (such as data modification time), and read the data content of the data.

[0120] Therefore, through the above implementation, the backup source can be quickly incrementally backed up, and the incremental backup task can be executed through the client, and backup sources of different protocols can also be supported, which has strong versatility.

[0121] It should be understood that the client deployed in the cloud server can be created in the cloud server by the backup control center. That is, the backup control center can create a client in the cloud server whose access protocol can adapt to the type of backup source used by the cloud server. Clients with different access protocols can be created for different types of backup sources.

[0122] In some practicable implementations, the data backup task may include a full backup task. Accordingly, the full backup task may include a recovery point identifier, a backup source identifier, and data backup parameters.

[0123] Here, the backup control center initiates a full backup for the backup source, and can generate a corresponding recovery point identifier, which is used to indicate the backup index and backup data corresponding to the current backup of the backup source.

[0124] When a backup source needs to be fully backed up, the backup control center can send a full backup task to the client of the cloud server. The full backup task includes a recovery point identifier, a backup source identifier, and data backup parameters.

[0125] Accordingly, the cloud server executes the full backup task through the client, scans the backup source indicated by the backup source identifier according to the data backup parameters, determines the data to be backed up, and generates a backup index corresponding to the recovery point identifier based on the data to be backed up, and uploads the backup index and the data to be backed up to the backup library.

[0126] It is worth noting that the difference between full backup and incremental backup is that full backup does not require the use of the previous recovery point, nor does it need to be compared with the backup index corresponding to the previous recovery point. For the specific operations of the client performing the full backup task, please refer to the above specific operations on the client performing the incremental backup task.

[0127] In some feasible implementations, the backup control center determines a data recovery task, executes the data recovery task through a client deployed on a cloud server, obtains a fifth backup index corresponding to the third target data from a backup repository, and writes the third target data to the second backup source through the client according to the fifth backup index.

[0128] Here, the data recovery task is used to instruct to recover the third target data in the backup repository to the second backup source specified in the cloud server.

[0129] In the data recovery task, at least one of a recovery point identifier, a backup source identifier, a data recovery parameter, a target backup source identifier, and a target directory may be included. Among them, the recovery point identifier is used to indicate that the backup data corresponding to the recovery point identifier is restored to the second backup source corresponding to the target backup source identifier, the target directory refers to the data recovery path corresponding to the second backup source, the data recovery parameter is used to indicate the third target data to be restored, and the backup source identifier is used to indicate the backup source where the recovery point representation is located.

[0130] The backup control center generates a data recovery task and sends it to the client of the corresponding cloud server. The data recovery task is used to enable the cloud server to execute the data recovery task through the client, obtain the fifth backup index corresponding to the third target data from the backup library, and then read the third target data under the fifth backup index through the data recovery parameters, and write the third target data to the target directory of the second backup source corresponding to the destination backup source identifier.

[0131] Therefore, through the above implementation, data recovery can be quickly achieved. Moreover, the data recovery task is performed through the client, which has strong versatility.

[0132] Figure 6 FIG. 1 is a flow chart of a data backup method according to some other embodiments. Figure 6 As shown, in some achievable implementations, a data backup method is provided, the method comprising: Figure 1 The method may include the following steps:

[0133] S610, receiving a data backup task sent by a backup control center, wherein the data backup task is used to instruct to back up second target data in a first backup source;

[0134] S620, in response to the data backup task, determining the second target data in the first backup source, generating a target backup index corresponding to the second target data based on the second target data, and uploading the target backup index and the second target data to the backup repository.

[0135] Among them, the backup data and backup index stored in the backup repository are used, when the backup control center deletes the recovery point in the backup repository, the backup control center determines the recovery point deletion task for indicating the deletion of the target recovery point in the backup repository, and responds to the recovery point deletion task through the backup work service node, determines the first target data to be deleted according to the first backup index corresponding to the target recovery point, the second backup index of the predecessor recovery point corresponding to the target recovery point, and the third backup index of the successor recovery point corresponding to the target recovery point, and deletes the first target data from the backup repository, and deletes the first backup index from the backup repository.

[0136] For detailed description of the above steps S610 to S620, reference may be made to the relevant description of the above embodiment, which will not be repeated here.

[0137] Optionally, in step S620, the cloud server can access the first backup source through a client deployed on the cloud server based on an access protocol in a preconfigured access protocol that is adapted to the type of the first backup source, and perform a data backup task, generate a target backup index corresponding to the second target data, and upload the target backup index and the second target data to the backup repository.

[0138] Optionally, in step S620, the backup repository includes a user storage space, and the user storage space supports tenants of the cloud server to access the backup index and the backup data. Accordingly, the target backup index and the second target data can be uploaded to the user storage space through the client.

[0139] Optionally, the backup repository adopts an object storage data storage architecture or a network attached storage data storage architecture, and the user storage space includes a storage bucket in the object storage or a designated directory in the network attached storage.

[0140] Optionally, the data backup task includes an incremental backup task, which includes a target recovery point identifier, a backup source identifier corresponding to the first backup source, a predecessor recovery point identifier corresponding to the target recovery point identifier, and data backup parameters, where the data backup parameters are used to indicate the backup of the second target data in the first backup source.

[0141] Accordingly, step S620 may include:

[0142] The cloud server responds to the incremental backup task through the client, determines the fourth backup index corresponding to the predecessor recovery point identifier according to the predecessor recovery point identifier, scans the first backup source indicated by the backup source identifier according to the data backup parameters, determines the second target data to be backed up, and generates a target backup index corresponding to the target recovery point identifier according to the second target data, determines the incremental backup data in the second target data included in the target backup index according to the target backup index and the fourth backup index, and uploads the target backup index and the incremental backup data to the backup repository.

[0143] Optionally, the backup index is stored in the backup repository in a preset data organization form, and the data organization form includes at least one of the following parameters:

[0144] An environment identifier used to characterize the business environment in which the target backup source corresponding to the backup index is located, a backup source type used to characterize the type to which the target backup source belongs, a backup source identifier corresponding to the target backup source, a recovery point identifier corresponding to the backup index, a backup directory used to store backup data corresponding to the backup index, and a backup checkpoint corresponding to the backup index.

[0145] Optionally, the cloud server can also receive a data recovery task sent by the backup control center, wherein the data recovery task is used to instruct the third target data in the backup repository to be restored to a specified second backup source, and a client deployed on the cloud server responds to the data recovery task, obtains a fourth backup index corresponding to the third target data from the backup repository, and writes the third target data to the second backup source according to the fourth backup index.

[0146] It is worth noting that, regarding the above implementation, reference may be made to the relevant description of the data backup method corresponding to the data backup system, which will not be repeated here.

[0147] Figure 7 FIG. 1 is a schematic diagram showing a structure of a data backup device according to some embodiments. Figure 7As shown, a data backup device 700 is provided, which can be configured in Figure 1 The backup control center shown, the data backup device 700 may include:

[0148] The task generation module 701 is configured to generate a recovery point deletion task, wherein the recovery point deletion task is used to instruct to delete a target recovery point in a backup library, wherein the backup library is used to manage backup data and backup indexes corresponding to each recovery point;

[0149] The sending module 702 is configured to send the recovery point deletion task to the backup work service node, and instruct the backup work service node to determine the first target data to be deleted based on the first backup index corresponding to the target recovery point, the second backup index of the predecessor recovery point corresponding to the target recovery point, and the third backup index of the successor recovery point corresponding to the target recovery point, and delete the first target data and the corresponding first backup index from the backup library.

[0150] Optionally, the sending module 702 is specifically configured to:

[0151] According to the first backup index and the second backup index, determining first backup data that is not inherited from the second backup index from the backup data included in the first backup index;

[0152] According to the first backup index and the third backup index, second backup data that is not referenced by the third backup index is determined from the first backup data, and the second backup data is determined as the first target data.

[0153] Optionally, the data backup device 700 further includes:

[0154] A first determining module is configured to determine a data backup task, wherein the data backup task is used to instruct to back up the second target data of the first backup source in the cloud server;

[0155] A task issuing module is configured to issue the data backup task to the cloud server, and the data backup task is used to enable the cloud server to access the first backup source through a client based on an access protocol in a preconfigured access protocol that is adapted to the type of the first backup source, and execute the data backup task, generate a target backup index corresponding to the second target data, and upload the target backup index and the second target data to the backup repository.

[0156] Optionally, the backup repository includes a user storage space, and the user storage space supports tenants of the cloud server to access the backup index and backup data; the task issuing module is specifically configured as follows:

[0157] The target backup index and the second target data are uploaded to the user storage space through the client.

[0158] Optionally, the backup repository adopts an object storage data storage architecture or a network attached storage data storage architecture, and the user storage space includes a storage bucket in the object storage or a designated directory in the network attached storage.

[0159] Optionally, the data backup task includes an incremental backup task, the incremental backup task includes a target recovery point identifier, a backup source identifier corresponding to the first backup source, a predecessor recovery point identifier corresponding to the target recovery point identifier, and a data backup parameter, the data backup parameter being used to indicate backing up the second target data in the first backup source;

[0160] The task issuing module is specifically configured as follows:

[0161] Executing the incremental backup task through the client, and determining a fourth backup index corresponding to the predecessor recovery point identifier according to the predecessor recovery point identifier;

[0162] Scanning, by the client, the first backup source indicated by the backup source identifier according to the data backup parameter, determining the second target data to be backed up in the first backup source, and generating a target backup index corresponding to the target recovery point identifier according to the second target data;

[0163] Determining, by the client, incremental backup data in second target data included in the target backup index according to the target backup index and the fourth backup index;

[0164] The target backup index and the incremental backup data are uploaded to the backup repository through the client.

[0165] Optionally, the data backup device 700 further includes:

[0166] A second determining module is configured to determine a data recovery task, wherein the data recovery task is used to instruct to restore the third target data in the backup repository to a second backup source specified in the cloud server;

[0167] an execution module, configured to execute the data recovery task through a client deployed on the cloud server, and obtain a fifth backup index corresponding to the third target data from the backup repository;

[0168] The writing module is configured to write the third target data into the second backup source through the client according to the fifth backup index.

[0169] The backup index is stored in the backup repository in a preset data organization form, and the data organization form includes at least one of the following parameters:

[0170] an environment identifier for characterizing the business environment in which the target backup source corresponding to the backup index is located, a backup source type for characterizing the type to which the target backup source belongs, a backup source identifier corresponding to the target backup source, a recovery point identifier corresponding to the backup index, a backup directory for storing backup data corresponding to the backup index, and a backup checkpoint corresponding to the backup index;

[0171] The data backup device 700 further includes:

[0172] The display module is configured to display the backup index according to the data organization form in response to a viewing operation on the backup index.

[0173] Reference below Figure 8 , which shows an electronic device (eg, Figure 1 The backup control center in the embodiment of the present disclosure may include but is not limited to mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 8 The electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.

[0174] like Figure 8 As shown, the electronic device 800 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 801, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 802 or a program loaded from a storage device 808 to a random access memory (RAM) 803. In the RAM 803, various programs and data required for the operation of the electronic device 800 are also stored. The processing device 801, the ROM 802, and the RAM 803 are connected to each other via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.

[0175] Typically, the following devices may be connected to the I / O interface 805: an input device 806 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 807 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 808 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 809. The communication device 809 may allow the electronic device 800 to communicate with other devices wirelessly or by wire to exchange data. Although Figure 8 The electronic device 800 is shown with various devices, but it should be understood that it is not required to implement or possess all the devices shown. More or fewer devices may be implemented or possessed instead.

[0176] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a non-transitory computer-readable medium, and the computer program contains program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication device 809, or installed from a storage device 808, or installed from a ROM 802. When the computer program is executed by the processing device 801, the above-mentioned functions defined in the method of the embodiment of the present disclosure are executed.

[0177] It should be noted that the computer-readable medium mentioned above in the present disclosure may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, 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), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. This propagated data signal may take a variety of forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination of the above. Computer readable signal media may also be any computer readable medium other than computer readable storage media, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer readable medium may be transmitted using any appropriate medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.

[0178] In some embodiments, the backup control center and the cloud server may communicate using any currently known or future developed network protocol such as HTTP (HyperText Transfer Protocol), and may be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), an internet (e.g., the Internet), and a peer-to-peer network (e.g., an ad hoc peer-to-peer network), as well as any currently known or future developed network.

[0179] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device.

[0180] The above-mentioned computer-readable medium carries one or more programs. When the above-mentioned one or more programs are executed by the electronic device, the electronic device: generates a recovery point deletion task, the recovery point deletion task is used to indicate the deletion of a target recovery point in a backup library, and the backup library is used to manage the backup data and backup index corresponding to each recovery point; sends the recovery point deletion task to a backup work service node, and instructs the backup work service node to determine the first target data to be deleted based on the first backup index corresponding to the target recovery point, the second backup index of the predecessor recovery point corresponding to the target recovery point, and the third backup index of the successor recovery point corresponding to the target recovery point, and deletes the first target data and the corresponding first backup index from the backup library.

[0181] Computer program code for performing the operations of the present disclosure may be written in one or more programming languages ​​or a combination thereof, including, but not limited to, object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and 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 through 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., through the Internet using an Internet service provider).

[0182] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some implementations as replacements, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession 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 square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0183] The modules involved in the embodiments described in the present disclosure may be implemented by software or hardware, wherein the name of a module does not, in some cases, limit the module itself.

[0184] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like.

[0185] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, 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), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0186] The above description is only a preferred embodiment of the present disclosure and an explanation of the technical principles used. Those skilled in the art should understand that the scope of disclosure involved in the present disclosure is not limited to the technical solutions formed by a specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above disclosed concept. For example, the above features are replaced with the technical features with similar functions disclosed in the present disclosure (but not limited to) by each other to form a technical solution.

[0187] In addition, although each operation is described in a specific order, this should not be understood as requiring these operations to be performed in the specific order shown or in a sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although some specific implementation details are included in the above discussion, these should not be interpreted as limiting the scope of the present disclosure. Some features described in the context of a separate embodiment can also be implemented in a single embodiment in combination. On the contrary, the various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable sub-combination mode.

[0188] Although the subject matter has been described in language specific to structural features and / or method logic actions, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. On the contrary, the specific features and actions described above are merely example forms of implementing the claims. Regarding the device in the above embodiment, the specific manner in which each module performs the operation has been described in detail in the embodiment related to the method, and will not be elaborated here.

Claims

1. A data backup method, characterized in that: include: Generate a recovery point deletion task, the recovery point deletion task is used to instruct to delete a target recovery point in a backup library, the backup library is used to manage backup data and backup indexes corresponding to each recovery point; The recovery point deletion task is issued to the backup work service node, and the backup work service node is instructed to determine the first backup data that is not inherited from the second backup index from the backup data included in the first backup index according to the first backup index corresponding to the target recovery point and the second backup index of the predecessor recovery point corresponding to the target recovery point, determine the second backup data that is not referenced by the third backup index from the first backup data according to the first backup index and the third backup index of the successor recovery point corresponding to the target recovery point, determine the second backup data as the first target data, and delete the first target data and the corresponding first backup index from the backup library.

2. The method according to claim 1, characterized in that The method further comprises: Determine a data backup task, where the data backup task is used to instruct to back up the second target data of the first backup source in the cloud server; The data backup task is issued to the cloud server, and the data backup task is used to enable the cloud server to access the first backup source through a client based on an access protocol in a preconfigured access protocol that is adapted to the type of the first backup source, and execute the data backup task, generate a target backup index corresponding to the second target data, and upload the target backup index and the second target data to the backup repository.

3. The method according to claim 2, characterized in that The backup repository includes a user storage space, which supports tenants of the cloud server to access backup indexes and backup data; The uploading the target backup index and the second target data to the backup repository includes: The target backup index and the second target data are uploaded to the user storage space through the client.

4. The method according to claim 3, characterized in that The backup repository adopts an object storage data storage architecture or a network attached storage data storage architecture, and the user storage space includes a storage bucket in the object storage or a designated directory in the network attached storage.

5. The method according to claim 2, characterized in that: The data backup task includes an incremental backup task, the incremental backup task includes a target recovery point identifier, a backup source identifier corresponding to the first backup source, a predecessor recovery point identifier corresponding to the target recovery point identifier, and a data backup parameter, the data backup parameter being used to indicate backing up the second target data in the first backup source; The executing the data backup task, generating a target backup index corresponding to the second target data, and uploading the target backup index and the second target data to the backup repository includes: Executing the incremental backup task through the client, and determining a fourth backup index corresponding to the predecessor recovery point identifier according to the predecessor recovery point identifier; Scanning, by the client, the first backup source indicated by the backup source identifier according to the data backup parameter, determining the second target data to be backed up in the first backup source, and generating a target backup index corresponding to the target recovery point identifier according to the second target data; Determining, by the client, incremental backup data in second target data included in the target backup index according to the target backup index and the fourth backup index; The target backup index and the incremental backup data are uploaded to the backup repository through the client.

6. The method according to claim 1, characterized in that The method further comprises: Determine a data recovery task, where the data recovery task is used to instruct to restore the third target data in the backup repository to a second backup source specified in the cloud server; Executing the data recovery task through a client deployed on the cloud server, and obtaining a fifth backup index corresponding to the third target data from the backup repository; The third target data is written into the second backup source through the client according to the fifth backup index.

7. The method according to any one of claims 1 to 6, characterized in that The backup index is stored in the backup repository in a preset data organization form, and the data organization form includes at least one of the following parameters: an environment identifier for characterizing the business environment in which the target backup source corresponding to the backup index is located, a backup source type for characterizing the type to which the target backup source belongs, a backup source identifier corresponding to the target backup source, a recovery point identifier corresponding to the backup index, a backup directory for storing backup data corresponding to the backup index, and a backup checkpoint corresponding to the backup index; The method further comprises: In response to a viewing operation on the backup index, the backup index is displayed according to the data organization form.

8. A data backup device, characterized in that: include: A task generation module is configured to generate a recovery point deletion task, wherein the recovery point deletion task is used to instruct to delete a target recovery point in a backup library, wherein the backup library is used to manage backup data and backup indexes corresponding to each recovery point; The sending module is configured to send the recovery point deletion task to the backup work service node, and instruct the backup work service node to determine the first backup data that is not inherited from the second backup index from the backup data included in the first backup index according to the first backup index corresponding to the target recovery point and the second backup index of the predecessor recovery point corresponding to the target recovery point, determine the second backup data that is not referenced by the third backup index from the first backup data according to the first backup index and the third backup index of the successor recovery point corresponding to the target recovery point, determine the second backup data as the first target data, and delete the first target data and the corresponding first backup index from the backup library.

9. A computer readable medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processing device, the steps of the method according to any one of claims 1 to 7 are implemented.

10. An electronic device, characterized in that: include: a storage device having a computer program stored thereon; A processing device, configured to execute the computer program in the storage device to implement the steps of the method according to any one of claims 1 to 7.

11. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.

Citation Information

Patent Citations

  • Method and system for managing deletions in backup sets

    CN101017453A

  • Virtual machine backup method and device, electronic equipment and storage medium

    CN112612576A