CN110825559A - 一种数据处理方法及设备 - Google Patents
一种数据处理方法及设备 Download PDFInfo
- Publication number
- CN110825559A CN110825559A CN201810907498.8A CN201810907498A CN110825559A CN 110825559 A CN110825559 A CN 110825559A CN 201810907498 A CN201810907498 A CN 201810907498A CN 110825559 A CN110825559 A CN 110825559A
- Authority
- CN
- China
- Prior art keywords
- data
- backup
- time point
- target
- storage device
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 30
- 238000011084 recovery Methods 0.000 claims abstract description 88
- 238000012545 processing Methods 0.000 claims abstract description 76
- 238000000034 method Methods 0.000 claims abstract description 36
- 230000008569 process Effects 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 4
- 230000000717 retained effect Effects 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 10
- 230000008859 change Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 239000003795 chemical substances by application Substances 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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
-
- 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
- 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/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
Abstract
本发明实施例公开了一种数据处理方法及设备,涉及存储技术领域,能够解决日志文件可靠性较低、数据恢复效率较低的问题。该方法应用于包括至少一个备份副本的存储设备,备份副本包括变化数据块以及保留数据块的索引。该方法包括:接收主机发送的数据恢复请求,数据恢复请求包括恢复时间点;从至少一个备份副本中获取目标备份副本,目标备份副本的备份时间点与恢复时间点之间的时间差最小,并且目标备份副本的备份时间点在恢复时间点之前;获取第一时间段内的写操作日志,并根据目标备份副本和第一时间段内的写操作日志,进行数据恢复,第一时间段为从目标备份副本的备份时间点起到恢复时间点为止。
Description
技术领域
本发明实施例涉及存储技术领域,尤其涉及一种数据处理方法及设备。
背景技术
连续数据保护(Continuous Data Protection,CDP)是一种连续捕获和保存数据变化,并将变化后的数据独立于初始数据进行存储的方法,该方法可以实现过去任意时间点的数据恢复。
目前,连续数据保护的实现方式主要为基准数据参考模式。基准数据参考模式是存储设备对待保护的初始数据进行全量备份,然后,按照后续输入/输出(Input/Output,IO)请求的顺序生成相应的日志文件。后续,存储设备根据已备份的初始数据以及日志文件进行数据恢复。随着时间的流逝,日志文件的数量不断增长,占用的存储空间较大。倘若删除了与某一时间段对应的日志文件,则该时间段之后的所有数据均无法恢复。可见,日志文件的可靠性较低。当恢复时间点与当前时间点之间的时间差越小,数据恢复所需要的时间就越长,这样,数据恢复效率较低。
发明内容
本申请提供一种数据处理方法及设备,能够解决日志文件可靠性较低、数据恢复效率较低的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种数据处理方法,该数据处理方法应用于包括至少一个备份副本的存储设备,这里,备份副本包括变化数据块以及保留数据块的索引,其中,变化数据块是指相对于上一次备份发生变化的数据块,保留数据块是指相对于上一次备份未发生变化的数据块,保留数据块的索引用于指示保留数据块在上一次备份的存储地址,这里上一次备份为全量备份或增量备份。具体的,该数据处理方法为:存储设备在接收到主机发送的包括恢复时间点的数据恢复请求后,从至少一个备份副本中获取目标备份副本,该目标备份副本的备份时间点与恢复时间点之间的时间差最小,且目标备份副本的备份时间点在恢复时间点之前;该存储设备获取第一时间段(从目标备份副本的备份时间点起到恢复时间点为止的时间段)内的写操作日志,并根据目标备份副本和第一时间段内的写操作日志,进行数据恢复。
本申请中,由于备份副本包括变化数据块以及保留数据块的索引,因此,存储设备根据某一备份副本可获取到在该备份副本的备份时间点的所有备份数据。这样,即使在当前备份副本的备份时间点之前存储的写操作日志被损坏,存储设备依旧可快速的获取到在当前备份副本的备份时间点备份的所有数据,进而实现数据的恢复。可见某一备份时间点之前的写操作日志可以被删除,也就是说,本申请提供的数据处理方法有效的提高了写操作日志的可靠性。此外,存储设备可直接根据目标备份副本或者根据目标备份副本以及第一时间段内的写操作日志进行数据恢复,而无需再完全依赖于已备份的初始数据以及所有写操作日志,有效的提高了数据恢复的效率。
此外,本申请中某一时间段内的写操作日志的丢失,不会导致后续的所有数据均无法被恢复,因此,在存储设备确定某一时间段的数据无需恢复的情况下,该存储设备可删除该时间段内的写操作日志,以提高存储空间的有效利用率。
可选的,在本申请的一种可能的实现方式中,存储设备还可以接收主机发送的包括待处理数据和目标逻辑块地址(Logical Block Address,LBA)的数据处理请求,该数据处理请求用于请求在目标LBA中写入待处理数据,或者用于请求将目标LBA中的第一数据修改为待处理数据,或者用于请求删除目标LBA中的待处理数据;响应于上述数据处理请求,存储设备对目标LBA中的数据进行处理。具体的,若上述数据处理请求用于请求在目标LBA中写入待处理数据,则存储设备在目标LBA中写入待处理数据。若上述数据处理请求用于请求将目标LBA中的第一数据修改为待处理数据,则存储设备将目标LBA中的第一数据修改为待处理数据。若上述数据处理请求用于请求删除目标LBA中的待处理数据,则存储设备将目标LBA中的待处理数据删除。此外,在响应于数据处理请求,对目标LBA中的数据进行处理的同时,存储设备还记录包括目标LBA、待处理数据以及接收数据处理请求的时间点的写操作日志。
本申请的存储设备对每个数据处理请求均生成一个写数据操作日志,这样,后续存储设备可根据写数据操作日志恢复任意时间点的数据。
可选的,在本申请的另一种可能的实现方式中,本申请提供的数据处理方法还包括:在第一预设备份时间点,存储设备获取从第二预设备份时间点到第一预设备份时间点之间变化数据块以及保留数据块的索引,并存储包括获取到的变化数据块以及保留数据块的索引的备份副本。这里,第二预设备份时间点为第一预设备份时间点的前一备份时间点。这样,存储设备在每一预设备份时间点均采用该方法生成相应的备份副本,以便于存储设备根据相应的备份副本实现数据恢复。
第二方面,提供一种存储设备,该存储设备包括存储单元、接收单元、获取单元和数据恢复单元。
具体的,上述存储单元存储有至少一个备份副本,备份副本包括变化数据块以及保留数据块的索引,变化数据块为相对于上一次备份发生变化的数据块,保留数据块为相对于上一次备份未发生变化的数据块,保留数据块的索引用于指示保留数据块在上一次备份的存储地址,上一次备份为全量备份或增量备份。上述接收单元,用于接收主机发送的数据恢复请求,该数据恢复请求包括恢复时间点。上述获取单元,用于从上述存储单元存储的至少一个备份副本中获取目标备份副本,该目标备份副本的备份时间点与恢复时间点之间的时间差最小,并且目标备份副本的备份时间点在恢复时间点之前,以及用于获取第一时间段内的写操作日志,第一时间段为从目标备份副本的备份时间点起到恢复时间点为止。上述数据恢复单元,用于根据上述获取单元获取到的目标备份副本和第一时间段内的写操作日志,进行数据恢复。
可选的,在本申请的一种可能的实现方式中,上述接收单元,还用于接收主机发送的数据处理请求,数据处理请求包括待处理数据和目标LBA,该数据处理请求用于请求在目标LBA中写入待处理数据,或者用于请求将目标LBA中的第一数据修改为待处理数据,或者用于请求删除目标LBA中的待处理数据。此外,本申请的存储设备还包括数据处理单元,该数据处理单元用于响应于上述接收单元接收到的数据处理请求,对目标LBA中的数据进行处理。相应的,上述存储单元,用于记录包括目标LBA、待处理数据以及接收数据处理请求的时间点的写操作日志。
可选的,在本申请的另一种可能的实现方式中,上述获取单元,还用于在第一预设备份时间点,获取从第二预设备份时间点到第一预设备份时间点之间变化数据块以及保留数据块的索引,这里,第二预设备份时间点为第一预设备份时间点的前一备份时间点。上述存储单元,具体用于存储包括变化数据块以及保留数据块的索引的备份副本。
第三方面,提供一种存储设备,该存储设备包括:一个或多个处理器、存储器、通信接口。该存储器、通信接口与一个或多个处理器耦合;存储器用于存储计算机程序代码,计算机程序代码包括指令,当一个或多个处理器执行指令时,存储设备执行如上述第一方面及其任意一种可能的实现方式中任意之一所述的数据处理方法。
第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在上述第三方面所述的存储设备上运行时,使得所述存储设备执行如上述第一方面及其任意一种可能的实现方式中任意之一所述的数据处理方法。
第五方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在上述第三方面所述的存储设备上运行时,使得所述存储设备执行如上述第一方面及其任意一种可能的实现方式中任意之一所述的数据处理方法。
在本申请中,上述存储设备的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本申请类似,属于本申请权利要求及其等同技术的范围之内。
本申请中第二方面到第五方面及其各种实现方式的具体描述,可以参考第一方面及其各种实现方式中的详细描述;并且,第二方面到第五方面及其各种实现方式的有益效果,可以参考第一方面及其各种实现方式中的有益效果分析,此处不再赘述。
本申请的这些方面或其他方面在以下的描述中会更加简明易懂。
附图说明
图1为本发明实施例中存储系统的结构示意图;
图2为本发明实施例中主机的结构示意图;
图3A为本发明实施例中存储设备生成备份副本的流程示意图;
图3B为本发明实施例中存储设备的硬件结构示意图;
图4为本发明实施例提供的数据处理方法的流程示意图一;
图5为本发明实施例中存储设备进行数据恢复的流程示意图一;
图6为本发明实施例中存储设备进行数据恢复的流程示意图二;
图7为本发明实施例提供的数据处理方法的流程示意图二;
图8为本发明实施例中存储设备的结构示意图一;
图9为本发明实施例中存储设备的结构示意图二。
具体实施方式
本发明实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于限定特定顺序。
在本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
数据备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从主机的硬盘或阵列复制到其它的存储介质的过程。
一般的,数据备份可采用的实现方式有全量备份(full backup)或增量备份(incremental backup)。
全量备份是指对某一个时间点上的所有数据或应用进行的一次完全拷贝。这种备份方式最大的好处是拥有完整的可恢复数据,不足之处在于多个全量备份数据中有大量重复信息,而且备份所需时间较长。
增量备份是指在一次全量备份或上一次增量备份后,以后每次的备份只需备份与上一次相比增加或者被修改的数据。这种备份方式不存在重复的备份数据,因此备份的数据量不大,备份所需时间很短。
例如,存储设备中有3个数据块:数据块1、数据块2、数据块3。在第一次备份时,存储设备将数据块1、数据块2和数据块3全部进行备份。若相比于第一次备份,在第二次备份时,只有数据块2发生了变化,则存储设备只备份数据块2。
传统的数据备份技术分为手动备份和定时备份。手动备份需要人为手动触发。定时备份一般为若干小时自动备份一次。在定时备份的场景中,一旦出现了数据灾难,用户可恢复出若干小时之前的数据。在最坏的情况下,可能丢失若干小时内的数据。例如:若每天凌晨存储设备都进行一次备份,一旦出现了数据灾难,用户可以恢复到前一天的数据,因此,在最坏的情况下,可能丢失整整一天的数据。
由于传统的数据备份技术只能进行周期性的数据备份,无法实时捕捉数据的变化,因此,能解决数据不定时变化而发挥有效保护的CDP技术顺势而生。
CDP技术是一种在不影响主要数据运行的前提下,实现连续捕获或跟踪目标数据所发生的任何变化,并且能恢复到此前任意时间点的方法。CDP系统能够提供块级、文件级和应用级的备份,可以为恢复对象提供足够细的恢复粒度,实现几乎无限多的恢复时间点。在CDP系统中,数据的改变受到连续的捕获和跟踪,所有的数据改变均存储在一个与主存储不同的独立地点中,恢复时间点是任意的,且不需要在实际恢复之前事先定义恢复时间点,可以提供更快的数据检索、更强的数据保护、更高的业务连续性能力。
与传统的备份技术相比,CDP技术的总体成本和复杂性较低。
目前,CDP的实现方式主要为基准数据参考模式。基准数据参考模式是存储设备对待保护的初始数据进行全量备份,然后,按照后续IO请求的顺序生成相应的日志文件。后续,存储设备根据已备份的初始数据以及日志文件进行数据恢复。随着时间的流逝,日志文件的数量不断增长,占用的存储空间较大。倘若删除了与某一时间段对应的日志文件,则该时间段之后的所有数据均无法恢复。可见,日志文件的可靠性较低。当恢复时间点与当前时间点之间的时间差越小,数据恢复所需要的时间就越长,这样,数据恢复效率较低。此外,若已备份的初始数据被损坏,则该存储设备无法恢复数据。
针对上述问题,本发明实施例提供一种数据处理方法,存储设备在每个预设备份时间点均生成一个备份副本,并在接收到每个写数据请求后生成一个写操作日志。每个备份副本均包括相对于上一次备份发生变化的数据块(即变化数据块)以及相对于上一次备份未发生变化的数据块(即保留数据块)的索引。后续,存储设备根据与恢复时间点时间差最短的备份时间点所对应的备份副本以及相应的写操作日志进行数据恢复。备份副本与写操作日志的结合,有效的提高了写操作日志的可靠性和数据恢复的效率,降低了恢复时间目标(Recovery Time Object,RTO)。
本发明实施例提供的数据处理方法适用于存储系统。图1示出了该存储系统的结构。如图1所示,该存储系统包括主机10以及存储设备11。其中,主机10以及存储设备11可以独立设备,也可以集成于同一设备,本发明实施例对此不作具体限定。为了便于理解,本发明实施例主要以主机10以及存储设备11独立设置为例进行说明。主机10以及存储设备11之间可以采用有线方式连接,也可以采用无线方式连接以形成远程存储的系统。
容易理解的是,在实际应用中,主机10与存储设备11之间还可以存在至少一个连接设备。这里的连接设备可以包括当前技术已知的存储设备11和主机10之间的任何接口,如光纤交换机,或者其他现有的交换机。当然,存储设备11可以与至少一个主机10连接。至少一个主机10可以属于同一数据中心。
主机10可以包括当前技术已知的任何计算设备,如服务器、台式计算机等等。在主机10内部,安装有操作系统以及其他应用程序。
本发明实施例中,主机10向存储设备11发送包括待处理数据和目标LBA的数据处理请求,该数据处理请求可以用于请求在目标LBA中写入待处理数据,也可以用于请求删除目标LBA中的待处理数据,还可以用于请求将目标LBA中的第一数据修改为待处理数据。主机10也可以向存储设备11发送包括恢复时间点的数据恢复请求。
如图2所示,主机10包括备份代理101、缓存模块102、读数据模块103以及通信模块104。
备份代理101以纯软形态部署于主机10中,备份代理101用于捕获请求对受保护数据进行处理的数据处理请求,并将捕获到的数据处理请求存储于缓存模块102。
缓存模块102用于临时存储未发送至存储设备11的数据处理请求,避免了由于网络问题影响主机10的读写效率的问题。
读数据模块103用于循环读取缓存模块102中缓存的数据处理请求,并通过通信模块104向存储设备11发送读取到的数据处理请求。
在硬件实现上,上述备份代理101和读数据模块103可以是主机10的处理器或所述处理器调用缓存中的程序来实现。上述缓存模块103对应于存储器。上述通信模块104对应于通信接口。
存储设备11可以包括当前技术已知的具有快照功能的存储设备,如独立磁盘冗余阵列(Redundant Arrays of Independent Disks,RAID)、磁盘簇(Just a Bunch OfDisks,JBOD)、直接存取存储器(Direct Access Storage Device,DASD)的一个或多个互连的磁盘驱动器,诸如磁带库、一个或多个存储单元的磁带存储设备。
存储设备11能够在每一预设备份时间点,进行数据备份,以生成备份副本;也能够响应主机10下发的IO请求,例如:返回读IO请求所请求的待访问数据、写入写IO请求中待写入的数据;还能够在接收到主机10下发的数据处理请求后,生成相应的写操作日志;还能够响应主机10下发的数据恢复请求,进行数据恢复。
在执行数据备份的过程后,该存储设备11存储有至少一个备份副本以及至少一个写操作日志,每个备份副本均对应一个预设备份时间点,备份副本包括变化数据块,以及保留数据块的索引。其中,变化数据块为相对于上一次备份发生变化的数据块,保留数据块为相对于上一次备份未发生变化的数据块,保留数据块的索引用于指示保留数据块在上一次备份的存储地址。每个写操作日志对应一个数据处理请求,该数据处理请求用于请求对待处理数据进行相关处理,例如删除、更新、添加。
示例性的,如图3A所示,存储设备11在备份时间点1生成备份副本1,该备份副本1包括数据块1和数据块2。在备份时间点1到备份时间点2的时间段中,数据块1未发生变化,数据块2发生了变化,则存储设备11生成包括备份时间点2的数据块2以及数据块1在备份时间点2的索引的备份副本2。在备份时间点2到备份时间点3的时间段中,若数据块1和数据块2均未发生变化,则存储设备11生成包括数据块1在备份时间点3的索引和数据块2在备份时间点3的索引的备份副本3。
在除备份时间点以外的其他时间,存储设备11在接收到主机10发送的数据处理请求后,生成与该数据处理请求对应的写操作日志。本发明实施例中存储设备11生成写操作日志的方法与现有技术中生成日志的方法相同,此处不再进行详细赘述。
如图3B所示,上述存储设备11包括:通信接口30、处理器31、存储器32。其中,通信接口30、处理器31与存储器32之间通过系统总线33连接,并完成相互间通信。
通信接口30用于与其他设备通信,例如接收主机10发送的数据处理请求,或者接收主机10发送的数据恢复请求。
存储器32可用于存储至少一个备份副本以及至少一个写操作日志,也可以用于存储软件程序以及应用模块,处理器31通过运行存储在存储器32的软件程序以及应用模块,从而执行存储设备11的各种功能应用以及数据处理。
存储器32可主要包括存储程序区320和存储数据区321,其中,存储程序区320可存储操作系统、至少一个功能所需的应用程序,比如用于生成写操作日志的应用程序、用于数据恢复的应用程序等;存储数据区321可存储至少一个备份副本以及至少一个写操作日志。在本发明实施方式中,所述操作系统可以为Windows操作系统,也可以是Vxworks这类的嵌入式操作系统。
在本发明实施例中,存储器32可以包括易失性存储器,例如非挥发性动态随机存取内存(Nonvolatile Random Access Memory,NVRAM)、相变化随机存取内存(PhaseChange RAM,PRAM)、磁阻式随机存取内存(Magnetic Random Access Memory,MRAM)等;存储器32还可以包括非易失性存储器,例如至少一个磁盘存储器件、电子可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、闪存器件,例如反或闪存(NOR flash memory)或是反及闪存(NAND flash memory)。非易失存储器储存处理器31所执行的操作系统及应用程序。
存储器32可以是独立存在,通过系统总线33与处理器31相连接。存储器32也可以和处理器31集成在一起。
处理器31是存储设备11的控制中心。处理器31利用各种接口和线路连接整个存储设备11的各个部分,通过运行或执行存储在存储器32内的软件程序和/或应用模块,以及调用存储在存储器32内的数据,执行存储设备11的各种功能和处理数据,从而对存储设备11整体监控。
处理器31可以仅包括中央处理器(Central Processing Unit,CPU),也可以是CPU、数字信号处理器(Digital Signal Processor,DSP)以及通信单元中的控制芯片的组合。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。在具体实现中,作为一种实施例,处理器31可以包括一个或多个CPU,例如图3B中的处理器31包括CPU 0和CPU 1。
系统总线32可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。该系统总线32可以分为地址总线、数据总线、控制总线等。本发明实施例中为了清楚说明,在图3B中将各种总线都示意为系统总线32。
以下,结合上述图1示出的存储系统、图2示出的主机、图3A示出的备份副本的生成、图3B示出的存储设备对本发明实施例提供的数据处理方法进行详细描述。
参见图4,该数据处理方法包括:
S400、主机向存储设备发送包括恢复时间点的数据恢复请求。
该数据恢复请求用于请求恢复出恢复时间点的所有数据。
S401、存储设备从至少一个备份副本中获取目标备份副本。
目标备份副本的备份时间点与恢复时间点之间的时间差最小,且目标备份副本的备份时间点在恢复时间点之前。
目标备份副本为至少一个备份副本中的其中一个,因此,目标备份副本包括变化数据块以及保留数据块的索引。
S402、存储设备获取第一时间段内的写操作日志。
存储设备在接收到主机发送的数据处理请求后,均会生成相应的写操作日志。存储设备生成写操作日志的方法可以参考后续描述。
一般的,日志文件记录有数据处理的方式、接收数据处理请求的时间点以及被处理的数据,本发明实施例中的写操作日志属于日志文件,因此,存储设备根据第一时间段内的写操作日志可以确定出每个数据块中数据的变化情况。
S403、存储设备根据目标备份副本和第一时间段内的写操作日志,进行数据恢复。
由于目标备份副本包括变化数据块以及保留数据块的索引,因此,存储设备根据目标备份副本能够获取到变化数据块,并根据目标备份副本中保留数据块的索引获取保留数据块。
从上述描述可知,第一时间段内的写操作日志用于指示第一时间段内数据块中数据的变化情况。因此,存储设备根据目标备份副本和第一时间段内的写操作日志,即可恢复出恢复时间点的数据。
示例性的,结合上述图3A,如图5所示,若恢复时间点a位于备份时间点2和备份时间点3之间,则存储设备获取备份副本2以及时间段t内的写操作日志,并根据备份副本2获取在备份时间点2的数据块2,以及根据备份副本2中数据块1的索引获取数据块1。进一步地,存储设备根据获取到的数据2、数据块1以及时间段t内的写操作日志,确定出恢复时间点a的数据。时间段t为从备份时间点2起到恢复时间点a为止的时间段。
此外,若恢复时间点为某一预设备份时间点,则存储设备可直接根据该预设备份时间点的备份副本进行数据恢复。
示例性的,结合上述图3A,如图6所示,若恢复时间点b为备份时间点2,则存储设备获取备份副本2,并根据备份副本2获取在备份时间点2的数据块2,以及根据备份副本2中数据块1的索引获取数据块1。存储设备根据获取到数据块2和数据块1完成数据恢复。
结合图6可以看出,即使备份时间点1与备份时间点2之间的写操作日志被丢失或被损坏,也不会影响到备份副本2的内容,存储设备依旧可以直接根据备份副本2以及备份时间点2之后的写操作日志进行备份时间点2之后数据恢复。因此,在存储设备确定某一时间段的数据无需恢复的情况下,该存储设备可删除该时间段内的写操作日志,以提高存储空间的有效利用率。相应的,本发明实施例中的写操作日志的可靠性比较高。
进一步地,在S400之前,存储设备还在每个预设备份时间点生成一个备份副本,在接收到主机发送的数据处理请求后,还生成一个写操作日志。
结合上述图4,如图7所示,在S400之前,本发明实施例提供的数据处理方法还包括:
S701、主机向存储设备发送包括待处理数据和目标LBA的数据处理请求。
该数据处理请求用于请求在目标LBA中写入待处理数据,或者用于请求将目标LBA中的第一数据修改为待处理数据,或者用于请求删除目标LBA中的待处理数据。
S702、响应于数据处理请求,存储设备对目标LBA中的数据进行处理。
若数据处理请求用于请求在目标LBA中写入待处理数据,则存储设备根据该数据处理请求,在目标LBA中写入待处理数据。若数据处理请求用于请求将目标LBA中的第一数据修改为待处理数据,则存储设备根据该数据处理请求,将目标LBA中的第一数据修改为待处理数据。若数据处理请求用于请求删除目标LBA中的待处理数据,则存储设备根据该数据处理请求,删除目标LBA中的待处理数据。
S703、存储设备记录包括目标LBA、待处理数据以及接收数据处理请求的时间点的写操作日志。
具体的,存储设备可以包括写操作日志模块。当存储设备接收到主机发送的数据处理请求时,该写操作日志模块可以通过截获该数据处理请求获得待处理数据以及LBA,生成一个写操作日志,并将该写操作日志记录在日志表中。日志表可以存储在该存储设备中。另外,写操作日志中还包括接收数据处理请求的时间点。
本发明实施例中的写操作日志记录可以包含四个字段,其中一个字段是接收数据处理请求的时间点,另一个字段是待处理数据,另外一个字段是LBA,还有一个字段是用于表示对待处理数据的处理方式,如写入、删除、修改等。
本发明实施例中的存储设备可以先执行S702,后执行S703,也可以先执行S703,后执行S702,还可以同时执行S702和S703,本发明实施例对此不作具体限定。
S704、在每个预设备份时间点,存储设备获取从上一预设备份时间点到当前预设备份时间点之间的变化数据块以及保留数据块的索引。
其中,变化数据块和保留数据块的定义可以参考上述描述,这里不再进行详细赘述。
以当前预设备份时间点为第一预设备份时间点,上一预设备份时间点为第二预设备份时间点为例进行说明。
结合上述图3A,这里的第一预设备份时间点可视为备份时间点2,第二预设备份时间点可视为备份时间点1。
可选的,存储设备获取从第二预设备份时间点到第一预设备份时间点之间的变化数据块的方法可以为:存储设备在第二预设备份时间点创建所述第二预设备份时间点的备份副本和差量位图,该差量位图中每个位均唯一对应一个数据块,且该差量位图中每个位的数值均为初始值,该初始值可以为0;若某一数据块发生改变,则将差量位图中与该数据块对应的位的数值置为非初始值;这样,存储设备根据该差量位图中每个位的数值即可确定出哪一数据块发生了变化,进而获取这些数据块。
可选的,存储设备获取从第二预设备份时间点到第一预设备份时间点之间的变化数据块的方法也可以为:对于每个数据块,存储设备在每个预设备份时间点均根据该数据块生成一个哈希值;若该数据块在当前预设备份时间点的哈希值与在上一预设备份时间点的哈希值不同,则说明该数据块发生了变化;若该数据块在当前预设备份时间点的哈希值与在上一预设备份时间点的哈希值相同,则说明该数据块未发生变化。采用该方法,存储设备即可获取到从第二预设备份时间点到第一预设备份时间点之间的变化数据块。
S705、在每个预设备份时间点,存储设备存储包括当前获取到的变化数据块以及保留数据块的索引的备份副本。
需要说明的是,在第一次备份时,存储设备进行全量备份。
综上所述,由于备份副本包括变化数据块以及保留数据块的索引,因此,存储设备根据某一备份副本可获取到在该备份副本的备份时间点的所有备份数据。这样,即使在当前备份副本的备份时间点之前存储的写操作日志被损坏,存储设备依旧可快速的获取到在当前备份副本的备份时间点备份的所有数据,进而实现数据的恢复。可见某一备份时间点之前的写操作日志可以被删除,也就是说,本申请提供的数据处理方法有效的提高了写操作日志的可靠性。
存储设备可直接根据目标备份副本或者根据目标备份副本以及第一时间段内的写操作日志进行数据恢复,而无需再完全依赖于已备份的初始数据以及所有写操作日志,有效的提高了数据恢复的效率。
此外,本发明实施例中某一时间段内的写操作日志的丢失,不会导致后续的所有数据均无法被恢复,因此,在存储设备确定某一时间段的数据无需恢复的情况下,该存储设备可删除该时间段内的写操作日志,以提高存储空间的有效利用率。
本发明实施例提供一种存储设备,该存储设备用于执行以上数据处理方法中的存储设备所执行的步骤。本发明实施例提供的存储设备可以包括相应步骤所对应的模块。
本发明实施例可以根据上述方法示例对存储设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
如图8所示,在采用对应各个功能划分各个功能模块的情况下,本发明实施例的存储设备8包括存储单元801、接收单元802、获取单元803和数据恢复单元804。
其中,上述存储单元801用于支持该存储设备执行S703、S705,和/或用于本文所描述的技术的其它过程。
上述接收单元802用于支持该存储设备执行上述实施例中的S400、S701和/或用于本文所描述的技术的其它过程。
上述获取单元803用于支持该存储设备执行上述实施例中的S401、S402、S704,和/或用于本文所描述的技术的其它过程。
上述数据恢复单元804用于支持该存储设备900执行上述实施例中的S403,和/或用于本文所描述的技术的其它过程。
进一步地,上述存储设备还包括数据处理单元805,该数据处理单元805用于支持该存储设备执行上述实施例中的S702,和/或用于本文所描述的技术的其它过程。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,本发明实施例提供的存储设备的结构示意图如图9所示。在图9中,存储设备9包括:处理模块90、通信模块91和存储模块92。处理模块90用于对存储设备的动作进行控制管理,例如,执行上述获取单元803、数据恢复单元804和数据处理单元805执行的步骤,和/或用于执行本文所描述的技术的其它过程。通信模块91用于支持存储设备与其他设备之间的交互,例如,执行上述接收单元802执行的步骤。存储模块92用于存储存储设备的程序代码和数据,例如存储上述存储单元801所保存的内容。
上处理模块90可以是上述图3B中的处理器31,通信模块91可以是上述图3B中的通信接口30,存储模块92可以是上述图3B中的存储器32。
当存储设备运行时,该存储设备执行如图4或图7所示的实施例的数据处理方法。具体的数据处理方法可参见上述如图4或图7所示的实施例中的相关描述,此处不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在存储设备上运行时,使得存储设备执行上述数据处理方法实施例所示的方法流程中存储设备执行的各个步骤。
在上述实施例中,可以全部或部分的通过软件,硬件,固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式出现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘,硬盘、磁带)、光介质(例如,DVD)或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (6)
1.一种数据处理方法,其特征在于,应用于存储设备,所述存储设备包括至少一个备份副本,所述备份副本包括变化数据块以及保留数据块的索引,所述变化数据块为相对于上一次备份发生变化的数据块,所述保留数据块为相对于所述上一次备份未发生变化的数据块,所述保留数据块的索引用于指示所述保留数据块在上一次备份的存储地址,所述上一次备份为全量备份或增量备份;
所述数据处理方法包括:
接收主机发送的数据恢复请求,所述数据恢复请求包括恢复时间点;
从所述至少一个备份副本中获取目标备份副本,所述目标备份副本的备份时间点与所述恢复时间点之间的时间差最小,并且所述目标备份副本的备份时间点在所述恢复时间点之前;
获取第一时间段内的写操作日志,并根据所述目标备份副本和所述第一时间段内的写操作日志,进行数据恢复,所述第一时间段为从所述目标备份副本的备份时间点起到所述恢复时间点为止。
2.根据权利要求1所述的数据处理方法,其特征在于,所述数据处理方法还包括:
接收主机发送的数据处理请求,所述数据处理请求包括待处理数据和目标逻辑块地址LBA,所述数据处理请求用于请求在所述目标LBA中写入所述待处理数据,或者用于请求将所述目标LBA中的第一数据修改为所述待处理数据,或者用于请求删除所述目标LBA中的所述待处理数据;
响应于所述数据处理请求,对所述目标LBA中的数据进行处理;
记录包括所述目标LBA、所述待处理数据以及接收所述数据处理请求的时间点的写操作日志。
3.根据权利要求1或2所述的数据处理方法,其特征在于,所述数据处理方法还包括:
在第一预设备份时间点,获取从第二预设备份时间点到所述第一预设备份时间点之间所述变化数据块以及所述保留数据块的索引,所述第二预设备份时间点为所述第一预设备份时间点的前一备份时间点;
存储包括所述变化数据块以及所述保留数据块的索引的备份副本。
4.一种存储设备,其特征在于,所述存储设备包括存储单元、接收单元、获取单元以及数据恢复单元;
所述存储单元,存储有至少一个备份副本,所述备份副本包括变化数据块以及保留数据块的索引,所述变化数据块为相对于上一次备份发生变化的数据块,所述保留数据块为相对于所述上一次备份未发生变化的数据块,所述保留数据块的索引用于指示所述保留数据块在上一次备份的存储地址,所述上一次备份为全量备份或增量备份;
所述接收单元,用于接收主机发送的数据恢复请求,所述数据恢复请求包括恢复时间点;
所述获取单元,用于从所述存储单元存储的所述至少一个备份副本中获取目标备份副本,所述目标备份副本的备份时间点与所述恢复时间点之间的时间差最小,并且所述目标备份副本的备份时间点在所述恢复时间点之前,以及用于获取第一时间段内的写操作日志,所述第一时间段为从所述目标备份副本的备份时间点起到所述恢复时间点为止;
所述数据恢复单元,用于根据所述获取单元获取到的所述目标备份副本和所述第一时间段内的写操作日志,进行数据恢复。
5.根据权利要求4所述的存储设备,其特征在于,
所述接收单元,还用于接收主机发送的数据处理请求,所述数据处理请求包括待处理数据和目标逻辑块地址LBA,所述数据处理请求用于请求在所述目标LBA中写入所述待处理数据,或者用于请求将所述目标LBA中的第一数据修改为所述待处理数据,或者用于请求删除所述目标LBA中的所述待处理数据;
所述存储设备还包括数据处理单元;
所述数据处理单元,用于响应于所述接收单元接收到的所述数据处理请求,对所述目标LBA中的数据进行处理;
所述存储单元,用于记录包括所述目标LBA、所述待处理数据以及接收所述数据处理请求的时间点的写操作日志。
6.根据权利要求4或5所述的存储设备,其特征在于,
所述获取单元,还用于在第一预设备份时间点,获取从第二预设备份时间点到所述第一预设备份时间点之间所述变化数据块以及所述保留数据块的索引,所述第二预设备份时间点为所述第一预设备份时间点的前一备份时间点;
所述存储单元,具体用于存储包括所述变化数据块以及所述保留数据块的索引的备份副本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810907498.8A CN110825559A (zh) | 2018-08-10 | 2018-08-10 | 一种数据处理方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810907498.8A CN110825559A (zh) | 2018-08-10 | 2018-08-10 | 一种数据处理方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110825559A true CN110825559A (zh) | 2020-02-21 |
Family
ID=69541229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810907498.8A Pending CN110825559A (zh) | 2018-08-10 | 2018-08-10 | 一种数据处理方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110825559A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625402A (zh) * | 2020-05-28 | 2020-09-04 | 北京金山云网络技术有限公司 | 数据恢复方法、装置、电子设备及计算机可读存储介质 |
CN111949447A (zh) * | 2020-08-11 | 2020-11-17 | 北京天融信网络安全技术有限公司 | 一种数据处理方法及数据处理系统 |
CN112269681A (zh) * | 2020-10-16 | 2021-01-26 | 苏州浪潮智能科技有限公司 | 一种持续保护虚拟机数据的方法、装置及设备 |
CN115328704A (zh) * | 2022-09-06 | 2022-11-11 | 安徽鼎甲计算机科技有限公司 | 文件备份方法、文件恢复方法、装置、设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103221925A (zh) * | 2012-11-23 | 2013-07-24 | 华为技术有限公司 | 数据处理方法和存储设备 |
CN106681862A (zh) * | 2016-12-15 | 2017-05-17 | 华为技术有限公司 | 数据的增量恢复方法和装置 |
CN109710466A (zh) * | 2019-01-03 | 2019-05-03 | 浪潮商用机器有限公司 | 一种数据备份方法及装置 |
-
2018
- 2018-08-10 CN CN201810907498.8A patent/CN110825559A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103221925A (zh) * | 2012-11-23 | 2013-07-24 | 华为技术有限公司 | 数据处理方法和存储设备 |
CN106681862A (zh) * | 2016-12-15 | 2017-05-17 | 华为技术有限公司 | 数据的增量恢复方法和装置 |
CN109710466A (zh) * | 2019-01-03 | 2019-05-03 | 浪潮商用机器有限公司 | 一种数据备份方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625402A (zh) * | 2020-05-28 | 2020-09-04 | 北京金山云网络技术有限公司 | 数据恢复方法、装置、电子设备及计算机可读存储介质 |
CN111949447A (zh) * | 2020-08-11 | 2020-11-17 | 北京天融信网络安全技术有限公司 | 一种数据处理方法及数据处理系统 |
CN112269681A (zh) * | 2020-10-16 | 2021-01-26 | 苏州浪潮智能科技有限公司 | 一种持续保护虚拟机数据的方法、装置及设备 |
CN115328704A (zh) * | 2022-09-06 | 2022-11-11 | 安徽鼎甲计算机科技有限公司 | 文件备份方法、文件恢复方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10152381B1 (en) | Using storage defragmentation function to facilitate system checkpoint | |
US10157109B2 (en) | Method for restoring files from a continuous recovery system | |
US10324843B1 (en) | System and method for cache management | |
WO2018040591A1 (zh) | 一种远程数据复制方法及系统 | |
EP2391968B1 (en) | System and method for secure and reliable multi-cloud data replication | |
US9626115B2 (en) | Threshold based incremental flashcopy backup of a raid protected array | |
US9600375B2 (en) | Synchronized flashcopy backup restore of a RAID protected array | |
US7774565B2 (en) | Methods and apparatus for point in time data access and recovery | |
EP2879040B1 (en) | Data storage method, data storage apparatus, and storage device | |
US9141486B2 (en) | Intelligent I/O cache rebuild in a storage controller | |
US10235060B1 (en) | Multilevel snapshot replication for hot and cold regions of a storage system | |
CN106776147B (zh) | 一种差异数据备份方法和差异数据备份装置 | |
US10467044B2 (en) | Transaction processing method and apparatus, and computer system | |
US9424137B1 (en) | Block-level backup of selected files | |
US20170083412A1 (en) | System and method for generating backups of a protected system from a recovery system | |
US7681001B2 (en) | Storage system | |
CN110825559A (zh) | 一种数据处理方法及设备 | |
US9354907B1 (en) | Optimized restore of virtual machine and virtual disk data | |
US11093387B1 (en) | Garbage collection based on transmission object models | |
US10628298B1 (en) | Resumable garbage collection | |
US8140886B2 (en) | Apparatus, system, and method for virtual storage access method volume data set recovery | |
CN106528338B (zh) | 一种远程数据复制方法、存储设备及存储系统 | |
CN116414616A (zh) | 一种固态硬盘ssd故障恢复方法、ssd及系统 | |
US11487428B2 (en) | Storage control apparatus and storage control method | |
US8595454B1 (en) | System and method for caching mapping information for off-host backups |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200221 |
|
RJ01 | Rejection of invention patent application after publication |