CN104506619B - 一种数据备份、恢复方法及其装置、服务器 - Google Patents
一种数据备份、恢复方法及其装置、服务器 Download PDFInfo
- Publication number
- CN104506619B CN104506619B CN201410810797.1A CN201410810797A CN104506619B CN 104506619 B CN104506619 B CN 104506619B CN 201410810797 A CN201410810797 A CN 201410810797A CN 104506619 B CN104506619 B CN 104506619B
- Authority
- CN
- China
- Prior art keywords
- fixed length
- volume
- file
- bitmap
- data
- 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
Links
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- 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/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- 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/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据备份、恢复方法及其装置、服务器。所述备份方法包括如下步骤:备份服务器从生产端获取第一目标卷的原始差量位图;根据所述原始差量位图从所述第一目标卷中获取每个定长数据块的有效数据;根据所述原始差量位图将包含有效数据的定长数据块对应的位图保存到所述定长数据块的定长卷位图文件,其中,所述定长卷位图文件用于标识所述有效数据的存储地址;将定长数据块的有效数据保存到定长数据块的定长卷文件件。上述方案,能够实现只传输有效数据,减少生产端和服务器之间的数据传输量,加快传输速度,节省存储空间。
Description
技术领域
本申请涉及通信领域,特别是一种数据备份、恢复方法及其装置、服务器。
背景技术
目前,物理服务器与虚拟机的备份越来越趋向于基于卷(即,磁盘)级别的备份。基于卷级别的备份,由全量备份和增量备份组成。
当第一次将待备份虚拟机的其中一个卷备份到服务器时,进行全量备份,将目标卷中的所有数据备份到服务器。第二次及后续备份时,进行差量备份,将该目标卷中发生改变的数据备份到服务器。
其中,为了便于恢复数据,待备份数据的存储格式通常为定长裸卷块数据(将待备份数据分成多个长度相等的块数据)。虚拟机以及虚拟机上的卷都是在虚拟化平台产生。服务器和虚拟化平台交互,从虚拟化平台获取待备份虚拟机目标卷的原始差量位图,根据原始差量位图从虚拟化平台获取卷数据。服务器根据卷数据生成卷数据对应的卷映射文件,根据卷映射文件将卷数据以若干个定长大小的卷文件存储到相应的位置。原始差量位图是虚拟化平台通过改变块跟踪(Change Block Tracking,CBT)等类似技术计算得到。
基于定长卷数据文件将待备份虚拟机的数据备份到服务器的实现方式具体为:
假设,待备份虚拟机的卷定长大小为16MB,每个卷数据由4个定长大小为4MB的定长数据块组成,每个定长数据块包括4个粒度为1MB的数据。待备份虚拟机第一目标卷(存储地址为0-16)的卷数据如图1所示。
当服务器对待备份虚拟机的第一目标卷进行第一次备份时,第一次备份为全量备份:
服务器与待备份虚拟化平台进行交互,从虚拟化平台获取待备份虚拟机的第一目标卷的原始差量位图,获取到的原始差量位图如图2所示。其中,原始差量位图中“1”用于标识第一目标卷中该地址对应的存储区域的数据为有效数据,“0”用于标识第一目标卷中该地址对应的存储区域的数据为无效数据。有效数据定义为该地址对应的存储区域存储了数据或者该地址对应的存储区域的数据有变化。无效数据定义为该地址对应的存储区域没有存储数据或所存储的数据没有发生变化。
服务器在获取到第一目标卷的原始差量位图之后,将原始差量位图重新计算生成一个4比特(Bit)的位图,1比特(Bit)占用4MB的存储空间,重新生成的位图如图3所示。其中,重新生成的位图中“1”用于标识在第一目标卷的原始位图中,该地址段中有至少一个地址对应的值为1,表示需要获取该地址段存储的数据;重新生成的位图中“0”用于标识在第一目标卷的原始位图中,该地址段中所有地址对应的值均为0,表示不需要获取该地址段存储的数据。
服务器根据重新计算的位图,从虚拟化平台中按地址从低到高的顺序依次获取图3中值为1的地址段对应位置的卷备份数据,并将第一目标卷数据分为4个定长卷文件保存,同时生成第一目标卷对应的卷映射文件。此时,备份的数据大小为16MB。其中,一个定长数据块在一次备份中对应一个定长卷文件,每个定长卷文件的定长大小为4MB(即一个定长数据块的大小),定长卷文件用于标识本次备份需要存储的数据。每个目标卷对应一个卷映射文件,每个定长卷文件对应一个卷映射文件的其中一个元素,每个卷映射文件对应一个地址段,定长卷文件与卷映射文件通过定长卷文件的名称关联。保存的定长卷文件如图4所示,其中,F_1_Snap_1标识该文件为第一次备份的第一定长卷文件。卷映射文件如图5所示,其中,F_1_Snap_1标识第一次备份的第一定长卷文件存储地址为0-3。
当服务器对待备份虚拟机的第一目标卷进行第二次或后续备份时,第二次备份可以为增量备份。
假设,此时第一目标卷的卷数据发生变化,服务器对待备份虚拟机的第一目标卷进行增量备份,第一目标卷的卷数据如图6所示。其中,图6中阴影部分的地址标识该地址存储的数据发生变化。
服务器与待备份虚拟化平台进行交互,从虚拟化平台获取待备份虚拟机的第一目标卷相对于最近一次备份的原始差量位图,此时,获取到的原始差量位图如图7所示。其中,原始差量位图中“1”用于标识第一目标卷中该地址对应的存储区域的数据为有效数据,“0”用于标识第一目标卷中该地址对应的存储区域的数据为无效数据。有效数据定义为该地址对应的存储区域所存储的数据发生变化。无效数据定义为该地址对应的存储区域所存储的数据没有发生变化。
服务器在获取到第一目标卷的原始差量位图之后,将原始差量位图重新计算生成一个4比特(Bit)的位图,1比特(Bit)占用4MB的存储空间,重新生成的位图如图8所示。
服务器根据重新计算的位图,从虚拟化平台中按地址从低到高的顺序依次获取图8中值为1的地址段对应位置的卷备份数据,并将第一目标卷数据分为4个定长卷文件保存,同时生成第一目标卷对应的卷映射文件。此时,备份的数据大小为8MB。保存的定长卷文件如图9所示,其中,F_1_Snap_2标识该文件为第二次备份的第一定长卷文件。卷映射文件如图10所示,图10中的卷映射文件是由第一次备份生成的卷备份文件和第二次备份生成的卷映射文件叠加而成。其中,F_1_Snap_2标识第二次备份的第一定长卷文件存储地址为0-3,F_2_Snap_1标识第一次备份的第二定长卷文件存储地址为4-7。
当虚拟化平台第一目标卷数据丢失,需要将服务器中第一目标卷的第二次备份的卷数据恢复到虚拟化平台时,服务器通过备份软件查找具体备份时间点对应的第一目标卷的卷映射文件,并从该卷映射文件中获取每个定长卷文件的名称,打开相应的定长卷文件,读出定长卷文件的所有数据,传输到虚拟化平台,以使虚拟化平台能够将接收到的数据存储到备份软件指定的位置。
然而,这种基于定长卷数据文件的备份和恢复方法,由于服务器根据虚拟化平台的原始差量位图重新计算的位图中1比特(Bit)的粒度为4MB,当第一目标卷的定长数据块中只有部分数据为有效数据时,该定长数据块需要被全部备份。例如,如图6所示的卷数据相对于图1所示的卷数据,地址0-3对应的定长数据块中只有地址0、地址2中存储的数据发生改变,在备份时,却需要对地址0-3对应的定长数据块进行整体备份。由于备份时将定长数据块中的没有发生变化的数据(无效数据)也备份到服务器,导致服务器与虚拟化平台间的数据传输量大,增加了备份时间。
并且,当待备份虚拟化平台的第一目标卷为精简配置卷时,对于虚拟化平台还未分配的空间,在将待备份虚拟化平台的第一目标卷的数据备份到服务器时,由于卷数据根据定长对齐,会导致服务器写入无效数据。在将服务器中第一目标卷的数据恢复到虚拟化平台时,将定长卷文件的数据0(数据0占用1MB的存储空间)也写入虚拟化平台,导致虚拟化平台占用过多的空间。其中,精简配置卷的特点是先设置有权限使用的存储空间,但按实际使用情况分配存储空间。
发明内容
本申请提供一种数据备份、恢复方法及其装置、服务器,能够实现只传输有效数据,减少生产端和服务器之间的数据传输量,加快传输速度,节省存储空间。
本申请第一方面提供一种数据传输方法,包括如下步骤:备份服务器从生产端获取第一目标卷的原始差量位图,其中,所述第一目标卷为待备份卷,所述原始差量位图为第一目标卷的所有定长数据块的原始差量位图;根据所述原始差量位图从所述第一目标卷中获取定长数据块的有效数据;根据所述原始差量位图将包含有效数据的定长数据块对应的位图保存到所述定长数据块的定长卷位图文件,其中,所述定长卷位图文件用于标识所述有效数据在所述第一目标卷中的存储地址;将所述定长数据块的有效数据保存到所述定长数据块的定长卷文件,其中,所述定长卷文件与所述定长卷位图文件一一对应并关联保存,所述定长卷文件用于保存本次备份的有效数据。
结合第一方面,本申请第一方面的第一种可能的实施方式中,根据所述定长卷文件保存所述第一目标卷的卷映射文件,其中,所述卷映射文件至少包括所述第一目标卷的定长数据块的定长卷文件的名称以及定长卷文件的存储路径。
结合第一方面或第一方面的第一种可能的实施方式,本申请第一方面的第二种可能的实施方式中,所述方法还包括:所述备份服务器从生产端获取所述第一目标卷的增量位图,所述增量位图为所述第一目标卷中发生改变的定长数据块的差量位图;根据所述增量位图从所述第一目标卷中获取发生改变的定长数据块的有效数据;根据所述增量位图将包含有效数据的定长数据块对应的位图保存到所述定长数据块的当前的定长卷位图文件中;将所述定长数据块的有效数据保存到所述定长数据块的当前的定长卷文件中。
结合第一方面的第一种可能的实施方式,本申请第一方面的第三种可能的实施方式中,所述卷映射文件还包括与所述定长卷文件对应的定长卷位图文件的名称。
本申请第二方面提供一种一种数据恢复方法,所述方法包括如下步骤:备份服务器获取第一目标卷的定长卷文件以及定长卷位图文件,其中,所述第一目标卷为待恢复卷,所述第一目标卷包括多个定长卷文件,所述定长卷文件与所述定长卷位图文件一一对应并关联保存,所述定长卷文件用于标识需要存储的有效数据,所述定长卷位图文件用于标识所述有效数据在生产端中的存储地址;根据所述定长卷文件以及所述定长卷位图文件,将所述定长卷文件中的数据恢复到生产端中所述定长卷位图文件标识的存储地址。
结合第二方面,本申请第二方面的第一种可能的实施方式中,所述定长卷文件以及定长卷位图文件是根据所述第一目标卷的卷映射文件获得,所述卷映射文件至少包括所述第一目标卷的定长数据块的定长卷文件的名称以及定长卷文件的存储路径。
结合第二方面的第一种可能的实施方式,本申请第二方面的第二种可能的实施方式中,所述卷映射文件还包括与所述定长卷文件对应的定长卷位图文件的名称。
本申请第三方面提供一种数据备份装置,包括如下步骤:所述装置包括位图获取模块、卷数据获取模块、位图组织模块、备份数据存储模块;所述位图获取模块用于从生产端获取第一目标卷的原始差量位图,其中所述第一目标卷为待备份卷,所述原始差量位图为第一目标卷的所有定长数据块的原始差量位图;所述卷数据获取模块用于根据所述位图获取模块获取的所述原始差量位图从所述第一目标卷中获取定长数据块的有效数据;所述位图组织模块用于根据所述原始差量位图将包含有效数据的定长数据块对应的位图保存到所述定长数据块的定长卷位图文件,其中,所述定长卷位图文件用于标识所述有效数据在所述第一目标卷中存储地址;所述备份数据存储模块用于将所述卷数据获取模块获取的所述定长数据块的有效数据保存到所述定长数据块的定长卷文件,其中,所述定长卷文件与所述定长卷位图文件一一对应并关联保存,所述定长卷文件用于标识本次备份的有效数据。
结合第三方面,本申请第三方面的第一种可能的实施方式中,所述装置还包括卷映射文件生成模块,所述卷映射文件生成模块用于根据所述定长卷文件保存所述第一目标卷的卷映射文件,其中,所述卷映射文件至少包括所述第一目标卷的定长数据块的定长卷文件的名称以及定长卷文件的存储路径。
结合第三方面或第三方面的第一种可能的实施方式,本申请第三方面的第二种可能的实施方式中,所述位图获取模块还用于从生产端获取所述第一目标卷的增量位图,所述增量位图为所述第一目标卷中发生改变的定长数据块的差量位图;所述卷数据获取模块还用于根据所述增量位图从所述第一目标卷中获取发生改变的定长数据块的有效数据;所述位图组织模块还用于根据所述增量位图将包含有效数据的定长数据块对应的位图保存到所述定长数据块的当前的定长卷位图文件中;所述备份数据存储模块用于将所述定长数据块的有效数据保存到所述定长数据块的当前的定长卷文件中。
结合第三方面的第一种可能的实施方式,本申请第三方面的第三种可能的实施方式中,所述卷映射文件还包括与所述定长卷文件对应的定长卷位图文件的名称。
本申请第四方面提供一种数据备份装置,包括如下步骤:存储器、处理器;
所述存储器用于存储数据;所述处理器用于从生产端获取第一目标卷的原始差量位图,其中所述第一目标卷为待备份卷,所述原始差量位图为第一目标卷的所有定长数据块的原始差量位图;所述处理器用于根据所述原始差量位图从所述第一目标卷中获取定长数据块的有效数据;所述处理器用于根据所述原始差量位图将包含有效数据的定长数据块对应的位图保存到所述定长数据块的定长卷位图文件,其中,所述定长卷位图文件用于标识所述有效数据在所述第一目标卷中存储地址;所述处理器用于将所述定长数据块的有效数据保存到所述定长数据块的定长卷文件,其中,所述定长卷文件与所述定长卷位图文件一一对应并关联保存,所述定长卷文件用于标识本次备份的有效数据。
结合第四方面,本申请第四方面的第一种可能的实施方式中,所述处理器还用于根据所述定长卷文件保存所述第一目标卷的卷映射文件,其中,所述卷映射文件至少包括所述第一目标卷的定长数据块的定长卷文件的名称以及定长卷文件的存储路径。
结合第四方面或第四方面的第一种可能的实施方式,本申请第四方面的第二种可能的实施方式中,所述处理器还用于从生产端获取所述第一目标卷的增量位图,所述增量位图为所述第一目标卷中发生改变的定长数据块的差量位图;所述处理器还用于根据所述增量位图从所述第一目标卷中获取发生改变的定长数据块的有效数据;所述处理器还用于根据所述增量位图将包含有效数据的定长数据块对应的位图保存到所述定长数据块的当前的定长卷位图文件中;所述处理器用于将所述定长数据块的有效数据保存到所述定长数据块的当前的定长卷文件中。
结合第四方面的第一种可能的实施方式,本申请第四方面的第三种可能的实施方式中,所述卷映射文件还包括与所述定长卷文件对应的定长卷位图文件的名称。
本申请第五方面提供一种数据恢复装置,所述装置包括获取模块、恢复模块;所述获取模块用于获取第一目标卷的定长卷文件以及定长卷位图文件,其中,所述第一目标卷为待恢复卷,所述第一目标卷包括多个定长卷文件,所述定长卷文件与所述定长卷位图文件一一对应并关联保存,所述定长卷文件用于标识需要存储的有效数据,所述定长卷位图文件用于标识所述有效数据在生产端中的存储地址;所述恢复模块用于根据所述定长卷文件以及所述定长卷位图文件,将所述定长卷文件中的数据恢复到生产端中所述定长卷位图文件标识的存储地址。
结合第五方面,本申请第五方面的第一种可能的实施方式中,所述获取模块具体用于根据所述第一目标卷的卷映射文件获取所述定长卷文件以及定长卷位图文件,所述卷映射文件至少包括所述第一目标卷的定长数据块的定长卷文件的名称以及定长卷文件的存储路径。
结合第五方面的第一种可能的实施方式,本申请第五方面的第二种可能的实施方式中,所述卷映射文件还包括与所述定长卷文件对应的定长卷位图文件的名称。
本申请第六方面提供一种数据恢复装置,所述装置包括存储器、处理器;所述存储器用于存储数据;所述处理器用于获取第一目标卷的定长卷文件以及定长卷位图文件,其中,所述第一目标卷为待恢复卷,所述第一目标卷包括多个定长卷文件,所述定长卷文件与所述定长卷位图文件一一对应并关联保存,所述定长卷文件用于标识需要存储的有效数据,所述定长卷位图文件用于标识所述有效数据在生产端中的存储地址;所述处理器用于根据所述定长卷文件以及所述定长卷位图文件,将所述定长卷文件中的数据恢复到生产端中所述定长卷位图文件标识的存储地址。
结合第六方面,本申请第六方面的第一种可能的实施方式中,所述处理器具体用于根据所述第一目标卷的卷映射文件获取所述定长卷文件以及定长卷位图文件,所述卷映射文件至少包括所述第一目标卷的定长数据块的定长卷文件的名称以及定长卷文件的存储路径。
结合第六方面的第一种可能的实施方式,本申请第六方面的第二种可能的实施方式中,所述卷映射文件还包括与所述定长卷文件对应的定长卷位图文件的名称。
本申请第七方面提供一种用于数据备份、恢复的服务器,所述服务器包括上述任一项所述的数据备份装置、以及上述任一项所述的数据恢复装置。
上述方案中,服务器从生产端获取第一目标卷的原始差量位图,根据获取到的原始差量位图从第一目标卷中获取每个定长数据块的有效数据,以及将包含有效数据的定长数据块对应的位图保存到第一目标卷的定长卷位图文件,并将定长数据块的有效数据保存到第一目标卷的定长卷文件,能够实现只传输有效数据,减少生产端和服务器之间的数据传输量,加快传输速度,节省存储空间。
附图说明
图1是现有技术中基于定长卷数据文件的待备份卷数据存储格式一实施方式的示意图;
图2是图1中待备份卷的原始差量位图;
图3是现有技术中备份服务器根据图2生成第一次备份的定长卷位图文件;
图4是现有技术中备份服务器第一次备份生成的定长卷文件一实施方式的示意图;
图5是现有技术中备份服务器第一次备份生成的卷映射文件一实施方式的示意图;
图6是现有技术中基于定长卷数据文件的待备份卷数据存储格式另一实施方式的示意;
图7是图6相对于图1中待备份卷数据的原始差量位图;
图8是图7中待备份卷的原始差量位图;
图9是现有技术中备份服务器根据图8生成的位图;
图10是现有技术中备份服务器第二次备份生成的定长卷映射文件一实施方式的示意图;
图11是本申请数据备份、恢复系统一实施方式的结构示意图;
图12是本申请服务器对第一目标卷进行第一次备份时保存的定长卷位图文件一实施方式的示意图;
图13是本申请服务器对第一目标卷进行第一次备份时保存的定长卷文件一实施方式的示意图;
图14是本申请服务器对第一目标卷进行第一次备份时保存的卷映射文件一实施方式的示意图;
图15是本申请备份服务器对第一目标卷进行第二次备份时保存的定长卷位图文件的示意图;
图16是本申请服务器对第一目标卷进行第二次备份时保存的定长卷文件一实施方式的示意图;
图17是本申请服务器对第一目标卷进行第二次备份时保存的卷映射文件一实施方式的示意图;
图18是本申请数据备份方法一实施方式的流程图;
图19是本申请数据备份方法另一实施方式的流程图;
图20是本申请数据备份方法又一实施方式的流程图;
图21是本申请数据恢复方法一实施方式的流程图;
图22是本申请数据备份装置一实施方式的结构示意图;
图23是本申请数据备份装置另一实施方式的结构示意图;
图24是本申请数据恢复装置一实施方式的结构示意图;
图25是本申请数据备份装置又一实施方式的结构示意图;
图26是本申请数据恢复装置另一实施方式的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。
请参阅图11,图11是本申请数据备份、恢复系统一实施方式的结构示意图。本实施方式中包括生产端100和备份端200。
其中,生产端100为待备份虚拟机或物理服务器,备份端200为服务器。生产端100中包括至少一个待备份卷110,待备份卷110的卷数据包括多个对齐的定长数据块,每个定长数据块占用的存储空间相同,不同的定长数据块对应的存储地址段各不相同。
生产端100和生产端100中的待备份卷110都是在虚拟化平台(图未示)上产生的,服务器200中安装了备份软件,可以实现备份、恢复的功能。当生产端100将待备份卷110的数据备份到服务器200时,服务器200与虚拟化平台交互,进行卷数据备份与恢复。
在本实施方式中以生产端100包括一个待备份卷110(待备份卷为目标卷)为例进行说明,但并不限于此,在其他实施方式中还可以包括两个或更多个待备份卷。
当服务器200对生产端100的第一目标卷110的卷数据进行第一次备份时,需要对第一目标卷110的卷数据进行全量备份。
请一并参阅图1至图2,图1是现有技术中基于定长卷数据文件的待备份卷数据存储格式一实施方式的示意图,图2是图1中待备份卷的原始差量位图。
其中,如图1所示的卷数据为第一目标卷110的原始卷数据。第一目标卷110的定长大小为16M,由4个4M(但并不限于此,可根据实际需求设置为其他值)大小的定长数据块组成,存储地址0-3存储第一定长数据块,存储地址4-7存储第二定长数据块,存储地址8-11存储第三定长数据块,存储地址12-15存储第四定长数据块。
如图2所示的原始差量位图中,“1”用于标识第一目标卷110中该存储地址对应的存储区域的数据为有效数据,“0”用于标识第一目标卷110中该存储地址对应的存储区域的数据为无效数据。有效数据定义为该存储地址对应的存储区域存储了数据或者该存储地址对应的存储区域的数据有变化。无效数据定义为该存储地址对应的存储区域没有存储数据或所存储的数据没有发生变化。
服务器200从生产端100获取第一目标卷110的原始差量位图,其中,生产端100为待备份的虚拟机或物理服务器,第一目标卷110为待备份卷。原始差量位图为第一目标卷110的所有定长数据块的原始差量位图。
例如,当服务器200接收到备份指令时,从备份指令中获取待备份卷的信息,并为待备份卷分配存储空间,在预设的存储路径下创建待备份卷的卷映射文件、定长卷文件以及定长卷位图文件。其中,备份指令包括待备份卷的名称,待备份卷的信息包括定长卷的数量以及定长卷的大小等。每次备份都会创建相应的卷映射文件、定长卷文件、定长卷文件位图。定长卷文件与定长卷位图文件一一对应并关联保存。卷映射文件至少包括第一目标卷的定长数据块的定长卷文件的名称以及定长卷文件的存储路径。
假设,服务器200从备份指令获取到待备份卷为第一目标卷110,第一目标卷110包括4个定长数据块,服务器200为第一目标卷110分配存储空间为D盘,在D盘目录下创建卷映射文件、定长卷文件以及定长卷位图文件。其中,定长卷文件以及定长卷位图文件的数量均为4。
卷映射文件的名称为D_M卷映射文件(但不限于此,还可以是其他的名称),存储路径为D:\,D_M卷映射文件用于存储第M次备份时第一目标卷110的每个定长数据块对应的定长卷文件的名称。M>0,且M为自然数。定长卷文件的名称为F_N_Snap_M,定长卷文件的存储地址为D:\F,用于标识在卷D目录下的F文件夹的子文件夹F_N_Snap_M中存储第M次备份中第N个定长数据块的有效数据。定长卷位图文件的名称为BitMap_F_N_Snap_M,定长卷位图文件的存储地址为D:\B,用于标识在卷D目录的B文件夹的子文件夹BitMap_F_N_Snap_M中保存第M次备份中第N个定长数据块的位图文件。可以理解的是,定长卷文件和定长卷位图文件的存储路径可以相同,也可以不同,此处不做限制。N>0,且N为自然数。
定长卷文件与定长卷位图文件一一对应并关联保存,定长卷文件的名称中的N、M与定长卷位图文件的名称中的N、M分别相等。
可以理解的是,本实施方式是在获取包含有效数据的定长数据块时,创建定长卷文件、定长卷位图文件。在其他实施方式中,也可以是在其他的时间点创建定长卷文件、定长卷位图文件,在此对创建定长卷文件、定长卷位图文件的时间不做限制,可以是服务器200在接收到备份指令时创建,也可以是在获取定长数据块的有效数据时创建。卷映射文件、定长卷文件、定长卷位图文件的预设的存储路径可以根据实际需要设定。
服务器200对生产端100的第一目标卷110进行第一次备份时,在预设的存储路径下创建待备份卷第二次备份的卷映射文件、定长卷文件以及定长卷位图文件。其中,创建的第一次备份卷映射文件的名称为D_1卷映射文件。在D_1卷映射文件的目录下创建的定长卷文件包括第一定长卷F_1_Snap_1、F_2_Snap_1、F_3_Snap_1、F_4_Snap_1,创建的定长卷位图文件包括BitMap_F_1_Snap_1、BitMap_F_2_Snap_1、BitMap_F_3_Snap_1、BitMap_F_4_Snap_1。
服务器200与虚拟化平台进行交互,通过虚拟化平台从生产端100获取第一次备份中第一目标卷110的原始差量位图。其中,第一目标卷110的原始差量位图是生产端100在检测到第一目标卷110的卷数据发生改变时,自动生成的,原始差量位图包括第一目标卷110的所有定长数据块的原始差量位图。
服务器200根据原始差量位图从第一目标卷110中获取定长数据块的有效数据,根据原始差量位图将包含有效数据的定长数据块对应的位图保存到定长数据块的定长卷位图文件。其中,包含有效数据的定长数据块与定长卷位图文件一一对应,定长卷位图文件用于标识有效数据在第一目标卷110中的存储地址。
例如,服务器200获取到第一目标卷110的原始差量位图之后,按存储地址从低到高的顺序依次检测每个存储地址对应的值,从而判断每个定长数据块对应的存储地址段是否有需要获取的有效数据。可以理解的是,在其他实施方式中,服务器200可以按存储地址从高到低的顺序依次检测每个存储地址对应的值,还可以随机检测任一定长数据块对应的存储地址段中每个存储地址对应的值,此处不作限制,只要能够完全检测第一目标卷110的卷数据对应的存储地址对应的值即可。
当服务器200检测到原始差量位图中任一存储地址对应的值为1时,判断为该存储地址对应的存储区域存储了需要获取的有效数据。服务器200以定长数据块为基本单位,按顺序分别获取每个定长数据块的有效数据。
其中,服务器200判断需要获取第一定长块数据、第二定长数据块、第三定长数据块以及第四定长数据块包含的有效数据。
服务器200获取的第一定长数据块的有效数据为A、B,获取的第二定长数据块的有效数据为E、G,获取的第三定长数据块的有效数据为I,获取的第四定长数据块的有效数据为P。
当服务器200获取到定长数据块包含有效数据后,根据原始差量位图将包含有效数据的定长数据块对应的位图保存到预先创建的定长数据块的定长卷位图文件。其中,一个包含有效数据的定长数据块对应一个定长卷位图文件,定长卷位图文件用于标识有效数据在第一目标卷110中的存储地址。
例如,当服务器200获取到定长数据块包含有效数据后,根据原始差量位图将第一定长数据块对应的位图以文件的形式保存到存储路径为D:\B的子文件夹BitMap_F_1_Snap_1中,标识在卷D目录的B文件夹的子文件夹BitMap_F_1_Snap_1保存了第一目标卷110的第一定长卷位图文件。BitMap_F_1_Snap_1标识第一定长数据块的第一个有效数据在生产端100的第一目标卷110的存储地址为0,第一定长数据块的第二个有效数据在生产端100的第一目标卷110的存储地址为1。
服务器200将第二定长数据块对应的位图以文件的形式保存到存储路径D:\B的子文件夹BitMap_F_2_Snap_1中,标识在卷D目录的B文件夹的子文件夹BitMap_F_2_Snap_1保存了第一目标卷110的第二定长卷位图文件。BitMap_F_2_Snap_1标识第二定长数据块的第一个有效数据在生产端100的第一目标卷110的存储地址为4,第二定长数据块的第二个有效数据在生产端100的第一目标卷110的存储地址为6。
服务器200将第三定长数据块对应的位图以文件的形式保存到存储路径D:\B的子文件夹BitMap_F_3_Snap_1中,标识在卷D目录的B文件夹的子文件夹BitMap_F_3_Snap_1保存了第一目标卷110的第三定长卷位图文件。BitMap_F_3_Snap_1标识第三定长数据块的第一个有效数据在生产端100的第一目标卷110的存储地址为8。
服务器200将第四定长数据块对应的位图以文件的形式保存到存储路径D:\B的子文件夹BitMap_F_4_Snap_1中,标识在卷D目录的B文件夹的子文件夹BitMap_F_4_Snap_1保存了第一目标卷110的第四定长卷位图文件。BitMap_F_4_Snap_1标识第四定长数据块的第一个有效数据在生产端100的第一目标卷110的存储地址为15。
如图12所示,图12是本申请服务器对第一目标卷进行第一次备份时保存的定长卷位图文件一实施方式的示意图。
在第一次备份中,第一定长数据块对应的定长卷位图文件为第一定长卷位图文件,名称为BitMap_F_1_Snap_1,第一定长卷位图文件用于标识在将服务器200将第一次备份的数据恢复到生产端100中时,第一定长数据块的第一个有效数据A需要存储到生产端100的存储地址0对应的存储区域,第一定长数据块的第二个有效数据B需要存储到生产端100的存储地址1对应的存储区域。
第二定长数据块对应的定长卷位图文件为第二定长卷位图文件,名称为BitMap_F_2_Snap_1,第二定长卷位图文件用于标识在将服务器200将第一次备份的的数据恢复到生产端100中时,第二定长数据块的第一个有效数据E需要存储到生产端100的存储地址4对应的存储区域,第二定长数据块的第二个有效数据G需要存储到生产端100的存储地址6对应的存储区域。
第三定长数据块对应的定长卷位图文件为第三定长卷位图文件,名称为BitMap_F_3_Snap_1,第三定长卷位图文件用于标识在将服务器200将第一次备份的的数据恢复到生产端100中时,第三定长数据块的有效数据I需要存储到生产端100的存储地址8对应的存储区域。
第四定长数据块对应的定长卷位图文件为第四定长卷位图文件,名称为BitMap_F_4_Snap_1,第四定长卷位图文件用于标识在将服务器200将第一次备份的的数据恢复到生产端100中时,第四定长数据块的有效数据P需要存储到生产端100的存储地址15对应的存储区域。
服务器200将定长数据块的有效数据保存到第一目标卷的定长卷文件,其中,一个定长数据块对应一个定长卷文件,定长卷文件与定长卷位图文件一一对应并关联保存,定长卷文件用于保存本次备份的有效数据。
例如,服务器200在获得定长数据块的有效数据,并且将包含有效数据的定长数据块对应的位图保存到第一目标卷110的定长卷位图文件后,将获取到的每个定长数据块的有效数据,存储到预先创建的定长卷文件中。其中,一个定长卷文件对应一个定长卷位图文件,定长卷文件与定长卷位图文件是关联保存的,定长卷文件用于标识本次备份的有效数据。如图13所示,图13是本申请服务器对第一目标卷进行第一次备份时保存的定长卷文件一实施方式的示意图。
服务器200将第一定长数据块的第一个有效数据A、第二个有效数据B依次存储到存储路径为D:\F的子文件夹F_1_Snap_1。F_1_Snap_1为第一定长卷文件,标识在卷D目录下的F文件夹的子文件夹F_1_Snap_1中保存了第一定长数据块的有效数据。
服务器200将第二定长数据块的第一个有效数据E、第二个有效数据G依次存储到D:\F的子文件夹F_2_Snap_1为第二定长卷文件。F_2_Snap_1为第一定长卷文件,标识在卷D目录下的F文件夹的子文件夹F_2_Snap_1中保存了第二定长数据块的有效数据。
服务器200将第三定长数据块的有效数据I存储到D:\F的子文件夹F_3_Snap_1。F_3_Snap_1为第一定长卷文件,标识在卷D目录下的F文件夹的子文件夹F_3_Snap_1中保存了第三定长数据块的有效数据。
服务器200将第四定长数据块的有效数据P存储到D:\F的子文件夹F_4_Snap_1。F_4_Snap_1为第四定长卷文件,标识在卷D目录下的F文件夹的子文件夹F_4_Snap_1中保存了第一定长数据块的有效数据。
在本实施方式中,服务器200是每获取到一个定长数据块的有效数据,将包含有效数据的定长数据块对应的位图保存到定长数据块的定长卷位图文件,以及将获取到的定长数据块的有效数据保存到定长数据块对应的定长卷文件中。如此循环,直到将第一目标卷110的所有定长数据块的有效数据分别存储到各自对应的定长卷文件。
在其他实施方式中,也可以为分别获取完第一目标卷110的所有定长数据块的有效数据后,再将每个包含有效数据的定长数据块对应的位图保存到定长数据块各自对应的定长卷位图文件,以及将获取到的定长数据块的有效数据保存到定长数据块各自对应的定长卷文件中。
可选地,服务器200在将所有定长数据块的有效数据保存到各自对应的第一次备份的定长卷文件之后,根据定长卷文件保存第一目标卷的卷映射文件,其中,每次备份都会生成相应的卷映射文件、定长卷文件、定长卷文件位图。定长卷文件与定长卷位图文件一一对应并关联保存。卷映射文件至少包括第一目标卷110的定长数据块的定长卷文件的名称以及定长卷文件的存储路径。在服务器220需要将第一目标卷110的卷数据恢复到生产端100中时,卷映射文件用于指引服务器220查找每个定长数据块对应的定长卷文件,以及根据每个定长卷文件的存储路径查找每个定长卷文件的数据。其中,定长卷文件的名称与定长卷文件的存储路径一一对应,并关联保存。
可选地,卷映射文件还包括与定长卷文件对应的定长卷位图文件的名称。其中,定长卷文件的名称、定长卷文件的存储路径以及定长卷位图文件的名称一一对应,并关联保存。
如图14所示,图14是本申请服务器对第一目标卷进行第一次备份时保存的卷映射文件一实施方式的示意图。
例如,服务器200在每保存一个第一次备份的定长卷文件时,将该定长卷文件的文件名称以及定长卷文件的存储路径关联保存到预先建立的第一目标卷的卷映射文件中,直到将所有的定长卷文件名称以及存储路径保存到卷映射文件。其中,卷映射文件至少包括定长卷文件的名称以及定长卷文件的存储路径。
定长卷文件的名称用于在将服务器200中的数据恢复到生产端100时,能够使得服务器200根据定长卷文件的名称查找定长卷文件的名称对应的定长卷文件,以及与定长卷文件关联保存的定长卷位图文件,根据定长卷文件的存储路径获取该定长卷文件包含的数据。定长卷位图文件用于标识定长卷文件包含的数据需要传输到生产端100的存储地址。
卷映射文件标识:在存储路径1指向的位置保存了第一次备份的第一定长卷文件F_1_Snap_1,第一定长卷文件F_1_Snap_1对应生产端100中存储在存储地址段0-3的第一定长数据块。在存储路径2指向的位置保存了第一次备份的第二定长卷文件F_2_Snap_1,第二定长卷文件F_2_Snap_1对应生产端100中存储在存储地址段4-7的第二定长数据块。在存储路径3指向的位置保存了第一次备份的第三定长卷文件F_3_Snap_1,第三定长卷文件F_3_Snap_1对应生产端100中存储在存储地址段8-11的第三定长数据块。在存储路径4指向的位置保存了第一次备份的第四定长卷文件F_4_Snap_1,第四定长卷文件F_4_Snap_1对应生产端100中存储在存储地址段12-15的第四定长数据块。
可选地,卷映射文件还包括与定长卷文件对应的定长卷位图文件的名称。其中,定长卷文件的名称、定长卷文件的存储路径以及定长卷位图文件的名称一一对应并关联保存,定长卷文件的名称用于查找定长卷文件的名称对应的定长卷文件,定长卷文件的存储路径用于标识定长卷文件的存储位置,定长卷位图文件的名称用于查找定长卷位图文件的名称对应的定长卷位图文件。
当第一目标卷110的卷数据发生变化,服务器200对生产端100的第一目标卷110的卷数据进行第N(N≥2)次备份时,需要对第一目标卷110的卷数据进行增量备份,每一次增量备份的方式相同,下面以第二次备份为例进行说明:
服务器200对第一目标卷110进行第二次备份与第一次备份的不同之处在于,服务器200获取到的差量位图为第一目标卷110相对于第一次备份的原始差量位图,即待备份卷数据的增量位图;并根据增量位图从第一目标卷110中获取发生改变的定长数据块的有效数据,以及有效数据对应的位图。其中,有效数据是由本次备份中发生改变的定长数据块所包含的有效数据,由本次备份的发生改变的数据(增量数据)以及上一次备份中的有效数据合并得到。
具体地,请一并参阅图6至图7,图6是现有技术中基于定长卷数据文件的待备份卷数据存储格式另一实施方式的示意图,图7是图6相对于图1中待备份卷数据的原始差量位图。其中,如图6中阴影部分所示的卷数据为第一目标卷110发生变化的卷数据,存储地址0、3、13、15对应的存储区域存储的数据发生变化。如图7所示的原始差量位图是图6相对于图1中第一次备份的卷数据的原始差量位图,即待备份卷数据的增量位图。“1”用于标识该存储地址对应的存储区域的数据有变化,有变化的数据为有效数据。
服务器200从生产端获取第一目标卷110的增量位图,增量位图为第一目标卷100中发生改变的定长数据块的差量位图。
例如,当服务器200接收到第N(N≥2,此时N=2)次备份指令时,在预设的存储路径下创建待备份卷第二次备份的卷映射文件、定长卷文件以及定长卷位图文件。其中,创建的第一次备份卷映射文件的名称为D_2卷映射文件。在D_2卷映射文件的目录下创建的定长卷文件包括第一定长卷F_1_Snap_2、F_2_Snap_2、F_3_Snap_2、F_4_Snap_2,创建的定长卷位图文件包括BitMap_F_1_Snap_2、BitMap_F_2_Snap_2、BitMap_F_3_Snap_2、BitMap_F_4_Snap_2。卷映射文件至少包括第一目标卷100的所有定长数据块的定长卷文件的名称以及定长卷文件的存储路径。定长卷文件与定长卷位图文件一一对应并关联保存。
服务器200与虚拟化平台进行交互,通过虚拟化平台从生产端100获取第二次备份中第一目标卷110的增量位图。其中,第一目标卷110的增量位图是生产端100在检测到第一目标卷110的卷数据发生改变时,自动生成的,增量位图包括第一目标卷110中所有发生改变的定长数据块的差量位图。
其中,服务器200获取到第二次备份中第一目标卷110的增量位图中包括第一定长数据块的增量位图BitMap_F_1、第四定长数据块的增量位图BitMap_F_4。
BitMap_F_1用于标识在生产端100中第一定长数据块的第一个有效数据A′存储在存储地址0对于的存储区域,第一定长数据块的第二个有效数据C存储在存储地址2对于的存储区域。
BitMap_F_4用于标识在生产端100中第四定长数据块的第一个有效数据N存储在存储地址13对于的存储区域,第四定长数据块的第二个有效数据P′存储在存储地址15对于的存储区域。
服务器200根据增量位图从第一目标卷110中获取发生改变的定长数据块的有效数据。
例如,服务器200在获取到第一目标卷110的增量位图后,按存储地址从低到高的顺序依次检测每个存储地址对应的值,从而判断每个定长数据块对应的存储地址段是否有需要获取的有效数据。可以理解的是,在其他实施方式中,服务器200可以按存储地址从高到低的顺序依次检测每个存储地址对应的值,还可以随机检测任一定长数据块对应的存储地址段中每个存储地址对应的值,此处不作限制,只要能够完全检测第一目标卷110的卷数据对应的存储地址对应的值即可。当服务器200检测到增量位图中任一存储地址对应的值为1时,判断为该存储地址对应的存储区域存储了需要获取的有效数据。服务器200以定长数据块为基本单位,按顺序分别获取每个发生改变的定长数据块的有效数据。
其中,服务器200判断第一定长数据块以及第四定长数据块的数据发生改变,需要获取第一定长数据块以及第四定长数据块的有效数据。服务器200获取的发生改变的第一定长数据块的有效数据为A′、C,获取的第四定长数据块的有效数据为N、P′。
服务器200根据增量位图将包含有效数据的定长数据块对应的位图保存到定长数据块的当前的定长卷位图文件中。当前的定长卷位图文件即为第N次备份的定长卷位图文件。
例如,服务器200根据增量位图,从存储在本地的第一次备份的定长卷位图文件中,获取包含有效数据的定长数据块对应的第(N-1)次备份的定长卷位图文件,并将每个包含有效数据的定长数据块对应的第N次备份的增量位图以及第(N-1)次备份的定长卷位图文件合并,将合并后的位图保存到定长数据块的当前的定长卷位图文件中,以得到第N次备份的定长卷位图文件。
如图15所示,图15是本申请备份服务器生成第二次备份的定长卷位图文件的示意图。
服务器200根据包含有效数据的第一定长数据块的增量位图BitMap_F_1,从存储在本地的第一次备份的定长卷位图文件中,获取第一定长数据块的对应的定长卷位图文件BitMap_F_1_Snap_1,并将第一定长数据块对应的第二次备份的增量位图BitMap_F_1以及第一次备份的定长卷位图文件BitMap_F_1_Snap_1取“或”进行合并,保存到定长数据块的当前的定长卷位图文件中,从而得到第二次备份中第一定长数据块对应的定长卷位图文件BitMap_F_1_Snap_2。
服务器200根据包含有效数据的第一定长数据块的增量位图BitMap_F_4,从存储在本地的第一次备份的定长卷位图文件中,获取第四定长数据块的对应的定长卷位图文件BitMap_F_4_Snap_1。将第四定长数据块对应的第二次备份的增量位图BitMap_F_4以及第一次备份的定长卷位图文件BitMap_F_4_Snap_1取“或”进行合并,保存到定长数据块的当前的定长卷位图文件中,从而得到第二次备份中第四定长数据块对应的定长卷位图文件BitMap_F_4_Snap_2。
服务器200将定长数据块的有效数据保存到定长数据块的当前的定长卷文件中。
例如,服务器200在获取到第N(N≥2,此时N=2)次备份的包含有效数据的定长数据块的定长卷位图文件后,比较定长数据块在第N次备份中的增量位图以及第N次的定长卷位图文件,以判断第N次备份中的增量位图与第N次的定长卷位图文件是否相同。其中,判断方法为判断相同存储地址对应的值是否相同。
当服务器200判断定长数据块在本次备份中的增量位图与定长卷位图文件相同时,将已经获取的发生改变的定长数据块的有效数据保存到定长数据块的当前的定长卷文件中,从而得到第N次备份中定长数据块对应的定长卷文件。
当服务器200判断定长数据块在本次备份中的增量位图与定长卷位图文件不相同时,从本地存储在本地的第(N-1)次备份的定长卷文件中获取值不同的存储地址对应的有效数据。
之后,将已经获取的发生改变的定长数据块的有效数据以及从第(N-1)次备份的定长卷文件中获取的有效数据,按存储地址的排列顺序依次保存到定长数据块的当前的定长卷文件中,从而得到第N次备份中定长数据块对应的定长卷文件。
如图16所示,图16是本申请服务器对第一目标卷进行第二次备份时保存的定长卷文件一实施方式的示意图。
第一定长数据块的当前的定长卷文件中保存的有效数据为A′、B、C,A′、C为第N次备份已经获取的发生改变的定长数据块的有效数据,B为从第(N-1)次备份的定长卷文件中获取的有效数据。
第四定长数据块的当前的定长卷文件中保存的有效数据为N、P′,N、P′为第N次备份已经获取的发生改变的定长数据块的有效数据。
可以理解的是:有效数据是本次备份中发生改变的定长数据块所存储的数据,由本次备份的发生改变的数据以及上一次备份中的有效数据组成。在本实施方式中,第一定长数据块在本次备份中的增量位图与定长卷位图文件不相同,第四定长数据块在本次备份中的增量位图与定长卷位图文件相同。
在本实施方式中,当备份服务器判断定长数据块在本次备份中的增量位图与定长卷位图文件不相同时,从本地存储在本地的第(N-1)次备份的定长卷文件中获取值不同的存储地址对应的有效数据。在其他实施方式中,也可以直接从生产端100的第一目标卷110中获取,此时,会占用生产端100与服务器200之间的传输通道,传输速率相对来说较慢。
可选地,服务器200在得到第二次备份的定长卷文件之后,将该定长卷文件的文件名称以及定长卷文件的存储路径关联保存到预先建立的第一目标卷的卷映射文件中,直到将所有的定长卷文件名称以及存储路径保存到卷映射文件。其中,卷映射文件至少包括定长卷文件的名称以及存储路径。
定长卷文件的名称用于在将服务器200中的数据恢复到生产端100时,能够使得服务器200根据定长卷文件的名称查找定长卷文件的名称对应的定长卷文件,以及与定长卷文件关联保存的定长卷位图文件,根据定长卷文件的存储路径获取该定长卷文件包含的数据。定长卷位图文件用于标识定长卷文件包含的数据需要传输到生产端100的存储地址。
可选地,卷映射文件还包括与定长卷文件对应的定长卷位图文件的名称。其中,定长卷文件的名称、定长卷文件的存储路径以及定长卷位图文件的名称一一对应并关联保存,定长卷文件的名称用于查找定长卷文件的名称对应的定长卷文件,定长卷文件的存储路径用于标识定长卷文件的存储位置,定长卷位图文件的名称查找定长卷位图文件的名称对应的定长卷位图文件。
如图17所示,图17是本申请服务器对第一目标卷进行第二次备份时生成的卷映射文件一实施方式的示意图。
例如,服务器200在每保存一个第二次备份的定长卷文件后,将该定长卷文件的文件名称以及存储路径关联保存到预先建立的第一目标卷的卷映射文件中,直到将所有的定长卷文件名称以及存储路径保存到卷映射文件。其中,卷映射文件至少包括定长卷文件的名称以及存储路径。定长卷文件的名称用于在将服务器200中的数据恢复到生产端100时,能够使得服务器200根据定长卷文件的名称查找定长卷文件的名称对应的定长卷文件,以及定长卷文件关联保存的定长卷位图文件,根据定长卷文件的存储路径获取该定长卷文件包含的数据。定长卷位图文件用于标识定长卷文件包含的数据需要传输到生产端100的存储地址。
其中,将第N次备份中的第一定长卷文件的名称保存到第N-1次备份中第一定长卷文件的名称的位置,将第N次备份中的第四定长卷文件的名称保存到第N-1次备份中第四定长卷文件的名称的位置。
卷映射文件标识:在存储路径1指向的位置保存了第二次备份的第一定长卷文件F_1_Snap_2,第一定长卷文件F_1_Snap_2对应生产端100中存储在存储地址段0-3的第一定长数据块。在存储路径2指向的位置保存了第一次备份的第二定长卷文件F_2_Snap_1,第二定长卷文件F_2_Snap_1对应生产端100中存储在存储地址段4-7的第二定长数据块。在存储路径3指向的位置保存了第一次备份的第三定长卷文件F_3_Snap_1,第三定长卷文件F_3_Snap_1对应生产端100中存储在存储地址段8-11的第三定长数据块。在存储路径4指向的位置保存了第二次备份的第四定长卷文件F_4_Snap_2,第四定长卷文件F_4_Snap_2对应生产端100中存储在存储地址段12-15的第四定长数据块。
当生产端100中第一目标卷110中的卷数据丢失时,生产端100可以向服务器200发送请求信息,以请求服务器200将已经备份的第一目标卷110的卷数据恢复到生产端100中第一目标卷110。其中,请求信息包括待恢复卷的信息。生产端100可进行全量恢复,也可进行增量恢复,即只恢复其中的至少一个定长数据块。
具体为:服务器200在接收到生产端100的请求恢复数据的请求信息后,获取第一目标卷110的定长卷文件以及定长卷位图文件,根据定长卷文件以及定长卷位图文件,将定长卷文件中的数据恢复到生产端中定长卷位图文件标识的存储地址,其中,第一目标卷为待恢复卷,第一目标卷包括多个定长卷文件,定长卷文件与定长卷位图文件一一对应并关联保存,定长卷文件用于标识需要存储的有效数据,每个定长卷文件与对应的定长卷位图文件是关联保存的,定长卷位图文件用于标识有效数据在生产端100中的存储地址,生产端为待备份的虚拟机或物理服务器。
例如,当服务器200接收到生产端100发送的请求恢复数据的请求信息后,从该信息中读取待恢复卷的备份信息,并从待恢复卷的备份信息中获取待恢复卷的具体备份时间点,从而根据该时间点识别出需要将第N(N≥1)次备份的待恢复卷的数据恢复到生产端。其中,待恢复卷为第一目标卷110,每个时间点对应一次备份,每次备份会生成相应的定长卷文件以及定长卷位图文件,且定长卷文件以及定长卷位图文件一一对应并关联保存。
当服务器200获知需要将第一次备份的第一目标卷110的卷数据恢复到生产端100时,从本地查找第一次备份中第一目标卷110包括的所有定长卷文件、每个定长卷文件的存储路径以及每个定长卷文件对应的定长卷位图文件。
当服务器200获取到第一次备份中第一目标卷的定长卷文件的名称以及定长卷文件的存储路径后,根据每个定长卷文件的名称获取定长卷文件各自对应的定长卷位图文件,分别从每个定长卷的存储路径中依次获取定长卷文件所包括的数据,根据每个定长卷文件各自对应的定长卷位图文件将获取的数据依次传输到生产端100中定长卷位图文件所标识的每个数据对应的存储地址中进行存储。其中,存储地址为生产端100为每个定长卷位图文件各自对应的定长卷分配的存储地址。
其中,服务器获取到第一次备份中第一目标卷110的第一定长卷文件的名称以及定长卷的存储路径之后,根据第一定长卷文件的名称获取第一定长卷文件对应的第一定长卷位图文件,从第一定长卷的存储路径中获取第一定长卷包括的数据,并根据第一定长卷位图文件将获取的数据传输到生产端100中第一目标卷110的第一定长卷对应的存储地址中进行存储,从而恢复第一定长卷的数据。其中,第一定长卷位图文件标识了每个数据的在生产端100中的存储地址。比如,按地址从高到底的顺序(但并不限于此,还可以按从高到低的顺序)顺次获取的第一定长卷的数据为A、B,第一定长卷位图文件的位图为“1100”,服务器根据第一定长卷位图文件将第一个数据A传输到生产端中第一目标卷的第一定长卷对应的存储地址段的第一个存储地址中进行存储,将第二个数据B传输到生产端中第一目标卷110的第一定长卷对应的存储地址段的第二个存储地址中进行存储。
按照同样的方法依次把第一目标卷110的第二定长卷、……、第N定长卷恢复到生产端第一目标卷的第二定长卷对应的存储地址段,……,第N定长卷对应的存储地址段。
可选地,定长卷文件以及定长卷位图文件是从第一目标卷的卷映射文件中获得,卷映射文件至少包括第一目标卷的定长数据块的定长卷文件的名称以及定长卷文件的存储路径。
例如,服务器200从本地获取第一目标卷110的卷映射文件,从本地存储的卷映射文件中获取第一目标卷110的第一定长卷文件的名称、第一定长卷文件的存储路径。服务器200通过第一定长卷文件的名称、第一定长卷文件的存储路径查找与该名称对应的第一定长卷文件,以及第一定长卷文件关联保存的第一定长卷位图文件;从查找到的第一定长卷文件中获取第一定长卷文件中的所有数据;根据第一定长卷文件对应的第一定长卷位图文件,依次将第一定长卷文件中的数据传输到生产端100中第一定长卷位图文件标识的存储地址对应的存储区域,从而完成第一定长卷文件的恢复。
依此循环,直到将第一目标卷110的所有定长卷文件恢复到生产端100。
可选地,卷映射文件还包括与所述定长卷文件对应的定长卷位图文件的名称。服务器200可从卷映射文件直接获取关联的定长卷文件的名称、定长卷文件的存储地址以及定长卷位图文件的名称,从而实现数据恢复。
可以理解的是,当需要将第二次备份的第一目标卷的所有定长数据块恢复到生产端,并且第二次备份的定长卷文件中只保存了第二次备份获取的有效数据,服务器200在将第一目标卷110的卷数据恢复到生产端时,根据第二次备份的定长卷位图文件将第二次备份的定长卷文件恢复到生产端100。在此之后,服务器200还比较第二次备份的定长卷位图文件和第一次备份的定长卷位图文件,判断两个位图文件中相同存储地址的值是否不同。当任一定长卷的两个位图文件中相同存储地址的值不同时,从第一次备份的卷文件中获取将该存储地址对应的数据,并将该数据传输到生产端100中该存储地址对应的存储区域。
当第二次备份的定长卷文件保存了第二次备份获取的有效数据以及第一次获取的有效数据,服务器200在将第一目标卷110的所有定长数据块恢复到生产端时,服务器200依次根据第二次备份的定长卷位图文件,分别将每个定长卷位图文件对应的定长卷文件中的数据恢复到生产端中定长卷位图文件标识的存储地址,从而将第一目标卷110的卷数据恢复到生产端100。
其恢复数据的方法与恢复第一次恢复数据的方法相同,具体的恢复方法请参阅上述相关内容,此处不赘述。
可以理解的是,在本实施方式中,服务器200中保存的定长卷文件的存储地址可以是连续的,也可以是不连续的。从服务器200恢复到生产端100中的第一目标卷110的所有定长卷文件是根据地址顺序连续存储的。在其他实施方式中,当生产端100能够标识第一目标卷110的各定长卷文件的存储地址时,定长卷文件的存储地址也可以为不连续的。
上述方案,服务器对第一目标卷进行备份时,只备份第一目标卷中的有效数据。当定长数据块中的有效数据的大小小于定长数据块的定长大小时,由于只备份有效数据,能够减少生产端和服务器之间的数据传输量,提高备份速度。当生产端中的第一目标卷是精简配置卷时,由于服务器不会对生产端还未分配的存储空间进行备份,能够提高备份速度,使服务器节省存储空间。
服务器将存储在本地的第一目标卷的卷数据恢复到生产端时,由于只需要恢复第一目标卷中的有效数据,能够提高恢复速度。当生产端中的第一目标卷是精简配置卷时,不会导致恢复无效数据而需要分配存储空间,能够使生产端节省存储空间。
请参阅图18,图18是本申请数据备份方法一实施方式的流程图,本实施方式的执行主体为数据备份装置,数据备份装置可以为服务器。
当服务器对生产端的第一目标卷的卷数据进行第一次备份时,需要对第一目标卷的卷数据进行全量备份;第N(N≥2)次备份时,进行增量备份。在本实施方式中,第一次备份和第N次备份的方法相同。
本实施方式的数据备份方法包括以下步骤:
S101:备份服务器从生产端获取第一目标卷的原始差量位图,其中,所述生产端为待备份的虚拟机或物理服务器,所述第一目标卷为待备份卷,所述原始差量位图为第一目标卷的所有定长数据块的原始差量位图。
请一并参阅图1至图2,图1是现有技术中基于定长卷数据文件的待备份卷数据存储格式一实施方式的示意图,图2是图1中待备份卷的原始差量位图。
其中,如图1所示的卷数据为第一目标卷110的原始卷数据。第一目标卷110的定长大小为16M,由4个4M(但并不限于此,可根据实际需求设置为其他值)大小的定长数据块组成,存储地址0-3存储第一定长数据块,存储地址4-7存储第二定长数据块,存储地址8-11存储第三定长数据块,存储地址12-15存储第四定长数据块。
如图2所示的原始差量位图中,“1”用于标识第一目标卷110中该存储地址对应的存储区域的数据为有效数据,“0”用于标识第一目标卷110中该存储地址对应的存储区域的数据为无效数据。有效数据定义为该存储地址对应的存储区域存储了数据或者该存储地址对应的存储区域的数据有变化。无效数据定义为该存储地址对应的存储区域没有存储数据或所存储的数据没有发生变化。
服务器从生产端获取第一目标卷的原始差量位图,其中,生产端为待备份的虚拟机或物理服务器,第一目标卷为待备份卷。原始差量位图为第一目标卷110的所有定长数据块的原始差量位图。
例如,服务器与虚拟化平台进行交互,通过虚拟化平台从生产端获取第一次备份中第一目标卷的原始差量位图。其中,第一目标卷的原始差量位图是生产端在检测到第一目标卷的卷数据发生改变时,自动生成的,原始差量位图为第一目标卷的所有定长数据块的原始差量位图。
S102:根据所述原始差量位图从所述第一目标卷中获取定长数据块的有效数据。
服务器获取到第一目标卷的原始差量位图之后,按存储地址从低到高的顺序依次检测每个存储地址对应的值,从而判断每个定长数据块对应的存储地址段是否有需要获取的有效数据。可以理解的是,在其他实施方式中,服务器可以按存储地址从高到低的顺序依次检测每个存储地址对应的值,还可以随机检测任一定长数据块对应的存储地址段中每个存储地址对应的值,此处不作限制,只要能够完全检测第一目标卷的卷数据对应的存储地址对应的值即可。
当服务器检测到原始差量位图中任一存储地址对应的值为1时,判断为该存储地址对应的存储区域存储了需要获取的有效数据。服务器以定长数据块为基本单位,按顺序分别获取每个定长数据块的有效数据。
其中,服务器判断需要获取第一定长块数据、第二定长数据块、第三定长数据块以及第四定长数据块包含的有效数据。
服务器获取的第一定长数据块的有效数据为A、B,获取的第二定长数据块的有效数据为E、G,获取的第三定长数据块的有效数据为I,获取的第四定长数据块的有效数据为P。
S103:根据所述原始差量位图将包含有效数据的定长数据块对应的位图保存到所述定长数据块的定长卷位图文件,其中,所述定长卷位图文件用于标识所述有效数据在所述第一目标卷中的存储地址。
服务器根据原始差量位图按存储地址从高到低的顺序,依次将包含有效数据的定长数据块对应的位图保存到第一目标卷的每个定长数据块对应的定长卷位图文件中。其中,定长卷位图文件是服务器在预设的存储路径下的创建的,一个定长数据块对应一个定长卷位图文件,定长卷位图文件用于标识获取的有效数据在第一目标卷中的存储地址。获取的每个定长数据块的有效数据的存储地址和获取的包含有效数据的定长数据块对应的位图的存储地址一一对应。
例如,当服务器获取到定长数据块包含有效数据后,根据原始差量位图将第一定长数据块对应的位图以文件的形式保存到在预设的存储路径下的创建的第一定长卷位图文件BitMap_F_1_Snap_1中。
服务器200将第二定长数据块对应的位图以文件的形式保存到在预设的存储路径下的创建的第二定长卷位图文件BitMap_F_2_Snap_1中。
服务器200将第三定长数据块对应的位图以文件的形式保存到在预设的存储路径下的创建的第三定长卷位图文件BitMap_F_3_Snap_1中。
服务器200将第四定长数据块对应的位图以文件的形式保存到在预设的存储路径下的创建的第四定长卷位图文件BitMap_F_4_Snap_1中。如图12所示,图12是本申请服务器对第一目标卷进行第一次备份时生成的定长卷位图文件一实施方式的示意图。
在第一次备份中,第一定长数据块对应的定长卷位图文件为第一定长卷位图文件,名称为BitMap_F_1_Snap_1,第一定长卷位图文件用于标识,标识第一定长数据块的第一个有效数据在生产端100的第一目标卷110的存储地址为0,第一定长数据块的第二个有效数据在生产端100的第一目标卷110的存储地址为1。在将服务器将第一次备份的数据恢复到生产端中时,第一定长数据块的第一个有效数据A需要存储到生产端的存储地址0对应的存储区域,第一定长数据块的第二个有效数据B需要存储到生产端的存储地址1对应的存储区域。
第二定长数据块对应的定长卷位图文件为第二定长卷位图文件,名称为BitMap_F_2_Snap_1,第二定长卷位图文件用于标识第二定长数据块的第一个有效数据在生产端100的第一目标卷110的存储地址为4,第二定长数据块的第二个有效数据在生产端100的第一目标卷110的存储地址为6。在将服务器将第一次备份的数据恢复到生产端中时,第二定长数据块的第一个有效数据E需要存储到生产端的存储地址4对应的存储区域,第二定长数据块的第二个有效数据G需要存储到生产端的存储地址6对应的存储区域。
第三定长数据块对应的定长卷位图文件为第三定长卷位图文件,名称为BitMap_F_3_Snap_1,第三定长卷位图文件用于标识第三定长数据块的第一个有效数据在生产端100的第一目标卷110的存储地址为8。在将服务器将第一次备份的数据恢复到生产端中时,第三定长数据块的有效数据I需要存储到生产端的存储地址8对应的存储区域。
第四定长数据块对应的定长卷位图文件为第四定长卷位图文件,名称为BitMap_F_4_Snap_1,第四定长卷位图文件用于标识第四定长数据块的第一个有效数据在生产端100的第一目标卷110的存储地址为15。在将服务器第一次备份的数据恢复到生产端中时,第四定长数据块的有效数据P需要存储到生产端的存储地址15对应的存储区域。
S104:将所述定长数据块的有效数据保存到所述定长数据块的定长卷文件,其中,所述定长卷文件与所述定长卷位图文件一一对应并关联保存,所述定长卷文件用于标识本次备份的有效数据。
服务器将获取到的每个定长数据块的有效数据,依次存储到预先创建的每个定长数据块各自对应的定长卷文件中。其中,定长卷文件是服务器在预设的存储路径下的创建的,一个定长数据块对应一个定长卷文件,定长卷文件与定长卷位图文件一一对应并关联保存,定长卷文件用于标识本次备份的有效数据。
如图13所示,图13是本申请服务器对第一目标卷进行第一次备份时生成的定长卷文件一实施方式的示意图。
服务器将第一定长数据块的第一个有效数据A、第二个有效数据B依次存储到在预设的存储路径下的创建的第一定长卷文件F_1_Snap_1。
服务器将第二定长数据块的第一个有效数据E、第二个有效数据G依次存储到在预设的存储路径下的创建的第二定长卷文件F_2_Snap_1。
服务器将第三定长数据块的有效数据I在预设的存储路径下的创建的第三定长卷文件F_3_Snap_1。
服务器将第四定长数据块的有效数据P存储到在预设的存储路径下的创建的第四定长卷文件F_4_Snap_1。
在本实施方式中,服务器是按存储地址从低到高的顺序依次获取每个定长数据块的有效数据,将每个包含有效数据的定长数据块对应的位图依次保存到定长数据块的定长卷位图文件,以及依次将获取到的定长数据块的有效数据保存到定长数据块对应的定长卷文件中。
在其他实施方式中也可以按存储地址从高到低的顺序依次获取每个定长数据块的有效数据,将每个包含有效数据的定长数据块对应的位图依次保存到定长数据块的定长卷位图文件,以及依次将获取到的定长数据块的有效数据保存到定长数据块对应的定长卷文件中。或者,或者以定长数据块为基本单位,随机任意获取定长数据块的有效数据以及包含有效数据的定长数据块对应的位图,此处不做限制。只要保证获取的每个定长数据块的有效数据的存储地址和获取的包含有效数据的定长数据块对应的位图的存储地址一一对应即可。
可以理解的是,在预设的存储路径下的创建的定长卷文件和定长卷位图文件的存储目录可以相同,也可以不同,此处不做限制。
上述方案,服务器从生产端获取第一目标卷的原始差量位图,根据获取到的原始差量位图从第一目标卷中获取每个定长数据块的有效数据,以及以及将包含有效数据的定长数据块对应的位图保存到第一目标卷的定长卷位图文件,并将定长数据块的有效数据保存到定长数据块的定长卷文件。由于不需要传输无效数据,能够减少数据传输量,提高备份速度,使服务器节省存储空间。
请参阅图请参阅图19,图19是本申请数据备份方法另一实施方式的流程图。本实施方式的执行主体为数据备份装置,数据备份装置可以为服务器。
当服务器对生产端的第一目标卷的卷数据进行第一次备份时,需要对第一目标卷的卷数据进行全量备份;第N(N≥2)次备份时,进行增量备份。在本实施方式中,第一次备份和第N(N≥2)次备份的方法相同,第N(N≥3)次备份和第N-1次备份的方法相同。
本实施方式的数据备份方法与上一实施方式的数据备份方法的不同之处在于,本实施方式的数据备份方法还包括步骤S205。
步骤S201~S204与上一实施方式中的步骤S101~S104相同,具体请参阅上一实施方式的步骤S101~S104及相关描述,此处不赘述。
S205:根据所述定长卷文件保存所述第一目标卷的卷映射文件,其中,所述卷映射文件至少包括所述第一目标卷的定长数据块的定长卷文件的名称以及定长卷文件的存储路径。
服务器依次将定长卷文件的文件名称以及存储路径保存到在预设的存储路径下的创建的第一目标卷的卷映射文件中。其中,卷映射文件是服务器在预设的存储路径下的创建的,每次备份都会生成相应的卷映射文件、定长卷文件、定长卷文件位图。定长卷文件与定长卷位图文件一一对应并关联保存。卷映射文件至少包括第一目标卷的所有定长数据块的定长卷文件的名称以及定长卷文件的存储路径。定长卷文件的名称与定长卷文件的存储路径一一对应,并关联保存。
如图14所示,图14是本申请服务器对第一目标卷进行第一次备份时生成的卷映射文件一实施方式的示意图。
例如,服务器在每保存一个第一次备份的定长卷文件时,将该定长卷文件的文件名称以及定长卷文件的存储路径关联保存到预先建立的第一目标卷的卷映射文件中,直到将所有的定长卷文件名称以及定长卷文件的存储路径保存到卷映射文件。其中,每次备份都会生成相应的卷映射文件、定长卷文件、定长卷文件位图。定长卷文件与定长卷位图文件一一对应并关联保存。,卷映射文件至少包括第一目标卷的定长数据块的定长卷文件的名称以及定长卷文件的存储路径。定长卷文件的名称用于在将服务器中的数据恢复到生产端时,能够使得服务器根据定长卷文件的名称查找定长卷文件的名称对应的定长卷文件,以及定长卷文件关联保存的定长卷位图文件,根据定长卷文件的存储路径获取该定长卷文件包含的数据。定长卷位图文件用于标识定长卷文件包含的数据需要传输到生产端的存储地址。
卷映射文件标识:在存储路径1指向的位置保存了第一次备份的第一定长卷文件F_1_Snap_1,第一定长卷文件F_1_Snap_1对应生产端100中存储在存储地址段0-3的第一定长数据块。在存储路径2指向的位置保存了第一次备份的第二定长卷文件F_2_Snap_1,第二定长卷文件F_2_Snap_1对应生产端100中存储在存储地址段4-7的第二定长数据块。在存储路径3指向的位置保存了第一次备份的第三定长卷文件F_3_Snap_1,第三定长卷文件F_3_Snap_1对应生产端100中存储在存储地址段8-11的第三定长数据块。在存储路径4指向的位置保存了第一次备份的第四定长卷文件F_4_Snap_1,第四定长卷文件F_4_Snap_1对应生产端100中存储在存储地址段12-15的第四定长数据块。
可选地,卷映射文件包括定长卷文件的名称以及存储路径、以及定长卷位图文件的名称。其中,定长卷文件的名称、定长卷文件的存储路径以及定长卷位图文件的名称关联保存,定长卷文件的名称用于查找定长卷文件的名称对应的定长卷文件,定长卷文件的存储路径用于标识定长卷文件的存储位置,定长卷位图文件的名称查找定长卷位图文件的名称对应的定长卷位图文件。
在本实施方式中,服务器是按存储地址从低到高的顺序依次获取每个定长数据块的有效数据,将每个包含有效数据的定长数据块对应的位图依次保存到定长数据块的定长卷位图文件,以及依次将获取到的定长数据块的有效数据保存到定长数据块对应的定长卷文件中。
在其他实施方式中也可以按存储地址从高到低的顺序依次获取每个定长数据块的有效数据,将每个包含有效数据的定长数据块对应的位图依次保存到定长数据块的定长卷位图文件,以及依次将获取到的定长数据块的有效数据保存到定长数据块对应的定长卷文件中。或者,或者以定长数据块为基本单位,随机任意获取定长数据块的有效数据以及包含有效数据的定长数据块对应的位图,此处不做限制。只要保证获取的每个定长数据块的有效数据的存储地址和获取的包含有效数据的定长数据块对应的位图的存储地址一一对应即可。
其中,定长卷文件和定长卷位图文件的存储路径是在定长卷映射文件的存储路径的下一级目录。
可以理解的是,在预设的存储路径下的创建的定长卷文件和定长卷位图文件的存储目录可以相同,也可以不同,此处不做限制。
上述方案,服务器从生产端获取第一目标卷的原始差量位图,根据获取到的原始差量位图从第一目标卷中获取每个定长数据块的有效数据,以及将包含有效数据的定长数据块对应的位图保存到第一目标卷的定长卷位图文件,并将定长数据块的有效数据保存到定长数据块的定长卷文件。由于不需要传输无效数据,能够减少数据传输量,提高备份速度,使服务器节省存储空间。
请参阅图20,图20是本申请数据备份方法又一实施方式的流程图。本实施方式的执行主体为数据备份装置,数据备份装置可以为服务器。
当服务器对生产端的第一目标卷的卷数据进行第一次备份时,需要对第一目标卷的卷数据进行全量备份;第N(N≥2)次备份时,进行增量备份。在本实施方式中,第一次备份和第N(N≥2)次备份的方法不相同,即全量备份和增量备份的备份方法不同,第二次备份和第N(N≥3)次备份的方法相同。
在本实施方式中,步骤S301~S305对生产端的第一目标卷的卷数据进行全量备份,步骤S306~S310对生产端的第一目标卷的卷数据进行增量备份。
步骤S301~S305与上一实施方式的步骤S201~S205相同,具体请参阅上一实施方式中步骤S201~S205的相关描述,此处不赘述。
S301:备份服务器从生产端获取第一目标卷的原始差量位图。步骤S301与上一实施方式的步骤S101相同,具体请参阅上一实施方式中步骤S101的相关描述,此处不赘述。
S302:根据所述原始差量位图从所述第一目标卷中获取定长数据块的有效数据。步骤S302与上一实施方式的步骤S102相同,具体请参阅上一实施方式中步骤S102的相关描述,此处不赘述。
S303:根据所述原始差量位图将包含有效数据的定长数据块对应的位图保存到所述定长数据块的定长卷位图文件。步骤S303与上一实施方式的步骤S103相同,具体请参阅上一实施方式中步骤S103的相关描述,此处不赘述。
S304:将所述定长数据块的有效数据保存到所述定长数据块的定长卷文件。步骤S304与上一实施方式的步骤S104相同,具体请参阅上一实施方式中步骤S104的相关描述,此处不赘述。
S305:根据所述定长卷文件保存所述第一目标卷第一次备份的卷映射文件。步骤S305与上一实施方式的步骤S205相同,具体请参阅上一实施方式中步骤S205的相关描述,此处不赘述。
S306:所述备份服务器从生产端获取所述第一目标卷的增量位图,所述增量位图为所述第一目标卷中发生改变的定长数据块的差量位图。
备份服务器从生产端获取第一目标卷的增量位图,增量位图为第一目标卷中发生改变的定长数据块的差量位图。下面以第二次备份为例进行说明:
请一并参阅图6至图7,图6是现有技术中基于定长卷数据文件的待备份卷数据存储格式另一实施方式的示意图,图7是图6相对于图1中待备份卷数据的原始差量位图。其中,如图6中阴影部分所示的卷数据为第一目标卷110发生变化的卷数据,存储地址0、3、13、15对应的存储区域存储的数据发生变化。如图7所示的原始差量位图是图6相对于图1中第一次备份的卷数据的原始差量位图,即待备份卷数据的增量位图。“1”用于标识该存储地址对应的存储区域的数据有变化,有变化的数据为有效数据。
例如,当备份服务器接收到第N(N≥2,此时N=2)次备份指令时,在预设的存储路径下创建待备份卷第二次备份的卷映射文件、定长卷文件以及定长卷位图文件。
其中,创建的第一次备份卷映射文件的名称为D_2卷映射文件。在D_2卷映射文件的目录下创建的定长卷文件包括第一定长卷F_1_Snap_2、F_2_Snap_2、F_3_Snap_2、F_4_Snap_2,创建的定长卷位图文件包括BitMap_F_1_Snap_2、BitMap_F_2_Snap_2、BitMap_F_3_Snap_2、BitMap_F_4_Snap_2。卷映射文件至少包括第一目标卷的所有定长数据块的定长卷文件的名称以及定长卷文件的存储路径。定长卷文件与定长卷位图文件一一对应并关联保存。
备份服务器与虚拟化平台进行交互,通过虚拟化平台从生产端100获取第二次备份中第一目标卷110的增量位图。其中,第一目标卷110的增量位图是生产端100在检测到第一目标卷110的卷数据发生改变时,自动生成的,增量位图包括第一目标卷110中所有发生改变的定长数据块的差量位图。
其中,备份服务器获取到第二次备份中第一目标卷的增量位图中包括第一定长数据块的增量位图BitMap_F_1、第四定长数据块的增量位图BitMap_F_4。
BitMap_F_1用于标识在生产端中第一定长数据块的第一个有效数据A′存储在存储地址0对于的存储区域,第一定长数据块的第二个有效数据C存储在存储地址2对于的存储区域。
BitMap_F_4用于标识在生产端中第四定长数据块的第一个有效数据N存储在存储地址13对于的存储区域,第四定长数据块的第二个有效数据P′存储在存储地址15对于的存储区域。
S307:根据所述增量位图从所述第一目标卷中获取发生改变的定长数据块的有效数据。
例如,备份服务器在获取到第一目标卷的增量位图后,按存储地址从低到高的顺序依次检测每个存储地址对应的值,从而判断每个定长数据块对应的存储地址段是否有需要获取的有效数据。可以理解的是,在其他实施方式中,服务器可以按存储地址从高到低的顺序依次检测每个存储地址对应的值,还可以随机检测任一定长数据块对应的存储地址段中每个存储地址对应的值,此处不作限制,只要能够完全检测第一目标卷的卷数据对应的存储地址对应的值即可。当服务器检测到增量位图中任一存储地址对应的值为1时,判断为该存储地址对应的存储区域存储了需要获取的有效数据。服务器以定长数据块为基本单位,按顺序分别获取每个发生改变的定长数据块的有效数据。
其中,服务器判断第一定长数据块以及第四定长数据块的数据发生改变,需要获取第一定长数据块以及第四定长数据块的有效数据。服务器获取的发生改变的第一定长数据块的有效数据为A′、C,获取的第四定长数据块的有效数据为N、P′。
S308:根据所述增量位图将包含有效数据的定长数据块对应的位图保存到所述定长数据块的当前的定长卷位图文件中。
例如,备份服务器根据增量位图,从存储在本地的第一次备份的定长卷位图文件中,获取包含有效数据的定长数据块对应的第(N-1)次备份的定长卷位图文件,并将每个包含有效数据的定长数据块对应的第N次备份的增量位图以及第(N-1)次备份的定长卷位图文件合并,将合并后的位图保存到定长数据块的当前的定长卷位图文件中,以得到第N次备份的定长卷位图文件。
如图15所示,图15是本申请备份服务器生成第二次备份的定长卷位图文件的示意图。
备份服务器根据包含有效数据的第一定长数据块的增量位图BitMap_F_1,从存储在本地的第一次备份的定长卷位图文件中,获取第一定长数据块的对应的定长卷位图文件BitMap_F_1_Snap_1,并将第一定长数据块对应的第二次备份的增量位图BitMap_F_1以及第一次备份的定长卷位图文件BitMap_F_1_Snap_1取“或”进行合并,保存到定长数据块的当前的定长卷位图文件中,从而得到第二次备份中第一定长数据块对应的定长卷位图文件BitMap_F_1_Snap_2。
备份服务器根据包含有效数据的第一定长数据块的增量位图BitMap_F_4,从存储在本地的第一次备份的定长卷位图文件中,获取第四定长数据块的对应的定长卷位图文件BitMap_F_4_Snap_1。将第四定长数据块对应的第二次备份的增量位图BitMap_F_4以及第一次备份的定长卷位图文件BitMap_F_4_Snap_1取“或”进行合并,保存到定长数据块的当前的定长卷位图文件中,从而得到第二次备份中第四定长数据块对应的定长卷位图文件BitMap_F_4_Snap_2。
S309:将所述定长数据块的有效数据保存到所述定长数据块的当前的定长卷文件中。
例如,备份服务器在获取到第N(N≥2,此时N=2)次备份的包含有效数据的定长数据块的定长卷位图文件后,比较定长数据块在第N次备份中的增量位图以及第N次的定长卷位图文件,以判断第N次备份中的增量位图与第N次的定长卷位图文件是否相同。其中,判断方法为判断相同存储地址对应的值是否相同。
当备份服务器判断定长数据块在本次备份中的增量位图与定长卷位图文件相同时,将已经获取的发生改变的定长数据块的有效数据保存到定长数据块的当前的定长卷文件中,从而得到第N次备份中定长数据块对应的定长卷文件。
当备份服务器判断定长数据块在本次备份中的增量位图与定长卷位图文件不相同时,从本地存储在本地的第(N-1)次备份的定长卷文件中获取值不同的存储地址对应的有效数据。
之后,将已经获取的发生改变的定长数据块的有效数据以及从第(N-1)次备份的定长卷文件中获取的有效数据,按存储地址的排列顺序依次保存到定长数据块的当前的定长卷文件中,从而得到第N次备份中定长数据块对应的定长卷文件。
如图16所示,图16是本申请服务器对第一目标卷进行第二次备份时保存的定长卷文件一实施方式的示意图。
第一定长数据块的当前的定长卷文件中保存的有效数据为A′、B、C,A′、C为第N次备份已经获取的发生改变的定长数据块的有效数据,B为从第(N-1)次备份的定长卷文件中获取的有效数据。第N次备份中
第四定长数据块的当前的定长卷文件中保存的有效数据为N、P′,N、P′为第N次备份已经获取的发生改变的定长数据块的有效数据。
可以理解的是:有效数据是本次备份中发生改变的定长数据块所存储的数据,由本次备份的发生改变的数据以及上一次备份中的有效数据组成。在本实施方式中,第一定长数据块在本次备份中的增量位图与定长卷位图文件不相同,第四定长数据块在本次备份中的增量位图与定长卷位图文件相同。
在本实施方式中,当备份服务器判断定长数据块在本次备份中的增量位图与定长卷位图文件不相同时,从本地存储在本地的第(N-1)次备份的定长卷文件中获取值不同的存储地址对应的有效数据。在其他实施方式中,也可以直接从生产端的第一目标卷中获取,此时,会占用生产端与服务器之间的传输通道,传输速率相对来说较慢。
S310:根据所述定长卷文件保存所述第一目标卷第N(N≥2)次备份的卷映射文件。
备份服务器在得到第二次备份的定长卷文件之后,将该定长卷文件的文件名称以及定长卷文件的存储路径关联保存到预先建立的第一目标卷的卷映射文件中,直到将所有的定长卷文件名称以及存储路径保存到卷映射文件。其中,卷映射文件至少包括定长卷文件的名称以及存储路径。
定长卷文件的名称用于在将服务器中的数据恢复到生产端时,能够使得服务器根据定长卷文件的名称查找定长卷文件的名称对应的定长卷文件,以及与定长卷文件关联保存的定长卷位图文件,根据定长卷文件的存储路径获取该定长卷文件包含的数据。定长卷位图文件用于标识定长卷文件包含的数据需要传输到生产端的存储地址。
可选地,卷映射文件还包括与定长卷文件对应的定长卷位图文件的名称。其中,定长卷文件的名称、定长卷文件的存储路径以及定长卷位图文件的名称一一对应并关联保存,定长卷文件的名称用于查找定长卷文件的名称对应的定长卷文件,定长卷文件的存储路径用于标识定长卷文件的存储位置,定长卷位图文件的名称查找定长卷位图文件的名称对应的定长卷位图文件。
如图17所示,图17是本申请服务器对第一目标卷进行第二次备份时生成的卷映射文件一实施方式的示意图。
例如,备份服务器在每保存一个第二次备份的定长卷文件后,将该定长卷文件的文件名称以及存储路径关联保存到预先建立的第一目标卷的卷映射文件中,直到将所有的定长卷文件名称以及存储路径保存到卷映射文件。其中,卷映射文件至少包括定长卷文件的名称以及存储路径。定长卷文件的名称用于在将服务器中的数据恢复到生产端时,能够使得服务器根据定长卷文件的名称查找定长卷文件的名称对应的定长卷文件,以及定长卷文件关联保存的定长卷位图文件,根据定长卷文件的存储路径获取该定长卷文件包含的数据。定长卷位图文件用于标识定长卷文件包含的数据需要传输到生产端的存储地址。
其中,将第N次备份中的第一定长卷文件的名称保存到第N-1次备份中第一定长卷文件的名称的位置,将第N次备份中的第四定长卷文件的名称保存到第N-1次备份中第四定长卷文件的名称的位置。
卷映射文件标识:在存储路径1指向的位置保存了第二次备份的第一定长卷文件F_1_Snap_2,第一定长卷文件F_1_Snap_2对应生产端中存储在存储地址段0-3的第一定长数据块。在存储路径2指向的位置保存了第一次备份的第二定长卷文件F_2_Snap_1,第二定长卷文件F_2_Snap_1对应生产端中存储在存储地址段4-7的第二定长数据块。在存储路径3指向的位置保存了第一次备份的第三定长卷文件F_3_Snap_1,第三定长卷文件F_3_Snap_1对应生产端中存储在存储地址段8-11的第三定长数据块。在存储路径4指向的位置保存了第二次备份的第四定长卷文件F_4_Snap_2,第四定长卷文件F_4_Snap_2对应生产端中存储在存储地址段12-15的第四定长数据块。
在本实施方式中,服务器是按存储地址从低到高的顺序依次获取每个定长数据块的有效数据,将每个包含有效数据的定长数据块对应的位图依次保存到定长数据块的定长卷位图文件,以及依次将获取到的定长数据块的有效数据保存到定长数据块对应的定长卷文件中。
在其他实施方式中也可以按存储地址从高到低的顺序依次获取每个定长数据块的有效数据,将每个包含有效数据的定长数据块对应的位图依次保存到定长数据块的定长卷位图文件,以及依次将获取到的定长数据块的有效数据保存到定长数据块对应的定长卷文件中。或者,或者以定长数据块为基本单位,随机任意获取定长数据块的有效数据以及包含有效数据的定长数据块对应的位图,此处不做限制。只要保证获取的每个定长数据块的有效数据的存储地址和获取的包含有效数据的定长数据块对应的位图的存储地址一一对应即可。
其中,定长卷文件和定长卷位图文件的存储路径是在定长卷映射文件的存储路径的下一级目录。
可以理解的是,在预设的存储路径下的创建的定长卷文件和定长卷位图文件的存储目录可以相同,也可以不同,此处不做限制。
上述方式,服务器从生产端获取第一目标卷的位图,根据获取到的位图从第一目标卷中获取每个定长数据块的有效数据,以及将包含有效数据的定长数据块对应的位图保存到第一目标卷的定长卷位图文件,并将定长数据块的有效数据保存到第一目标卷的定长卷文件。由于服务器对第一目标卷进行备份时,只备份第一目标卷中的有效数据,当定长数据块中的有效数据的大小小于定长数据块的定长大小时,由于只备份有效数据,能够减少生产端和服务器之间的数据传输量,提高备份速度。当生产端中的第一目标卷是精简配置卷时,由于服务器不会对生产端还未分配的存储空间进行备份,能够提高备份速度,使服务器节省存储空间。
当备份服务器判断定长数据块在本次备份中的增量位图与定长卷位图文件不相同时,从本地存储在本地的第(N-1)次备份的定长卷文件中获取值不同的存储地址对应的有效数据,保存到定长数据块的当前的定长卷文件中,能够防止在第N-1次备份的定长卷文件丢失或删除时,值不同的存储地址对应的数据丢失。
请参阅图21,图21是本申请数据恢复方法一实施方式的流程图。本实施方式的执行主体为数据恢复装置,数据恢复装置可以为服务器。数据备份装置和数据恢复装置可以是集成在一起的,也可以单独存在。本实施方式的恢复方法包括以下步骤:
S401:备份服务器获取第一目标卷的定长卷文件以及定长卷位图文件,其中,所述第一目标卷为待恢复卷,所述第一目标卷包括多个定长卷文件,所述定长卷文件与所述定长卷位图文件一一对应并关联保存,所述定长卷文件用于标识需要存储的有效数据,所述定长卷位图文件用于标识所述有效数据在生产端中的存储地址。
备份服务器在接收到生产端的请求恢复数据的请求信息后,获取第一目标卷的定长卷文件以及定长卷位图文件。其中,请求信息用于标识请求恢复的备份数据,请求信息包括恢复第一目标卷的备份信息,第一目标卷的备份信息至少包括备份的时间点。第一目标卷为待恢复卷,第一目标卷包括多个定长卷文件,定长卷文件用于标识需要存储的有效数据。定长卷位图文件用于标识有效数据的存储地址,生产端为待备份的虚拟机或物理服务器。
例如,当备份服务器接收到生产端发送的请求恢复数据的请求信息后,从该信息中读取待恢复卷的备份信息,并从待恢复卷的备份信息中获取待恢复卷的具体备份时间点,从而根据该时间点识别出需要将第N(N≥1)次备份的待恢复卷的数据恢复到生产端。其中,待恢复卷为第一目标卷,每个时间点对应一次备份,每次备份会生成相应的定长卷文件以及定长卷位图文件,定长卷文件以及定长卷位图文件一一对应并关联保存。
比如,当备份服务器获知需要将第一次备份的第一目标卷的卷数据恢复到生产端时,从本地获取第一次备份中第一目标卷包括的所有定长卷文件、每个定长卷文件的存储路径以及每个定长卷文件对应的定长卷位图文件。备份数据均为有效数据。
可选地,定长卷文件以及定长卷位图文件是从第一目标卷的卷映射文件中获得,卷映射文件至少包括第一目标卷的定长数据块的定长卷文件的名称、定长卷文件的存储路径。
例如,备份服务器从本地获取第一目标卷的卷映射文件,从卷映射文件中获取第一目标卷的定长数据块的定长卷文件的名称、定长卷文件的存储路径,并根据每个定长卷文件的名称、定长卷文件的存储路径查找与该名称对应的定长卷文件,以及定长卷文件关联保存的定长卷位图文件。
其中,备份服务器从卷映射文件中获取到第一次备份的第一定长数据块的第一定长卷文件名称为F_1_Snap_1、存储路径为1,并根据第一定长卷文件的名称查找第一定长卷文件、以及获取第一定长卷文件关联保存的第一定长卷位图文件BitMap_F_1_Snap_1。
备份服务器获取到第一次备份的第二定长数据块的第二定长卷文件名称为F_2_Snap_1,并根据第二定长卷文件的名称、存储路径为2、查找第二定长卷文件、以及获取第二定长卷文件关联保存的第二定长卷位图文件BitMap_F_2_Snap_1。
备份服务器获取到第一次备份的第三定长数据块的第三定长卷文件名称为F_3_Snap_1、存储路径为3,并根据第三定长卷文件的名称,查找第三定长卷文件,以及获取第三定长卷文件关联保存的第三定长卷位图文件BitMap_F_3_Snap_1。
备份服务器获取到第一次备份的第四定长数据块的第四定长卷文件名称为F_4_Snap_1、存储路径为4,并根据第四定长卷文件的名称、查找第四定长卷文件,以及获取第四定长卷文件关联保存的第四定长卷位图文件BitMap_F_4_Snap_1。
可选地,卷映射文件包括卷映射文件还与定长卷文件对应的定长卷位图文件的名称。备份服务器可从卷映射文件直接获取关联保存的定长卷文件的名称、定长卷文件的存储地址以及定长卷位图文件的名称,进而分别获取每个定长卷文件、以及每个定长卷各自对应的定长卷位图文件。
S402:根据所述定长卷文件以及所述定长卷位图文件,将所述定长卷文件中的数据恢复到生产端中所述定长卷位图文件标识的存储地址。
备份服务器从本地分别获取第一目标卷的每个定长卷文件、每个定长卷文件的存储路径以及每个定长卷文件对应的定长卷位图文件后,从每个定长卷文件对应的存储路径中依次获取每个定长卷文件包含的数据,然后根据每个定长卷文件各自对应的定长卷位图文件,将每个定长卷文件中的数据传输到生产端中定长卷位图文件标识的存储地址对应的存储区域。
例如,当服务器获取到第一次备份中第一目标卷的定长卷文件的名称以及定长卷的存储路径后,根据每个定长卷文件的名称获取定长卷文件各自对应的定长卷位图文件,分别从每个定长卷的存储路径中依次获取定长卷所包括的数据,根据每个定长卷文件各自对应的定长卷位图文件将获取的数据依次传输到生产端中定长卷位图文件所标识的每个数据对应的存储地址中进行存储。其中,存储地址为生产端为每个定长卷位图文件各自对应的定长卷分配的存储地址。
其中,服务器获取到第一次备份中第一目标卷的第一定长卷文件的名称以及定长卷的存储路径之后,根据第一定长卷文件的名称获取第一定长卷文件对应的第一定长卷位图文件,从第一定长卷的存储路径中获取第一定长卷包括的数据,并根据第一定长卷位图文件将获取的数据传输到生产端中第一目标卷的第一定长卷对应的存储地址中进行存储,从而恢复第一定长卷的数据。第一定长卷位图文件标识了每个数据在生产端中的存储位置。
假如,按地址从高到底的顺序(但并不限于此,还可以按从高到低的顺序)顺次获取的第一定长卷的数据为A、B,第一定长卷位图文件的位图为“1100”,服务器根据第一定长卷位图文件将第一个数据A传输到生产端中第一目标卷的第一定长卷对应的存储地址段的第一个存储地址中进行存储,将第二个数据B传输到生产端中第一目标卷的第一定长卷对应的存储地址段的第二个存储地址中进行存储。
按照同样的方法,依次把第一目标卷的第二定长卷、……、第N定长卷恢复到生产端第一目标卷的第二定长卷对应的存储地址段,……,第N定长卷对应的存储地址段。
可选地,当定长卷文件以及定长卷位图文件是从第一目标卷的卷映射文件中获得时,从第一定长卷文件的每个定长卷文件各自对应的存储路径中依次获取每个定长卷文件中的所有数据;根据每个定长卷文件各自对应的定长卷位图文件,依次将每个定长卷文件中的数据传输到生产端中定长卷位图文件标识的存储地址对应的存储区域,从而完成第一定长卷文件的恢复。
可以理解的是,在本实施方式中,服务器中保存的定长卷文件的存储地址可以是连续的,也可以是不连续的。从服务器恢复到生产端中的第一目标卷的所有定长卷文件是根据地址顺序连续存储的。在其他实施方式中,当生产端能够标识第一目标卷的各定长卷文件的存储地址时,定长卷文件的存储地址也可以为不连续的。
可以理解的是,服务器可对生产端的第一目标卷进行全量恢复,也可进行增量恢复,增量恢复即只恢复其中的至少一个定长数据块。
当服务器对生产端的第一目标卷进行全量恢复时,获取第一目标卷的每个定长数据块对应的定长卷文件、每个定长卷文件的存储路径、以及每个定长卷文件各自对应的定长卷位图文件,并根据每个定长卷文件各自对应的定长卷位图文件,将从每个定长卷文件的存储路径获取的定长卷文件保护的数据依次传输到生产端中每个定长卷位图文件所标识的每个数据对应的存储地址中进行存储。
当服务器对生产端的第一目标卷进行增量恢复时,获取第一目标卷的需要恢复的定长数据块对应的定长卷文件、需要恢复的定长卷文件的存储路径、以及需要恢复的定长卷文件各自对应的定长卷位图文件,并根据每个定长卷文件各自对应的定长卷位图文件,将从每个定长卷文件的存储路径获取的定长卷文件保护的数据依次传输到生产端中每个定长卷位图文件所标识的每个数据对应的存储地址中进行存储。
上述方案,服务器将存储在本地的第一目标卷的卷数据恢复到生产端时,由于只需要恢复第一目标卷中的有效数据,能够提高恢复速度。当生产端中的第一目标卷是精简配置卷时,不会导致恢复无效数据而需要分配存储空间,能够使生产端节省存储空间。
请参阅图22,图22是本申请数据备份装置一实施方式的结构示意图。本申请的数据备份装置可以为服务器,本实施方式的数据备份装置的各模块用于执行图18所示的数据备份方法中相应的步骤,具体请参阅图18对应的方法实施中的相关描述,此处不赘述。本实施方式的数据备份装置包括位图获取模块2210、卷数据获取模块2220、位图组织模块2230、备份数据存储模块2240。
位图获取模块2210用于从生产端获取第一目标卷的原始差量位图,其中,第一目标卷为待备份卷,原始差量位图为第一目标卷的所有定长数据块的原始差量位图。比如,位图获取模块2210从生产端获取第一目标卷的原始差量位图,其中,生产端为待备份的虚拟机或物理服务器,第一目标卷为待备份卷,原始差量位图为第一目标卷的所有定长数据块的原始差量位图。位图获取模块2210将获取到的第一目标卷的原始差量位图发送给卷数据获取模块2220。
卷数据获取模块2220用于根据位图获取模块2210获取的原始差量位图从第一目标卷中获取定长数据块的有效数据。比如,卷数据获取模块2220接收位图获取模块2210发送的原始差量位图,根据原始差量位图从第一目标卷中获取每个定长数据块的有效数据。卷数据获取模块2220将原始差量位图发送给位图组织模块2230,将每个定长数据块的有效数据发送给备份数据存储模块2240。
位图组织模块2230用于根据原始差量位图将包含有效数据的定长数据块对应的位图保存到定长数据块的定长卷位图文件,其中,定长卷位图文件用于标识有效数据在第一目标卷中的存储地址。
比如,位图组织模块2230接收卷数据获取模块2220发送的原始差量位图,并根据原始差量位图获取包含有效数据的定长数据块对应的位图,将包含有效数据的定长数据块对应的位图保存到定长数据块的定长卷位图文件。其中,定长卷位图文件是在预设的存储路径下的创建的,一个定长数据块对应一个定长卷位图文件,定长卷位图文件用于标识定获取的有效数据数据在生产端的第一目标卷中的存储地址。
备份数据存储模块2240用于将卷数据获取模块2220获取的定长数据块的有效数据保存到第一目标卷的定长卷文件,其中,所述定长卷文件与所述定长卷位图文件一一对应并关联保存,所述定长卷文件用于标识本次备份的有效数据。
比如,备份数据存储模块2240,接收卷数据获取模块2220发送的第一目标卷的每个定长数据块的有效数据,并将每个定长数据块的有效数据保存到每个定长数据块对应的定长卷文件中。其中,定长卷文件预先创建于预设的存储路径,一个定长数据块对应一个定长卷文件,一个定长卷文件对应一个定长卷位图文件,每个定长卷文件和各自对应的定长卷位图文件关联保存,定长卷文件用于标识本次备份的有效数据。
在本实施方式中,服务器是按存储地址从低到高的顺序依次获取每个定长数据块的有效数据,将每个包含有效数据的定长数据块对应的位图依次保存到定长数据块的定长卷位图文件,以及依次将获取到的定长数据块的有效数据保存到定长数据块对应的定长卷文件中。
在其他实施方式中也可以按存储地址从高到低的顺序依次获取每个定长数据块的有效数据,将每个包含有效数据的定长数据块对应的位图依次保存到定长数据块的定长卷位图文件,以及依次将获取到的定长数据块的有效数据保存到定长数据块对应的定长卷文件中。或者,或者以定长数据块为基本单位,随机任意获取定长数据块的有效数据以及包含有效数据的定长数据块对应的位图,此处不做限制。只要保证获取的每个定长数据块的有效数据的存储地址和获取的包含有效数据的定长数据块对应的位图的存储地址一一对应即可。
可以理解的是,在预设的存储路径下的创建的定长卷文件和定长卷位图文件的存储目录可以相同,也可以不同,此处不做限制。
请参阅图23,图23是本申请数据备份装置另一实施方式的结构示意图。本申请的数据备份装置可以为服务器,本实施方式的数据备份装置的各模块用于执行图19所示的数据备份方法中相应的步骤,具体请参阅图19对应的方法实施中的相关描述,此处不赘述。与上一实施方式的不同之处在于,本实施方式的数据备份装置还包括卷映射文件生成模块2350。
卷映射文件生成模块2250用于根据定长卷文件保存第一目标卷的卷映射文件,其中,卷映射文件至少包括定长卷文件的名称以及存储路径,卷映射文件用于标识每个定长卷文件的存储位置。
比如,卷映射文件生成模块2250接收备份数据存储模块2240发送的定长卷文件的名称,并将定长卷文件的名称以及定长卷文件的存储路径关联保存到预先创建于预设的存储路径的第一目标卷的卷映射文件。其中,每次备份中第一目标卷对应的卷映射文件不同,卷映射文件预先创建于预设的存储路径,卷映射文件至少包括定长卷文件的名称以及存储路径,卷映射文件用于标识每个定长卷文件的存储位置。
可选地,卷映射文件还包括与定长卷文件对应的定长卷位图文件的名称。其中,定长卷文件的名称、定长卷文件的存储路径以及定长卷位图文件的名称一一对应并关联保存,定长卷文件的名称用于查找定长卷文件的名称对应的定长卷文件,定长卷文件的存储路径用于标识定长卷文件的存储位置,定长卷位图文件的名称查找定长卷位图文件的名称对应的定长卷位图文件。
比如,卷映射文件生成模块2250还接收位图组织模块2230发送的定长卷位图文件的名称,并将定长卷文件的名称、定长卷文件的存储路径以及定长卷位图文件关联保存到预先创建于预设的存储路径的第一目标卷的卷映射文件。
上述方案,服务器从生产端获取第一目标卷的原始差量位图,根据获取到的原始差量位图从第一目标卷中获取每个定长数据块的有效数据,以及将包含有效数据的定长数据块对应的位图保存到第一目标卷的定长卷位图文件,并将定长数据块的有效数据保存到第一目标卷的定长卷文件。由于不需要传输无效数据,能够减少生产端和服务器之间的数据传输量,提高备份速度,使服务器节省存储空间。
此外,卷映射文件标识了每个定长卷文件的存储地址,以便于在服务器将第一目标卷的卷数据恢复到生产端时,能够快速获取第一目标卷的定长卷文件、定长卷文件的存储地址以及定长卷文件对应的定长卷位图文件,能够根据定长卷文件的存储地址获取定长卷文件的数据。
请继续参阅图23,在另一中实施方式中,本实施方式的数据备份装置的各模块用于执行图20所示的数据备份方法中相应的步骤,具体请参阅图20对应的方法实施中的相关描述,此处不赘述。
本实施方式的数据备份装置包括位图获取模块2310、卷数据获取模块2320、位图组织模块2330、备份数据存储模块2340以及卷映射文件生成模块2350。
位图获取模块2310用于当备份服务器对生产端进行第一次备份时,从生产端获取第一目标卷的原始差量位图,其中,第一目标卷为待备份卷,原始差量位图为第一目标卷的所有定长数据块的原始差量位图。比如,位图获取模块2310从生产端获取第一目标卷的原始差量位图,其中,生产端为待备份的虚拟机或物理服务器,第一目标卷为待备份卷,原始差量位图为第一目标卷的所有定长数据块的原始差量位图。
位图获取模块2310还用于当备份服务器对生产端进行第N(N≥2)次备份时,从生产端获取第一目标卷的增量位图,增量位图为第一目标卷中发生改变的定长数据块的差量位图。
位图获取模块2310将第一次备份时获取到的第一目标卷的原始差量位图,以及第N(N≥2)次备份时获取到的第一目标卷的增量位图发送给卷数据获取模块2320。
卷数据获取模块2320用于在第一次备份时,根据位图获取模块2310获取的原始差量位图从第一目标卷中获取定长数据块的有效数据。比如,在第一次备份时,卷数据获取模块2320接收位图获取模块2310发送的第一目标卷的原始差量位图,根据原始差量位图从第一目标卷中获取每个定长数据块的有效数据。
卷数据获取模块2320还用于在第N(N≥2)次备份时,根据位图获取模块2310获取的增量位图从第一目标卷中获取发生改变的定长数据块的有效数据。比如,在第N(N≥2)次备份时,卷数据获取模块2320接收位图获取模块2310发送的第一目标卷的增量位图,根据增量位图从第一目标卷中获取发生改变的定长数据块的有效数据。
卷数据获取模块2320在第一次备份时将原始差量位图发送给位图组织模块2330,将每个定长数据块的有效数据发送给备份数据存储模块2340;卷数据获取模块2320还在第N(N≥2)次备份时,将增量位图发送给位图组织模块2330,将发生改变的定长数据块的有效数据发送给备份数据存储模块2340。
位图组织模块2330用于在第一次备份时,根据原始差量位图将包含有效数据的定长数据块对应的位图保存到定长数据块的定长卷位图文件,其中,定长卷位图文件用于标识有效数据在第一目标卷中的存储地址。
比如,位图组织模块2330在第一次备份时,接收卷数据获取模块2320发送的原始差量位图,并根据原始差量位图获取包含有效数据的定长数据块对应的位图,将包含有效数据的定长数据块对应的位图保存到定长数据块的定长卷位图文件。其中,定长卷位图文件是在预设的存储路径下的创建的,一个定长数据块对应一个定长卷位图文件,定长卷位图文件用于标识定获取的有效数据数据在生产端的第一目标卷中的存储地址。
位图组织模块2330还用于在第N(N≥2)次备份时,根据增量位图将包含有效数据的定长数据块对应的位图保存到定长数据块的当前的定长卷位图文件中。比如,位图组织模块2330在第N(N≥2)次备份时,接收卷数据获取模块2320发送的增量位图,根据增量位图将包含有效数据的定长数据块对应的位图保存到定长数据块的当前的定长卷位图文件中。
位图组织模块2330在第一次备份时,将定长卷位图文件的名称发送给卷映射文件生成模块2350;在第N(N≥2)次备份时,将包含有效数据的定长数据块对应的位图发送给备份数据存储模块2340,以及当前的定长卷位图文件的名称发送给卷映射文件生成模块2350。
备份数据存储模块2340用于在第一次备份时,将卷数据获取模块2320获取的定长数据块的有效数据保存到第一目标卷的定长卷文件,其中,定长卷文件与定长卷位图文件一一对应并关联保存,定长卷文件用于标识本次备份的有效数据。
比如,备份数据存储模块2340,接收卷数据获取模块2320发送的第一目标卷的每个定长数据块的有效数据,并将每个定长数据块的有效数据保存到每个定长数据块对应的定长卷文件中。其中,定长卷文件预先创建于预设的存储路径,一个定长数据块对应一个定长卷文件,一个定长卷文件对应一个定长卷位图文件,每个定长卷文件和各自对应的定长卷位图文件关联保存,定长卷文件用于标识本次备份的有效数据。
备份数据存储模块2350还用于在将定长数据块的有效数据保存到定长数据块的当前的定长卷文件中。比如,备份数据存储模块2350还用于第N(N≥2)次备份时,接收位图组织模块2330包含有效数据的定长数据块对应的位图,并根据包含有效数据的定长数据块对应的位图,将定长数据块的有效数据保存到定长数据块的当前的定长卷文件中。
备份数据存储模块2350将第一次备份的定长卷文件的名称以及将第N(N≥2)次备份的当前的定长卷文件的名称发送给卷映射文件生成模块2350。
卷映射文件生成模块2350用于在第一次备份时,根据定长卷文件保存第一目标卷的卷映射文件,其中,卷映射文件至少包括定长卷文件的名称以及存储路径,卷映射文件用于标识每个定长卷文件的存储位置。
比如,卷映射文件生成模块2350在第一次备份时,接收备份数据存储模块2340发送的定长卷文件的名称,并将定长卷文件的名称以及定长卷文件的存储路径关联保存到预先创建于预设的存储路径的第一目标卷的卷映射文件。其中,每次备份中第一目标卷对应的卷映射文件不同,卷映射文件预先创建于预设的存储路径,卷映射文件至少包括定长卷文件的名称以及存储路径,卷映射文件用于标识每个定长卷文件的存储位置。
卷映射文件生成模块2350还用于在第N(N≥2)次备份时,根据当前的定长卷文件第一目标卷的卷映射文件。比如,卷映射文件生成模块2350在第N(N≥2)次备份时,接收备份数据存储模块2340发送的当前的定长卷文件的名称,并将定长卷文件的名称以及定长卷文件的存储路径关联保存到预先创建于预设的存储路径的第一目标卷的卷映射文件。
可选地,卷映射文件还包括与定长卷文件对应的定长卷位图文件的名称。其中,定长卷文件的名称、定长卷文件的存储路径以及定长卷位图文件的名称一一对应并关联保存,定长卷文件的名称用于查找定长卷文件的名称对应的定长卷文件,定长卷文件的存储路径用于标识定长卷文件的存储位置,定长卷位图文件的名称查找定长卷位图文件的名称对应的定长卷位图文件。
比如,卷映射文件生成模块2350还接收位图组织模块2330发送的定长卷位图文件,并将定长卷文件的名称、定长卷文件的存储路径以及定长卷位图文件关联保存到预先创建于预设的存储路径的第一目标卷的卷映射文件。
在本实施方式中,服务器是按存储地址从低到高的顺序依次获取每个定长数据块的有效数据,将每个包含有效数据的定长数据块对应的位图依次保存到定长数据块的定长卷位图文件,以及依次将获取到的定长数据块的有效数据保存到定长数据块对应的定长卷文件中。
在其他实施方式中也可以按存储地址从高到低的顺序依次获取每个定长数据块的有效数据,将每个包含有效数据的定长数据块对应的位图依次保存到定长数据块的定长卷位图文件,以及依次将获取到的定长数据块的有效数据保存到定长数据块对应的定长卷文件中。或者,或者以定长数据块为基本单位,随机任意获取定长数据块的有效数据以及包含有效数据的定长数据块对应的位图,此处不做限制。只要保证获取的每个定长数据块的有效数据的存储地址和获取的包含有效数据的定长数据块对应的位图的存储地址一一对应即可。
可以理解的是,在预设的存储路径下的创建的定长卷文件和定长卷位图文件的存储目录可以相同,也可以不同,此处不做限制。
上述方案,服务器对第一目标卷进行备份时,只备份第一目标卷中的有效数据。当定长数据块中的有效数据的大小小于定长数据块的定长大小时,由于只备份有效数据,能够减少生产端和服务器之间的数据传输量,提高备份速度。当生产端中的第一目标卷是精简配置卷时,由于服务器不会对生产端还未分配的存储空间进行备份,能够提高备份速度,使服务器节省存储空间。
此外,卷映射文件标识了每个定长卷文件的存储地址,以便于在服务器将第一目标卷的卷数据恢复到生产端时,能够快速获取第一目标卷的定长卷文件、定长卷文件的存储地址以及定长卷文件对应的定长卷位图文件,能够根据定长卷文件的存储地址获取定长卷文件的数据。
请参阅图24,图24是本申请数据恢复装置一实施方式的结构示意图。数据恢复装置可以为服务器。其中,本实施方式中的数据恢复装置和上述实施方式中的数据备份装置可以是集成在一起的,也可以单独存在。本实施方式中数据恢复装置的各模块用于分别执行图21的恢复方法中相应的步骤。本实施方式的数据恢复装置包括获取模块2410以及恢复模块2420。
获取模块2410用于获取第一目标卷的定长卷文件以及定长卷位图文件,其中,第一目标卷为待恢复卷,第一目标卷包括多个定长卷文件,定长卷文件用于标识需要存储的有效数据,一个定长卷文件对应一个定长卷位图文件,定长卷位图文件用于标识有效数据在生产端的存储地址。
比如,获取模块2410从本地获取第一目标卷的定长卷文件以及定长卷位图文件。其中,第一目标卷为待恢复卷,第一目标卷包括多个定长卷文件,定长卷文件与定长卷位图文件一一对应并关联保存,定长卷文件用于标识需要存储的有效数据,定长卷位图文件用于标识有效数据在生产端的存储地址。获取模块2410将获取到的第一目标卷的定长卷文件以及定长卷位图文件发送给恢复模块2420。
恢复模块2420用于根据定长卷文件以及定长卷位图文件,将定长卷文件中的数据恢复到生产端中定长卷位图文件标识的存储地址,其中,生产端为待备份的虚拟机或物理服务器。
比如,恢复模块2420接收第一目标卷的定长卷文件以及定长卷位图文件,根据每个定长卷位图文件将每个定长卷位图文件各自对应的定长卷文件中的数据恢复到生产端中定长卷位图文件标识的存储地址,其中,生产端为待备份的虚拟机或物理服务器。其中,存储地址为生产端为每个定长卷位图文件各自对应的定长卷分配的存储地址。
在另一种实施方式中,获取模块2410具体用于从第一目标卷的卷映射文件中获得定长卷文件以及定长卷位图文件,卷映射文件至少包括第一目标卷的定长数据块的定长卷文件的名称以及定长卷文件的存储路径,每个定长卷文件和各自对应的定长卷位图文件关联保存。卷映射文件用于指引获取模块2410查找每个定长数据块对应的定长卷文件、以及每个定长数据块对应的定长卷文件对应的定长卷位图文件。
比如,获取模块2410从本地获取第一目标卷的卷映射文件,从卷映射文件中分别获取第一目标卷的定长卷文件的名称、定长卷文件的存储地址。获取模块2410通过定长卷文件的名称、定长卷文件的存储路径查找与该名称对应的第一定长卷文件,以及该定长卷文件关联保存的定长卷位图文件。获取模块2410将获取到的第一目标卷的定长卷文件以及定长卷位图文件发送给恢复模块2420,以使恢复模块2420根据第一目标卷的定长卷文件以及定长卷位图文件将第一目标卷的卷数据恢复到生产端。
可选地,卷映射文件还包括与定长卷文件对应的定长卷位图文件的名称。比如,获取模块2410可从卷映射文件直接获取关联的定长卷文件的名称、定长卷文件的存储地址以及定长卷位图文件的名称。
比如,获取模块2410从本地获取第一目标卷的卷映射文件,获取模块2410可从卷映射文件直接获取关联保存的定长卷文件的名称、定长卷文件的存储路径以及定长卷位图文件的名称,通过定长卷文件的名称、定长卷文件的存储路径查找与该名称对应的第一定长卷文件,并定长卷位图文件的名称查找与该名称对应的第一定长卷位图文件。
获取模块2410将获取到的第一目标卷的定长卷文件以及定长卷位图文件发送给恢复模块2420,以使恢复模块2420根据第一目标卷的定长卷文件以及定长卷位图文件将第一目标卷的卷数据恢复到生产端。
上述方案,服务器将存储在本地的第一目标卷的卷数据恢复到生产端时,由于只需要恢复第一目标卷中的有效数据,能够提高恢复速度。当生产端中的第一目标卷是精简配置卷时,不会导致恢复无效数据而需要分配存储空间,能够使生产端节省存储空间。
请参阅图25,图25是本申请数据备份装置又一实施方式的结构示意图。数据备份装置可以为服务器,本实施方式的数据备份装置包括:接收器2510、处理器2520、发送器2530、只读存储器2540、随机存取存储器2550以及总线2560。
接收器2510用于接收数据。
处理器2520控制数据备份装置的操作,处理器2520还可以称为CPU(CentralProcessing Unit,中央处理单元)。处理器72520可能是一种集成电路芯片,具有信号的处理能力。处理器2520还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
发送器2530用于发送数据。
存储器可以包括只读存储器2540和随机存取存储器2550,并向处理器2520提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器(NVRAM)。
数据备份装置的各个组件通过总线2560耦合在一起,其中总线2560除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线2560。
存储器存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
操作指令:包括各种操作指令,用于实现各种操作。
操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
在本发明实施例中,处理器2520通过调用存储器存储的操作指令(该操作指令可存储在操作系统中),执行如下操作:
处理器2520用于从生产端获取第一目标卷的原始差量位图,其中,所述第一目标卷为待备份卷,所述原始差量位图为第一目标卷的所有定长数据块的原始差量位图。
处理器2520根据获取的所述原始差量位图将包含有效数据的定长数据块对应的位图保存到所述第一目标卷的定长卷位图文件,其中,,所述定长卷位图文件用于标识所述有效数据在所述第一目标卷中的存储地址。
处理器2520用于将所述卷数据获取模块获取的所述定长数据块的有效数据保存到所述第一目标卷的定长卷文件,其中,所述定长卷文件与所述定长卷位图文件一一对应并关联保存,所述定长卷文件用于保存本次备份的有效数据。
可选地,处理器2520还用于根据所述定长卷文件保存所述第一目标卷的卷映射文件,其中所述卷映射文件至少包括所述第一目标卷的定长数据块的定长卷文件的名称以及定长卷文件的存储路径。
可选地,处理器2520还用于从生产端获取所述第一目标卷的增量位图,所述增量位图为所述第一目标卷中发生改变的定长数据块的差量位图。
处理器2520还用于根据所述增量位图从所述第一目标卷中获取发生改变的定长数据块的有效数据。
处理器2520还用于根据所述增量位图将包含有效数据的定长数据块对应的位图保存到所述定长数据块的当前的定长卷位图文件中。
处理器2520还用于将所述定长数据块的有效数据保存到所述定长数据块的当前的定长卷文件中。
可选地,卷映射文件还包括与所述定长卷文件对应的定长卷位图文件的名称。
上述方案,服务器对第一目标卷进行备份时,只备份第一目标卷中的有效数据。当定长数据块中的有效数据的大小小于定长数据块的定长大小时,由于只备份有效数据,能够减少生产端和服务器之间的数据传输量,提高备份速度。当生产端中的第一目标卷是精简配置卷时,由于服务器不会对生产端还未分配的存储空间进行备份,能够提高备份速度,使服务器节省存储空间。
此外,卷映射文件标识了每个定长卷文件的存储地址,以便于在服务器将第一目标卷的卷数据恢复到生产端时,能够快速获取第一目标卷的定长卷文件、定长卷文件的存储地址以及定长卷文件对应的定长卷位图文件,能够根据定长卷文件的存储地址获取定长卷文件的数据。
请参阅图26,图26是本申请数据恢复装置另一实施方式的结构示意图。数据恢复装置可以是服务器。本实施方式中的数据恢复装置和图25所示的数据备份装置可以是集成为一个整体,也可以是单独存在。本实施方式的数据恢复装置包括:接收器2610、处理器2620、发送器2630、只读存储器2640、随机存取存储器2650以及总线2660。
接收器2610用于数据。
处理器2620控制数据恢复装置的操作,处理器2620还可以称为CPU(CentralProcessing Unit,中央处理单元)。处理器2620可能是一种集成电路芯片,具有信号的处理能力。处理器2620还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
发送器2630用于发送数据。
存储器可以包括只读存储器2640和随机存取存储器2650,并向处理器2620提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器(NVRAM)。
数据恢复装置的各个组件通过总线2660耦合在一起,其中总线2660除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线2660。
存储器存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
操作指令:包括各种操作指令,用于实现各种操作。
操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
在本发明实施例中,处理器2620通过调用存储器存储的操作指令(该操作指令可存储在操作系统中),执行如下操作:
处理器2620用于获取第一目标卷的定长卷文件以及定长卷位图文件,其中,所述第一目标卷为待恢复卷,所述第一目标卷包括多个定长卷文件,所述定长卷文件与所述定长卷位图文件一一对应并关联保存,所述定长卷文件用于标识需要存储的有效数据,所述定长卷位图文件用于标识所述有效数据在生产端中的存储地址。
处理器2620用于根据所述定长卷文件以及所述定长卷位图文件,将所述定长卷文件中的数据恢复到生产端中所述定长卷位图文件标识的存储地址。
可选地,处理器2620具体根据所述第一目标卷的卷映射文件获取所述定长卷文件以及定长卷位图文件,所述卷映射文件至少包括所述第一目标卷的定长数据块的定长卷文件的名称以及定长卷文件的存储路径,每个定长卷文件和各自对应的定长卷位图文件关联保存。
可选地,所述卷映射文件还包括与所述定长卷文件对应的定长卷位图文件的名称。
上述方案,服务器将存储在本地的第一目标卷的卷数据恢复到生产端时,由于只需要恢复第一目标卷中的有效数据,能够提高恢复速度。当生产端中的第一目标卷是精简配置卷时,不会导致恢复无效数据而需要分配存储空间,能够使生产端节省存储空间。
以上描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施方式中也可以实现本申请。在其它情况中,省略对众所周知的装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
Claims (15)
1.一种数据备份方法,其特征在于,所述方法包括如下步骤:
备份服务器从生产端获取第一目标卷的原始差量位图,其中,所述第一目标卷为待备份卷,所述原始差量位图为第一目标卷的所有定长数据块的原始差量位图;
根据所述原始差量位图从所述第一目标卷中获取定长数据块的有效数据;
根据所述原始差量位图将包含有效数据的定长数据块对应的位图保存到所述定长数据块的定长卷位图文件,其中,所述定长卷位图文件用于标识所述有效数据在所述第一目标卷中的存储地址;
将所述定长数据块的有效数据保存到所述定长数据块的定长卷文件,其中,所述定长卷文件与所述定长卷位图文件一一对应并关联保存,所述定长卷文件用于保存本次备份的有效数据;
其中,所述原始差量位图中包括有效数据标识和无效数据标识,所述有效数据标识用于标识所述第一目标卷中的所述存储地址对应的存储区域的数据为有效数据,所述无效数据标识用于标识所述第一目标卷中的所述存储地址对应的存储区域的数据为无效数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述定长卷文件保存所述第一目标卷的卷映射文件,其中,所述卷映射文件至少包括所述第一目标卷的定长数据块的定长卷文件的名称以及定长卷文件的存储路径。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述备份服务器从生产端获取所述第一目标卷的增量位图,所述增量位图为所述第一目标卷中发生改变的定长数据块的差量位图;
根据所述增量位图从所述第一目标卷中获取发生改变的定长数据块的有效数据;
根据所述增量位图将包含有效数据的定长数据块对应的位图保存到所述定长数据块的定长卷位图文件中;
将所述定长数据块的有效数据保存到所述定长数据块的当前的定长卷文件中。
4.根据权利要求2所述的方法,其特征在于,所述卷映射文件还包括与所述定长卷文件对应的定长卷位图文件的名称。
5.一种数据恢复方法,其特征在于,所述方法包括如下步骤:
备份服务器获取第一目标卷的定长卷文件以及定长卷位图文件,其中,所述第一目标卷为待恢复卷,所述第一目标卷包括多个定长卷文件,所述定长卷文件与所述定长卷位图文件一一对应并关联保存,所述定长卷文件用于标识需要存储的有效数据,所述定长卷位图文件用于标识所述有效数据在生产端中的存储地址;
根据所述定长卷文件以及所述定长卷位图文件,将所述定长卷文件中的数据恢复到生产端中所述定长卷位图文件标识的存储地址。
6.根据权利要求5所述的方法,其特征在于,所述定长卷文件以及定长卷位图文件是根据所述第一目标卷的卷映射文件获得,所述卷映射文件至少包括所述第一目标卷的定长数据块的定长卷文件的名称以及定长卷文件的存储路径。
7.根据权利要求6所述的方法,其特征在于,所述卷映射文件还包括与所述定长卷文件对应的定长卷位图文件的名称。
8.一种数据备份装置,其特征在于,所述装置包括位图获取模块、卷数据获取模块、位图组织模块、备份数据存储模块;
所述位图获取模块用于从生产端获取第一目标卷的原始差量位图,其中所述第一目标卷为待备份卷,所述原始差量位图为第一目标卷的所有定长数据块的原始差量位图;
所述卷数据获取模块用于根据所述位图获取模块获取的所述原始差量位图从所述第一目标卷中获取定长数据块的有效数据;
所述位图组织模块用于根据所述原始差量位图将包含有效数据的定长数据块对应的位图保存到所述定长数据块的定长卷位图文件,其中,所述定长卷位图文件用于标识所述有效数据在所述第一目标卷中存储地址;
所述备份数据存储模块用于将所述卷数据获取模块获取的所述定长数据块的有效数据保存到所述定长数据块的定长卷文件,其中,所述定长卷文件与所述定长卷位图文件一一对应并关联保存,所述定长卷文件用于标识本次备份的有效数据;
其中,所述原始差量位图中包括有效数据标识和无效数据标识,所述有效数据标识用于标识所述第一目标卷中的所述存储地址对应的存储区域的数据为有效数据,所述无效数据标识用于标识所述第一目标卷中的所述存储地址对应的存储区域的数据为无效数据。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括卷映射文件生成模块,所述卷映射文件生成模块用于根据所述定长卷文件保存所述第一目标卷的卷映射文件,其中,所述卷映射文件至少包括所述第一目标卷的定长数据块的定长卷文件的名称以及定长卷文件的存储路径。
10.根据权利要求8或9任一项所述的装置,其特征在于,所述位图获取模块还用于从生产端获取所述第一目标卷的增量位图,所述增量位图为所述第一目标卷中发生改变的定长数据块的差量位图;
所述卷数据获取模块还用于根据所述增量位图从所述第一目标卷中获取发生改变的定长数据块的有效数据;
所述位图组织模块还用于根据所述增量位图将包含有效数据的定长数据块对应的位图保存到所述定长数据块的当前的定长卷位图文件中;
所述备份数据存储模块用于将所述定长数据块的有效数据保存到所述定长数据块的当前的定长卷文件中。
11.根据权利要求9所述的装置,其特征在于,所述卷映射文件还包括与所述定长卷文件对应的定长卷位图文件的名称。
12.一种数据恢复装置,其特征在于,所述装置包括获取模块、恢复模块;
所述获取模块用于获取第一目标卷的定长卷文件以及定长卷位图文件,其中,所述第一目标卷为待恢复卷,所述第一目标卷包括多个定长卷文件,所述定长卷文件与所述定长卷位图文件一一对应并关联保存,所述定长卷文件用于标识需要存储的有效数据,所述定长卷位图文件用于标识所述有效数据在生产端中的存储地址;
所述恢复模块用于根据所述定长卷文件以及所述定长卷位图文件,将所述定长卷文件中的数据恢复到生产端中所述定长卷位图文件标识的存储地址。
13.根据权利要求12所述的装置,其特征在于,所述获取模块具体用于根据所述第一目标卷的卷映射文件获取所述定长卷文件以及定长卷位图文件,所述卷映射文件至少包括所述第一目标卷的定长数据块的定长卷文件的名称以及定长卷文件的存储路径。
14.根据权利要求13所述的装置,其特征在于,所述卷映射文件还包括与所述定长卷文件对应的定长卷位图文件的名称。
15.一种用于数据备份、恢复的服务器,其特征在于,所述服务器包括权利要求8-11任一项所述的数据备份装置、权利要求12-14中任一项所述的数据恢复装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410810797.1A CN104506619B (zh) | 2014-12-22 | 2014-12-22 | 一种数据备份、恢复方法及其装置、服务器 |
EP15871887.4A EP3188020B1 (en) | 2014-12-22 | 2015-12-15 | Data backup and recovery method, device and server thereof |
PCT/CN2015/097511 WO2016101819A1 (zh) | 2014-12-22 | 2015-12-15 | 一种数据备份、恢复方法及其装置、服务器 |
US15/479,696 US10082982B2 (en) | 2014-12-22 | 2017-04-05 | Data backup method and apparatus, data restoration method and apparatus, and server |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410810797.1A CN104506619B (zh) | 2014-12-22 | 2014-12-22 | 一种数据备份、恢复方法及其装置、服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104506619A CN104506619A (zh) | 2015-04-08 |
CN104506619B true CN104506619B (zh) | 2018-06-05 |
Family
ID=52948334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410810797.1A Active CN104506619B (zh) | 2014-12-22 | 2014-12-22 | 一种数据备份、恢复方法及其装置、服务器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10082982B2 (zh) |
EP (1) | EP3188020B1 (zh) |
CN (1) | CN104506619B (zh) |
WO (1) | WO2016101819A1 (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104506619B (zh) | 2014-12-22 | 2018-06-05 | 华为技术有限公司 | 一种数据备份、恢复方法及其装置、服务器 |
CN107135662B (zh) * | 2015-12-28 | 2020-01-03 | 华为技术有限公司 | 一种差异数据备份方法、存储系统和差异数据备份装置 |
CN105893184B (zh) * | 2016-03-30 | 2019-03-15 | 新华三技术有限公司 | 一种增量备份方法及装置 |
CN106294003A (zh) * | 2016-07-26 | 2017-01-04 | 广东欧珀移动通信有限公司 | 数据备份方法、数据备份系统和终端 |
CN106598774A (zh) * | 2016-10-13 | 2017-04-26 | 深信服网络科技(深圳)有限公司 | 虚拟机的备份还原方法及装置 |
CN106815096A (zh) * | 2016-12-19 | 2017-06-09 | 汪海军 | 一种数据管理方法与装置 |
CN106802840A (zh) * | 2017-01-19 | 2017-06-06 | 郑州云海信息技术有限公司 | 一种虚拟机备份、恢复方法及装置 |
CN107423162A (zh) * | 2017-04-25 | 2017-12-01 | 北京邮电大学 | 灾备系统与源系统间数据的同步方法及装置 |
WO2019061040A1 (zh) * | 2017-09-26 | 2019-04-04 | 华为技术有限公司 | 一种文件管理方法及装置 |
CN108681494B (zh) * | 2018-05-21 | 2021-03-26 | 深圳市科力锐科技有限公司 | 备份数据还原方法、装置、用户设备及存储介质 |
CN109032840A (zh) * | 2018-07-02 | 2018-12-18 | 国网山东省电力公司信息通信公司 | 一种数据管理方法及装置 |
CN109062516B (zh) * | 2018-09-14 | 2020-08-25 | 成都云祺科技有限公司 | 一种windows虚拟机备份过程中无效数据排除方法 |
CN109597571B (zh) * | 2018-11-15 | 2022-02-15 | 金蝶软件(中国)有限公司 | 数据存储方法、数据读取方法、装置和计算机设备 |
CN111338843B (zh) * | 2018-12-19 | 2023-08-15 | 中国移动通信集团云南有限公司 | 一种生产系统的数据备份方法及装置 |
CN110163241B (zh) * | 2019-03-18 | 2022-12-30 | 腾讯科技(深圳)有限公司 | 数据样本生成方法、装置、计算机设备及存储介质 |
CN110532108B (zh) * | 2019-08-15 | 2022-10-11 | 北京拉勾网络技术有限公司 | 简历投递任务的处理方法、装置、服务器和系统 |
CN111328257B (zh) * | 2020-03-11 | 2022-03-22 | 广东省电信规划设计院有限公司 | 一种上下位机的数据同步方法及装置 |
CN111611110A (zh) * | 2020-06-30 | 2020-09-01 | 上海爱数信息技术股份有限公司 | 基于FusionCompute平台的差异恢复方法及差异恢复装置 |
KR20220073017A (ko) * | 2020-11-26 | 2022-06-03 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
CN112416879B (zh) * | 2020-12-09 | 2023-08-04 | 成都傲梅科技有限公司 | 一种基于ntfs文件系统的块级数据去重方法 |
CN113066431B (zh) * | 2021-03-09 | 2022-03-18 | 昀光微电子(上海)有限公司 | 一种数据传输设备、方法 |
CN113064760B (zh) * | 2021-04-06 | 2022-02-15 | 广州鼎甲计算机科技有限公司 | 数据库合成备份方法、装置、计算机设备和存储介质 |
US20240126468A1 (en) * | 2022-10-12 | 2024-04-18 | Samsung Electronics Co., Ltd. | Communicating information for performing a live migration using recursive large-to-small-granularity querying |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101814044A (zh) * | 2010-04-19 | 2010-08-25 | 中兴通讯股份有限公司 | 元数据处理方法及装置 |
CN103019888A (zh) * | 2012-12-21 | 2013-04-03 | 华为技术有限公司 | 备份方法与装置 |
CN103365745A (zh) * | 2013-06-07 | 2013-10-23 | 上海爱数软件有限公司 | 一种基于内容地址存储的块级备份方法及系统 |
CN103902407A (zh) * | 2012-12-31 | 2014-07-02 | 华为技术有限公司 | 一种虚拟机恢复方法及服务器 |
CN104166606A (zh) * | 2014-08-29 | 2014-11-26 | 华为技术有限公司 | 文件备份方法和主存储设备 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005292865A (ja) * | 2004-03-31 | 2005-10-20 | Hitachi Ltd | ストレージシステム及びストレージシステムのバックアップ方法 |
JP5156518B2 (ja) * | 2008-07-23 | 2013-03-06 | 株式会社日立製作所 | 記憶制御装置及び方法 |
US8117410B2 (en) * | 2008-08-25 | 2012-02-14 | Vmware, Inc. | Tracking block-level changes using snapshots |
US8615641B2 (en) * | 2009-05-06 | 2013-12-24 | Hewlett-Packard Development Company, L.P. | System and method for differential backup |
US8281093B1 (en) * | 2009-11-30 | 2012-10-02 | Symantec Corporation | Systems and methods for creating consolidated backups of snapshot hierarchies |
US8738883B2 (en) * | 2011-01-19 | 2014-05-27 | Quantum Corporation | Snapshot creation from block lists |
CN103064760B (zh) | 2012-12-19 | 2015-08-05 | 华为技术有限公司 | 备份方法和备份装置 |
CN103699585B (zh) | 2013-12-06 | 2017-04-19 | 华为技术有限公司 | 文件的元数据存储以及文件恢复的方法、装置和系统 |
CN104506619B (zh) * | 2014-12-22 | 2018-06-05 | 华为技术有限公司 | 一种数据备份、恢复方法及其装置、服务器 |
-
2014
- 2014-12-22 CN CN201410810797.1A patent/CN104506619B/zh active Active
-
2015
- 2015-12-15 EP EP15871887.4A patent/EP3188020B1/en active Active
- 2015-12-15 WO PCT/CN2015/097511 patent/WO2016101819A1/zh active Application Filing
-
2017
- 2017-04-05 US US15/479,696 patent/US10082982B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101814044A (zh) * | 2010-04-19 | 2010-08-25 | 中兴通讯股份有限公司 | 元数据处理方法及装置 |
CN103019888A (zh) * | 2012-12-21 | 2013-04-03 | 华为技术有限公司 | 备份方法与装置 |
CN103902407A (zh) * | 2012-12-31 | 2014-07-02 | 华为技术有限公司 | 一种虚拟机恢复方法及服务器 |
CN103365745A (zh) * | 2013-06-07 | 2013-10-23 | 上海爱数软件有限公司 | 一种基于内容地址存储的块级备份方法及系统 |
CN104166606A (zh) * | 2014-08-29 | 2014-11-26 | 华为技术有限公司 | 文件备份方法和主存储设备 |
Also Published As
Publication number | Publication date |
---|---|
EP3188020A4 (en) | 2017-12-13 |
US20170206019A1 (en) | 2017-07-20 |
EP3188020A1 (en) | 2017-07-05 |
EP3188020B1 (en) | 2019-09-25 |
CN104506619A (zh) | 2015-04-08 |
WO2016101819A1 (zh) | 2016-06-30 |
US10082982B2 (en) | 2018-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104506619B (zh) | 一种数据备份、恢复方法及其装置、服务器 | |
CN104461390B (zh) | 将数据写入叠瓦状磁记录smr硬盘的方法及装置 | |
CN104166606B (zh) | 文件备份方法和主存储设备 | |
WO2007103141A3 (en) | Method and apparatus for providing virtual machine backup | |
CN105630955B (zh) | 一种高效动态的数据集合成员管理方法 | |
CN103442090B (zh) | 一种数据分散存储的云计算系统 | |
CN109492049B (zh) | 用于区块链网络的数据处理、区块生成及同步方法 | |
WO2012063755A1 (ja) | 分散アーカイブシステム並びにデータアーカイブ装置及びデータ復元装置 | |
CN104166821B (zh) | 一种数据处理的方法和装置 | |
CN106817388A (zh) | 虚拟机、宿主机获取数据的方法、装置及访问数据的系统 | |
CN108205482B (zh) | 文件挂载恢复方法 | |
CN106155833A (zh) | 一种异步远程复制的方法和装置 | |
CN106776891A (zh) | 一种文件存储的方法和装置 | |
CN108228606A (zh) | 数据的写入方法及装置 | |
CN104281505B (zh) | 数据备份方法、装置和电子设备 | |
CN104809256A (zh) | 一种数据去重方法及系统 | |
CN109426587B (zh) | 一种数据恢复方法及装置 | |
CN103092745B (zh) | 系统日志记录的控制方法和装置 | |
CN111552673B (zh) | 文件处理方法、装置、电子设备及存储介质 | |
CN105068760B (zh) | 数据存储方法、数据存储装置和存储设备 | |
CN109688176A (zh) | 一种文件同步方法及终端、网络设备、存储介质 | |
CN106034108A (zh) | 一种信道检测方法及装置 | |
CN106713041A (zh) | 会话日志的发送方法及装置 | |
US10725877B2 (en) | System, method and computer program product for performing a data protection operation | |
CN109144766A (zh) | 一种数据存储、重构方法和装置、及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |