Nothing Special   »   [go: up one dir, main page]

CN109697136B - Data recovery method, device and system - Google Patents

Data recovery method, device and system Download PDF

Info

Publication number
CN109697136B
CN109697136B CN201710985172.2A CN201710985172A CN109697136B CN 109697136 B CN109697136 B CN 109697136B CN 201710985172 A CN201710985172 A CN 201710985172A CN 109697136 B CN109697136 B CN 109697136B
Authority
CN
China
Prior art keywords
server
data
metadata
fragment
data fragment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710985172.2A
Other languages
Chinese (zh)
Other versions
CN109697136A (en
Inventor
舒治
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201710985172.2A priority Critical patent/CN109697136B/en
Publication of CN109697136A publication Critical patent/CN109697136A/en
Application granted granted Critical
Publication of CN109697136B publication Critical patent/CN109697136B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The embodiment of the invention provides a data recovery method, a device and a system. The method comprises the steps that a first server receives metadata of a first data fragment sent by a second server, wherein the metadata of the first data fragment comprises first indication information which is an identifier or a storage position of a backup data fragment of the first data fragment in the first server. And when the first server confirms that the first server does not store the backup data fragment of the first data fragment in the first server according to the metadata of the first data fragment, the first server requests the second server for the backup data fragment of the first data fragment in the second server, and the backup data fragment of the first data fragment is stored. The data volume of the first data fragment saved by the metadata at the identification of the backup data fragment of the first server or the storage position of the backup data fragment of the first server is small relative to the data volume of the hash value. Therefore, the network resources used for transmitting a large amount of metadata from the second server are small, and the data recovery efficiency is improved.

Description

Data recovery method, device and system
Technical Field
The embodiment of the invention relates to the field of data recovery, in particular to a data recovery method, device and system.
Background
The existing data backup mode comprises local backup and remote backup, and compared with the local backup, the reliability of backup data is improved through the remote backup. When the local data is restored, the user realizes the restoration of the local data according to the local backup data or the remote backup data. In order to improve the utilization rate of local storage resources, locally outdated backup data can be continuously deleted.
The first method is that the local server reads all backup data from a remote end and then stores all the backup data to the local. The second way is that the local server confirms whether the backup data exists locally, the backup data which exists locally does not need to be read from a remote end, and the backup data which does not exist locally needs to be read from the remote end. Before the data is restored in the second mode, the remote end and the local end pre-store the hash value of each data fragment and each data fragment which divides the backup data into a plurality of data fragments. Since locally stale backup data is continuously deleted locally, the hash values of some or all of the data fragments may be locally saved. When data is restored, if the locally-saved hash value includes the hash value of the data fragment to be restored, the backed-up data fragment is read from the local, and if the locally-saved hash value does not include the hash value of the data fragment to be restored, the backed-up data fragment is read from the remote end locally.
The first data recovery mode is adopted to recover data, all backup data needs to be transmitted through a network, the transmitted data volume is large during recovery, and network resources are consumed. The second data recovery method is adopted to recover data, the backup data needs to be divided into a plurality of data fragments in advance, the hash value of each data fragment is stored after hash operation processing is carried out on each data fragment, the operation is complex, processing resources are consumed, the byte space occupied by the hash values of the data fragments is large, and local and remote storage resources are consumed. In addition, when the second data recovery method is used to recover data, the local cache needs to cache the hash values of all the data fragments of the backup data read from the remote end, and network resources and local cache resources need to be occupied.
Disclosure of Invention
The invention discloses a data recovery method, a device and a system, wherein the data recovery method does not need to carry out Hash operation processing on each data fragment, is simple to operate and improves the data backup efficiency.
In a first aspect, a data recovery method is provided, which is performed by a first server. The first server sends a metadata obtaining request, wherein the metadata obtaining request comprises a backup data identifier, and the backup data comprises a first data fragment. Then, the first server receives metadata of the first data fragment sent by a second server. The metadata of the first data fragment includes first indication information, and the first indication information is an identifier or a storage location of a backup data fragment of the first data fragment in the first server. The first server confirms whether the first server stores the backup data fragment of the first data fragment in the first server according to the metadata of the first data fragment, and when the first server does not store the backup data fragment of the first data fragment in the first server, the first server sends the first data fragment acquisition request, wherein the first data fragment acquisition request includes the metadata of the first data fragment. The first data fragment obtaining request is used for indicating the second server to search the backup data fragments of the first data fragment in the second server. And the first server receives the backup data fragment of the first data fragment in the second server sent by the second server, and stores the backup data fragment of the first data fragment in the second server.
In the data recovery method provided in the embodiment of the present invention, since the metadata stores the identifier of the backup data segment of the first data segment on the first server or the storage location of the backup data segment of the first data segment on the first server, the data size of the identifier of the backup data segment of the first data segment on the first server or the storage location of the backup data segment of the first data segment on the first server is smaller than the data size of the hash value. Therefore, compared with the existing method of transmitting a large amount of hash values from the second server 120, the method for transmitting a large amount of metadata from the second server 120 uses less network resources, has short transmission delay, and improves the data recovery efficiency. In addition, in the embodiment of the present invention, after the first server receives a large amount of metadata, compared to the existing first server that consumes a large amount of cache space to store a large amount of hash values in the first server, the cache resource used for storing a large amount of metadata is small.
Based on the first aspect, in a first possible implementation manner, before the first server sends the metadata obtaining request, the method further includes: the first server saves a copy of the first data fragment as a backup data fragment of the first data fragment on the first server; the first server generates metadata of the first data fragment; and the first server sends the first data fragment and the metadata of the first data fragment to the second server.
In a second possible implementation manner, based on the first aspect or the first possible implementation manner of the first aspect, the determining, by the first server, whether the first server stores the backup data segment of the first data segment on the first server according to the metadata of the first data segment includes: the first server confirms whether the first server stores the metadata of the first data fragment according to the metadata of the first data fragment sent by the second server, wherein the first server confirms that the first server does not store the metadata of the first data fragment in the backup data fragment of the first server by confirming that the first server does not store the metadata of the first data fragment.
In a third possible implementation manner, based on the first aspect or the first or second possible implementation manner of the first aspect, the method further includes: the first server receives a data modification request, where the data modification request is used to instruct the first server to modify the first data fragment into a target data fragment. After the first server modifies the first data fragment into the target data fragment, saving a copy of the target data fragment as a backup data fragment of the target data fragment on the first server, generating metadata of the target data fragment, and deleting the metadata of the first data fragment, wherein the metadata of the target data fragment includes target indication information, and the target indication information is an identifier or a storage location of the target data fragment on the backup data fragment of the first server. And the first server sends the target data fragment and the metadata of the target data fragment to the second server.
Based on the first aspect or any one of the first to third possible implementation manners of the first aspect, in a fourth possible implementation manner, the metadata of the first data segment further includes distribution location information of the first data segment in the backup data, and before the first server sends a metadata obtaining request, the method further includes: the first server receives a data recovery request, wherein the data recovery request comprises the backup data identifier and a target disk identifier, and the data recovery request is used for indicating that the backup data is recovered to the target disk. The first server stores the first data fragment, including: and the first server stores the first data fragment to the target disk according to the distribution position information of the first data fragment in the backup data.
In a second aspect, a data recovery method is provided, the method being performed by a first server. The first server sends a metadata obtaining request, wherein the metadata obtaining request comprises a backup data identifier, and the backup data comprises a second data fragment. Then, the first server receives the metadata of the second data fragment sent by the second server. The metadata of the second data fragment includes second indication information, and the second indication information is an identifier or a storage location of the second data fragment in the backup data fragment of the first server. And the first server confirms whether the first server stores the backup data fragment of the second data fragment in the first server according to the metadata of the second data fragment. When the first server is confirmed to store the backup data fragment of the second data fragment in the first server, the first server searches the backup data fragment of the second data fragment in the first server according to the metadata of the second data fragment. Then the process is repeated. And the first server stores the backup data fragment of the second data fragment in the first server.
In the data recovery method provided in the embodiment of the present invention, since the metadata stores the identifier of the backup data segment of the second data segment on the first server or the storage location of the backup data segment of the second data segment on the first server, the data size of the identifier of the backup data segment of the second data segment on the first server or the storage location of the backup data segment of the second data segment on the first server is smaller than the data size of the hash value. Therefore, compared with the existing method for transmitting a large amount of hash values from the second server, the method for transmitting a large amount of metadata from the second server uses less network resources and is short in transmission delay, and the data recovery efficiency is improved. In addition, in the embodiment of the present invention, after the first server receives a large amount of metadata, compared to the existing first server that consumes a large amount of cache space of the first server to store a large amount of hash values, the cache resource used for storing a large amount of metadata is small.
Based on the second aspect, in a first possible implementation manner, before the first server sends the metadata obtaining request, the method further includes: and the first server saves a copy of the second data fragment as a backup data fragment of the second data fragment on the first server. The first server generates metadata of the second data fragment, and the first server sends the second data fragment and the metadata of the second data fragment to the second server.
Based on the second aspect or the first possible implementation manner of the second aspect, in a second possible implementation manner, the determining, by the first server, whether the first server stores the backup data fragment of the second data fragment at the first server according to the metadata of the second data fragment includes: the first server confirms whether the first server stores the metadata of the second data fragment according to the metadata of the second data fragment sent by the second server, wherein the first server confirms that the first server stores the metadata of the second data fragment in the backup data fragment of the first server by confirming that the first server stores the metadata of the second data fragment.
Based on the second aspect or the first or second possible implementation manner of the second aspect, in a third possible implementation manner, the metadata of the second data segment further includes distribution location information of the second data segment in the backup data, and before the first server sends the metadata obtaining request, the method further includes: the first server receives a data recovery request, wherein the data recovery request comprises the backup data identifier and a target disk identifier, and the data recovery request is used for indicating that the backup data is recovered to the target disk. The first server stores the second data fragment, including: and the first server stores the second data fragment to the target disk according to the distribution position information of the second data fragment in the backup data.
Based on the second aspect or any one possible implementation manner of the first to third possible implementation manners of the second aspect, in a fourth possible implementation manner, if the second indication information is a storage location of the second data fragment in the backup data fragment of the first server, the searching, by the first server, the backup data fragment of the second data fragment in the first server according to the metadata of the second data fragment includes: the first server searches the backup data fragment of the second data fragment at the first server, which is pointed by the storage position of the backup data fragment of the second data fragment at the first server, according to the storage position of the backup data fragment of the second data fragment at the first server.
Based on the second aspect or any one possible implementation manner of the first to fourth possible implementation manners of the second aspect, in a fifth possible implementation manner, if the second indication information is an identifier of the second data fragment in the backup data fragment of the first server, the first server pre-stores a correspondence between the identifier of the second data fragment in the backup data fragment of the first server and a storage location of the second data fragment in the backup data fragment of the first server. The first server searches the backup data fragment of the second data fragment in the first server according to the metadata of the second data fragment, and the method comprises the following steps: the first server searches the identifier of the second data fragment in the backup data fragment of the first server according to the second indication information; the first server searches the storage position of the second data fragment in the backup data fragment of the first server according to the identifier of the second data fragment in the backup data fragment of the first server; the first server searches the backup data fragment of the second data fragment at the first server, which is pointed by the storage position of the backup data fragment of the second data fragment at the first server, according to the storage position of the backup data fragment of the second data fragment at the first server.
In a third aspect, a data recovery method is provided, the method being performed by a second server. The second server receives a metadata obtaining request sent by the first server, wherein the metadata obtaining request comprises a backup data identifier, and the backup data comprises the first data fragment. And the second server searches the metadata of the first data fragment according to the backup data identifier. The second server sends the metadata of the first data fragment to the first server, wherein the metadata of the first data fragment includes first indication information, and the first indication information is an identifier or a storage location of the first data fragment in a backup data fragment of the first server. The first server sends the first data fragment acquisition request to the second server when confirming that the first server does not store the backup data fragment of the first data fragment in the first server, wherein the first data fragment acquisition request comprises metadata of the first data fragment. And the second server receives the first data fragment acquisition request sent by the first server. And the second server inquires the backup data fragment of the first data fragment in the second server according to the first data fragment acquisition request. And the second server sends the backup data fragment of the first data fragment in the second server to the first server.
In the data recovery method provided in the embodiment of the present invention, since the metadata stores the identifier of the backup data segment of the first data segment on the first server or the storage location of the backup data segment of the first data segment on the first server, the data size of the identifier of the backup data segment of the first data segment on the first server or the storage location of the backup data segment of the first data segment on the first server is smaller than the data size of the hash value. Therefore, compared with the existing method of transmitting a large amount of hash values from the second server 120, the method for transmitting a large amount of metadata from the second server 120 uses less network resources, has short transmission delay, and improves the data recovery efficiency. In addition, in the embodiment of the present invention, after the first server receives a large amount of metadata, compared to the existing first server that consumes a large amount of cache space to store a large amount of hash values in the first server, the cache resource used for storing a large amount of metadata is small.
Based on the third aspect, in a first possible implementation manner, before the second server receives the metadata obtaining request sent by the first server, the method further includes: and the second server receives the first data fragment and the metadata of the first data fragment sent by the first server to the second server. The second server saves a copy of the first data fragment as a backup data fragment of the first data fragment in the second server, and the second server saves metadata of the first data fragment.
Based on the third aspect or the first possible implementation manner of the third aspect, in a second possible implementation manner, the method further includes: and the second server receives the target data fragment and the metadata of the target data fragment sent by the first server. And the second server stores the target data fragment and the metadata of the target data fragment, wherein the target data fragment is the target data fragment obtained by modifying the first data fragment after the first server receives a data modification request. The data modification request is used for indicating the first server to modify the first data fragment into a target data fragment, and the metadata of the target data fragment is the metadata of the target data fragment generated when the first server stores a copy of the target data fragment. The metadata of the target data fragment includes target indication information, and the target indication information is an identifier or a storage location of the backup data fragment of the target data fragment in the first server. And the copy of the target data fragment saved by the first server is used as the backup data fragment of the target data fragment in the first server.
In a fourth aspect, a method for data recovery is provided, the method being performed by a second server. The second server receives a metadata acquisition request sent by the first server, wherein the metadata acquisition request comprises a backup data identifier, and the backup data comprises a second data fragment. And the second server searches the metadata of the second data fragment according to the backup data identifier. And the second server sends the metadata of the second data fragment to the first server, wherein the metadata of the second data fragment comprises second indication information. The second indication information is an identifier or a storage location of the second data fragment in the backup data fragment of the first server. When the first server confirms that the first server stores the backup data fragment of the second data fragment in the first server, the first server searches the backup data fragment of the second data fragment in the first server according to the metadata of the second data fragment, and stores the backup data fragment of the second data fragment in the first server.
In the data recovery method provided in the embodiment of the present invention, since the metadata stores the identifier of the backup data segment of the second data segment on the first server or the storage location of the backup data segment of the second data segment on the first server, the data size of the identifier of the backup data segment of the second data segment on the first server or the storage location of the backup data segment of the second data segment on the first server is smaller than the data size of the hash value. Therefore, compared with the existing method for transmitting a large number of hash values from the second server, the method for transmitting a large number of metadata from the second server uses less network resources, has short transmission time delay and improves the data recovery efficiency. In addition, in the embodiment of the present invention, after the first server receives a large amount of metadata, compared to the existing first server that consumes a large amount of cache space of the first server to store a large amount of hash values, the cache resource used for storing a large amount of metadata is small.
Based on the fourth aspect, in a first possible implementation manner, before the second server receives the metadata obtaining request sent by the first server, the method further includes: and the second server receives the second data fragment and the metadata of the second data fragment sent by the first server to the second server. The second server saves a copy of the second data fragment as a backup data fragment of the second data fragment in the second server, and the second server saves metadata of the second data fragment.
In a fifth aspect, a local server is provided, including: the units for executing the data recovery method in the first aspect or any possible implementation manner of the first aspect may be implemented by hardware, or may be implemented by hardware executing corresponding software.
In a sixth aspect, there is provided a local server comprising: the units for executing the data recovery method in the second aspect or any possible implementation manner of the second aspect may be implemented by hardware, or may be implemented by hardware executing corresponding software.
In a seventh aspect, there is provided a local server comprising a processor, a memory and an interface, the interface being configured to communicate with a second server, the memory being configured to store computer program code, the computer program code comprising instructions that, when executed by the processor, cause the local server to perform the method for data recovery in the first aspect or any possible implementation manner of the first aspect.
In an eighth aspect, there is provided a local server comprising a processor, a memory and an interface, the interface being configured to communicate with a second server, the memory being configured to store computer program code, the computer program code comprising instructions that, when executed by the processor, cause the local server to perform the method of data recovery in any one of the possible implementations of the second aspect or the second aspect.
In a ninth aspect, there is provided a remote server comprising: the units for executing the data recovery method in any possible implementation manner of the third aspect or the third aspect may be implemented by hardware, or may be implemented by hardware executing corresponding software.
In a tenth aspect, there is provided a remote server comprising: the units for executing the data recovery method in any possible implementation manner of the fourth aspect or the fourth aspect may be implemented by hardware, or may be implemented by hardware executing corresponding software.
In an eleventh aspect, there is provided a remote server comprising a processor, a memory and an interface, the interface being configured to communicate with a first server, the memory being configured to store computer program code, the computer program code comprising instructions, which, when executed by the processor, are configured to perform the data recovery method of the third aspect or any possible implementation manner of the third aspect.
In a twelfth aspect, there is provided a remote server comprising a processor, a memory and an interface, the interface being configured to communicate with a first server, the memory being configured to store computer program code, the computer program code comprising instructions, which when executed by the processor, are configured to perform the data recovery method of the fourth aspect or any possible implementation manner of the fourth aspect.
In a thirteenth aspect, a data recovery system is provided, which includes a first server and a second server, where the first server is a local server in any one of the possible implementations provided in the fifth aspect or the seventh aspect, and the second server is a remote server in any one of the possible implementations provided in the ninth aspect or the eleventh aspect.
In a fourteenth aspect, a data recovery system is provided, which includes a first server and a second server, where the first server is a local server in any one of the possible implementations provided in the sixth aspect or the eighth aspect, and the second server is a remote server in any one of the possible implementations provided in the tenth aspect or the twelfth aspect.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the description of the embodiments will be briefly introduced below.
Fig. 1 is a schematic structural diagram of a backup system according to an embodiment of the present invention;
FIG. 2 is a diagram illustrating a conventional data backup process;
fig. 3 is a schematic diagram of a data backup method according to an embodiment of the present invention;
fig. 4 is a schematic structural diagram of a first server 110 according to an embodiment of the present invention;
fig. 5 is a schematic structural diagram of a second server 120 according to an embodiment of the present invention;
fig. 6 is a flowchart of a data recovery method according to an embodiment of the present invention;
FIG. 7 is a flow chart of another data recovery method according to an embodiment of the present invention;
fig. 8a is a flowchart of a first full backup of disk data of a virtual machine according to an embodiment of the present invention;
fig. 8b is a flowchart of an incremental backup process after a data fragment in the disk data of the virtual machine is modified according to an embodiment of the present invention;
FIG. 8c is a flow chart of another data recovery method according to an embodiment of the present invention;
fig. 9a is a schematic diagram of a full backup of a first server 110 according to an embodiment of the present invention;
fig. 9b is a schematic diagram of a full backup of the second server 120 according to an embodiment of the present invention;
fig. 10a is a schematic diagram of an incremental backup of a first server 110 according to an embodiment of the present invention;
fig. 10b is a schematic diagram of a local incremental backup after deleting stale data according to an embodiment of the present invention;
fig. 10c is a schematic diagram of an incremental backup of the second server 120 according to the embodiment of the present invention;
fig. 11 is a block diagram of a local server according to an embodiment of the present invention;
fig. 12 is a block diagram of another local server according to an embodiment of the present invention.
Detailed Description
The technical solution in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings.
Referring to fig. 1, fig. 1 is a schematic diagram of a backup system according to an embodiment of the present invention. The backup system 100 implements local backup and backup of the second server 120, and the backup system 100 includes a first server 110 and a second server 120, and the first server 110 and the second server 120 are connected via a network. In the embodiment of the present invention, the first server 110 is used for local backup, and the second server 120 is used for remote backup.
The user communicates with the backup system 100 through a client.
The client may be a physical server or various types of terminal devices. The terminal equipment of the embodiment of the invention comprises a tablet computer, a notebook computer, mobile internet equipment, a palm computer, a desktop computer, a mobile phone or other product-shaped terminal equipment.
The client may also be a software module, for example, a software module running on a physical device or a virtual machine running on a physical server.
First, a data backup process will be described with reference to the structure of the backup system 100 shown in fig. 1.
In the embodiment of the present invention, the backup data is described by taking the disk data of the virtual machine as an example.
Referring to fig. 2, fig. 2 is a schematic diagram of a data backup process according to the prior art. As shown in fig. 2, when the backup system 100 implements data backup, local virtual machine disk data backup is implemented through the first server 110 and the second server 120. Specifically, the first server 110 divides the disk data of the virtual machine into a plurality of data fragments, and calculates a hash value of each data fragment through a hash algorithm to generate a hash table, where the hash table includes a hash value obtained by performing hash operation on the data fragments. After calculating the hash value of each data fragment through the hash algorithm, the first server 110 stores a copy of each data fragment and the hash value of each data fragment as a local backup of the disk data of the virtual machine.
In the data backup method shown in fig. 2, after the first server 110 calculates the hash value of each data fragment, each data fragment in the virtual machine disk data and the hash value of each data fragment are sent to the second server 120 for storage, so as to serve as a backup of the second server 120 of the virtual machine disk data.
With respect to the data backup method shown in fig. 2, another data backup method is similar to the data backup method shown in fig. 2, but differs from the data backup method shown in fig. 2 in that the execution subject of dividing the virtual machine disk data into a plurality of data fragments and calculating the hash values of the data fragments by the hash algorithm is different, that is, the virtual machine disk data sent from the first server 110 is divided by the second server 120, and the hash value of each data fragment is calculated by the second server 120 by the hash algorithm, so as to generate the hash table. After the second server 120 calculates the hash value of each data fragment through the hash algorithm, a copy of each data fragment and the hash value of each data fragment are stored as a backup of the second server 120 of the virtual machine disk data. After calculating the hash value of each data slice through the hash algorithm, the second server 120 sends each data slice and the hash value of each data slice to the first server 110. The first server 110 may store a copy of each data slice and a hash value of each data slice as a local backup of the virtual machine disk data.
In the data backup method shown in fig. 2 or another data backup method similar to the data backup method shown in fig. 2, after the disk data of the virtual machine is divided into a plurality of data fragments by any one of the first server 110 and the second server 120 in the backup system 100, hash operation is performed on each data fragment through a hash algorithm, which is complex in operation and consumes processing resources. After the hash value of each data fragment is calculated, the first server 110 and the second server 120 respectively allocate storage spaces to store hash values occupying large byte spaces, which consumes storage resources of the local server and the second server 120.
The embodiment of the present invention provides a different data backup method compared to the data backup method shown in fig. 2 or another data backup method similar to the data backup method shown in fig. 2. Referring to fig. 3, fig. 3 is a schematic diagram of a data backup method according to an embodiment of the present invention. As shown in fig. 3, in the data backup method provided in the embodiment of the present invention, after receiving a data backup request sent by a client, a first server 110 invokes a backup program to divide virtual machine disk data into a plurality of data fragments. Second, the first server 110 saves a copy of each of the data segments as a local backup of the data segments, i.e., as a local backup data segment of the data segments. Then, the first server 110 generates a piece of metadata for each of the data slices. The metadata of the data fragment includes indication information, and the indication information is an identifier of a local backup data fragment of the data fragment or a storage location of the local backup data fragment of the data fragment. Subsequently, the first server 110 sends the metadata of each data slice to the second server 120. The second server 120 saves a copy of each of the data segments as a backup of the second server 120 for the data segment, i.e., as a backup data segment at the second server 120 for the data segment. For example, as shown in fig. 3, the virtual machine disk data includes a first data fragment and a second data fragment. In the embodiment of the invention, the metadata is stored by the identifier of the local backup data fragment of the data fragment or the storage position of the local backup data fragment of the data fragment, and the occupied storage space is small. In contrast to the backup method shown in fig. 2 or similar to the data backup method shown in fig. 2, both the local and second servers 120 need to store hash values, and a hash value occupies at least 40 bytes of byte space. When the data size of the disk data of the virtual machine is large and the number of the divided data fragments is large, the local server 120 and the second server 120 need to allocate more storage space to store the hash value of each data fragment. Therefore, if the virtual machine disk data is backed up by the backup method shown in fig. 2 or similar to the data backup method shown in fig. 2, the storage resources of the local server 120 and the second server 120 are consumed. In addition, in the embodiment of the present invention, after the disk data of the virtual machine is divided into the data fragments, hash operation processing does not need to be performed on each data fragment, so that the operation is simple, the processing resource of the first server 110 is prevented from being consumed, and the data backup efficiency is improved.
The following describes a data recovery process with reference to the structure of the backup system 100 shown in fig. 1, the data backup diagram shown in fig. 2, and the data backup method shown in fig. 3 according to the embodiment of the present invention.
Based on the data backup method provided by the schematic diagram of data backup shown in fig. 2, after the first server 110 backs up the virtual machine disk data, in order to save the storage space of the first server 110, the first server 110 may periodically delete the expired backup data shards or the backup data shards before the data shards of the first server 110 are modified, and delete the hash value of the expired data shards or the hash value of the data shards before the data shards are modified in the backup of the first server 110. Thus, for a backup of virtual machine disk data in the first server 110 prior to restoring the data, the first server 110 may have only saved a backup of a portion of the data segments at the first server 110 or no backup of any data segments at the first server 110.
Based on the data backup method shown in fig. 2, the first server 110 receives a data recovery request sent by the client when data is subsequently recovered. Then, the first server 110 obtains the hash value of each data fragment in the virtual machine disk data from the second server 120. If the first server 110 queries that the hash table stored in the first server 110 includes the hash value of the data fragment, the data fragment is read from the first server 110, and if the hash table stored in the first server 110 does not include the hash value of the data fragment, the data fragment is read from the second server 120. Since the data size of each hash value is large, if a large number of hash values are transmitted from the second server 120 after receiving a data recovery request sent by a client, network resources are consumed, the transmission time is prolonged, and the data recovery efficiency is low. Moreover, after the first server 110 receives the large number of hash values sent by the second server 120, it is necessary to provide enough cache space to cache the large number of hash values, which consumes the cache resources of the first server 110. The same problem exists in restoring data based on a backup method similar to the data backup method shown in fig. 2.
In view of the shortcomings of the existing data recovery methods, embodiments of the present invention provide different data recovery methods, and the data recovery method provided by embodiments of the present invention is implemented based on the data backup method shown in fig. 3. In the data recovery method provided in the embodiment of the present invention, after receiving a data recovery request sent by a client, the first server 110 sends a metadata obtaining request to the second server 120. The data recovery request comprises a backup data identifier and a target disk identifier. And if the example of recovering the disk data of the virtual machine is taken as an example, the backup data identifier is the disk data identifier of the virtual machine. And the metadata acquisition request comprises a virtual machine disk data identifier. And the data recovery request indicates to recover the virtual machine disk data to the target disk. The virtual machine disk data includes a plurality of data fragments, for example, the first data fragment or the second data fragment shown in fig. 3. The first server 110 receives the metadata of each data slice sent by the second server 120. The metadata of the data fragment includes indication information, where the indication information is an identifier of the data fragment backed up at the first server 110 or a storage location of the data fragment backed up at the first server 110. Then, the first server 110 determines whether the first server 110 stores the backup data segment of the data segment in the first server 110, and when it is determined that the first server 110 does not store the backup data segment of the data segment in the first server 110, the first server 110 sends the data segment obtaining request to the second server 120, so as to obtain the backup data segment that is not stored by the first server 110 from the second server 120. Specifically, the first server 110 may confirm whether the first server 110 stores the backup data fragment of the data fragment in the first server 110 by determining whether the first server 110 stores the metadata of the data fragment. Specifically, the first server 110 confirms that the first server 110 does not store the backup data fragment of the data fragment in the first server 110 by confirming that the first server 110 does not store the metadata of the data fragment. When the first server 110 confirms that the first server 110 does not store the metadata of the data fragment, the first server 110 sends the data fragment acquisition request to the second server 120. Specifically, the data fragment obtaining request includes metadata of the data fragment. After receiving the data fragment acquisition request, the second server 120 searches for the backup data fragment of the data fragment in the second server 120 according to the metadata of the data fragment, and sends the backup data fragment of the data fragment to the first server 110 after finding the backup data fragment of the data fragment stored in the second server 120. After receiving the backup data fragment of the data fragment sent by the second server 120, the first server 110 stores the backup data fragment of the data fragment to a target disk. In addition, if the first server 110 confirms that the first server 110 stores the backup data segment of the data segment in the first server 110 or the metadata of the data segment, the first server 110 obtains the backup data segment of the data segment in the first server 110 according to the metadata of the data segment.
In the data recovery method provided in the embodiment of the present invention, since the metadata stores the identifier of the data fragment in the backup data fragment of the first server 110 or the storage location of the data fragment in the backup data fragment of the first server 110, the data amount of the data fragment in the identifier of the backup data fragment of the first server 110 or the storage location of the data fragment in the backup data fragment of the first server 110 is smaller than the data amount of the hash value. Therefore, compared with the existing method of transmitting a large number of hash values from the second server 120, the method for transmitting a large number of metadata from the second server 120 uses less network resources, has short transmission delay, and improves the data recovery efficiency. In addition, in the embodiment of the present invention, after the first server 110 receives a large amount of metadata, compared to the existing method that a large amount of cache space of the first server 110 is consumed to store a large amount of hash values, cache resources used for storing a large amount of metadata are few.
The structure of the first server 110 in the embodiment of the present invention is described below based on the structure of the backup system shown in fig. 1.
Referring to fig. 4, fig. 4 is a schematic structural diagram of a first server 110 according to an embodiment of the present invention. As shown in fig. 4, the first server 110 includes a controller 410 and a storage array 420. The controller 410 is coupled to the memory array 420.
The functions of the respective components of the first server 110 will be described below with reference to the structure of the backup system shown in fig. 1 and based on the structure of the first server 110 shown in fig. 4.
The storage array 420 is configured to store backup data that needs to be backed up in a backup process, for example, backup data of virtual machine disk data, that is, backup of virtual machine disk data in the first server 110, which may be referred to as local backup of the first server 110 in an embodiment of the present invention, or metadata of each data fragment in virtual machine disk data. The metadata of each data slice in the virtual machine disk data may also be stored in the controller 410, and the storage location of the metadata of each data slice in the virtual machine disk data is not limited to the implementation manner provided by the embodiment of the present invention.
In the first server 110, the controller 410 is configured to receive a data recovery request sent by a client, and recover virtual machine disk data. The data recovery request comprises a virtual machine disk data identifier and a target disk identifier. And the data recovery request indicates to recover the virtual machine disk data to the target disk. The disk data of the virtual machine comprises a plurality of data fragments.
The target disk identifier may be, for example, a chinese character such as "production data" or "business data", a disk identifier of a virtual machine, a letter, a number, or another symbol, or a combination of letters, numbers, or other symbols. The specific implementation is not limited by the embodiment.
The target disk may be a virtual machine disk previously used for storing virtual machine disk data, or may be another disk. The target disk may be deployed in the storage array 420 or the first server 110, or may be deployed in other physical devices, such as other storage devices, which may be other storage arrays different from the storage array 420.
The controller 410 is further configured to send a metadata obtaining request to the second server 120. The metadata acquisition request comprises a virtual machine disk data identifier.
The second server 120 stores in advance a correspondence between the virtual machine disk data identifier and the metadata of the data fragment. The metadata of the data fragment includes indication information, where the indication information is an identifier of the data fragment backed up at the first server 110 or a storage location of the data fragment backed up at the first server 110.
The second server 120, after receiving the metadata obtaining request, is configured to obtain metadata of the data fragment according to the virtual machine disk data identifier, and send the metadata of the data fragment to the first server 110.
The controller 410 is further configured to receive the metadata of the data fragment sent by the second server 120.
The controller 410, after receiving the metadata of each data fragment in the disk data of the virtual machine, is further configured to determine whether the first server 110 stores the metadata of the data fragment, and send the data fragment acquisition request to the second server 120 when determining that the first server 110 does not store the metadata of the data fragment. The data fragment acquisition request includes metadata of the data fragment.
The second server 120 is configured to receive the data fragment acquisition request, search for a data fragment according to metadata of the data fragment, and send the backup data fragment of the data fragment to the first server 110 after finding the backup data fragment of the data fragment stored by the second server 120.
The controller 410 is further configured to receive the backup data segment of the data segment sent by the second server 120, and store the backup data segment of the data segment to the target disk.
What has been described above is how the controller 410 implements the data recovery method when the controller 410 confirms that the first server 110 does not store the metadata of the data fragment, and what is described below is how the controller 410 implements the data recovery method when the first server 110 stores the metadata of the data fragment.
If the first server 110 stores the metadata of the data fragment, the controller 410 is further configured to obtain the backup data fragment of the first server 110 according to the metadata of the data fragment when confirming that the first server 110 stores the metadata of the data fragment after receiving the metadata of the data fragment. For example, the controller 410 may retrieve the backup data segment of the data segment at the first server 110 from the storage array 420.
As shown in fig. 4, the controller 410 includes an interface 411 and an interface 412, and the interface 411 is used for communicating with a client. The interface 412 is used to communicate with the storage array 420. The interface 411 is configured to receive a data recovery request sent by a client.
The controller 410 further includes a control module 430, and the control module 430 is configured to recover the virtual machine disk data according to a data recovery request sent by the client and received by the interface 411. Specifically, the data recovery request includes a virtual machine disk data identifier and a target disk identifier. And the data recovery request indicates to recover the virtual machine disk data to the target disk. The disk data of the virtual machine comprises a plurality of data fragments.
The control module 430 is further configured to send a metadata obtaining request to the second server 120. The metadata acquisition request comprises a virtual machine disk data identifier.
The control module 430 is further configured to receive the metadata of the data segment sent by the second server 120. The metadata of the data fragment includes indication information, where the indication information is an identifier of the backup data fragment of the data fragment on the first server 110 or a storage location of the backup data fragment of the data fragment on the first server 110.
The control module 430, after receiving the metadata of each data fragment in the disk data of the virtual machine, is further configured to determine whether the first server 110 stores the metadata of the data fragment, and send the data fragment acquisition request to the second server 120 when determining that the first server 110 does not store the metadata of the data fragment. The data fragment acquisition request includes metadata of the data fragment.
The control module 430 is further configured to receive the data fragment sent by the second server 120, and store the data fragment to the target disk.
What has been described above is how the control module 430 implements data recovery when the control module 430 confirms that the first server 110 does not store metadata of a data fragment, and what is described below is how the control module 430 implements data recovery when the first server 110 stores metadata of a data fragment.
If the first server 110 stores the metadata of the data fragment, the control module 430 is further configured to obtain the backup data fragment of the first server 110 according to the metadata of the data fragment when confirming that the first server 110 stores the metadata of the data fragment after receiving the metadata of the data fragment. For example, the control module 430 may obtain the backup data slice of the first server 110 from the storage array 420.
As shown in fig. 4, the control module 430 includes a processor 413 and a memory 414. The processor 413 is connected to the memory 414.
And the processor 413 is configured to receive a data recovery request sent by the client, and recover the virtual machine disk data. Specifically, the data recovery request includes a virtual machine disk data identifier and a target disk identifier. And the data recovery request indicates to recover the virtual machine disk data to the target disk. The disk data of the virtual machine comprises a plurality of data fragments.
The processor 413 is further configured to send a metadata obtaining request to the second server 120. The metadata acquisition request comprises a virtual machine disk data identifier.
The processor 413 is further configured to receive the metadata of the data fragment sent by the second server 120. The metadata of the data fragment includes indication information, where the indication information is an identifier of the data fragment backed up at the first server 110 or a storage location of the data fragment backed up at the first server 110.
The processor 413, after receiving the metadata of each data fragment in the disk data of the virtual machine, is further configured to determine whether the first server 110 stores the metadata of the data fragment, and send the data fragment acquisition request to the second server 120 when determining that the first server 110 does not store the metadata of the data fragment. The data fragment acquisition request includes metadata of the data fragment.
The processor 413 is further configured to receive the data fragment sent by the second server 120, and store the data fragment to the target disk.
What has been described above is how the processor 413 implements the data recovery method when the processor 413 determines that the first server 110 does not store the metadata of the data fragment, and what has been described below is how the processor 413 implements the data recovery method when the first server 110 stores the metadata of the data fragment.
If the first server 110 stores the metadata of the data fragment, the processor 413, after receiving the metadata of the data fragment, is further configured to obtain the backup data fragment of the first server 110 according to the metadata of the data fragment when confirming that the metadata of the data fragment is stored in the first server 110. For example, the processor 413 may obtain the backup data slice of the first server 110 from the storage array 420.
The processor 413 may be any computing device, and may be a general purpose Central Processing Unit (CPU), a microprocessor, a programmable controller, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of programs according to the above schemes. Processor 413 performs various functions of first server 110 and processes data by running or executing software programs and/or application modules stored in memory 414 and invoking data stored in memory 414, thereby monitoring first server 110 as a whole. In particular implementations, processor 413 may include one or more CPUs, as one embodiment.
A memory 414 for temporarily storing information transmitted from the client or the second server 120. The memory 414 is also used to store software programs (e.g., a data recovery program and the backup program shown in fig. 3) and application modules. The processor 413 executes various functional applications and data processing of the first server 110 by executing software programs and application modules stored in the memory 414.
The memory 414 mainly includes a program storage area and a data storage area. Wherein, the storage program area can store an operating system, an application program required by at least one function, such as sending a response message, etc.; the storage data area may store data to be processed by the application program. The Memory 414 may include Volatile Memory (Volatile Memory), such as Random-Access Memory (RAM); the Memory 414 may also include non-volatile Memory (non-volatile Memory), such as Read-Only Memory (ROM), flash Memory (Flash Memory), a Hard Disk Drive (HDD), a Solid-State Drive (SSD), a Disk storage medium or other storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a network device, but is not limited to such.
The structure of the second server 120 in the embodiment of the present invention is described below based on the structure of the backup system shown in fig. 1.
Referring to fig. 5, fig. 5 is a schematic structural diagram of a second server 120 according to an embodiment of the present invention. As shown in fig. 5, the second server 120 includes a controller 510 and a storage array 520. The controller 510 is coupled to the memory array 520.
The roles of the respective constituent parts of the second server 120 will be described below in conjunction with the structure of the backup system shown in fig. 1, and based on the structure of the second server 120 shown in fig. 5.
After the second server 120 receives the backup data and the metadata of the backup data, the storage array 520 is configured to store the backup data that needs to be backed up in the backup process, for example, the backup data of the disk data of the virtual machine, that is, the backup of the second server 120 of the disk data of the virtual machine, or the metadata of each data slice in the disk data of the virtual machine. The metadata of each data slice in the virtual machine disk data may also be stored in the controller 510, and the storage location of the metadata of each data slice in the virtual machine disk data is not limited to the implementation manner provided by the embodiment of the present invention.
In the second server 120, the controller 510 is configured to receive a metadata obtaining request sent by the first server 110, where the metadata obtaining request includes a virtual machine disk data identifier. The virtual machine disk data comprises a plurality of data fragments obtained by dividing the virtual machine disk data.
The storage array 520 stores in advance a correspondence between the virtual machine disk data identifier and the metadata of each data fragment. The metadata of the data fragment includes indication information, where the indication information is an identifier of the data fragment backed up at the first server 110 or a storage location of the data fragment backed up at the first server 110.
The controller 510 is further configured to search for metadata of each data fragment according to the disk data identifier of the virtual machine, and send the metadata of each data fragment to the first server 110.
After receiving the metadata of each data fragment in the disk data of the virtual machine, the first server 110 confirms whether the metadata of the data fragment is stored in the first server 110, and when confirming that the metadata of the data fragment is not stored in the first server 110, the first server transmits the data fragment acquisition request to the second server 120. The data fragment acquisition request includes metadata of the data fragment.
The controller 510 is further configured to receive a data fragment acquisition request sent by the first server 110, search for a data fragment from the storage array 520 according to metadata of the data fragment, and send a backup data fragment of the data fragment at the second server 120 to the first server 110 after the backup data fragment of the data fragment at the second server 120 is found.
After the first server 110 receives the backup data fragment of the data fragment sent by the second server 120 in the second server 120, the backup data fragment of the data fragment in the second server 120 is stored to the target disk.
As shown in fig. 5, the controller 510 includes an interface 511 and an interface 512, the interface 511 being used for communicating with the first server 110. The interface 512 is used to communicate with the storage array 520. An interface 511, configured to receive a metadata obtaining request sent by the first server 110.
The controller 510 further includes a control module 530, where the control module 530 is configured to, according to the metadata obtaining request sent by the first server 110 and received by the interface 511, search the metadata of each data fragment from the storage array 520 through the interface 512 according to the virtual machine disk data identifier, and send the metadata of each data fragment to the first server 110.
The control module 530 is further configured to receive a data fragment obtaining request sent by the first server 110, search for a data fragment from the storage array 520 according to metadata of the data fragment, and send the data fragment to the first server 110 after the data fragment is found.
As shown in fig. 5, the control module 530 includes a processor 513 and a memory 514. The processor 513 is coupled to the memory 514.
The processor 513 is configured to search the metadata of each data fragment from the storage array 520 according to the metadata acquisition request sent by the first server 110 and received by the interface 511, and send the metadata of each data fragment to the first server 110 according to the virtual machine disk data identifier.
The processor 513 is further configured to receive a data fragment obtaining request sent by the first server 110, search for a data fragment from the storage array 520 according to metadata of the data fragment, and send a backup data fragment of the data fragment in the second server 120 to the first server 110 after the backup data fragment of the data fragment in the second server 120 is found.
The processor 513 may be any computing device, such as a general purpose Central Processing Unit (CPU), a microprocessor, a programmable controller, an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to control the execution of programs according to the above schemes. The processor 513 performs various functions of the first server 110 and processes data by running or executing software programs and/or application modules stored in the memory 514 and calling data stored in the memory 514, thereby integrally monitoring the first server 110. In particular implementations, processor 513 may include one or more CPUs, as one embodiment.
A memory 514 for temporarily storing information transmitted from the client or the second server 120. The memory 514 is also used to store software programs (e.g., lookup metadata programs and lookup data sharers) and application modules. The processor 513 executes various functional applications and data processing of the first server 110 by running software programs and application modules stored in the memory 514.
The memory 514 mainly includes a program storage area and a data storage area. Wherein, the storage program area can store an operating system, an application program required by at least one function, such as sending a response message, etc.; the storage data area may store data to be processed by the application program. Memory 514 may include Volatile Memory (Volatile Memory), such as Random-Access Memory (RAM); the Memory may also include non-volatile Memory (non-volatile Memory), such as, but not limited to, read-Only Memory (ROM), flash Memory (Flash Memory), a Hard Disk Drive (HDD), a Solid-State Drive (SSD), a Disk storage medium or other storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a network device.
The method for data recovery according to the embodiment of the present invention is described below with reference to the structure of the backup system 100 shown in fig. 1, the flowchart of backup data shown in fig. 3, the structure of the first server 110 shown in fig. 4, and the structure of the second server 120 shown in fig. 5.
Referring to fig. 6, fig. 6 is a flowchart of a data recovery method according to an embodiment of the present invention. As shown in fig. 6, in the data recovery method provided in this embodiment, steps S610, S640, S650, and S680 are executed by the first server 110 shown in fig. 1 or fig. 4, and may specifically be executed by the control module 430 in the first server 110 or the processor 413 in the control module 430 shown in fig. 5, and steps S620, S630, S660, and S670 are executed by the second server 120 shown in fig. 1 or fig. 5, and may specifically be executed by the control module 530 in the second server 120 or the processor 513 in the control module 530 shown in fig. 6. The following describes in detail how to recover the virtual machine disk data if the first server 110 does not store the metadata of the data shard to be recovered in the case that the first server 110 deletes the expired data shard or modifies the data shard after the virtual machine disk data is backed up to the first server 110 and the second server 120 based on the flowchart of the data recovery method shown in fig. 6. The data fragment to be restored corresponding to the metadata that is not stored by the first server 110 may be, for example, the first data fragment in the disk data of the virtual machine shown in fig. 3. As shown in fig. 6, the method specifically includes the following steps.
S610, the first server 110 sends a metadata obtaining request. The metadata acquisition request comprises a virtual machine disk data identifier. The virtual machine disk data includes several data slices, for example, one of the data slices may be the first data slice shown in fig. 3.
If the data in the virtual machine disk needs to be recovered, the virtual machine disk data in the virtual machine disk can be identified through the virtual machine disk identification, and the virtual machine disk data in the virtual machine disk can also be identified through the virtual machine disk data identification predefined by the client. The embodiment is merely an exemplary illustration of the backup data identifier, and does not limit any other implementation of the backup data identifier or the virtual machine disk data identifier.
The virtual machine disk identifier or the virtual machine disk data identifier may be, for example, a chinese character such as "production data" or "business data", may also be a disk identifier of the virtual machine, may also be a letter, a number, or other symbols, and may also be a combination of letters, numbers, or other symbols. The specific implementation is not limited by the embodiment.
The virtual machine disk may be deployed in the storage array 420 or in the first server 110, or may be deployed in other physical devices, such as other storage devices, which may be other storage arrays different from the storage array 420.
S620, the second server 120 obtains the metadata of each data fragment according to the disk data identifier of the virtual machine.
The second server 120 stores in advance a correspondence between the disk data identifier of the virtual machine and the metadata of the data fragment.
The second server 120 may maintain metadata for each data slice through a metadata table. The metadata of the data fragment includes indication information, where the indication information is an identifier of the backup data fragment of the data fragment on the first server 110 or a storage location of the backup data fragment of the data fragment on the first server 110.
An alternative implementation manner of the metadata is that the metadata of each data fragment includes an identifier of the data fragment in the backup data fragment of the first server 110 or a storage location of the data fragment in the backup data fragment of the first server 110.
Optionally, another implementation manner of the metadata of each data fragment is that the metadata of each data fragment includes a correspondence between distribution position information of the data fragment in the backup data and an identifier of the data fragment in the backup data fragment of the first server 110. The distribution position information of the data fragments in the backup data is used for describing the distribution positions of the data fragments in the backup data. For example, the metadata table implemented based on the first data slice and the second data slice in the disk data of the virtual machine shown in fig. 3 is shown in table 1 below.
TABLE 1
Figure BDA0001440345410000151
Optionally, another implementation manner of the metadata of each data fragment is that the metadata of each data fragment includes distribution location information of the data fragment in the backup data and a correspondence between storage locations of the data fragment in the backup data fragment of the first server 110. The distribution position information of the data fragments in the backup data is used for describing the distribution positions of the data fragments in the backup data.
Optionally, another optional implementation manner of the metadata is that the metadata includes a correspondence identifier between the data fragment before the backup of the first server 110 and the data fragment after the backup of the first server 110. The corresponding relation identification can be letters, numbers or other symbols, and also can be a combination of the letters, the numbers or other symbols. The specific implementation is not limited by the embodiment. The correspondence identifier uniquely identifies a correspondence between data fragments in the disk data of the virtual machine before the backup of the first server 110 and after the backup of the first server 110. For example, the correspondence between the storage address of the data fragment before the first server 110 is backed up and the storage address of the data fragment after the first server 110 is backed up may be found through the correspondence identifier. The corresponding relationship identifier of the metadata implemented based on the first data fragment in the virtual machine disk data shown in fig. 3 may be, for example, index0, and the corresponding relationship between the first data fragment in the virtual machine disk data before the first server 110 is backed up and the first data fragment in the virtual machine disk data after the first server 110 is backed up may be found through the index 0. For another example, the corresponding relationship identifier of the metadata implemented based on the second data fragment in the virtual machine disk data shown in fig. 3 may be index1, and the corresponding relationship between the second data fragment in the virtual machine disk data before the first server 110 is backed up and after the first server 110 is backed up may be found through the index 1. And confirming the distribution position information of each data fragment in the backup data through the storage address of each data fragment before the backup of the first server 110.
S630, the second server 120 sends the metadata of the data fragment to the first server 110.
The second server 120 sends the metadata of each data slice in the backup data to the first server 110.
S640, the first server 110 determines whether the first server 110 stores the metadata of the data segment. Upon confirming that the first server 110 does not save the metadata of the data slice, step S650 is performed. For example, if the first server 110 does not store the metadata of the first data fragment shown in fig. 3, it is determined that the first server 110 does not store the backup data fragment of the first data fragment at the first server 110, and then step S650 is performed.
The first server 110 pre-stores a corresponding relationship between a disk data identifier of the virtual machine and metadata of the data fragment.
The first server 110 queries the metadata of the data fragment stored by the first server 110 according to the virtual machine disk data identifier.
For a specific implementation of the metadata pre-stored by the first server 110, reference may be made to the specific implementation of the metadata stored by the second server 120 in step S620, which is not described herein again. Optionally, if the metadata includes a correspondence identifier between the data fragment before the backup of the first server 110 and the data fragment after the backup of the first server 110, after the metadata of each data fragment is acquired by the first server 110, the correspondence between the storage address of the data fragment before the backup of the first server 110 and the storage address of the data fragment after the backup of the first server 110 may be found by using the correspondence identifier included in the metadata, and then the distribution location information of each data fragment in the backup data is confirmed by using the storage address of each data fragment before the backup of the first server 110.
S650, the first server 110 sends a data fragment obtaining request. The data fragment acquisition request comprises metadata of the data fragment.
The data fragment obtaining request is used to instruct the second server 120 to search for the backup data fragment of the data fragment in the second server 120.
And S660, the second server 120 searches the backup data fragment of the data fragment in the second server 120 according to the metadata of the data fragment.
Optionally, the second server 120 pre-stores the corresponding relationship between the metadata of the data fragment and the storage location of the data fragment in the backup data fragment of the second server 120, and after receiving the data fragment acquisition request, the second server 120 searches the storage location of the data fragment in the backup data fragment of the second server 120 according to the metadata of the data fragment, and then searches the backup data fragment in the second server 120 of the data fragment pointed by the storage location of the data fragment in the backup data fragment of the second server 120 according to the storage location of the data fragment in the backup data fragment of the second server 120. The second server 120 is configured to store the corresponding relationship between the metadata of the data segment and the storage location of the data segment in the backup data segment of the second server 120 after the second server 120 receives and stores the data segment of the backup data and the metadata of the data segment sent by the first server 110.
S670, the second server 120 sends the backup data fragment of the data fragment in the second server 120 to the first server 110.
S680, the first server 110 stores the backup data segment of the data segment in the second server 120.
Specifically, the first server 110 stores the backup data segment of the data segment in the second server 120 to the target disk.
Optionally, the metadata of the data segment further includes distribution location information of the data segment in the backup data, where the distribution location information of the data segment in the backup data is used to describe a distribution location of the data segment in the backup data, and the first server 110 stores the data segment, including: the first server 110 stores the data segments according to the distribution positions of the data segments in the backup data, so that the distribution positions of the data segments after the backup data is restored and the distribution positions before the backup data are not changed.
The data recovery method shown in fig. 6 describes in detail a data recovery process when the first server 110 deletes an expired or backed-up data fragment in the first server 110 before a data fragment is modified, and the first server 110 does not store metadata of the data fragment.
Next, with reference to the structure of the backup system 100 shown in fig. 1, the schematic diagram of backup data shown in fig. 3, the structure of the first server 110 shown in fig. 4, and the structure of the second server 120 shown in fig. 5, a description is given of how to perform a data recovery process in the data recovery method according to the embodiment of the present invention, if the first server 110 stores metadata of another data segment in the disk data of the virtual machine. The another data fragment to be restored corresponding to the metadata stored by the first server 110 may be, for example, the second data fragment in the disk data of the virtual machine shown in fig. 3.
Referring to fig. 7, fig. 7 is a flowchart of another data recovery method according to an embodiment of the present invention. As shown in fig. 7, in the data recovery method provided in this embodiment, steps S710, S740, S750, and S760 are executed by the first server 110 shown in fig. 1 or fig. 4, specifically, may be executed by the control module 430 in the first server 110 or the processor 413 in the control module 430 shown in fig. 5, and steps S720 and S730 are executed by the second server 120 shown in fig. 1 or fig. 5, specifically, may be executed by the control module 530 in the second server 120 or the processor 513 in the control module 530 shown in fig. 6. The following describes in detail how to recover the virtual machine disk data if the first server 110 stores the metadata of the data shard to be recovered, based on the flowchart of the data recovery method shown in fig. 7, in a case that the first server 110 deletes an expired data shard or modifies a data shard after the virtual machine disk data is backed up to the first server 110 and the second server 120, where the first server 110 stores the data shard to be recovered, for example, the data shard to be recovered may be the second data shard in the virtual machine disk data shown in fig. 3. As shown in fig. 7, the method specifically includes the following steps.
S710, the first server 110 sends a metadata obtaining request. The metadata obtaining request comprises a virtual machine disk data identifier. The virtual machine disk data includes several data slices, for example, one of the data slices may be the second data slice shown in fig. 3.
The disk data identifier of the virtual machine may refer to the related description in step S610 shown in fig. 6, and details are not described here again.
S720, the second server 120 obtains the metadata of the data fragment according to the disk data identifier of the virtual machine.
The second server 120 stores in advance a correspondence between the disk data identifier of the virtual machine and the metadata of the data fragment.
In this step S720, the second server 120 may refer to the relevant description in step S620 shown in fig. 6 for obtaining the metadata of the data segment and the specific implementation details of the content of the metadata, and the specific details are not described again.
S730, the second server 120 sends the metadata of the data fragment to the first server 110.
The second server 120 sends the metadata of each data slice in the backup data to the first server 110.
S740, the first server 110 determines whether the first server 110 stores the metadata of the data fragment. When it is confirmed that the first server 110 stores the metadata of the data fragment, step S750 is executed. For example, if the first server 110 stores the metadata of the second data fragment shown in fig. 3, it is confirmed that the first server 110 stores the backup data fragment of the first data fragment in the first server 110, and then step S750 is performed.
The first server 110 pre-stores a corresponding relationship between a disk data identifier of the virtual machine and metadata of the data fragment.
In this step S740, the first server 110 determines whether the first server 110 stores the specific implementation details of the metadata of the data fragment, which may refer to the related description in step S640 shown in fig. 6, and the specific details are not repeated here.
S750, the first server 110 obtains the data fragment backed up in the first server 110 according to the metadata of the data fragment.
If the metadata of the data segment includes an identifier of the backup data segment of the data segment in the first server 110, that is, the indication information is an identifier of the backup data segment of the data segment in the first server 110, the first server 110 may pre-store a corresponding relationship between the identifier of the backup data segment of the data segment in the first server 110 and a storage location of the backup data segment of the data segment in the first server 110. Therefore, a specific implementation manner of the first server 110 obtaining the data segments backed up in the first server 110 according to the metadata of the data segments is that the first server 110 searches a storage location of the data segments in the backup data segments of the first server 110 according to an identifier of the data segments in the metadata of the data segments in the backup data segments of the first server 110. Then, the first server 110 searches for the backup of the data segment in the first server 110, where the storage location of the data segment after the backup of the first server 110 points to, according to the storage location of the data segment after the backup of the first server 110.
If the metadata of the data fragment includes a storage location of the data fragment in the backup data fragment of the first server 110, that is, the indication information is a storage location of the data fragment in the backup data fragment of the first server 110, another specific implementation manner of the first server 110 obtaining the data fragment backed up at the first server 110 according to the metadata of the data fragment is that the first server 110 searches for the backup of the data fragment at the first server 110 pointed by the storage location of the data fragment backed up at the first server 110 according to the indication information.
If the metadata of the data segment includes the corresponding relationship identifier of the data segment before the first server 110 is backed up and after the first server 110 is backed up. For example, the correspondence is identified as a correspondence between the storage address of the data fragment before the first server 110 is backed up and the storage address of the data fragment after the first server 110 is backed up. The first server 110 finds the storage address of the data fragment backed up at the first server 110 according to the corresponding relationship identifier, finds the data fragment pointed by the storage address of the data fragment backed up at the first server 110 through the storage address of the data fragment backed up at the first server 110, and the storage address of the data fragment backed up at the first server 110 is the storage location of the data fragment backed up at the first server 110.
S760, the first server 110 stores the data fragment.
Specifically, the first server 110 stores the data fragment to a target disk.
The metadata of the data fragment further includes location information of the data fragment before the first server 110 is backed up, where the location information of the data fragment before the first server 110 is backed up is used to describe a distribution location of the data fragment in the backup data, and the first server 110 stores the data fragment, including: the first server 110 stores the data segments according to the distribution positions of the data segments in the backup data, so that the distribution positions of the data segments are not changed after the backup data is restored.
Next, referring to the structure of the backup system 100 shown in fig. 1, the schematic diagram of backup data shown in fig. 3, the structure of the first server 110 shown in fig. 4, and the structure of the second server 120 shown in fig. 5, another implementation of the method for data recovery according to the embodiment of the present invention is described.
Referring to fig. 8a to 8c, as shown in fig. 8a to 8c, the data recovery method provided in this embodiment mainly describes a process of how to back up data after modifying data fragments, and a process of how to implement data recovery after implementing data backup based on modifying data fragments. Fig. 8a mainly describes a process of first full backup of disk data of a virtual machine, fig. 8b mainly describes a process of incremental backup after modification of any data fragment in the disk data of the virtual machine, and fig. 8c mainly describes a process of how to implement data recovery after incremental backup of data is implemented based on modified data fragments. Referring first to fig. 8a, steps S801 to S806 are performed by the first server 110 shown in fig. 1 or fig. 4, and specifically may be performed by the control module 430 in the first server 110 or the processor 413 in the control module 430 shown in fig. 5, and step S807 is performed by the second server 120 shown in fig. 1 or fig. 5, and specifically may be performed by the control module 530 in the second server 120 or the processor 513 in the control module 530 shown in fig. 6. The method specifically comprises the following steps.
S801, the first server 110 receives a data backup request.
The first server 110 receives a data backup request sent by a client. The data backup request includes a backup data identification.
If the disk data of the virtual machine is taken as an example to illustrate the backup data, the data backup request comprises the disk data identification of the virtual machine.
S802, the first server 110 searches for the virtual machine disk data according to the virtual machine disk data identifier.
S803, the first server 110 divides the virtual machine disk data into a plurality of data fragments.
For example, as shown in fig. 3, the virtual machine disk data includes a first data slice and a second data slice.
S804, the first server 110 saves a copy of each data fragment, and the copy is backed up by the first server 110 as a data fragment.
S805, the first server 110 generates metadata of each data slice. The metadata of the data fragment includes indication information, where the indication information is an identifier of the data fragment backed up at the first server 110 or a storage location of the data fragment backed up at the first server 110. For example, the metadata of the first data segment includes first indication information, where the first indication information is a data identifier of the first data segment after being backed up at the first server 110 or a storage location of the first data segment after being backed up at the first server 110. For example, the metadata of the second data segment includes second indication information, where the second indication information is a data identifier of the second data segment after being backed up at the first server 110 or a storage location of the second data segment after being backed up at the first server 110.
Steps S801 to S805 describe a backup process of the virtual machine disk data in the first server 110. Assuming that the backup of the first server 110 performed this time on the Day that the first server 110 receives the data backup request is the backup of the virtual machine disk data in the first server 110 on the first Day, after the backup of the first server 110 is completed this time, the backup situation of the virtual machine disk data Day1 in the first server 110 is as shown in fig. 9 a. If the virtual machine disk data includes n data fragments, the backup of the virtual machine disk data in the first server 110 includes n copies of the n data fragments, and there are n metadata.
S806, the first server 110 sends the disk data identifier of the virtual machine, the metadata of each data fragment and each data fragment to the second server 120.
S807, the second server 120 saves the corresponding relationship between the virtual machine disk data identifier and each data fragment, and saves the corresponding relationship between the virtual machine disk data identifier and the metadata of each data fragment.
Step S806 and step S807 describe a process of implementing the first Day1 backup of the virtual machine disk data on the second server 120 after the backup of the first server 110 is completed. The backup situation of the second server 120 of Day1 of the disk data of the virtual machine is shown in fig. 9 b. The second server 120 receives and stores each data fragment and the metadata of each data fragment, and stores the corresponding relationship between the disk data identifier of the virtual machine and each data fragment. And, the second server 120 also stores the corresponding relationship between the virtual machine disk data identification and the metadata of each data fragment, but the virtual machine disk data identification is not shown in fig. 9 b.
Referring next to fig. 8b, fig. 8b mainly describes how to implement incremental backup if any data in the disk data of the virtual machine is modified in a fragmented manner after the full backup of the disk data of the virtual machine shown in fig. 8 a. Steps S810 to S814 are executed by the first server 110 shown in fig. 1 or fig. 4, and specifically may be executed by the control module 430 in the first server 110 or the processor 413 in the control module 430 shown in fig. 5, and step S815 is executed by the second server 120 shown in fig. 1 or fig. 5, and specifically may be executed by the control module 530 in the second server 120 or the processor 513 in the control module 530 shown in fig. 6. The method specifically comprises the following steps.
S810, after receiving the data modification request, the first server 110 modifies any data fragment in the virtual machine disk data into a target data fragment, and stores a copy of the target data fragment as a backup of the target data fragment on the first server 110. The data modification request is used to instruct the first server 110 to modify the first data fragment into a target data fragment
For example, based on the virtual machine disk data shown in fig. 3, in this step S810, after the first server 110 modifies the first data fragment in the virtual machine disk data into a third data fragment, the first server 110 may store a copy of the third data fragment as a backup of the third data fragment on the first server 110.
S811, the first server 110 generates metadata of the target data fragment. The metadata of the target data fragment includes indication information, where the indication information is a data identifier of the target data fragment backed up by the first server 110 or a storage location of the target data fragment backed up by the first server 110. For example, based on the disk data of the virtual machine shown in fig. 3, in this step S820, the first server 110 generates metadata of the third data slice. The metadata of the third data segment includes third indication information, where the third indication information is a data identifier of the third data segment after being backed up by the first server 110 or a storage location of the third data segment after being backed up by the first server 110.
Step S810 and step S811 describe the backup process of the first server 110 after any data slice in the disk data of the virtual machine is modified.
After any data fragment in the virtual machine disk data is modified, the first server 110 may back up a copy of the modified data fragment after the modification of any data fragment, as a backup of the modified data fragment in the first server 110.
The first server 110 may also back up the disk data of the virtual machine every day, and after the disk data of the virtual machine is fully backed up on the first day and a data backup request sent by the client is received every day later, incremental backup is performed on the modified data fragments in the disk data of the virtual machine. Specifically, when the modified data segment in the disk data of the virtual machine is backed up, only the modified data segment is determined, and the copy of the modified data segment is backed up for the modified data segment, and is used as the backup of the modified data segment in the first server 110. The client may accept a data backup request input by a user every day or the client presets a regular daily transmission of the data backup request to the first server 110.
Based on the backup situation of Day1 of the disk data of the virtual machine shown in fig. 9a, if the first data segment is changed to the third data segment, the situation of Day2 backup of the first server 110 on the second Day can be seen in fig. 10 a. After the first data fragment is modified into the third data fragment, the metadata of the third data fragment is metadata 1'.
S812, the first server 110 deletes the expired data fragments and the metadata of the expired data fragments in the backup of the first server 110.
Specifically, for example, if any data fragment in the disk data of the virtual machine is modified, the backup of the first server 110 of the latest modified data fragment is valid, and the backup of the first server 110 of the data fragment before the latest modification is an expired data fragment.
Based on the backup of Day2 of the first server 110 after the first data fragment is modified into the third data fragment as shown in fig. 10a, the first server 110 may delete the backup of the expired data fragment Day1 of the first server 110 in the first server 110, that is, the backup of the first data fragment in the first server 110, that is, the first data fragment copy. And, the first server 110 deletes the metadata 1 of the first data fragment.
S813, after deleting the expired data segments and the metadata of the expired data segments in the backup of the first server 110, the first server 110 merges the backup of the data segments that are not deleted in the first server 110 and the backup of the modified data segments in the first server 110 to serve as the backup of each data segment in the modified virtual machine disk data in the first server 110, and merges the metadata of the data segments that are not deleted and the metadata of the modified data segments to serve as the metadata of each data segment in the modified virtual machine disk data.
Based on the backup of Day2 of the first server 110 after the first data fragment is modified into the third data fragment as shown in fig. 10a, after steps S812 and S813 are performed, the situation after the backup merging and the metadata merging of the first server 110 is shown in fig. 10 b. The backup of the first server 110 is left with a copy of the unmodified data segment and a copy of the modified data segment, and a specific copy of the modified data segment is a copy of the third data segment. And, the first server 110 stores the metadata of the unmodified data fragment and the metadata of the modified data fragment, and the metadata of the modified data fragment is metadata 1' of the third data fragment.
S814, the first server 110 sends the target data fragment and the metadata of each data fragment in the modified virtual machine disk data to the second server 120.
The metadata of each data fragment in the disk data of the modified virtual machine comprises the metadata of the target data fragment, but does not comprise the metadata of any data fragment before the any data fragment is modified into the target data fragment.
The situation of backup target data shards of Day2 of the second server 120 is shown in fig. 10 c. The next Day2, the metadata of each data slice in the modified disk data of the virtual machine includes the metadata of the third data slice, but does not include the metadata of the first data slice.
S815, the second server 120 stores the corresponding relationship between the virtual machine disk data identifier and the backup of the target data fragment in the second server 120, and stores the corresponding relationship between the virtual machine disk data identifier and the metadata of each data fragment in the modified virtual machine disk data.
Referring next to fig. 8c, fig. 8c generally describes how to implement a data recovery process after implementing the method for incremental backup of data based on the modified data segments shown in fig. 8 b. Steps S820, S821, steps S830 to S832, and step S835 are executed by the first server 110 shown in fig. 1 or fig. 4, and may specifically be executed by the control module 430 in the first server 110 or the processor 413 in the control module 430 shown in fig. 5, and steps S822, S823, S833, and S834 are executed by the second server 120 shown in fig. 1 or fig. 5, and may specifically be executed by the control module 530 in the second server 120 or the processor 513 in the control module 530 shown in fig. 6. The method specifically comprises the following steps.
S820, the first server 110 receives a data recovery request.
The first server 110 receives a data recovery request sent by a client. In this step S820, the data recovery request includes the virtual machine disk data identifier and the target disk identifier, and also includes the recovery time. The recovery time represents the backup time of the disk data of the virtual machine.
For example, the recovery time in this embodiment is described by taking the backup time of the disk data of the virtual machine as Day2 of the next Day.
S821, the first server 110 sends a metadata obtaining request to the second server 120. The metadata acquisition request comprises a virtual machine disk data identifier and recovery time. The virtual machine disk data includes several data slices, for example, one of the data slices may be the first data slice shown in fig. 3.
S822, the second server 120 obtains, according to the virtual machine disk data identifier, the metadata of each data fragment stored by the second server 120 when the backup time is the recovery time.
Specifically, for example, if the recovery time is Day2, the second server 120 obtains, according to the disk data identifier of the virtual machine, the metadata of each data segment stored by the second server 120 when the backup time is Day 2.
For the case of the backup of the second server 120 Day2 shown in fig. 10c, the metadata stored in the virtual machine disk data Day2 includes metadata 1' of the third data slice, and also includes metadata of other data slices that are not modified, such as metadata of each of the second data slice to the nth data slice, that is, each of metadata 2 to metadata n.
S823, the second server 120 sends the metadata of each data fragment stored by the second server 120 to the first server 110 when the backup time is the recovery time.
S830, the first server 110 queries the metadata of each data fragment stored by the first server 110 when the backup time is the recovery time.
For the case of the backup of the first server 110 Day by 2 shown in fig. 10a, the metadata stored by the virtual machine disk data Day by 2 includes metadata 1' of the third data slice, and also includes metadata of other unmodified data slices, such as metadata of each of the second data slice to the nth data slice, that is, each of metadata 2 to metadata n.
S831, determining, by the first server 110, different metadata and the same metadata according to the metadata of each data fragment respectively stored by the second server 120 and the first server 110 when the backup time is the recovery time.
If it is determined that there is different metadata, the determined different metadata is metadata that is not stored by the first server 110, which indicates that the data segment corresponding to the metadata is not backed up by the first server 110, and a backup of the data segment corresponding to the metadata at the second server 120 needs to be obtained from the second server 120, that is, steps S832 to S835 are performed to obtain a backup of the data segment corresponding to the metadata at the second server 120.
If it is determined that part of the metadata are the same, for the same metadata, the data fragments corresponding to each of the same metadata are searched from the first server 110 without acquiring the data fragments from the second server 120.
For example, if the recovery time is Day1, the first server 110 determines different metadata and the same metadata according to the metadata of each data slice respectively stored by the second server 120 and the first server 110 when the backup time is Day 1. Based on the first server 110 condition shown in fig. 10b that an expired data fragment is deleted in the backup process of the first server 110 after a first data fragment is modified into a third data fragment, and the backup condition of the second server 120 shown in fig. 10c, when the recovery time is Day1, in the metadata of each data fragment respectively stored by the second server 120 and the first server 110, each metadata from metadata 2 to metadata n is stored in the first server 110 and the second server 120 identically, and metadata 1 stored in the second server 120 is different from metadata 1' stored in the first server 110. Therefore, the metadata 1 stored in the second server 120 is metadata that is not stored in the first server 110, and the backup of the data segment corresponding to the metadata 1 in the second server 120 needs to be acquired from the second server 120, that is, steps S832 to S835 are executed to acquire the backup of the data segment corresponding to the metadata 1 in the second server 120. For each of metadata 2 to metadata n stored in the first server 110, the first server 110 may search the first server 110 for a data slice corresponding to each of metadata 2 to metadata n. For example, the first server 110 may search for the second data fragment corresponding to the metadata 2 from the first server 110.
If it is determined that there is no different metadata, it indicates that the first server 110 stores a backup of the data fragment corresponding to each metadata in the first server 110, and the data fragment corresponding to each metadata is searched from the first server 110 without acquiring the data fragment from the second server 120.
For example, if the recovery time is Day2, the first server 110 determines that there is no different metadata according to the metadata of each data fragment respectively stored by the second server 120 and the first server 110 when the backup time is Day 2. Therefore, the first server 110 may search the first server 110 for the data slice corresponding to each metadata.
S832, the first server 110 sends a data fragment obtaining request. The data fragment acquisition request comprises metadata of the data fragment, and the data fragment identification is an identification of a data fragment corresponding to different metadata.
The data fragment obtaining request is used to instruct the second server 120 to search for the data fragment according to the metadata of the data fragment.
S833, second server 120 searches for the data fragment corresponding to the different metadata according to the metadata of the data fragment.
S834, the second server 120 sends the data fragments corresponding to the different metadata to the first server 110.
S835, the first server 110 stores the data segments corresponding to the different metadata.
Specifically, the first server 110 stores the data fragments corresponding to the different metadata to a target disk.
Referring to fig. 11, fig. 11 is a structural diagram of a local server according to an embodiment of the present invention, where the local server 1100 includes: a transmitting unit 1110, a receiving unit 1111 and a processing unit 1112. The processing unit 1112 is connected to the transmitting unit 1110 and the receiving unit 1111, respectively. The function of each unit is described in detail below.
A sending unit 1110, configured to send a metadata obtaining request after the local server 1100 receives the data recovery request, where the metadata obtaining request includes a backup data identifier, and the backup data includes the first data segment. The processing unit 1112 instructs the sending unit 1110 to send a metadata acquisition request after the local server 1100 receives the data recovery request.
In this embodiment, the function of the sending unit 1110 sending the metadata obtaining request may be implemented by the interface 411 in the controller 410 in the first server 110 shown in fig. 4, and details of the sending unit 1110 sending the metadata obtaining request may refer to details of step S610 shown in fig. 6, which is not described herein again.
A receiving unit 1111, configured to receive metadata of the first data segment sent by the second server 120, where the metadata of the first data segment includes first indication information, and the first indication information is an identifier or a storage location of a backup data segment of the first data segment in the local server.
In this embodiment, the function of the receiving unit 1111 to receive the metadata of the first data segment sent by the second server 120 may be implemented by the interface 411 in the controller 410 in the first server 110 shown in fig. 4, and specific implementation details of the receiving unit 1111 to receive the metadata of the first data segment sent by the second server 120 may refer to specific details of step S630 shown in fig. 6, which is not described herein again.
A processing unit 1112, configured to determine whether a backup data fragment of the first data fragment in the local server is stored in the local server according to the metadata of the first data fragment.
In this embodiment, the function of the processing unit 1112 determining whether the local server stores the backup data segment of the first data segment in the local server according to the metadata of the first data segment may be implemented by the controller 410 in the first server 110 shown in fig. 4 or the processor 413 therein, and the processing unit 1112 determines whether the local server stores the backup data segment of the first data segment in the local server according to the metadata of the first data segment, which may refer to specific details of step S640 shown in fig. 6, and is not described herein again.
The sending unit 1110 is further configured to send the first data fragment obtaining request when it is determined that the local server does not store the backup data fragment of the first data fragment in the local server, where the first data fragment obtaining request includes metadata of the first data fragment.
In this embodiment, the function of sending the first data fragment acquisition request by the sending unit 1110 may be implemented by the interface 411 in the controller 410 in the first server 110 shown in fig. 4, and specific implementation details of sending the first data fragment acquisition request by the sending unit 1110 may refer to specific details of step S650 shown in fig. 6, which is not described herein again.
The receiving unit 1111 is further configured to receive the backup data segment of the first data segment in the second server 120 sent by the second server 120.
In this embodiment, the function of the receiving unit 1111 to receive the backup data segment of the first data segment in the second server 120 sent by the second server 120 may be implemented by the interface 411 in the controller 410 in the first server 110 shown in fig. 4, and the specific implementation details of the receiving unit 1111 to receive the backup data segment of the first data segment in the second server 120 sent by the second server 120 may refer to the specific details of step S670 shown in fig. 6, which is not described herein again.
The processing unit 1112 is further configured to store the backup data segment of the first data segment in the second server 120.
In this embodiment, the function of the processing unit 1112 for saving the backup data segment of the first data segment in the second server 120 may be implemented by the controller 410 in the first server 110 shown in fig. 4 or the processor 413 therein, and the specific implementation details of the backup data segment of the first data segment in the second server 120 may be referred to the specific details of step S680 shown in fig. 6, which is not described herein again.
As an optional implementation manner, the processing unit 1112 is further configured to save a copy of the first data segment as a local backup data segment of the first data segment, and generate metadata of the first data segment.
The sending unit 1110 is further configured to send the first data segment and the metadata of the first data segment to the second server 120.
As an optional implementation manner, the processing unit 1112 is further configured to determine whether the local server stores the metadata of the first data fragment according to the metadata of the first data fragment sent by the second server 120, where the processing unit 1112 determines that the local server does not store the backup data fragment in which the metadata of the first data fragment is local by determining that the local server does not store the metadata of the first data fragment.
As an optional embodiment, the receiving unit 1111 is further configured to receive a data modification request, where the data modification request is used to instruct the local server to modify the first data fragment into a target data fragment. The processing unit 1112 is further configured to, after the first data segment is modified into the target data segment, save a copy of the target data segment as a backup data segment of the target data segment in a local server, generate metadata of the target data segment, and delete the metadata of the first data segment, where the metadata of the target data segment includes target indication information, and the target indication information is an identifier or a storage location of the backup data segment of the target data segment in the local server. The sending unit 1110 is further configured to send the target data segment and the metadata of the target data segment to the second server 120.
As an optional implementation manner, the metadata of the first data segment further includes distribution location information of the first data segment in the backup data. The receiving unit 1111 is further configured to receive a data recovery request, where the data recovery request includes the backup data identifier and a target disk identifier, and the data recovery request is used to instruct to recover the backup data to the target disk. The processing unit 1112 is further configured to save the first data segment to the target disk according to the distribution location information of the first data segment in the backup data.
Referring to fig. 12, fig. 12 is a block diagram of another local server according to an embodiment of the present invention. The local server 1200 includes: a transmitting unit 1210, a receiving unit 1211 and a processing unit 1212. The processing unit 1212 is connected to the transmitting unit 1210 and the receiving unit 1211, respectively. The function of each unit is described in detail below.
A sending unit 1210, configured to send a metadata obtaining request after the local server 1200 receives the data recovery request, where the metadata obtaining request includes a backup data identifier, and the backup data includes the second data segment. The processing unit 1212 instructs the sending unit 1210 to send a metadata acquisition request after the local server 1200 receives the data recovery request.
In this embodiment, the function of the sending unit 1210 sending the metadata obtaining request may be implemented by the interface 411 in the controller 410 in the first server 110 shown in fig. 4, and specific implementation details of the sending unit 1210 sending the metadata obtaining request may refer to specific details of step S710 shown in fig. 7, which is not described herein again.
A receiving unit 1211, configured to receive metadata of the second data fragment sent by the second server 120, where the metadata of the second data fragment includes second indication information, and the second indication information is an identifier or a storage location of a backup data fragment of the second data fragment in the local server.
In this embodiment, the function of the receiving unit 1211 for receiving the metadata of the second data fragment sent by the second server 120 may be implemented by the interface 411 in the controller 410 in the first server 110 shown in fig. 4, and specific implementation details of the receiving unit 1211 for receiving the metadata of the second data fragment sent by the second server 120 may refer to specific details of step S730 shown in fig. 6, which is not described herein again.
A processing unit 1212, configured to determine, according to the metadata of the second data segment, whether the local server stores the backup data segment of the second data segment in the local server, and when it is determined that the local server stores the backup data segment of the second data segment in the local server, find the backup data segment of the second data segment in the local server according to the metadata of the second data segment, and store the backup data segment of the second data segment in the local server.
In this embodiment, the processing unit 1212 determines, according to the metadata of the second data segment, whether the local server stores the backup data segment of the second data segment in the local server, and when it is determined that the local server stores the backup data segment of the second data segment in the local server, searches, according to the metadata of the second data segment, the backup data segment of the second data segment in the local server, where the function of storing the backup data segment of the second data segment in the local server may be implemented by the controller 410 in the first server 110 shown in fig. 4 or the processor 413 therein, the processing unit 1212 determines, according to the metadata of the second data segment, whether the local server stores the backup data segment of the second data segment in the local server, and when it is determined that the local server stores the backup data segment of the second data segment in the local server, searches, according to the metadata of the second data segment, the backup data segment of the second data segment in the local server, and specific steps S740 and S760 for storing the backup data segment of the second data segment in the local server may be omitted, and specific steps S750 and S are not specifically referred to here.
As an optional implementation manner, the processing unit 1212 is further configured to save a copy of the second data fragment as a backup data fragment of the second data fragment in the local server, and generate metadata of the second data fragment. The sending unit 1210 is further configured to send the second data segment and the metadata of the second data segment to the second server 120.
As an optional implementation manner, the processing unit 1212 is further configured to determine whether the local server stores the metadata of the second data fragment according to the metadata of the second data fragment sent by the second server 120, where the processing unit 1212 determines that the local server stores the metadata of the second data fragment in the backup data fragment of the local server by determining that the local server stores the metadata of the second data fragment.
As an optional implementation manner, the metadata of the second data segment further includes distribution location information of the second data segment in the backup data. The receiving unit 1211 is further configured to receive a data recovery request, where the data recovery request includes the backup data identifier and a target disk identifier, and the data recovery request is used to instruct to recover the backup data to the target disk. The processing unit 1212 is further configured to store the second data segment to the target disk according to the distribution location information of the second data segment in the backup data.
As an optional implementation manner, if the second indication information is a storage location of the second data segment in the backup data segment of the local server, the processing unit 1212 is further configured to search, according to the storage location of the second data segment in the backup data segment of the local server, the backup data segment of the local server of the second data segment pointed to by the storage location of the second data segment in the backup data segment of the local server.
As an optional implementation manner, if the second indication information is an identifier of the backup data segment of the second data segment in the local server, the local server pre-stores a correspondence between the identifier of the backup data segment of the second data segment in the local server and a storage location of the backup data segment of the second data segment in the local server. The processing unit 1212 is further configured to search, according to the second indication information, an identifier of the backup data segment of the second data segment in the local server, search, according to the identifier of the backup data segment of the second data segment in the local server, a storage location of the backup data segment of the second data segment in the local server, and search, according to the storage location of the backup data segment of the second data segment in the local server, where the storage location of the backup data segment of the second data segment in the local server points to.
An embodiment of the present invention further provides a local server, which includes a processor, a memory, and an interface, where the interface is used for communicating with the second server 120, the memory is used for storing a computer program code, the computer program code includes an instruction, and when the processor executes the instruction, the local server executes steps executed by the first server 110 in the data recovery method described in fig. 6, and specific implementation details are not described herein again.
An embodiment of the present invention further provides a local server, which includes a processor, a memory, and an interface, where the interface is used for communicating with the second server 120, the memory is used for storing a computer program code, the computer program code includes an instruction, and when the processor executes the instruction, the local server executes steps executed by the first server 110 in the data recovery method described in fig. 7, and specific implementation details are not described herein again.
An embodiment of the present invention further provides a remote server, including: each unit for executing each step executed by the second server 120 in the data recovery method shown in fig. 6 may be implemented by hardware, or may be implemented by hardware executing corresponding software, and specific implementation details are not described herein again.
An embodiment of the present invention further provides a remote server, including: each unit for executing each step executed by the second server 120 in the data recovery method shown in fig. 7 may be implemented by hardware, or may be implemented by hardware to execute corresponding software, and specific implementation details are not described herein again.
An embodiment of the present invention further provides a remote server, which includes a processor, a memory, and an interface, where the interface is used for communicating with the first server 110, the memory is used for storing a computer program code, the computer program code includes an instruction, and when the processor executes the instruction, the remote server executes steps executed by the second server 120 in the data recovery method shown in fig. 6, and specific implementation details are not described herein again.
An embodiment of the present invention further provides a remote server, which includes a processor, a memory, and an interface, where the interface is used for communicating with the first server 110, the memory is used for storing a computer program code, the computer program code includes an instruction, and when the processor executes the instruction, the remote server executes steps executed by the second server 120 in the data recovery method shown in fig. 7, and specific implementation details are not described herein again.
The embodiment of the invention provides a data recovery method, a device and a system. The first server 110 receives metadata of a first data fragment sent by the second server 120, where the metadata of the first data fragment includes first indication information that is an identifier or a storage location of a backup data fragment of the first data fragment in the first server 110. When the first server 110 confirms that the first server 110 does not store the backup data segment of the first data segment in the first server 110 according to the metadata of the first data segment, the first server 110 requests the second server 120 for the backup data segment of the first data segment in the second server 120, and stores the backup data segment of the first data segment. The data amount of the first data fragment saved due to the metadata is small relative to the data amount of the hash value at the identification of the backup data fragment of the first server 110 or the storage location of the backup data fragment of the first server 110. Therefore, the network resources used for transmitting a large amount of metadata from the second server 120 are small, the transmission delay is short, and the data recovery efficiency is improved.
In the embodiments provided by the present invention, it should be understood that the disclosed system, apparatus and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the modules is merely a logical division, and other divisions may be implemented, for example, multiple modules or components may be combined or integrated with another system, or some features may be omitted, or not implemented. In addition, the shown or discussed coupling or direct coupling or communication connection between each other may be through some interfaces, indirect coupling or communication connection between devices or modules, and may be in an electrical, mechanical or other form.
The modules described as separate parts may or may not be physically separate, and parts displayed as modules may or may not be physical modules, may be located in one position, or may be distributed on a plurality of network modules. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment.
In addition, functional modules in the embodiments of the present invention may be integrated into one processing module, or each of the modules may exist alone physically, or two or more modules are integrated into one module. The integrated module can be realized in a hardware mode, and can also be realized in a mode of hardware and a software functional module.
The integrated module implemented in the form of a software functional module may be stored in a computer-readable storage medium. The software functional module is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute some steps of the methods according to the embodiments of the present invention. And the aforementioned storage medium includes: a removable hard disk, a read-only memory, a random access memory, a magnetic or optical disk, or other various media capable of storing program code.
Finally, it should be noted that: the above examples are only intended to illustrate the technical solution of the present invention, and not to limit it; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and these modifications or substitutions do not make the essence of the corresponding technical solutions depart from the scope of the technical solutions of the embodiments of the present invention.

Claims (26)

1. A method for data recovery, the method performed by a first server, comprising:
the first server sends a metadata acquisition request, wherein the metadata acquisition request comprises a backup data identifier, and the backup data comprises a first data fragment;
the first server receives metadata of the first data fragment sent by a second server, wherein the metadata of the first data fragment includes first indication information, and the first indication information is an identifier or a storage location of a backup data fragment of the first data fragment in the first server;
the first server confirms whether the first server stores the backup data fragment of the first data fragment in the first server according to the metadata of the first data fragment;
when the first server is confirmed not to store the first data fragment in the backup data fragment of the first server, the first server sends the first data fragment obtaining request, and the first data fragment obtaining request comprises metadata of the first data fragment;
the first server receives a backup data fragment of the first data fragment in the second server, which is sent by the second server;
and the first server stores the backup data fragment of the first data fragment in the second server.
2. The method of claim 1, wherein prior to the first server sending the metadata acquisition request, the method further comprises:
the first server saves a copy of the first data fragment as a backup data fragment of the first data fragment on the first server;
the first server generates metadata of the first data fragment;
and the first server sends the first data fragment and the metadata of the first data fragment to the second server.
3. The method of claim 1 or 2, wherein the first server determining whether the first server stores the backup data segment of the first data segment on the first server according to the metadata of the first data segment, comprises:
the first server confirms whether the first server stores the metadata of the first data fragment according to the metadata of the first data fragment sent by the second server, wherein the first server confirms that the first server does not store the metadata of the first data fragment in the backup data fragment of the first server by confirming that the first server does not store the metadata of the first data fragment.
4. The method of claim 1 or 2, further comprising:
the first server receives a data modification request, wherein the data modification request is used for indicating the first server to modify the first data fragment into a target data fragment;
after the first server modifies the first data fragment into the target data fragment, saving a copy of the target data fragment as a backup data fragment of the target data fragment on the first server, generating metadata of the target data fragment, and deleting the metadata of the first data fragment, wherein the metadata of the target data fragment comprises target indication information, and the target indication information is an identifier or a storage position of the target data fragment on the backup data fragment of the first server;
and the first server sends the target data fragment and the metadata of the target data fragment to the second server.
5. The method according to claim 1 or 2, wherein the metadata of the first data segment further includes distribution location information of the first data segment in the backup data, and before the first server sends a metadata acquisition request, further comprising:
the first server receives a data recovery request, wherein the data recovery request comprises the backup data identifier and a target disk identifier, and the data recovery request is used for indicating that the backup data is recovered to the target disk;
the first server stores the first data fragment, including:
and the first server stores the first data fragment to the target disk according to the distribution position information of the first data fragment in the backup data.
6. A method for data recovery, the method performed by a first server, comprising:
the first server sends a metadata acquisition request, wherein the metadata acquisition request comprises a backup data identifier, and the backup data comprises a second data fragment;
the first server receives metadata of the second data fragment sent by a second server, wherein the metadata of the second data fragment includes second indication information, and the second indication information is an identifier or a storage position of the second data fragment in a backup data fragment of the first server;
the first server confirms whether the first server stores the backup data fragment of the second data fragment on the first server according to the metadata of the second data fragment;
when the first server is confirmed to store the backup data fragment of the second data fragment in the first server, the first server searches the backup data fragment of the second data fragment in the first server according to the metadata of the second data fragment;
and the first server stores the backup data fragment of the second data fragment in the first server.
7. The method of claim 6, wherein prior to the first server sending the metadata acquisition request, the method further comprises:
the first server saves a copy of the second data fragment as a backup data fragment of the second data fragment on the first server;
the first server generates metadata of the second data fragment;
the first server sends the second data fragment and the metadata of the second data fragment to the second server.
8. The method of claim 6 or 7, wherein the first server determining whether the first server stores the backup data segment of the second data segment on the first server according to the metadata of the second data segment comprises:
the first server confirms whether the first server stores the metadata of the second data fragment according to the metadata of the second data fragment sent by the second server, wherein the first server confirms that the first server stores the metadata of the second data fragment in the backup data fragment of the first server by confirming that the first server stores the metadata of the second data fragment.
9. The method of claim 6 or 7, wherein the metadata of the second data segment further includes distribution location information of the second data segment in the backup data, and before the first server sends the metadata obtaining request, the method further comprises:
the first server receives a data recovery request, wherein the data recovery request comprises the backup data identifier and a target disk identifier, and the data recovery request is used for indicating that the backup data is recovered to the target disk;
the first server stores the second data fragment, including:
and the first server stores the second data fragment to the target disk according to the distribution position information of the second data fragment in the backup data.
10. The method of claim 6 or 7, wherein if the second indication information is a storage location of the second data segment in the backup data segment of the first server, the first server finding the backup data segment of the second data segment in the first server according to the metadata of the second data segment comprises:
and the first server searches the backup data fragment of the second data fragment at the first server, which is pointed by the storage position of the backup data fragment of the second data fragment at the first server, according to the storage position of the backup data fragment of the second data fragment at the first server.
11. The method according to claim 6 or 7, wherein if the second indication information is an identifier of the backup data segment of the second data segment on the first server, the first server pre-stores a correspondence between the identifier of the backup data segment of the second data segment on the first server and a storage location of the backup data segment of the second data segment on the first server;
the first server searches the backup data fragment of the second data fragment in the first server according to the metadata of the second data fragment, and the method comprises the following steps:
the first server searches the identifier of the second data fragment in the backup data fragment of the first server according to the second indication information;
the first server searches the storage position of the second data fragment in the backup data fragment of the first server according to the identifier of the second data fragment in the backup data fragment of the first server;
and the first server searches the backup data fragment of the second data fragment at the first server, which is pointed by the storage position of the backup data fragment of the second data fragment at the first server, according to the storage position of the backup data fragment of the second data fragment at the first server.
12. A server, comprising:
the device comprises a sending unit, a receiving unit and a sending unit, wherein the sending unit is used for sending a metadata obtaining request, the metadata obtaining request comprises a backup data identifier, and the backup data comprises a first data fragment;
a receiving unit, configured to receive metadata of the first data segment sent by a second server, where the metadata of the first data segment includes first indication information, and the first indication information is an identifier or a storage location of a backup data segment of the first data segment in the server;
the processing unit is used for confirming whether a backup data fragment of the first data fragment in the server is stored in the server according to the metadata of the first data fragment;
the sending unit is further configured to send the first data fragment obtaining request when it is determined that the server does not store the backup data fragment of the first data fragment in the server, where the first data fragment obtaining request includes metadata of the first data fragment;
the receiving unit is further configured to receive a backup data fragment, in the second server, of the first data fragment sent by the second server;
the processing unit is further configured to store the backup data segment of the first data segment in the second server.
13. The server according to claim 12,
the processing unit is further configured to save a copy of the first data fragment as a local backup data fragment of the first data fragment, and generate metadata of the first data fragment;
the sending unit is further configured to send the first data segment and the metadata of the first data segment to the second server.
14. The server according to claim 12 or 13,
the processing unit is further configured to determine whether the server stores the metadata of the first data fragment according to the metadata of the first data fragment sent by the second server, where the processing unit determines that the server does not store the metadata of the first data fragment, and determines that the server does not store the backup data fragment of the metadata of the first data fragment in the local.
15. The server according to claim 12 or 13,
the receiving unit is further configured to receive a data modification request, where the data modification request is used to instruct the server to modify the first data segment into a target data segment;
the processing unit is further configured to, after the first data segment is modified into the target data segment, save a copy of the target data segment as a backup data segment of the target data segment on the server, generate metadata of the target data segment, and delete the metadata of the first data segment, where the metadata of the target data segment includes target indication information, and the target indication information is an identifier or a storage location of the backup data segment of the target data segment on the server;
the sending unit is further configured to send the target data segment and the metadata of the target data segment to the second server.
16. The server of claim 12 or 13, wherein the metadata of the first data shard further comprises distribution location information of the first data shard in the backup data;
the receiving unit is further configured to receive a data recovery request, where the data recovery request includes the backup data identifier and a target disk identifier, and the data recovery request is used to instruct to recover the backup data to the target disk;
the processing unit is further configured to save the first data segment to the target disk according to the distribution location information of the first data segment in the backup data.
17. A server, comprising:
a sending unit, configured to send a metadata obtaining request, where the metadata obtaining request includes a backup data identifier, and the backup data includes a second data segment;
a receiving unit, configured to receive metadata of the second data segment sent by a second server, where the metadata of the second data segment includes second indication information, and the second indication information is an identifier or a storage location of a backup data segment of the second data segment in the server;
and the processing unit is used for confirming whether the server stores the backup data fragment of the second data fragment in the server according to the metadata of the second data fragment, searching the backup data fragment of the second data fragment in the server according to the metadata of the second data fragment when confirming that the server stores the backup data fragment of the second data fragment in the server, and storing the backup data fragment of the second data fragment in the server.
18. The server according to claim 17,
the processing unit is further configured to save a copy of the second data segment as a backup data segment of the second data segment on the server, and generate metadata of the second data segment;
the sending unit is further configured to send the second data segment and the metadata of the second data segment to the second server.
19. The server according to claim 17 or 18,
the processing unit is further configured to determine whether the server stores the metadata of the second data segment according to the metadata of the second data segment sent by the second server, where the processing unit determines that the server stores the metadata of the second data segment in the backup data segment of the server by determining that the server stores the metadata of the second data segment.
20. The server of claim 17 or 18, wherein the metadata of the second data shard further comprises distribution location information of the second data shard in the backup data;
the receiving unit is further configured to receive a data recovery request, where the data recovery request includes the backup data identifier and a target disk identifier, and the data recovery request is used to instruct to recover the backup data to the target disk;
the processing unit is further configured to save the second data segment to the target disk according to the distribution location information of the second data segment in the backup data.
21. The server according to claim 17 or 18, wherein if the second indication information is a storage location of the second data slice in a backup data slice of the server,
the processing unit is further configured to search the backup data segment of the server for the second data segment pointed by the storage location of the second data segment in the backup data segment of the server according to the storage location of the second data segment in the backup data segment of the server.
22. The server according to claim 17 or 18, wherein if the second indication information is an identifier of the second data segment in the backup data segment of the server, the server pre-stores a correspondence between the identifier of the second data segment in the backup data segment of the server and a storage location of the second data segment in the backup data segment of the server;
the processing unit is further configured to search, according to the second indication information, an identifier of the backup data segment of the second data segment in the server, search, according to the identifier of the backup data segment of the second data segment in the server, a storage location of the backup data segment of the second data segment in the server, and search, according to the storage location of the backup data segment of the second data segment in the server, to which the storage location of the backup data segment of the second data segment in the server points.
23. A server, comprising a processor, a memory for communicating with a second server, and an interface, the memory for storing computer program code, the computer program code comprising instructions, which when executed by the processor, the server performs the data recovery method of any one of claims 1-5.
24. A server, comprising a processor, a memory for communicating with a second server, and an interface, the memory for storing computer program code, the computer program code comprising instructions, which when executed by the processor, the server performs a data recovery method as claimed in any one of claims 6 to 11.
25. A data recovery system comprising a first server and a second server, the first server being a server as claimed in any one of claims 12 to 16 or 23.
26. A data recovery system comprising a first server and a second server, the first server being the server of any one of claims 17 to 22 or 24.
CN201710985172.2A 2017-10-20 2017-10-20 Data recovery method, device and system Active CN109697136B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710985172.2A CN109697136B (en) 2017-10-20 2017-10-20 Data recovery method, device and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710985172.2A CN109697136B (en) 2017-10-20 2017-10-20 Data recovery method, device and system

Publications (2)

Publication Number Publication Date
CN109697136A CN109697136A (en) 2019-04-30
CN109697136B true CN109697136B (en) 2023-04-04

Family

ID=66225431

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710985172.2A Active CN109697136B (en) 2017-10-20 2017-10-20 Data recovery method, device and system

Country Status (1)

Country Link
CN (1) CN109697136B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112243160A (en) * 2020-09-14 2021-01-19 视联动力信息技术股份有限公司 Data transmission method, device, terminal equipment and storage medium
CN117312353A (en) * 2022-06-22 2023-12-29 华为云计算技术有限公司 Method, device, system and storage medium for data management

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104166600A (en) * 2014-08-01 2014-11-26 腾讯科技(深圳)有限公司 Data backup and recovery methods and devices
CN106095624A (en) * 2016-06-28 2016-11-09 北京金山安全软件有限公司 Data recovery method and device, terminal equipment and server
CN106708665A (en) * 2016-12-20 2017-05-24 华为技术有限公司 Metadata restoration method and device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8694469B2 (en) * 2009-12-28 2014-04-08 Riverbed Technology, Inc. Cloud synthetic backups
US9740574B2 (en) * 2014-05-09 2017-08-22 Commvault Systems, Inc. Load balancing across multiple data paths

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104166600A (en) * 2014-08-01 2014-11-26 腾讯科技(深圳)有限公司 Data backup and recovery methods and devices
CN106095624A (en) * 2016-06-28 2016-11-09 北京金山安全软件有限公司 Data recovery method and device, terminal equipment and server
CN106708665A (en) * 2016-12-20 2017-05-24 华为技术有限公司 Metadata restoration method and device

Also Published As

Publication number Publication date
CN109697136A (en) 2019-04-30

Similar Documents

Publication Publication Date Title
US11126590B2 (en) Data processing method and device
US10082982B2 (en) Data backup method and apparatus, data restoration method and apparatus, and server
CN109508254B (en) Data recovery method and device
CN108733507B (en) Method and device for file backup and recovery
US10127233B2 (en) Data processing method and device in distributed file storage system
US9811546B1 (en) Storing data and metadata in respective virtual shards on sharded storage systems
EP2653987B1 (en) Displaying web pages without downloading static files
EP3376393B1 (en) Data storage method and apparatus
JP2019504412A (en) Short link processing method, device, and server
US20120166574A1 (en) Partial object caching
US9432484B1 (en) CIM-based data storage management system having a restful front-end
US8959155B1 (en) Data compression through redundancy removal in an application acceleration environment
JP6972714B2 (en) Data acquisition programs, equipment, and methods
CN105577735A (en) Browser-based user behavior tracking method and device
CN110998537A (en) Expired backup processing method and backup server
WO2017097106A1 (en) Method and apparatus for transmitting file difference
WO2019242359A1 (en) File processing method and device
CN109697136B (en) Data recovery method, device and system
CN107181774B (en) Data movement between distributed data centers
KR20210040864A (en) File directory traversal method, apparatus, device, and medium
CN112925750B (en) Method, electronic device and computer program product for accessing data
EP3312727A1 (en) Differential data backup method and device
CN114172998A (en) File transmission method, file transmission device, electronic equipment, medium and product
CN114020522A (en) Data backup method and device, electronic equipment and system
US20140214768A1 (en) Reducing backup bandwidth by remembering downloads

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant