WO2017147794A1 - 差异数据备份的方法和设备 - Google Patents
差异数据备份的方法和设备 Download PDFInfo
- Publication number
- WO2017147794A1 WO2017147794A1 PCT/CN2016/075269 CN2016075269W WO2017147794A1 WO 2017147794 A1 WO2017147794 A1 WO 2017147794A1 CN 2016075269 W CN2016075269 W CN 2016075269W WO 2017147794 A1 WO2017147794 A1 WO 2017147794A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- storage device
- data block
- backup
- target data
- fingerprint
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1453—Management of the data involved in backup or backup restore using de-duplication of the data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Definitions
- Embodiments of the present invention relate to the field of storage technologies and, more particularly, to a method and apparatus for differential data backup.
- the source storage device before the source storage device sends the data to the backup storage device, the source storage device needs to divide the data into multiple data blocks, calculate the fingerprint of each data block, and send the fingerprint to the backup storage device.
- the backup storage device receives the data.
- the obtained fingerprint is compared with the fingerprint that has been stored in the backup, and the fingerprint that is not stored in the backup storage device is determined, and the comparison result is fed back to the source storage device, and the source storage device filters according to the comparison result fed back by the backup storage device. This data determines the incremental data. Since the source storage device needs to send the fingerprint of all the data blocks to the backup storage device, it requires a large amount of computing resources and network bandwidth.
- the present invention provides a method and a device for backing up differential data.
- the source storage device can determine the fingerprint information set corresponding to the current backup period according to the correspondence between the identifier of the backup period and the fingerprint information set, and determine the backup that needs to be backed up according to the determined fingerprint information set. Data blocks, thereby improving the efficiency of backup data and reducing the consumption of computing resources and network resources.
- the first aspect provides a method for backing up differential data, where the method is applied to a storage system, where the storage system includes a source storage device and a backup storage device, and the method is performed by the source storage device, and the method includes: according to the current backup Determining, by the identifier of the period, the identifier of the backup period, and the fingerprint information set, determining a fingerprint information set corresponding to the current backup period, where the fingerprint information set is included between a start time of the current backup period and an end time of the last backup period.
- the fingerprint information of the target data block saved by the source storage device is different from all the data blocks saved by the source storage device before the end time of the last backup period; and the fingerprint information of the target data block is obtained according to the fingerprint information of the target data block.
- the target data block; the target data block is sent to the backup storage device.
- the source storage device only needs to determine the data block that needs to be backed up in the current backup period according to the identifier of the current backup period, the correspondence between the identifier of the backup period and the fingerprint information set. Send the data blocks that need to be backed up to the backup storage device. Thereby, the efficiency of backing up data can be improved, and the consumption of computing resources and network resources can be reduced.
- the method further includes: sending a fingerprint of the target data block to the backup storage device.
- the backup storage device can directly save the received fingerprint without performing fingerprint calculation, which can save computing resources of the backup storage device.
- the fingerprint information of the target data block is saved in a linked list, where the header of the linked list is An identifier of the current backup period is stored in the node, and the i-th element node of the linked list stores fingerprint information of the i-th target data block in the target data block, where k is the total number of the target data block, where k is an integer greater than or equal to 1, and i is an integer greater than 0 and less than or equal to k.
- the source storage device stores the fingerprint information of the target data block in a linked list storage manner, and simultaneously records the fingerprint information of the target data block in the process of performing the data deletion process on the source storage device.
- the fingerprint information set corresponding to the current backup period needs to be obtained, It can be directly obtained from the fingerprint information stored in the linked list, thereby saving computing resources and computing time.
- the fingerprint information of the i-th target data block is a fingerprint of the i-th target data block
- the linked list The i-th element node further stores a mapping relationship between a fingerprint of the i-th target data block and a storage address of the i-th target data block
- the acquiring the target data block according to the fingerprint information of the target data block includes: storing a fingerprint according to the i-th target data block, a fingerprint of the i-th target data block, and storing the i-th target data block
- the mapping relationship of the addresses acquires the i-th target data block.
- a second aspect provides a method for backing up differential data.
- the method is applied to a storage system, where the storage system includes a source storage device and a backup storage device.
- the method is performed by a source storage device, and the method includes: according to a current backup cycle.
- the identifier of the identifier, the identifier of the backup period, and the fingerprint information set, and the fingerprint information set corresponding to the current backup period is determined.
- the fingerprint information set includes the source between the start time of the current backup period and the end time of the last backup period.
- the storage device And storing, by the storage device, fingerprint information of the target data block, where the target data block is different from all the data blocks saved by the source storage device before the end time of the last backup period; and sending the target data block to the backup storage device a fingerprint of the target data block corresponding to the fingerprint information; receiving a feedback message sent by the backup storage device, the feedback message is used to indicate a difference fingerprint, the difference fingerprint is a subset of the fingerprint of the target data block, and the backup storage device The fingerprint of the saved data block is different; to the backup storage This difference corresponds to the transmission target data block fingerprint.
- the source storage device of the embodiment of the present invention only needs to send the fingerprint of the target data block stored between the start time of the current backup period and the end time of the last backup cycle to the backup storage device for fingerprint comparison.
- the target data block is different from all the data blocks saved by the source storage device before the end time of the last backup period, and the data blocks that need to be backed up in the current backup period are determined according to the comparison result, and the current backup period is not needed.
- the fingerprint of all the data blocks included in the data received by the source storage device before the end time of the last backup cycle is sent to the backup storage device for fingerprint comparison, thereby reducing the number of fingerprints sent to the backup storage device. Thereby reducing the consumption of network resources and reducing the time consumed by the backup storage device for fingerprint comparison.
- the source storage device has a deduplication function
- the backup storage device has a deduplication function
- the deduplication range of the source storage device is smaller than the The deduplication range of the backup storage device.
- a third aspect provides a storage device, where the storage device is applied to a storage system, where the storage system includes the storage device and a backup storage device, and the storage device is configured to perform any of the foregoing first aspect or the first aspect.
- the storage device comprises means for performing the method of any of the above-described first aspect or any of the possible implementations of the first aspect.
- a fourth aspect provides a storage device, where the storage device is applied to a storage system, where the storage system includes the storage device and a backup storage device, where the storage device is configured to perform the foregoing second aspect or the possible implementation of the second aspect
- the method of the method in particular, the storage device comprises means for performing the method of the second aspect or the possible implementation of the second aspect described above.
- a fifth aspect provides a storage device, where the storage device is applied to a storage system, where the storage system includes the storage device and a backup storage device, where the storage device includes: a processor, a memory, and a transmitter.
- the processor, the memory and the transmitter are connected by a bus system for storing instructions, the processor for executing instructions stored by the memory, such that the storage device performs the first aspect or the first A method in any possible implementation of the aspect.
- a storage device including the storage device and a backup storage device, the storage device including: a processor, a memory, a transmitter, and a receiver, the processor, the memory, the transmitter, and The receiver is coupled by a bus system for storing instructions for executing instructions stored in the memory such that the memory device performs the method of the second aspect or the possible implementation of the second aspect.
- a seventh aspect a computer readable medium for storing a computer program, the computer program comprising instructions for performing the method of the first aspect or any of the possible implementations of the first aspect.
- a computer readable medium for storing a computer program, the computer program comprising instructions for performing the method of the second aspect or the possible implementation of the second aspect.
- FIG. 2 is a schematic block diagram of a controller of a source storage device in accordance with an embodiment of the present invention
- FIG. 3 is a schematic flowchart of a method for backing up differential data according to an embodiment of the present invention.
- FIG. 4 is a schematic block diagram showing the structure of a linked list according to an embodiment of the present invention.
- FIG. 5 is a schematic flowchart of a method for backing up differential data according to another embodiment of the present invention.
- FIG. 6 is a schematic block diagram of a storage device according to an embodiment of the present invention.
- FIG. 7 is a schematic block diagram of a memory device in accordance with another embodiment of the present invention.
- FIG. 1 is an application scenario diagram of an embodiment of the present invention.
- the host 10 the source storage system 20, and the backup storage system 30 are connected.
- the host 10 is connected to the source storage system 20 and the backup storage system 30, but only the connection with the source storage system 20 is normally used.
- the connection to the backup storage system 30 is used when the source storage system 20 fails and the backup storage system 30 is required to provide services.
- the source storage system 20 and the backup storage system 30 are connected through a network, allowing data to be transmitted in both directions.
- the source storage system 20 can be a storage device, which can be called a “source storage device”, as shown in FIG. 1 .
- source storage device 20 includes a controller 21 and a storage medium 22.
- the backup storage system 30 can be a storage device and can be referred to as a "backup storage device.” As shown in FIG. 1, the backup storage device 30 includes a controller 31 and a storage medium 32.
- the structure and function of the source storage device 20 will be specifically described below.
- the controller 21 of the source storage device 20 mainly includes a processor 211, a cache 212, a memory 213, a communication bus (abbreviated as bus) 214, and a communication interface. (Communication Interface) 215.
- the processor 211, the cache 212, the memory 213, and the communication interface 215 communicate with each other via the bus 214.
- the processor 211 may be a central processing unit ("CPU"), or an application specific integrated circuit (ASIC), or configured to implement the embodiments of the present invention. One or more integrated circuits.
- the processor 211 is configured to receive a data object from the host 10 (the data object refers to an object that includes actual data, and may be block data, or may be a file or other form of data), and the data object is processed after being processed.
- the storage medium 22 is given.
- the communication interface 215 is configured to communicate with the host 10, the backup storage device 30, or the storage medium 22.
- the memory 213 is used to store the program 216.
- the memory 213 may include a high speed RAM memory, and may also include a non-volatile memory such as at least one disk memory. It can be understood that the memory 213 can be a random access memory (Random-Access Memory (RAM), a magnetic disk, a hard disk, an optical disk, a solid state disk (SSD), or a non-volatile memory).
- RAM Random-Access Memory
- SSD solid state disk
- a variety of non-transitory machine readable media that can store program code.
- the cache 212 is used to temporarily store data objects received from the host 10 or data objects read from the storage medium 22. In addition, since the cache reads and writes data at a relatively fast speed, some frequently used information can be stored in the cache for convenience of reading, for example, logical address of the data block, write time and the like.
- the cache 212 can be RAM, Storage-Class Memory (SCM), Non-Volatile Memory (NVM), Flash Memory, or Solid State Drive (Solid State).
- SCM Storage-Class Memory
- NVM Non-Volatile Memory
- Flash Memory Flash Memory
- Solid State Drive Solid State Drive
- the cache 212 and the memory 213 may be provided in combination or separately, which is not limited by the embodiment of the present invention.
- Program 216 can include program code, which includes computer operating instructions.
- the program code can include a deduplication module.
- the deduplication module is for performing deduplication before transmitting the data object received from the host 10 to the storage medium 22.
- the data object can be divided into several data blocks of the same size.
- the processor 211 determines whether the same data block is stored in the storage medium 22, and if not, writes the data block into the storage medium 22 while setting the reference count of the data block to an initial value (for example, Equal to 1); if so, there is no need to write the saved data block to the storage medium 22 again, but to increment the reference count of the data block by one.
- the fingerprint of each data block is based on a preset hash function for each The data block is obtained by calculation. Then, according to the hash function, the data block to be stored is calculated, and the fingerprint of the data block to be stored is obtained; the fingerprint is matched with the fingerprint of each data block saved in advance, and if the same fingerprint is used, the storage medium 22 is already The same data block is saved, otherwise the data block to be stored is not saved.
- the fingerprint of each of the data blocks may be stored in the cache 212 or may be stored in the storage medium 22. In addition, other methods can be used to determine whether the same data block is stored in the storage medium 22, and will not be enumerated here.
- the fingerprint information of all the data blocks in the active storage device 20 is saved, which is referred to as a fingerprint information set in this embodiment. It is understood that the fingerprints of the data blocks contained in the fingerprint information set are all different.
- the processor 211 can separately save the fingerprint information set corresponding to each backup period.
- the fingerprint information of the data block may optionally be a fingerprint of the data block, or may be an index of the fingerprint of the data block (for example, a pointer to a fingerprint of the data block), thereby, when the differential data backup is required, the processor 211
- the data blocks that need to be backed up in each backup period are determined according to the fingerprint information set corresponding to each backup period, and the data blocks that need to be backed up are sent to the backup storage device for backup storage.
- FIG. 3 is a schematic flowchart of a method for differential data backup according to an embodiment of the present invention. The method is applied to the source storage device 20 and the backup storage device 30 shown in FIG. As shown in FIG. 3, the method 100 includes:
- the source storage device 20 determines a fingerprint information set corresponding to the current backup period.
- the source storage device 20 can back up the difference data to the backup storage device 30 by cycle, and each cycle is referred to as a backup cycle in this embodiment.
- the source storage device 20 may send the difference data received in each backup period to the backup storage device 30. Since in the present embodiment, the difference data needs to be divided into a plurality of data blocks to judge whether or not it overlaps with the already saved data blocks, the difference data may also be referred to as a difference data block.
- the fingerprint information of all the data blocks in the source storage device 20 is saved, which is referred to as a fingerprint information set in this embodiment. The fingerprints of the data blocks contained in the fingerprint information collection are all different.
- a set of fingerprint information corresponding to the current backup period can be separately saved.
- the fingerprint information set and the fingerprint information set corresponding to the current backup period may exist in the storage medium 22 or may exist in the cache 212.
- the fingerprint information set corresponding to the current backup period includes fingerprint information of the target data block saved by the source storage device 20 between the start time of the current backup period and the end time of the last backup period, and the target data block and the source storage device All the data blocks saved before the end of the last backup period are different. That is, the target data block is the data block that the source storage device 20 needs to back up to the backup storage device 30 in the current backup period.
- step S110 is performed by the processor 211 in the source storage device 20.
- the processor 211 records the fingerprint information of the target data block saved in the deduplication process while performing the deduplication operation on the write data.
- the processor 211 may store the fingerprint information of the data block in a linked list, or the processor 211 stores the fingerprint information of the data block in a linked list storage manner.
- the fingerprint information of all the data blocks, the identifier of the backup period, and the fingerprint information set may be stored in the linked list, and the identifier of the backup period and the fingerprint information set have a corresponding relationship (the implementation of the correspondence relationship may be determined by the implementation manner of the linked list) Therefore, the step S110 may specifically be that the processor 211 directly extracts the fingerprint information set corresponding to the current backup period from the linked list according to the identifier of the current backup period, the identifier of the backup period, and the correspondence of the fingerprint information set.
- the structure of the linked list is as shown in FIG. 4, and the header node of the linked list stores the identifier of the backup period, and the i-th element node of the linked list stores the fingerprint information of the i-th target data block in the target data block, k
- the total number of target data blocks where k is an integer greater than or equal to 1, and i is an integer greater than 0 and less than k.
- the linked list may exist in the storage medium 22 or may exist in the cache 212.
- the identification of the backup cycle may include the start time and/or end time of the backup cycle.
- the manner of storing the fingerprint information of the data block may be other manners.
- the fingerprint information of the data block may also be stored by using a stack or a storage manner of the queue. This embodiment does not require any limitation on the manner in which the fingerprint information of the data block is stored.
- the source storage device 20 obtains a data block that needs to be backed up in the current backup period according to the fingerprint information set corresponding to the current backup period.
- the fingerprint information may be an index of the fingerprint of the target data block, for example, may be a pointer to the fingerprint.
- the processor 211 may be based on the pointer in the fingerprint information set. The value determines the fingerprint corresponding to the current backup period, and then obtains the target data block according to the mapping relationship between the fingerprint stored in the fingerprint, the storage medium 22 or the cache 212 and the storage address of the data block, that is, the data block that needs to be backed up in the current backup period. .
- the fingerprint information may also be a fingerprint of the target data block.
- the processor 211 may directly directly according to the fingerprint, the storage medium 22, or the cache included in the fingerprint information set.
- the mapping relationship between the fingerprint stored in 212 and the storage address of the corresponding data block acquires the target data block.
- the i-th element node in the linked list shown in FIG. 4 further stores a mapping relationship between the fingerprint of the i-th target data block and the storage address of the i-th target data block, whereby the processor 211 can directly
- the target data block is obtained according to the mapping relationship between the fingerprint and the fingerprint stored in the linked list and the storage address of the target data block.
- step S120 may be performed by the processor 211 in the source storage device 20.
- the source storage device 20 sends the data block that needs to be backed up to the backup storage device 30.
- the processor 211 sends the data block that needs to be backed up to the backup storage device 30 through the communication interface 215.
- the backup storage device 30 stores the data block that needs to be backed up.
- the backup storage device 30 when the backup storage device 30 receives the data block that needs to be backed up, the same fingerprint calculation method as the source storage device is used to calculate the fingerprint of the received data block that needs to be backed up, and the calculation is performed.
- the obtained fingerprint is stored in the storage medium 32 of the backup storage device 30.
- the source storage device 20 may further send a fingerprint of the data block that needs to be backed up to the backup storage device 30. Accordingly, in S140, the backup storage device 30 directly saves the received fingerprint to the storage medium 32. In this way, the computing resources of the backup storage device 30 can be saved. source.
- the method 100 may further include:
- the backup storage device 30 feeds back the backup storage result to the source storage device 20.
- the backup storage result indicates that the backup storage device 30 has successfully stored the data blocks that need to be backed up.
- the method 100 shown in FIG. 3 is mainly applicable to a scenario in which the source storage device 20 and the backup storage device 30 use the same deduplication algorithm, deduplication range, and data block size, and does not need to be based on the method shown in FIG. 3.
- the source storage device 20 can determine the data blocks that need to be backed up during a backup period, thereby improving the efficiency of data backup.
- the deduplication range of the source storage device 20 is different from the deduplication range of the backup storage device 30.
- the source storage device 20 adopts a local deduplication mechanism
- the backup storage device 30 adopts a global deduplication mechanism.
- the deduplication scope defined by the deletion mechanism is a single storage unit (such as a single logical unit number (Logical Unit Number), or a single resource pool (POOL)), and the deduplication range defined by the global deduplication mechanism is the entire system. Storage space, when the backup storage device 30 adopts the global deduplication mechanism, it can be understood that the backup storage device 30 is used for backing up data blocks in the source storage device 20, and is also used for backing up data blocks in other source storage devices.
- the data storage block 20 determines that the data block that needs to be backed up has been stored in the backup storage device 30. Therefore, before the source storage device 20 actually sends the data block, the source storage device 20 may increase the backup required by the source storage device 20.
- the source storage device 20 acquires a fingerprint information set corresponding to the current backup period.
- This step is the same as that of S110. To avoid repetition, details are not described herein again.
- the source storage device 20 sends the fingerprint corresponding to the fingerprint information set to the backup storage device 30.
- step S220 the processor 211 of the source storage device 20 only needs to save the data block that needs to be backed up in the current backup period (the start time of the current backup period and the end time of the last backup period are saved between the source storage device 20).
- the fingerprint of the target data block which is different from all the data blocks saved by the source storage device 20 before the end time of the last backup cycle, is sent to the backup storage device for fingerprint comparison.
- the source The storage device needs to send the fingerprint of all the data blocks included in the data received by the source storage device 20 between the start time of the current backup period and the end time of the last backup cycle to the backup storage device 30 for fingerprint comparison. Therefore, the method for backing up the differential data in the embodiment of the present invention can reduce the number of fingerprints sent by the source storage device to the backup storage device, thereby reducing the consumption of the network bandwidth and reducing the time consumed by the backup storage device for fingerprint comparison.
- the backup storage device 30 compares the received fingerprint with the fingerprint that has been saved by itself.
- the backup storage device 30 receives the fingerprint sent by the source storage device 20 and compares it with the fingerprint that has been saved by itself, and the implementation shown in FIG. No need for this example.
- the reason is that the method of the embodiment shown in FIG. 3 is mainly applied to the scenario in which the source storage device 20 and the backup storage device 30 adopt the same deduplication range, and the method in this embodiment is mainly applied to the source storage device 20 to adopt partial deduplication.
- the backup storage device 30 adopts the global deduplication mechanism, as described above, in this scenario, the data block determined by the source storage device 20 that needs to be backed up may have been stored in the backup storage device 30, in order to avoid the source.
- the storage device 20 sends the unnecessary data block to the backup storage device 30, and the source storage device 20 sends the fingerprint of the data block that needs to be backed up determined by the source storage device 20 to the backup storage device before sending the data block to the backup storage device 30. 30 for comparison.
- the source storage device 20 receives the feedback message sent by the backup storage device 30.
- the feedback message may indicate the result of the fingerprint comparison in S230.
- the feedback message is used to indicate the difference fingerprint, where the difference fingerprint refers to the fingerprint received by the backup storage device 30 in S220 is not saved in the backup storage device 30.
- the fingerprint that is, the difference fingerprint is actually a partial fingerprint in the fingerprint received by the backup storage device 30 in S220, and the fingerprint is different from the fingerprint of the data block saved in the backup storage device 30.
- the feedback message may indicate the difference fingerprint in an indirect indication manner.
- the feedback message carries the part of the fingerprint that is sent by the source storage device 20 and is already in the backup storage device 30.
- the source storage device 20 passes the The fingerprint carried in the feedback message is compared with the fingerprint previously sent to the backup storage device 30 to obtain a difference fingerprint.
- the feedback message may also indicate the difference fingerprint in a direct indication manner.
- the feedback message carries the part of the fingerprint sent by the source storage device 20 that is not saved in the backup storage device 30, and the source storage device 20 directly sends the feedback message.
- the fingerprint carried in is determined as a differential fingerprint.
- the source storage device 20 re-determines the data block that needs to be backed up in the current backup period according to the feedback message, and sends the re-determined data block that needs to be backed up to the backup storage device 30.
- the processor 211 of the source storage device 20 determines, according to the fingerprint carried in the feedback message, that the fingerprint sent to the backup storage device 30 in S220 is not saved in the backup storage device 30.
- the fingerprints ie, the difference fingerprints
- the data blocks corresponding to the difference fingerprints are acquired according to the mapping relationship between the fingerprints and the storage addresses of the data blocks, and the data blocks are sent to the backup storage device 30 through the communication interface 215.
- the backup storage device 30 receives the re-determined data block that needs to be backed up sent by the source storage device 20 and stores the data block that needs to be backed up.
- the method 200 may further include:
- the backup storage device 30 feeds back the backup storage result to the source storage device 20.
- the backup storage result indicates that the backup storage device 30 has successfully stored the data blocks that need to be backed up.
- the method for backing up differential data according to an embodiment of the present invention is described in detail above with reference to FIG. 3 to FIG. 5.
- a storage device according to an embodiment of the present invention will be described in detail below with reference to FIG.
- the storage device is applied to the storage system, and the storage system includes the storage device and the backup storage device.
- the storage device 40 includes:
- the processing unit 41 is configured to determine, according to the identifier of the current backup period, the correspondence between the identifier of the backup period and the fingerprint information set, the fingerprint information set corresponding to the current backup period, where the fingerprint information set is included in the start time and the current backup period.
- the fingerprint information of the target data block saved by the storage device between the end time of the backup period, and the target data block is different from all the data blocks saved by the source storage device before the end time of the last backup period;
- the processing unit 41 is further configured to acquire the target data block according to the fingerprint information of the target data block;
- the sending unit 42 is configured to send the target data block to the backup storage device.
- the storage device only needs to determine the data block that needs to be backed up in the current backup period according to the identifier of the current backup period, the correspondence between the identifier of the backup period and the fingerprint information set, and the data to be backed up.
- the block is sent to the backup storage device.
- the sending unit 42 is further configured to: send the fingerprint of the target data block to the backup storage device.
- the fingerprint information of the target data block is saved in a linked list, where the identifier of the current backup period is stored in the head node of the linked list, and the i-th element of the linked list is in the node.
- the fingerprint information of the i-th target data block in the target data block is saved, k is the total number of the target data blocks, and i is an integer greater than 0 and less than or equal to k.
- the fingerprint information of the i-th target data block is a fingerprint of the i-th target data block
- the i-th target is also saved in the i-th element node of the linked list. a mapping relationship between a fingerprint of the data block and a storage address of the i-th target data block;
- the processing unit 41 is specifically configured to: acquire the i-th according to a mapping relationship between a fingerprint of the i-th target data block, a fingerprint of the i-th target data block, and a storage address of the i-th target data block. Target data block.
- the storage device 40 may correspond to performing the source storage device in the method 100 in the embodiment of the present invention, and the above and other operations and/or functions of the respective units in the storage device 40 are respectively implemented for The corresponding processes of the source storage device in the method in FIG. 3 are not described herein for brevity.
- the storage device only needs to determine the data block that needs to be backed up in the current backup period according to the identifier of the current backup period, the correspondence between the identifier of the backup period and the fingerprint information set, and the data to be backed up.
- the block is sent to the backup storage device.
- FIG. 7 shows a storage device in accordance with another embodiment of the present invention.
- the storage device is applied to the storage system, and the storage system includes the storage device and the backup storage device.
- the storage device 50 includes:
- the processing unit 51 is configured to determine, according to the identifier of the current backup period, the correspondence between the identifier of the backup period and the fingerprint information set, the fingerprint information set corresponding to the current backup period, where the fingerprint information set is included in the start time and the current backup period.
- the fingerprint information of the target data block saved by the source storage device between the end time of the backup period, and the target data block is different from all the data blocks saved by the storage device before the end time of the last backup period;
- the sending unit 52 is configured to send, to the backup storage device, a fingerprint of the target data block corresponding to the fingerprint information of the target data block;
- the receiving unit 53 is configured to receive a feedback message sent by the backup storage device, where the feedback message is used to indicate a difference fingerprint, where the difference fingerprint is a subset of the fingerprint of the target data block. And different from the fingerprint of the data block saved in the backup storage device;
- the sending unit 52 is further configured to send the target data block corresponding to the difference fingerprint to the backup storage device.
- the source storage device only needs to send the fingerprint of the target data block stored between the start time of the current backup cycle and the end time of the last backup cycle to the backup.
- the storage device performs fingerprint comparison, wherein the target data block and the source storage device are different in all data blocks saved before the end time of the last backup cycle, and the data blocks that need to be backed up in the current backup cycle are determined according to the comparison result, instead of The fingerprint of all the data blocks included in the data received by the source storage device between the start time of the current backup cycle and the end time of the previous backup cycle is sent to the backup storage device for fingerprint comparison, thereby reducing the backup storage device.
- the storage device has a deduplication function
- the backup storage device has a deduplication function
- the deduplication range of the storage device is smaller than the deduplication range of the backup storage device.
- the storage device 50 may correspond to performing the source storage device in the method 200 in the embodiment of the present invention, and the above and other operations and/or functions of the respective units in the storage device 50 are respectively implemented for The corresponding processes of the source storage device in the method in FIG. 5 are not described herein for brevity.
- the source storage device only needs to send the fingerprint of the target data block stored between the start time of the current backup period and the end time of the last backup cycle to the backup storage device for fingerprint comparison, wherein the target data The block and the source storage device are different in all the data blocks saved before the end of the last backup cycle, and the data blocks that need to be backed up in the current backup cycle are determined according to the comparison result, and the start time of the current backup cycle is not required.
- the fingerprint of all data blocks included in the data received by the source storage device is sent to the backup storage device for fingerprint comparison between the end of the backup period, thereby reducing the number of fingerprints sent to the backup storage device, thereby reducing network resources. Consumption and time spent on fingerprint storage compared to backup storage devices.
- the disclosed systems, devices, and methods may be implemented in other manners.
- the device embodiments described above are merely illustrative.
- the division of the unit is only a logical function division.
- there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
- the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
- the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
- each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
- the functions may be stored in a computer readable storage medium if implemented in the form of a software functional unit and sold or used as a standalone product.
- the technical solution of the present invention which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including
- the instructions are used to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
- the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like. .
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Retry When Errors Occur (AREA)
Abstract
一种差异数据备份的方法和设备,该方法应用于存储***中,该存储***包括源存储设备和备份存储设备,该方法由所述源存储设备执行,该方法包括:根据当前备份周期的标识、备份周期的标识与指纹信息集合的对应关系,确定当前备份周期对应的指纹信息集合(S110),该指纹信息集合包括在该当前备份周期的开始时刻与上一次备份周期的结束时刻之间该源存储设备保存的目标数据块的指纹信息,该目标数据块与该源存储设备在该上一次备份周期的结束时刻之前保存的所有数据块均不相同;根据该目标数据块的指纹信息,获取该目标数据块(S120);向该备份存储设备发送该目标数据块(S130)。由此,能够提高数据备份效率,降低计算资源和网络资源的消耗。
Description
本发明实施例涉及存储技术领域,并且更具体地,涉及差异数据备份的方法和设备。
远程复制技术中,源存储设备将数据发送给备份存储设备之前,源存储设备需要将数据切分成多个数据块,计算每个数据块的指纹并发送给备份存储设备,备份存储设备通过将接收到的指纹与自身已存储的指纹进行对比,确定接收到的指纹中没有在备份存储设备中保存的指纹,并将对比结果反馈给源存储设备,源存储设备根据备份存储设备反馈的对比结果过滤该数据确定出增量数据。由于源存储设备需要将所有数据块的指纹发送给备份存储设备,因此,就需要消耗大量的计算资源和网络带宽。
发明内容
本发明提供一种差异数据备份的方法和设备,源存储设备能够根据备份周期的标识与指纹信息集合的对应关系确定当前备份周期对应的指纹信息集合,并根据确定的指纹信息集合确定需要备份的数据块,由此,能够提高备份数据的效率,降低计算资源和网络资源的消耗。
第一方面,提供了一种差异数据备份的方法,该方法应用于存储***中,该存储***包括源存储设备和备份存储设备,该方法由该源存储设备执行,该方法包括:根据当前备份周期的标识、备份周期的标识与指纹信息集合的对应关系,确定当前备份周期对应的指纹信息集合,该指纹信息集合包括在该当前备份周期的开始时刻与上一次备份周期的结束时刻之间该源存储设备保存的目标数据块的指纹信息,该目标数据块与该源存储设备在该上一次备份周期的结束时刻之前保存的所有数据块均不相同;根据该目标数据块的指纹信息,获取该目标数据块;向该备份存储设备发送该目标数据块。
因此,本发明实施例的差异数据备份的方法,源存储设备仅需要根据当前备份周期的标识、备份周期的标识与指纹信息集合的对应关系,就可以确定当前备份周期中需要备份的数据块,并将需要备份的数据块发送给备份存储设备。由此,能够提高备份数据的效率,降低计算资源和网络资源的消耗。
结合第一方面,在第一方面的第一种可能的实现方式中,该方法还包括:向该备份存储设备发送该目标数据块的指纹。
由此,备份存储设备可以直接保存接收到的指纹,而不需要进行指纹的计算,能够节省备份存储设备的计算资源。
结合第一方面,或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,该目标数据块的指纹信息保存在链表中,其中,该链表的头节点中保存有该当前备份周期的标识,该链表的第i个元素结点中保存有该目标数据块中第i个目标数据块的指纹信息,k为该目标数据块的总个数,其中k为大于等于1的整数,i为大于0且小于等于k的整数。
源存储设备采用链表存储方式存储目标数据块的指纹信息,可以在源存储设备对数据进行重删处理过程中同时记录目标数据块的指纹信息,在需要获取当前备份周期对应的指纹信息集合时,可以直接从链表中存储的指纹信息中获取,由此能够节省计算资源和计算时间。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,该第i个目标数据块的指纹信息为该第i个目标数据块的指纹,该链表的第i个元素结点中还保存有该第i个目标数据块的指纹与该第i个目标数据块的存储地址的映射关系;
其中,该根据该目标数据块的指纹信息,获取该目标数据块,包括:根据该第i个目标数据块的指纹、该第i个目标数据块的指纹与该第i个目标数据块的存储地址的映射关系,获取该第i个目标数据块。
第二方面,提供了一种差异数据备份的方法,该方法应用于存储***中,该存储***包括源存储设备和备份存储设备,该方法由源存储设备执行,该方法包括:根据当前备份周期的标识、备份周期的标识与指纹信息集合的对应关系,确定当前备份周期对应的指纹信息集合,该指纹信息集合包括在该当前备份周期的开始时刻与上一次备份周期的结束时刻之间该源存储设备保存的目标数据块的指纹信息,该目标数据块与该源存储设备在该上一次备份周期的结束时刻之前保存的所有数据块均不相同;向该备份存储设备发送该目标数据块的指纹信息对应的该目标数据块的指纹;接收该备份存储设备发送的反馈消息,该反馈消息用于指示差异指纹,该差异指纹是该目标数据块的指纹的子集,并且与该备份存储设备中保存的数据块的指纹不同;向该备份存储设备发送该差异指纹对应的目标数据块。
与现有技术相比,本发明实施例的源存储设备只需要将当前备份周期的开始时刻与上一次备份周期的结束时刻之间存储的目标数据块的指纹发送给备份存储设备进行指纹对比即可,其中,目标数据块与源存储设备在上一次备份周期的结束时刻之前保存的所有数据块不相同,并根据对比结果确定当前备份周期中需要备份的数据块,而不需要将当前备份周期的开始时刻与上一次备份周期的结束时刻之前源存储设备接收到的数据包括的所有数据块的指纹发送给备份存储设备进行指纹对比,由此,能够降低向备份存储设备发送的指纹的数量,从而降低网络资源的消耗及减少备份存储设备进行指纹比对消耗的时间。
结合第二方面,在第二方面的第一种可能的实现方式中,该源存储设备具有重复数据删除功能,该备份存储设备具有重复数据删除功能,该源存储设备的重复数据删除范围小于该备份存储设备的重复数据删除范围。
第三方面,提供了一种存储设备,该存储设备应用于存储***中,该存储***包括该存储设备和备份存储设备,该存储设备用于执行上述第一方面或第一方面的任意可能的实现方式中的方法。具体地,该存储设备包括用于执行上述第一方面或第一方面的任意可能的实现方式中的方法的单元。
第四方面,提供了一种存储设备,该存储设备应用于存储***中,该存储***包括该存储设备和备份存储设备,该存储设备用于执行上述第二方面或第二方面的可能的实现方式中的方法,具体地,该存储设备包括用于执行上述第二方面或第二方面的可能的实现方式中的方法的单元。
第五方面,提供了一种存储设备,所述存储设备应用于存储***中,所述存储***包括所述存储设备和备份存储设备,所述存储设备包括:处理器、存储器和发送器,所述处理器、所述存储器和所述发送器通过总线***相连,所述存储器用于存储指令,所述处理器用于执行该存储器存储的指令,使得所述存储设备执行上述第一方面或第一方面的任意可能的实现方式中的方法。
第六方面,提供了一种存储设备,该存储***包括该存储设备和备份存储设备,该存储设备包括:处理器、存储器、发送器和接收器,该处理器、该存储器、该发送器和该接收器通过总线***相连,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,使得该存储设备执行上述第二方面或第二方面的可能的实现方式中的方法。
第七方面,提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
第八方面,提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第二方面或第二方面的可能的实现方式中的方法的指令。
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一个应用场景图;
图2是根据本发明实施例的源存储设备的控制器的示意性框图;
图3是根据本发明实施例的差异数据备份的方法的示意性流程图;
图4是根据本发明实施例的链表的结构的示意性框图;
图5是根据本发明另一实施例的差异数据备份的方法的示意性流程图;
图6是根据本发明实施例的存储设备的示意性框图;
图7是根据本发明另一实施例的存储设备的示意性框图。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。
图1是本发明实施例的一个应用场景图。如图1所示包括主机10、源存储***20和备份存储***30,主机10与源存储***20和备份存储***30均有连接,但是正常情况下只使用与源存储***20的连接,只有在源存储***20发生故障,需要备份存储***30提供业务时,才会使用与备份存储***30的连接。源存储***20和备份存储***30之间通过网络连接,允许数据进行双向传输。
源存储***20可以是一个存储设备,可以称为“源存储设备”,如图1
所示,源存储设备20包括控制器21和存储介质22。备份存储***30可以是一个存储设备,可以称为“备份存储设备”,如图1所示,备份存储设备30包括控制器31和存储介质32。
下面对源存储设备20的结构和功能进行具体描述。
示例性地,如图2所示,源存储设备20的控制器21主要包括:处理器(processor)211、缓存(cache)212、存储器(memory)213、通信总线(简称总线)214以及通信接口(Communication Interface)215。处理器211、缓存212、存储器213以及通信接口215通过总线214进行相互间的通信。
处理器211可能是一个中央处理器(Central Processing Unit,简称为“CPU”),或者是特定集成电路(Application Specific Integrated Circuit,简称为“ASIC”),或者是被配置成实施本发明实施例的一个或多个集成电路。处理器211用于接收来自主机10的数据对象(数据对象是指包含实际数据的对象,可以是块数据,也可以是文件或者其他形式的数据),将该数据对象经过一定的处理后再发送给存储介质22。
通信接口215,用于与主机10、备份存储设备30或存储介质22通信。
存储器213用于存放程序216,存储器213可能包含高速RAM存储器,也可能包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可以理解的是,存储器213可以为随机存储器(Random-Access Memory,简称为“RAM”)、磁碟、硬盘、光盘、固态硬盘(Solid State Disk,简称为“SSD”)或者非易失性存储器等各种可以存储程序代码的非短暂性的(non-transitory)机器可读介质。
缓存212用于暂时存放从主机10接收的数据对象或从存储介质22读取的数据对象。另外,由于缓存读写数据的速度较快,为了方便读取也可以将一些经常使用的信息存放在缓存中,例如,数据块的逻辑地址,写入时间等信息。缓存212可以是RAM、储存级内存(Storage-Class Memory,简称为“SCM”)、非易失存储(Non-Volatile Memory,简称为“NVM”)、闪存(Flash Memory)或固态硬盘(Solid State Disk,简称为“SSD”)等各种可以存储数据的非短暂性的(non-transitory)机器可读介质,在此不做限定。
缓存212和存储器213可以合设或者分开设置,本发明实施例对此不做限定。
程序216可以包括程序代码,该程序代码包括计算机操作指令。对于具
有重复数据删除功能的存储设备,程序代码可以包括重复数据删除模块。重复数据删除模块用于在将从主机10接收到的数据对象发送给存储介质22之前进行重复数据删除。
下面将以源存储设备20为例,对重复数据删除功能进行简要的介绍:
当控制器21接收到主机10发送的数据对象后,可以将该数据对象划分为尺寸相同的若干个数据块。对于每个数据块,处理器211判断存储介质22中是否保存有相同的数据块,如果没有,则将数据块写入存储介质22中,同时将数据块的引用计数设置为初始值(例如,等于1);如果有,则不需要将已保存的数据块再次写入存储介质22中,而是将数据块的引用计数加1。
对于如何判断存储介质22中是否存在相同的数据块,通常的做法是预先保存存储介质22中保存的各个数据块的指纹,其中每个数据块的指纹是根据预设的哈希函数对每个数据块进行计算获得的。然后根据该哈希函数对待存储的数据块进行计算,获得该待存储的数据块的指纹;将该指纹与预先保存的各个数据块的指纹进行匹配,如果有相同的指纹说明存储介质22中已保存有相同的数据块,否则说明没有保存该待存储的数据块。该各个数据块的指纹可以保存在缓存212中,也可以保存在存储介质22中。除此之外,还可以采用其他方式判断存储介质22中是否保存有相同的数据块,这里不再一一列举。
需要说明的是,在本发明实施例中,由于源存储设备20具有重复数据删除功能,因此保存有源存储设备20中所有数据块的指纹信息,本实施例将其称为指纹信息集合(可以理解的是,指纹信息集合中包含的数据块的指纹均不相同)。除此之外,处理器211还可以再单独保存每个备份周期对应的指纹信息集合。数据块的指纹信息可选地可以为数据块的指纹,也可以为数据块的指纹的索引(例如,指向数据块的指纹的指针),由此,在需要进行差异数据备份时,处理器211可以直接根据单独保存的每个备份周期对应的指纹信息集合,确定出每个备份周期中需要备份的数据块,并将需要备份的数据块发送给备份存储设备进行备份存储。
图3是根据本发明实施例的差异数据备份的方法的示意性流程图。该方法应用于图1所示的源存储设备20和备份存储设备30中。如图3所示,该方法100包括:
S110,源存储设备20确定当前备份周期对应的指纹信息集合。
在本实施例中,源存储设备20可以按周期将差异数据备份到备份存储设备30,每个周期在本实施例中称为备份周期。具体的,源存储设备20可以将每个备份周期内接收的差异数据发送给备份存储设备30。由于在本实施例中,差异数据需要被划分为若干数据块以判断是否与已经保存的数据块重复,因此差异数据也可以被称为差异数据块。另外,在本实施例中由于源存储设备20具有重复数据删除功能,因此保存有所述源存储设备20中所有数据块的指纹信息,本实施例将其称为指纹信息集合(可以理解的是,指纹信息集合中包含的数据块的指纹均不相同)。除了所有数据块的指纹信息集合之外,还可以再单独保存一份当前备份周期对应的指纹信息集合。可选地,所述指纹信息集合以及当前备份周期对应的指纹信息集合可以存在于存储介质22中,也可以存在于缓存212中。
所述当前备份周期对应的指纹信息集合包括在该当前备份周期的开始时刻与上一次备份周期的结束时刻之间源存储设备20保存的目标数据块的指纹信息,并且目标数据块与源存储设备20在上一次备份周期的结束时刻之前保存的所有数据块均不相同,也就是说,目标数据块即为当前备份周期中源存储设备20需要备份给备份存储设备30的数据块。
具体地,步骤S110是由源存储设备20中的处理器211执行的。处理器211对写入数据进行重复数据删除操作的同时记录重复数据删除过程中保存的目标数据块的指纹信息。
作为一个例子,处理器211可以将数据块的指纹信息保存在链表中,或者说,处理器211采用链表存储方式存储数据块的指纹信息。具体地,链表中可以保存有所有数据块的指纹信息、备份周期的标识以及指纹信息集合,备份周期的标识与指纹信息集合之间具有对应关系(对应关系的实现可以由链表的实现方式决定),由此,所述步骤S110具体可以是处理器211根据当前备份周期的标识、备份周期的标识与指纹信息集合的对应关系,直接从链表中取出与当前备份周期相对应的指纹信息集合。
示例性地,链表的结构如图4所示,链表的头节点中保存有备份周期的标识,链表的第i个元素节点中保存有目标数据块中第i个目标数据块的指纹信息,k为目标数据块的总个数,其中k为大于等于1的整数,i为大于0且小于k的整数。
可选地,链表可以存在于存储介质22中,也可以存在于缓存212中,
备份周期的标识可以包括备份周期的开始时间和/或结束时间。
应理解,存储数据块的指纹信息的方式还可以有其他的方式,例如,还可以采用堆栈或者队列的存储方式存储数据块的指纹信息。本实施例并不需要对存储数据块的指纹信息的方式进行任何限定。
S120,源存储设备20根据所述当前备份周期对应的指纹信息集合,获取当前备份周期中需要备份的数据块。
可选地,指纹信息可以是目标数据块的指纹的索引,例如可以是指向指纹的指针,此时处理器211在确定当前备份周期对应的指纹信息集合后,可以根据指纹信息集合中的指针的值确定当前备份周期对应的指纹,然后根据指纹、存储介质22或缓存212中保存的指纹与数据块的存储地址的映射关系,获取到目标数据块,也即当前备份周期中需要备份的数据块。
可选地,指纹信息还可以是目标数据块的指纹,此时处理器211在确定当前备份周期对应的指纹信息集合后,可以直接根据所述指纹信息集合中包含的指纹、存储介质22或缓存212中保存的指纹与对应数据块的存储地址的映射关系,获取到目标数据块。
进一步地,图4所示的链表中的第i个元素节点中还保存有第i个目标数据块的指纹与第i的目标数据块的存储地址的映射关系,由此,处理器211可以直接根据链表中保存的指纹、指纹与目标数据块的存储地址的映射关系,获取到目标数据块。
具体的,步骤S120可以是源存储设备20中的处理器211执行的。
S130,源存储设备20向备份存储设备30发送所述需要备份的数据块。
具体的,处理器211通过通信接口215将需要备份的数据块发送给备份存储设备30。
S140,备份存储设备30存储该需要备份的数据块。
本发明实施例中,在S140中,备份存储设备30可以在接收到需要备份的数据块时,采用与源存储设备相同的指纹计算方法计算接收到的需要备份的数据块的指纹,并将计算得到的指纹存储到备份存储设备30的存储介质32中。
可选地,在S130中,源存储设备20还可以向备份存储设备30发送需要备份的数据块的指纹,相应地,在S140中,备份存储设备30直接将接收到的指纹保存到存储介质32中,由此,可以节省备份存储设备30的计算资
源。
可选地,如图3所示,方法100还可以包括:
S150,备份存储设备30向源存储设备20反馈备份存储结果。
所述备份存储结果指示备份存储设备30已经成功存储需要备份的数据块。
图3所示的方法100,主要适用于源存储设备20与备份存储设备30使用相同的重删算法、重删范围、数据块大小的场景中,在图3所示的方法的基础上不需要备份存储设备30的参与,源存储设备20就可以判断一个备份周期内需要备份的数据块,能够提高数据备份的效率。
在某些场景下,源存储设备20的重删范围与备份存储设备30的重删范围不相同,比如源存储设备20采用局部重删机制,备份存储设备30采用全局重删机制,由于局部重删机制限定的重删范围为单个存储单元(如单个逻辑单元号(Logical Unit Number,简称为“LUN”或者单个资源池(POOL)),而全局重删机制限定的重删范围为整个***的存储空间,在备份存储设备30采用全局重删机制时,可以理解为备份存储设备30除了用于备份源存储设备20中的数据块外,还用于备份其他源存储设备中的数据块,所以可能出现源存储设备20确定的需要备份的数据块在备份存储设备30中已经存储过了的情况,所以在源存储设备20实际发送数据块之前,可以增加发送源存储设备20确定的需要备份的数据块的指纹到备份存储设备30进行对比的步骤。具体如图5所示,图5中方法200包括:
S210,源存储设备20获取当前备份周期对应的指纹信息集合。
此步骤与S110相同,为避免重复,在此不再赘述。
S220,源存储设备20向备份存储设备30发送所述指纹信息集合对应的指纹。
在步骤S220中,源存储设备20的处理器211只需要将确定的当前备份周期中需要备份的数据块(当前备份周期的开始时刻与上一次备份周期的结束时刻之间源存储设备20保存的目标数据块,所述目标数据块与源存储设备20在上一次备份周期的结束时刻之前保存的所有数据块均不相同)的指纹发送给备份存储设备进行指纹对比,而现有技术中,源存储设备需要将当前备份周期的开始时刻与上一次备份周期的结束时刻之间源存储设备20接收到的数据包括的所有数据块的指纹发送给备份存储设备30进行指纹对比。
由此,本发明实施例的差异数据备份的方法,能够降低源存储设备向备份存储设备发送的指纹的数量,从而降低网络带宽的消耗及减少备份存储设备进行指纹比对消耗的时间。
S230,备份存储设备30将接收到的指纹与自身已保存的指纹进行对比。
本实施例与图3所示的实施例的区别在于,本实施例中备份存储设备30接收源存储设备20发送的指纹并与自身已保存的指纹的进行比对,而图3所示的实施例不需要。原因在于图3所示的实施例的方法主要应用于源存储设备20和备份存储设备30采用相同的重删范围的场景中,而本实施例的方法主要应用于源存储设备20采用局部重删机制,备份存储设备30采用全局重删机制的场景中,如上文所述,此场景中,源存储设备20确定的需要备份的数据块在备份存储设备30中可能已经存储过了,为了避免源存储设备20将不必要的数据块发送给备份存储设备30,源存储设备20在向备份存储设备30发送数据块之前,将源存储设备20确定的需要备份的数据块的指纹发送给备份存储设备30进行对比。
S240,源存储设备20接收备份存储设备30发送的反馈消息。
反馈消息会指示S230中指纹对比的结果,具体地,反馈消息用于指示差异指纹,这里的差异指纹指的是S220中备份存储设备30接收到的指纹中没有在备份存储设备30中保存过的指纹,也就是说差异指纹实际上是S220中备份存储设备30接收到的指纹中的部分指纹,这部分指纹与备份存储设备30中保存的数据块的指纹不同。
可选地,反馈消息可以采用间接指示的方式指示差异指纹,具体地,反馈消息中携带源存储设备20发送的指纹中已经在备份存储设备30中存在的那部分指纹,源存储设备20通过将反馈消息中携带的指纹与之前发送给备份存储设备30的指纹进行对比,即可得出差异指纹。反馈消息还可以采用直接指示的方式指示差异指纹,具体地,反馈消息中携带源存储设备20发送的指纹中没有在备份存储设备30中保存过的那部分指纹,源存储设备20直接将反馈消息中携带的指纹确定为差异指纹。
S250,源存储设备20根据反馈消息,重新确定当前备份周期中需要备份的数据块,并将重新确定的需要备份的数据块发送给备份存储设备30。
具体地,源存储设备20的处理器211根据反馈消息中携带的指纹确定出S220中发送给备份存储设备30的指纹中没有在备份存储设备30中保存
过的指纹(即差异指纹),并根据指纹与数据块的存储地址的映射关系,获取到与差异指纹相对应的数据块,并将这些数据块通过通信接口215发送给备份存储设备30。
S260,备份存储设备30接收源存储设备20发送的重新确定的需要备份的数据块并存储该需要备份的数据块。
可选地,如图4所示,方法200还可以包括:
S270,备份存储设备30向源存储设备20反馈备份存储结果。
所述备份存储结果指示备份存储设备30已经成功存储需要备份的数据块。
以上结合图3至图5详细描述了根据本发明实施例的差异数据备份的方法,下面将结合图6详细描述根据本发明实施例的存储设备。该存储设备应用于存储***中,该存储***包括该存储设备和备份存储设备,如图6所示,存储设备40包括:
处理单元41,用于根据当前备份周期的标识、备份周期的标识与指纹信息集合的对应关系,确定当前备份周期对应的指纹信息集合,该指纹信息集合包括在该当前备份周期的开始时刻与上一次备份周期的结束时刻之间该存储设备保存的目标数据块的指纹信息,该目标数据块与该源存储设备在该上一次备份周期的结束时刻之前保存的所有数据块均不相同;
该处理单元41,还用于根据该目标数据块的指纹信息,获取该目标数据块;
发送单元42,用于向该备份存储设备发送该目标数据块。
因此,根据本发明实施例的存储设备仅需要根据当前备份周期的标识、备份周期的标识与指纹信息集合的对应关系,就可以确定当前备份周期中需要备份的数据块,并将需要备份的数据块发送给备份存储设备。由此,能够提高数据备份的效率,降低计算资源和网络资源的消耗。
在本发明实施例中,可选地,该发送单元42还用于:向该备份存储设备发送该目标数据块的指纹。
在本发明实施例中,可选地,该目标数据块的指纹信息保存在链表中,其中,该链表的头节点中保存有该当前备份周期的标识,该链表的第i个元素结点中保存有该目标数据块中第i个目标数据块的指纹信息,k为该目标数据块的总个数,i为大于0且小于等于k的整数。
在本发明实施例中,可选地,该第i个目标数据块的指纹信息为该第i个目标数据块的指纹,该链表的第i个元素结点中还保存有该第i个目标数据块的指纹与该第i个目标数据块的存储地址的映射关系;
其中,该处理单元41具体用于:根据该第i个目标数据块的指纹、该第i个目标数据块的指纹与该第i个目标数据块的存储地址的映射关系,获取该第i的目标数据块。
应理解,根据本发明实施例的存储设备40可对应于执行本发明实施例中的方法100中的源存储设备,并且存储设备40中的各个单元的上述和其它操作和/或功能分别为了实现图3中的方法中源存储设备对应的相应流程,为了简洁,在此不再赘述。
因此,根据本发明实施例的存储设备仅需要根据当前备份周期的标识、备份周期的标识与指纹信息集合的对应关系,就可以确定当前备份周期中需要备份的数据块,并将需要备份的数据块发送给备份存储设备。由此,能够提高数据备份的效率,降低计算资源和网络资源的消耗。
图7示出了根据本发明另一实施例的存储设备。该存储设备应用于存储***中,该存储***包括该存储设备和备份存储设备,如图7所示,存储设备50包括:
处理单元51,用于根据当前备份周期的标识、备份周期的标识与指纹信息集合的对应关系,确定当前备份周期对应的指纹信息集合,该指纹信息集合包括在该当前备份周期的开始时刻与上一次备份周期的结束时刻之间该源存储设备保存的目标数据块的指纹信息,该目标数据块与该存储设备在该上一次备份周期的结束时刻之前保存的所有数据块均不相同;
发送单元52,用于向该备份存储设备发送该目标数据块的指纹信息对应的该目标数据块的指纹;
接收单元53,用于接收该备份存储设备发送的反馈消息,该反馈消息用于指示差异指纹,该差异指纹是该目标数据块的指纹的子集。并且与该备份存储设备中保存的数据块的指纹不同;
该发送单元52,还用于向该备份存储设备发送该差异指纹对应的目标数据块。
因此,根据本发明实施例的源存储设备只需要将当前备份周期的开始时刻与上一次备份周期的结束时刻之间存储的目标数据块的指纹发送给备份
存储设备进行指纹对比,其中,目标数据块与源存储设备在上一次备份周期的结束时刻之前保存的所有数据块均不相同,并根据对比结果确定当前备份周期中需要备份的数据块,而不需要将当前备份周期的开始时刻与上一次备份周期的结束时刻之间源存储设备接收到的数据包括的所有数据块的指纹发送给备份存储设备进行指纹对比,由此,能够降低向备份存储设备发送的指纹的数量,从而降低网络资源的消耗及减少备份存储设备进行指纹比对消耗的时间。
在本发明实施例中,可选地,该存储设备具有重复数据删除功能,该备份存储设备具有重复数据删除功能,该存储设备的重复数据删除范围小于该备份存储设备的重复数据删除范围。
应理解,根据本发明实施例的存储设备50可对应于执行本发明实施例中的方法200中的源存储设备,并且存储设备50中的各个单元的上述和其它操作和/或功能分别为了实现图5中的方法中源存储设备对应的相应流程,为了简洁,在此不再赘述。
因此,根据本发明实施例的源存储设备只需要将当前备份周期的开始时刻与上一次备份周期的结束时刻之间存储的目标数据块的指纹发送给备份存储设备进行指纹对比,其中,目标数据块与源存储设备在上一次备份周期的结束时刻之前保存的所有数据块均不相同,并根据对比结果确定当前备份周期中需要备份的数据块,而不需要将当前备份周期的开始时刻与上一次备份周期的结束时刻之间源存储设备接收到的数据包括的所有数据块的指纹发送给备份存储设备进行指纹对比,由此,能够降低向备份存储设备发送的指纹的数量,从而降低网络资源的消耗及减少备份存储设备进行指纹比对消耗的时间。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (14)
- 一种差异数据备份的方法,其特征在于,所述方法应用于存储***中,所述存储***包括源存储设备和备份存储设备,所述方法由所述源存储设备执行,所述方法包括:根据当前备份周期的标识、备份周期的标识与指纹信息集合的对应关系,确定当前备份周期对应的指纹信息集合,所述指纹信息集合包括在所述当前备份周期的开始时刻与上一次备份周期的结束时刻之间所述源存储设备保存的目标数据块的指纹信息,所述目标数据块与所述源存储设备在所述上一次备份周期的结束时刻之前保存的所有数据块均不相同;根据所述目标数据块的指纹信息,获取所述目标数据块;向所述备份存储设备发送所述目标数据块。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:向所述备份存储设备发送所述目标数据块的指纹。
- 根据权利要求1或2所述的方法,其特征在于,所述目标数据块的指纹信息保存在链表中,其中,所述链表的头节点中保存有所述当前备份周期的标识,所述链表的第i个元素结点中保存有所述目标数据块中第i个目标数据块的指纹信息,k为所述目标数据块的总个数,其中k为大于等于1的整数,i为大于0且小于等于k的整数。
- 根据权利要求3所述的方法,其特征在于,所述第i个目标数据块的指纹信息为所述第i个目标数据块的指纹,所述链表的第i个元素结点中还保存有所述第i个目标数据块的指纹与所述第i个目标数据块的存储地址的映射关系;其中,所述根据所述目标数据块的指纹信息,获取所述目标数据块,包括:根据所述第i个目标数据块的指纹、所述第i个目标数据块的指纹与所述第i个目标数据块的存储地址的映射关系,获取所述第i个目标数据块。
- 一种差异数据备份的方法,其特征在于,所述方法应用于存储***中,所述存储***包括源存储设备和备份存储设备,所述方法由所述源存储设备执行,所述方法包括:根据当前备份周期的标识、备份周期的标识与指纹信息集合的对应关系,确定当前备份周期对应的指纹信息集合,所述指纹信息集合包括在所述 当前备份周期的开始时刻与上一次备份周期的结束时刻之间所述源存储设备保存的目标数据块的指纹信息,所述目标数据块与所述源存储设备在所述上一次备份周期的结束时刻之前保存的所有数据块均不相同;向所述备份存储设备发送所述目标数据块的指纹信息对应的所述目标数据块的指纹;接收所述备份存储设备发送的反馈消息,所述反馈消息用于指示差异指纹,所述差异指纹是所述目标数据块的指纹的子集,并且与所述备份存储设备中保存的数据块的指纹不同;向所述备份存储设备发送所述差异指纹对应的目标数据块。
- 根据权利要求5所述的方法,其特征在于,所述源存储设备具有重复数据删除功能,所述备份存储设备具有重复数据删除功能,所述源存储设备的重复数据删除范围小于所述备份存储设备的重复数据删除范围。
- 一种存储设备,其特征在于,所述存储设备应用于存储***中,所述存储***包括所述存储设备和备份存储设备,所述存储设备包括:处理单元,用于根据当前备份周期的标识、备份周期的标识与指纹信息集合的对应关系,确定当前备份周期对应的指纹信息集合,所述指纹信息集合包括在所述当前备份周期的开始时刻与上一次备份周期的结束时刻之间所述存储设备保存的目标数据块的指纹信息,所述目标数据块与所述源存储设备在所述上一次备份周期的结束时刻之前保存的所有数据块均不相同;所述处理单元,还用于根据所述目标数据块的指纹信息,获取所述目标数据块;发送单元,用于向所述备份存储设备发送所述目标数据块。
- 根据权利要求7所述的存储设备,其特征在于,所述发送单元还用于:向所述备份存储设备发送所述目标数据块的指纹。
- 根据权利要求7或8所述的存储设备,其特征在于,所述目标数据块的指纹信息保存在链表中,其中,所述链表的头节点中保存有所述当前备份周期的标识,所述链表的第i个元素结点中保存有所述目标数据块中第i个目标数据块的指纹信息,k为所述目标数据块的总个数,其中k为大于等于1的整数,i为大于0且小于等于k的整数。
- 根据权利要求9所述的存储设备,其特征在于,所述第i个目标数 据块的指纹信息为所述第i个目标数据块的指纹,所述链表的第i个元素结点中还保存有所述第i个目标数据块的指纹与所述第i个目标数据块的存储地址的映射关系;其中,所述处理单元具体用于:根据所述第i个目标数据块的指纹、所述第i个目标数据块的指纹与所述第i个目标数据块的存储地址的映射关系,获取所述第i的目标数据块。
- 一种存储设备,其特征在于,所述存储设备应用于存储***中,所述存储***包括所述存储设备和备份存储设备,所述存储设备包括:处理单元,用于根据当前备份周期的标识、备份周期的标识与指纹信息集合的对应关系,确定当前备份周期对应的指纹信息集合,所述指纹信息集合包括在所述当前备份周期的开始时刻与上一次备份周期的结束时刻之间所述源存储设备保存的目标数据块的指纹信息,所述目标数据块与所述存储设备在所述上一次备份周期的结束时刻之前保存的所有数据块均不相同;发送单元,用于向所述备份存储设备发送所述目标数据块的指纹信息对应的所述目标数据块的指纹;接收单元,用于接收所述备份存储设备发送的反馈消息,所述反馈消息用于指示差异指纹,所述差异指纹是所述目标数据块的指纹的子集。并且与所述备份存储设备中保存的数据块的指纹不同;所述发送单元,还用于向所述备份存储设备发送所述差异指纹对应的目标数据块。
- 根据权利要求11所述的存储设备,其特征在于,所述存储设备具有重复数据删除功能,所述备份存储设备具有重复数据删除功能,所述存储设备的重复数据删除范围小于所述备份存储设备的重复数据删除范围。
- 一种存储设备,其特征在于,所述存储设备应用于存储***中,所述存储***包括所述存储设备和备份存储设备,所述存储设备包括:处理器、存储器和发送器,所述处理器、所述存储器和所述发送器通过总线***相连,所述存储器用于存储指令,所述处理器用于执行该存储器存储的指令,使得所述存储设备执行如权利要求1至4任意一项所述的方法。
- 一种存储设备,其特征在于,所述存储设备应用于存储***中,所述存储***包括所述存储设备和备份存储设备,所述存储设备包括:处理器、存储器、发送器和接收器,所述处理器、所述存储器、所述发送器和所述接 收器通过总线***相连,所述存储器用于存储指令,所述处理器用于执行该存储器存储的指令,使得所述存储设备执行如权利要求5或6所述的方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2016/075269 WO2017147794A1 (zh) | 2016-03-02 | 2016-03-02 | 差异数据备份的方法和设备 |
CN201680000498.9A CN108780447A (zh) | 2016-03-02 | 2016-03-02 | 差异数据备份的方法和设备 |
EP16865274.1A EP3312727B1 (en) | 2016-03-02 | 2016-03-02 | Differential data backup method and device |
HUE16865274A HUE042884T2 (hu) | 2016-03-02 | 2016-03-02 | Különbségi biztonsági adatmentési eljárás és eszköz |
US15/611,456 US20170269847A1 (en) | 2016-03-02 | 2017-06-01 | Method and Device for Differential Data Backup |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2016/075269 WO2017147794A1 (zh) | 2016-03-02 | 2016-03-02 | 差异数据备份的方法和设备 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/611,456 Continuation US20170269847A1 (en) | 2016-03-02 | 2017-06-01 | Method and Device for Differential Data Backup |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017147794A1 true WO2017147794A1 (zh) | 2017-09-08 |
Family
ID=59742393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2016/075269 WO2017147794A1 (zh) | 2016-03-02 | 2016-03-02 | 差异数据备份的方法和设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20170269847A1 (zh) |
EP (1) | EP3312727B1 (zh) |
CN (1) | CN108780447A (zh) |
HU (1) | HUE042884T2 (zh) |
WO (1) | WO2017147794A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109558270B (zh) * | 2017-09-25 | 2021-02-05 | 北京国双科技有限公司 | 数据备份的方法和装置、数据还原的方法和装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7248267B2 (ja) * | 2018-06-06 | 2023-03-29 | Necソリューションイノベータ株式会社 | ストレージ装置、復旧方法、プログラム |
US10929050B2 (en) * | 2019-04-29 | 2021-02-23 | EMC IP Holding Company LLC | Storage system with deduplication-aware replication implemented using a standard storage command protocol |
CN113568561B (zh) * | 2020-04-29 | 2024-05-17 | 伊姆西Ip控股有限责任公司 | 用于信息处理的方法、电子设备和计算机存储介质 |
CN114415955B (zh) * | 2022-01-05 | 2024-04-09 | 上海交通大学 | 基于指纹的块粒度数据去重***和方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064730A (zh) * | 2006-09-21 | 2007-10-31 | 上海交通大学 | 计算机网络数据文件本地和远程的备份方法 |
US8745003B1 (en) * | 2011-05-13 | 2014-06-03 | Emc Corporation | Synchronization of storage using comparisons of fingerprints of blocks |
CN103902407A (zh) * | 2012-12-31 | 2014-07-02 | 华为技术有限公司 | 一种虚拟机恢复方法及服务器 |
CN104166606A (zh) * | 2014-08-29 | 2014-11-26 | 华为技术有限公司 | 文件备份方法和主存储设备 |
CN104375905A (zh) * | 2014-11-07 | 2015-02-25 | 北京云巢动脉科技有限公司 | 一种基于数据块的增量备份的方法和*** |
CN105243109A (zh) * | 2015-09-25 | 2016-01-13 | 杭州华为数字技术有限公司 | 数据备份的方法和数据处理*** |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7843823B2 (en) * | 2006-07-28 | 2010-11-30 | Cisco Technology, Inc. | Techniques for balancing throughput and compression in a network communication system |
US8190835B1 (en) * | 2007-12-31 | 2012-05-29 | Emc Corporation | Global de-duplication in shared architectures |
US8060715B2 (en) * | 2009-03-31 | 2011-11-15 | Symantec Corporation | Systems and methods for controlling initialization of a fingerprint cache for data deduplication |
US8667328B2 (en) * | 2009-04-28 | 2014-03-04 | Ca, Inc. | System and method for protecting windows system state |
US8356017B2 (en) * | 2009-08-11 | 2013-01-15 | International Business Machines Corporation | Replication of deduplicated data |
US9401967B2 (en) * | 2010-06-09 | 2016-07-26 | Brocade Communications Systems, Inc. | Inline wire speed deduplication system |
US9798627B2 (en) * | 2012-05-25 | 2017-10-24 | Veritas Technologies Llc | Backup image duplication |
JPWO2014030252A1 (ja) * | 2012-08-24 | 2016-07-28 | 株式会社日立製作所 | ストレージ装置及びデータ管理方法 |
US9367559B1 (en) * | 2013-10-01 | 2016-06-14 | Veritas Technologies Llc | Data locality control for deduplication |
US9990156B1 (en) * | 2014-06-13 | 2018-06-05 | EMC IP Holding Company LLC | Deduplicating snapshots associated with a backup operation |
JP6304406B2 (ja) * | 2014-06-27 | 2018-04-04 | 日本電気株式会社 | ストレージ装置、プログラム、情報処理方法 |
US10339106B2 (en) * | 2015-04-09 | 2019-07-02 | Commvault Systems, Inc. | Highly reusable deduplication database after disaster recovery |
US9639274B2 (en) * | 2015-04-14 | 2017-05-02 | Commvault Systems, Inc. | Efficient deduplication database validation |
US20170017567A1 (en) * | 2015-07-15 | 2017-01-19 | Innovium, Inc. | System And Method For Implementing Distributed-Linked Lists For Network Devices |
US9842114B2 (en) * | 2015-09-25 | 2017-12-12 | Netapp, Inc. | Peer to peer network write deduplication |
JP6561765B2 (ja) * | 2015-10-23 | 2019-08-21 | 富士通株式会社 | ストレージ制御装置およびストレージ制御プログラム |
CN107957848B (zh) * | 2016-10-14 | 2020-01-10 | 上海交通大学 | 重删处理方法及存储设备 |
-
2016
- 2016-03-02 CN CN201680000498.9A patent/CN108780447A/zh active Pending
- 2016-03-02 EP EP16865274.1A patent/EP3312727B1/en active Active
- 2016-03-02 WO PCT/CN2016/075269 patent/WO2017147794A1/zh active Application Filing
- 2016-03-02 HU HUE16865274A patent/HUE042884T2/hu unknown
-
2017
- 2017-06-01 US US15/611,456 patent/US20170269847A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064730A (zh) * | 2006-09-21 | 2007-10-31 | 上海交通大学 | 计算机网络数据文件本地和远程的备份方法 |
US8745003B1 (en) * | 2011-05-13 | 2014-06-03 | Emc Corporation | Synchronization of storage using comparisons of fingerprints of blocks |
CN103902407A (zh) * | 2012-12-31 | 2014-07-02 | 华为技术有限公司 | 一种虚拟机恢复方法及服务器 |
CN104166606A (zh) * | 2014-08-29 | 2014-11-26 | 华为技术有限公司 | 文件备份方法和主存储设备 |
CN104375905A (zh) * | 2014-11-07 | 2015-02-25 | 北京云巢动脉科技有限公司 | 一种基于数据块的增量备份的方法和*** |
CN105243109A (zh) * | 2015-09-25 | 2016-01-13 | 杭州华为数字技术有限公司 | 数据备份的方法和数据处理*** |
Non-Patent Citations (1)
Title |
---|
See also references of EP3312727A4 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109558270B (zh) * | 2017-09-25 | 2021-02-05 | 北京国双科技有限公司 | 数据备份的方法和装置、数据还原的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3312727B1 (en) | 2018-11-14 |
EP3312727A1 (en) | 2018-04-25 |
CN108780447A (zh) | 2018-11-09 |
EP3312727A4 (en) | 2018-04-25 |
HUE042884T2 (hu) | 2019-07-29 |
US20170269847A1 (en) | 2017-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10261853B1 (en) | Dynamic replication error retry and recovery | |
WO2017147794A1 (zh) | 差异数据备份的方法和设备 | |
US10817386B2 (en) | Virtual machine recovery method and virtual machine management device | |
EP3376393B1 (en) | Data storage method and apparatus | |
US8370591B2 (en) | Method and apparatus for automatic snapshot | |
US10116746B2 (en) | Data storage method and network interface card | |
US10860447B2 (en) | Database cluster architecture based on dual port solid state disk | |
US10261908B2 (en) | Method and apparatus for expanding cache size for cache array | |
WO2015081470A1 (zh) | 数据处理设备和数据处理的方法 | |
EP3826267B1 (en) | File sending method, file receiving method and file transceiving apparatus | |
CN107850983B (zh) | 计算机***、存储装置和数据的管理方法 | |
CN105302676A (zh) | 一种分布式文件***的主备机制数据传输方法及装置 | |
CN114443364B (zh) | 一种分布式块存储数据处理方法、装置、设备及存储介质 | |
CN111881476A (zh) | 对象存储控制方法、装置、计算机设备及存储介质 | |
US20220253252A1 (en) | Data processing method and apparatus | |
WO2016107219A1 (zh) | 数据恢复方法及装置 | |
CN103500108A (zh) | ***内存访问方法、节点控制器和多处理器*** | |
US20240086113A1 (en) | Synchronous write method and device, storage system and electronic device | |
CN107547593B (zh) | 一种实现日志同步的方法、装置及分布式*** | |
CN104484132A (zh) | 数据缩减的方法及装置 | |
US20160057068A1 (en) | System and method for transmitting data embedded into control information | |
US10409517B2 (en) | Method and device for data backup | |
US20210110201A1 (en) | Computing system performing image backup and image backup method | |
CN110019092B (zh) | 数据存储的方法、控制器和*** | |
US11861166B2 (en) | System and method for network interface controller based data deduplication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
REEP | Request for entry into the european phase |
Ref document number: 2016865274 Country of ref document: EP |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16865274 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |