CN106599006A - 一种数据恢复方法和装置 - Google Patents
一种数据恢复方法和装置 Download PDFInfo
- Publication number
- CN106599006A CN106599006A CN201510684597.0A CN201510684597A CN106599006A CN 106599006 A CN106599006 A CN 106599006A CN 201510684597 A CN201510684597 A CN 201510684597A CN 106599006 A CN106599006 A CN 106599006A
- Authority
- CN
- China
- Prior art keywords
- data
- daily record
- change
- setup time
- objects
- 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.)
- Granted
Links
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
Abstract
本发明实施例公开了一种数据恢复方法和装置,检测对目标数据对象执行的数据改动,针对一次数据改动建立一个对应的改动日志;接收携带所述第一改动日志标识的数据恢复请求;根据接收到所述数据恢复请求的接收时间和根据所述第一改动日志标识确定出的所述第一改动日志的建立时间得到待恢复日志集合,以改动日志建立时间从大到小的顺序,依次根据所述待恢复日志集合中的改动日志对所述目标数据对象进行数据恢复,直到根据所述第一改动日志所包括的改动类型和数据信息将所述目标数据对象的数据恢复到执行所述第一数据改动之前的数据。通过逆向时间顺序进行数据恢复,可以有效满足很大程度上的数据恢复需求,并显著提高了数据恢复效率。
Description
技术领域
本发明涉及数据处理领域,特别是涉及一种数据恢复方法和装置。
背景技术
随着网络技术的发展,数据库、服务器等所存储的数据集合规模越来越大。用户可以对数据集合进行操作,其中可能会造成数据集合的数据改动,所述数据改动可以包括对数据集合中数据的删除、增加、替换等会造成数据发生变化的操作。
系统对大规模数据集合的可靠性要求很高,然而人为对数据集合的操作过程中,可能会出现错误操作等情况导致数据集合出现了不应该发生的数据改动。为了保证数据集合的可靠性,需要有一种可靠的机制可以保证数据集合在一定时间段内的数据改动能够被恢复,例如可以将误删除的文件重新恢复回来,或者可以将错误添加的数据删除掉等。
传统实现数据恢复的方式例如可以是MySQL中的Binlog机制,Binlog机制周期性创建数据集合的镜像,Binlog时间轴为记录依据,从创建镜像的时间点开始顺序记录该数据集合所出现数据改动的操作,直到一个记录周期结束为止。例如一个周期为一小时,可以从19点整开始创建数据集合的镜像,在该周期时间段内(从19点整开始20点整结束),Binlog按照时间顺序记录对该数据集合的数据改动。在下一个周期(20点整到21点整),在20点整重新建立该数据集合的镜像,并使用另一个对应的Binlog记录数据改动。当需要进行数据恢复时,根据需要被恢复的数据改动的时间确定出对应的镜像,通过该镜像的Binlog,从镜像创建的时间点开始,以时间顺序重新呈现Binlog所记录的数据改动,直到用户希望数据恢复的具体时间点为止。
在数据恢复的需求中,有很大程度都是针对刚完成的数据改动或最近几次的数据改动所提出的。而Binlog的这种以时间轴为记录依据的方式,在数据恢复时,只能按照时间顺序,从对应的镜像起始点开始重现。在上述例子中,如果用户在19点50分错误操作了一次数据改动,需要进行数据恢复的话,调用镜像和Binlog后,必须从19点整即镜像的创建起始点开始,依据时间顺序重现该镜像,直到重现到19点50分之前,才能完成本次数据恢复。也就是说,在Binlog方式下,对很大程度上的数据恢复需求的数据恢复效率不高。
发明内容
为了解决上述技术问题,本发明提供了一种数据恢复方法和装置,以使得可以逆着时间顺序进行数据恢复,由此提高了数据恢复的效率。
本发明实施例公开了如下技术方案:
一种数据恢复方法,检测对目标数据对象执行的数据改动,针对一次数据改动建立一个对应的改动日志;第一改动日志为针对所述目标数据对象进行的第一数据改动所建立的改动日志,所述第一改动日志包括所述第一改动日志的建立时间、所述第一数据改动的改动类型、通过所述第一数据改动对所述目标数据对象造成数据改动部分的数据信息;所述方法包括:
接收携带所述第一改动日志标识的数据恢复请求,所述数据恢复请求包括请求将所述目标数据对象的数据恢复到执行所述第一数据改动之前的数据;
根据接收到所述数据恢复请求的接收时间和根据所述第一改动日志标识确定出的所述第一改动日志的建立时间得到待恢复日志集合,所述待恢复日志集合包括建立时间小于等于所述数据恢复请求的接收时间,大于等于所述第一改动日志建立时间的改动日志;
以改动日志建立时间从大到小的顺序,依次根据所述待恢复日志集合中的改动日志对所述目标数据对象进行数据恢复,直到根据所述第一改动日志所包括的改动类型和数据信息将所述目标数据对象的数据恢复到执行所述第一数据改动之前的数据。
可选的,在将所述目标数据对象的数据恢复到执行所述第一数据改动之前的数据之后,还包括:
接收携带第二改动日志标识的数据重写请求,所述数据重写请求包括请求将所述目标数据对象的数据从执行所述第一数据改动之前的数据重写为执行第二数据改动之后的数据,所述第二改动日志为针对所述目标数据对象被执行所述第二数据改动的改动日志,且所述第二改动日志属于所述待恢复日志集合;
根据所述第二改动日志标识确定出的所述第二改动日志的建立时间得到待重写日志集合,所述待重写日志集合包括建立时间小于等于所述第二改动日志建立时间,大于等于所述第一改动日志建立时间的改动日志;
以改动日志建立时间从小到大的顺序,依次根据所述待重写日志集合中的改动日志对所述目标数据对象进行数据重写,直到根据所述第二改动日志所包括的改动类型和数据信息将所述目标数据对象的数据恢复为执行所述第二数据改动之后的数据。
可选的,在将所述目标数据对象的数据恢复到执行所述第一数据改动之前的数据之后,还包括:
检测到对所述目标数据对象的第三数据改动,针对所述第三数据改动建立对应的第三改动日志;
将对应于所述目标数据对象的改动日志中建立时间大于等于所述第一改动日志的建立时间的改动日志的状态设置为不可用,设置为不可用的改动日志中不包括所述第三改动日志。
可选的,所述通过所述第一数据改动对所述目标数据对象造成数据改动部分的数据信息包括数据部分和元数据部分,所述数据部分包括改动的数据内容,所述元数据部分包括用于描述所述数据部分内容的信息。
可选的,
所述第一改动日志还包括生命周期,当所述第一改动日志存在的时间超出所述生命周期时,删除所述第一改动日志。
一种数据恢复装置,所述装置包括:
日志建立单元,用于检测对目标数据对象执行的数据改动,针对一次数据改动建立一个对应的改动日志;第一改动日志为针对所述目标数据对象进行的第一数据改动所建立的改动日志,所述第一改动日志包括所述第一改动日志的建立时间、所述第一数据改动的改动类型、通过所述第一数据改动对所述目标数据对象造成数据改动部分的数据信息;
第一接收单元,用于接收携带所述第一改动日志标识的数据恢复请求,所述数据恢复请求包括请求将所述目标数据对象的数据恢复到执行所述第一数据改动之前的数据;
第一确定单元,用于根据接收到所述数据恢复请求的接收时间和根据所述第一改动日志标识确定出的所述第一改动日志的建立时间得到待恢复日志集合,所述待恢复日志集合包括建立时间小于等于所述数据恢复请求的接收时间,大于等于所述第一改动日志建立时间的改动日志;
数据恢复单元,用于以改动日志建立时间从大到小的顺序,依次根据所述待恢复日志集合中的改动日志对所述目标数据对象进行数据恢复,直到根据所述第一改动日志所包括的改动类型和数据信息将所述目标数据对象的数据恢复到执行所述第一数据改动之前的数据。
可选的,还包括:
第二接收单元,用于在触发所述数据恢复单元之后,接收携带第二改动日志标识的数据重写请求,所述数据重写请求包括请求将所述目标数据对象的数据从执行所述第一数据改动之前的数据重写为执行第二数据改动之后的数据,所述第二改动日志为针对所述目标数据对象被执行所述第二数据改动的改动日志,且所述第二改动日志属于所述待恢复日志集合;
第二确定单元,用于根据所述第二改动日志标识确定出的所述第二改动日志的建立时间得到待重写日志集合,所述待重写日志集合包括建立时间小于等于所述第二改动日志建立时间,大于等于所述第一改动日志建立时间的改动日志;
数据重写单元,用于以改动日志建立时间从小到大的顺序,依次根据所述待重写日志集合中的改动日志对所述目标数据对象进行数据重写,直到根据所述第二改动日志所包括的改动类型和数据信息将所述目标数据对象的数据恢复为执行所述第二数据改动之后的数据。
可选的,还包括:
检测单元,用于在触发所述数据恢复单元之后,检测到对所述目标数据对象的第三数据改动,针对所述第三数据改动建立对应的第三改动日志;
设置单元,用于将对应于所述目标数据对象的改动日志中建立时间大于等于所述第一改动日志的建立时间的改动日志的状态设置为不可用,设置为不可用的改动日志中不包括所述第三改动日志。
可选的,所述通过所述第一数据改动对所述目标数据对象造成数据改动部分的数据信息包括数据部分和元数据部分,所述数据部分包括改动的数据内容,所述元数据部分包括用于描述所述数据部分内容的信息。
可选的,
所述第一改动日志还包括生命周期,当所述第一改动日志存在的时间超出所述生命周期时,删除所述第一改动日志。
由上述技术方案可以看出,针对数据对象的一次数据改动,就建立一个对应的改动日志,所述改动日志包括改动日志的建立时间、对应数据改动的改动类型、通过数据改动对数据对象造成数据改动部分的数据信息。当接收到数据恢复请求时,可以根据所述数据恢复请求确定出进行数据恢复的顺序为以改动日志建立时间从大到小的顺序,以及可以根据接收所述数据恢复请求的接收时间和第一改动日志的建立时间确定出待恢复日志集合,根据确定出的数据恢复顺序,依次根据所述待恢复日志集合中的改动日志对所述目标数据对象进行数据恢复,直到根据所述第一改动日志所包括的改动类型和数据信息将所述目标数据对象的数据恢复到执行所述第一数据改动之前的数据。通过逆向时间顺序进行数据恢复,可以有效满足很大程度上的数据恢复需求,并显著提高了数据恢复效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据恢复方法的方法流程图;
图2为本发明实施例提供的一种数据重写方法的方法流程图;
图3为本发明实施例提供的一种数据恢复装置的装置结构图;
图4为本发明实施例提供的一种数据重写装置的装置结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着网络技术的发展,数据库、服务器等所存储的数据集合规模越来越大。用户可以对数据集合进行操作,其中可能会造成数据集合的数据改动,所述数据改动可以包括对数据集合中数据的删除、增加、替换等会造成数据发生变化的操作。系统对大规模数据集合的可靠性要求很高,然而人为对数据集合的操作过程中,可能会出现错误操作等情况导致数据集合出现了不应该发生的数据改动。为了保证数据集合的可靠性,需要有一种可靠的机制可以保证数据集合在一定时间段内的数据改动能够被恢复,例如可以将误删除的文件重新恢复回来,或者可以将错误添加的数据删除掉等。
传统实现数据恢复的如MySQL中的Binlog机制,Binlog机制周期性创建数据集合的镜像,Binlog时间轴为记录依据,从创建镜像的时间点开始顺序记录该数据集合所出现数据改动的操作,直到一个记录周期结束为止。当需要进行数据恢复时,根据需要被恢复的数据改动的时间确定出对应的镜像,通过该镜像的Binlog,从镜像创建的时间点开始,以时间顺序重新呈现Binlog所记录的数据改动,直到用户希望数据恢复的具体时间点为止。
在数据恢复的需求中,有很大程度都是针对刚完成的数据改动或最近几次的数据改动所提出的。而Binlog的这种以时间轴为记录依据的方式,在数据恢复时,只能按照时间顺序,从对应的镜像起始点开始重现。这种重现机制的坏处在于,对于刚刚出现的错误操作的数据恢复,可能需要重现很长时间才能完成,而且,Binlog机制是基于时间,而不是基于数据改动,也就是说,在一个Binlog的时间周期内,不管是否出现数据改动,依然需要记录内容到镜像中。这种方式针对数据集合规模较小的MySQL来说,暂时还是适用的,但是随着数据集合的规模越来越大,针对大规模数据集合建立周期性持续镜像会会对系统带来额外的负担,显然Binlog机制不仅不能有效提高数据恢复效率,而且也无法适应目前常用的大规模数据集合的应用场景。
为此,本发明实施例提供了一种数据恢复方法和装置,针对数据对象的一次数据改动,就建立一个对应的改动日志,所述改动日志包括改动日志的建立时间、对应数据改动的改动类型、通过数据改动对数据对象造成数据改动部分的数据信息。当接收到数据恢复请求时,可以根据所述数据恢复请求确定出进行数据恢复的顺序为以改动日志建立时间从大到小的顺序,以及可以根据接收所述数据恢复请求的接收时间和第一改动日志的建立时间确定出待恢复日志集合,根据确定出的数据恢复顺序依次根据所述待恢复日志集合中的改动日志对所述目标数据对象进行数据恢复,直到根据所述第一改动日志所包括的改动类型和数据信息将所述目标数据对象的数据恢复到执行所述第一数据改动之前的数据。通过逆向时间顺序进行数据恢复,可以有效满足很大程度上的数据恢复需求,并显著提高了数据恢复效率。
进一步的,在本发明实施例中,还可以在逆时间顺序进行数据恢复后,根据数据重写请求实现正时间顺序的数据重写。通过所述数据重写请求确定出以改动日志建立时间从小到大的顺序进行数据重写,依次根据所述待重写日志集合中的改动日志对所述目标数据对象进行数据恢复,直到根据所述第二改动日志所包括的改动类型和数据信息将所述目标数据对象的数据恢复到执行所述第二数据改动之后的数据。在数据恢复的前提下增加了数据重写的方式,可以灵活的适用于不同的具体应用场景。
实施例一
在介绍本发明实施例的数据恢复方法之前,需要先说明本发明实施例提供的改动日志(change log)机制。
本发明的改动日志机制应用于具有多个数据对象的数据集合,特点是可以针对数据集合中的一个数据对象的每一次数据改动建立一个对应的改动日志。通过检测对目标数据对象执行的数据改动,针对一次数据改动建立一个对应的改动日志。所述目标数据对象可以为数据集合中所包含的多个数据对象中的任意一个数据对象。这里的数据对象可以理解为包括数据表(table)、数据视图(view)或数据资源(resource)等具体形态。
其中,所述数据改动可以包括对数据对象中数据的删除、增加、覆盖、改写等。具体的,能够触发建立改动日志的数据改动具体可以包括:以覆盖的方式往表或分区中写数据(OVERWRITE)、以增量的方式往表或分区中写数据(INSERT INTO/APPEND)、删除非分区表(DROP TABLE)、删除分区表的指定分区(DROP PARTITION)、表重命名(RENAME TABLE)、分区重命名(RENAME PARTITION)、增加列(ALTER TABLE ADD COLUMN)、列重命名(ALTER TABLE CHANGE COLUMN RENAME TO)、创建一个分区(ALTER TABLE ADD PARTITION)、跨集群数据复制(REPLICATION)等。
所述第一改动日志包括所述第一改动日志的建立时间、所述第一数据改动的改动类型、通过所述第一数据改动对所述目标数据对象造成数据改动部分的数据信息。其中,所述第一改动日志的建立时间可以与所述第一数据改动的执行时间一致。所述第一数据改动的改动类型可以如上述的具体数据改动类型。可选的,所述通过所述第一数据改动对所述目标数据对象造成数据改动部分的数据信息可以通过数据部分和元数据部分体现,所述数据部分包括改动的数据内容,所述元数据部分包括用于描述所述数据部分内容的信息。具体的,所述元数据部分包括表结构(字段,分区键,表注释,列注释,分区键注释等),例如当前的分区列表、用户权限信息、统计项、生命周期属性、时间戳等。其中生命周期属性可以理解为需要保留所述第一改动日志的时间,因为超出一定时间段之前的数据改动,需要再被数据恢复的可能性就非常低了,没有必要再浪费存储空间存储。故当所述第一改动日志存在的时间超出所述生命周期时,删除所述第一改动日志。以此缓解存储改动日志的存储压力,节约系统资源。改动日志可以例如如表1所示:
logid | type | time | operation | status |
Logid1 | View | 201510070200 | Overwrite | Undoable |
Logid2 | Table | 201510070300 | Drop table | Undoable |
Logid3 | Resource | 201510070400 | Append | Undoable |
表1
其中,标识为logid1的改动日志所对应的数据对象为数据视图,建立时间为201510070200,数据改动的类型为以覆盖的方式写数据,状态为可撤销(Undoable)。标识为logid2的改动日志所对应的数据对象为数据表,建立时间为201510070300,数据改动的类型为删除数据表,状态为可撤销。标识为logid3的改动日志所对应的数据对象为数据资源,建立时间为201510070400,数据改动的类型为以增加的方式写数据,状态为可撤销。需要注意的是,可撤销以及可重写(Redoable)均属于对数据处理的一种形式,可撤销是指可以撤销之前做出的数据改动,一般来说,一个改动日志建立时,该改动日志的状态可以默认为可撤销,在该改动日志所对应的数据改动被恢复后,该改动日志的状态可以从可撤销改变为可重写。例如数据改动a具体为删除了数据表a,那么数据改动a对应的改动日志a建立时,其状态可以默认为可撤销,意思就是可以通过数据恢复将删除的数据表a取消删除,再次恢复出来。可重写是指可以将之前撤销的数据改动再次重新实现。例如通过数据恢复,恢复了删除的数据表a后,改动日志a的状态也会相应的从可撤销改变为可重写,意思是可以重新实现删除数据表a的数据改动,或者说可以通过数据重写重新执行数据改动a,将之前恢复了的数据表a重新删除。
对于所述目标数据对象,可以有多个对应的改动日志,或者说,针对所述目标数据对象进行一次数据改动,就会建立一个对应的改动日志。
接下来对本发明实施例提供的数据恢复方法进行说明,图1为本发明实施例提供的一种数据恢复方法的方法流程图,所述方法包括:
S101:接收携带所述第一改动日志标识的数据恢复请求,所述数据恢复请求包括请求将所述目标数据对象的数据恢复到执行所述第一数据改动之前的数据。
举例说明,当用户在对数据集合进行操作时,会具有将之前对数据集合造成的数据改动恢复的需求。所述第一数据恢复请求中除了包括请求将所述目标数据对象的数据恢复到执行所述第一数据改动之前的数据,还可以包括请求将其他数据对象的数据恢复到相应数据改动之前的数据,这里不再赘述。所述数据恢复请求的接收时间比所述第一改动日志的建立时间大。也就是说,接收到所述数据恢复请求时,所述目标数据对象已经被执行了所述第一数据改动。
需要注意的是,在对所述目标数据对象执行所述第一数据改动之后到接收到所述数据恢复请求的这段时间内,所述目标数据对象还可以被执行一次或多次数据改动。或者在对所述目标数据对象执行所述第一数据改动之后到接收到所述数据恢复请求之前的这段时间内,所述目标数据对象没有再被执行其他数据改动。
举例说明,若所述第一数据改动为一小时前在目标数据对象中增加了数据a,则所述第一数据恢复请求可以为请求将所述目标数据对象的数据恢复到一小时前增加数据a之前的数据。
S102:根据接收到所述数据恢复请求的接收时间和根据所述第一改动日志标识确定出的所述第一改动日志的建立时间得到待恢复日志集合,所述待恢复日志集合包括建立时间小于等于所述数据恢复请求的接收时间,大于等于所述第一改动日志建立时间的改动日志。
S103:以改动日志建立时间从大到小的顺序,依次根据所述待恢复日志集合中的改动日志对所述目标数据对象进行数据恢复,直到根据所述第一改动日志所包括的改动类型和数据信息将所述目标数据对象的数据恢复到执行所述第一数据改动之前的数据。
对所述目标数据对象进行数据恢复时,会依据一定顺序选取所述待恢复日志集合中的改动日志,以恢复被选取的改动日志对应的数据改动在所述目标数据对象上改动的数据。在本发明实施例中,当接收到所述数据恢复请求时,采用逆时间顺序即以改动日志建立时间从大到小的顺序从所述待恢复日志集合中选取改动日志。在本发明实施例中,可以通过接收到的数据请求所携带的内容判断出具体的数据请求类型。例如,若数据请求中具体包括“undotablename to changelogid”,则可以识别该数据请求为针对该“tablename”的数据恢复请求。
对于所述待恢复日志集合所包含的改动日志,可能会出现两种情况。
第一种情况,所述待恢复日志集合只包括所述第一改动日志,即在接收到所述第一数据恢复请求时,最新建立的改动日志就是所述第一改动日志,或者说对所述目标数据对象执行的最近一次的数据改动就是所述第一数据改动。这种情况下,直接根据所述第一改动日志,将所述第一数据改动在所述目标数据对象上所做出的数据改动进行恢复,恢复为未被执行所述第一数据改动时的数据。
第二种情况,除了包括所述第一改动日志以外,所述待恢复日志集合还包括至少一个改动日志。举例说明,若第一改动日志为改动日志1,第一待恢复日志集合中还包括改动日志2、改动日志3和改动日志4。这四个改动日志的建立时间顺序为改动日志4先于改动日志3建立,改动日志3先于改动日志2建立,改动日志2先于改动日志1建立。那么在根据所述数据恢复请求对所述目标数据对象进行数据恢复时,将以改动日志建立时间从大到小的顺序,先将改动日志4对所述目标数据对象做出的数据改动恢复,同时,可以将改动日志4的状态从可撤销改为可重写。再将改动日志3对所述目标数据对象的做出的数据改动恢复,同时,可以将改动日志3的状态从可撤销改为可重写。再将改动日志2对所述目标数据对象的做出的数据改动恢复,同时,可以将改动日志2的状态从可撤销改为可重写。最后再将改动日志1对所述目标数据对象做出的数据改动恢复,同时,可以将改动日志1的状态从可撤销改为可重写。
可以看出,针对数据对象的一次数据改动,就建立一个对应的改动日志,所述改动日志包括改动日志的建立时间、对应数据改动的改动类型、通过数据改动对数据对象造成数据改动部分的数据信息。当接收到数据恢复请求时,可以根据所述数据恢复请求确定出进行数据恢复的顺序为以改动日志建立时间从大到小的顺序,以及可以根据接收所述数据恢复请求的接收时间和第一改动日志的建立时间确定出待恢复日志集合,根据确定出的数据恢复顺序,依次根据所述待恢复日志集合中的改动日志对所述目标数据对象进行数据恢复,直到根据所述第一改动日志所包括的改动类型和数据信息将所述目标数据对象的数据恢复到执行所述第一数据改动之前的数据。通过逆向时间顺序进行数据恢复,可以有效满足很大程度上的数据恢复需求,并显著提高了数据恢复效率。
在对目标数据对象进行数据恢复之后,有可能还有将恢复了的数据改动重新实现的需求。例如对目标数据对象错误的恢复了原本不应该恢复的数据改动a时,就需要通过数据重写将数据改动a在目标数据对象上重写实现,或者说在目标数据对象重新执行一遍数据改动a。
在数据恢复后若需要对所述目标数据对象进行数据重写,也会依据一定顺序选取所述待重写日志集合中的改动日志,将被选取的改动日志对应的数据改动在所述目标数据对象上重新实现。当接收到所述数据重写请求时,采用正时间顺即以改动日志建立时间从小到大的顺序从所述待重写日志集合中选取改动日志。
在本发明实施例中,可以通过接收到的数据请求所携带的内容判断出具体的数据请求类型。例如,若数据请求中包括“redo ttablename to changelogid”,则可以识别该数据请求为针对该“tablename”的数据重写请求。
可选的,在图1所对应实施例的基础上,图2为本发明实施例提供的一种数据重写方法的方法流程图,所述方法包括:
S201:接收携带所述第一改动日志标识的数据恢复请求,所述数据恢复请求包括请求将所述目标数据对象的数据恢复到执行所述第一数据改动之前的数据。
S202:根据接收到所述数据恢复请求的接收时间和根据所述第一改动日志标识确定出的所述第一改动日志的建立时间得到待恢复日志集合,所述待恢复日志集合包括建立时间小于等于所述数据恢复请求的接收时间,大于等于所述第一改动日志建立时间的改动日志。
S203:以改动日志建立时间从大到小的顺序,依次根据所述待恢复日志集合中的改动日志对所述目标数据对象进行数据恢复,直到根据所述第一改动日志所包括的改动类型和数据信息将所述目标数据对象的数据恢复到执行所述第一数据改动之前的数据。
S204:接收携带第二改动日志标识的数据重写请求,所述数据重写请求包括请求将所述目标数据对象的数据从执行所述第一数据改动之前的数据重写为执行第二数据改动之后的数据,所述第二改动日志为针对所述目标数据对象被执行所述第二数据改动的改动日志,且所述第二改动日志属于所述待恢复日志集合。
举例说明,根据上述提到的所述待恢复日志集合所包含的改动日志可能会出现两种情况。若所述待恢复日志集合中仅包括所述第一改动日志,那么在图2所对应实施例中,可以将所述第二改动日志理解为就是第一改动日志。若所述待恢复日志集合中包括多个改动日志,那么在图2所对应实施例中,可以将所述第二改动日志理解为就是第一改动日志,或者理解为所述待恢复日志集合中的其他改动日志。当所述第二改动日志为所述待恢复日志集合中不是所述第一改动日志的其他改动日志时,所述第二改动日志的建立时间比所述第一改动日志的建立时间要大,即所述目标数据对象是先被执行了所述第一数据改动后,再被执行所述第二数据改动。
由于所述第二改动日志属于S201至S203中数据恢复时的所述待恢复日志集合,也就是说,所述第二数据改动在所述目标数据对象上造成的数据改动已经被S201至S203中的数据恢复所恢复。但是由于不同的具体情况,需要将所述第二数据改动在由S201至S203的数据恢复后的所述目标数据对象上重新实现。
S205:根据所述第二改动日志标识确定出的所述第二改动日志的建立时间得到待重写日志集合,所述待重写日志集合包括建立时间小于等于所述第二改动日志建立时间,大于等于所述第一改动日志建立时间的改动日志。
S206:以改动日志建立时间从小到大的顺序,依次根据所述待重写日志集合中的改动日志对所述目标数据对象进行数据重写,直到根据所述第二改动日志所包括的改动类型和数据信息将所述目标数据对象的数据恢复为执行所述第二数据改动之后的数据。
举例说明,若所述第二改动日志和第一改动日志为同一个改动日志,所述待重写日志集合中仅包括所述第二改动日志或者说仅包括所述第一改动日志。那么直接将所述第二改动日志所对应的所述第二数据改动在所述目标数据对象上重新执行一次,以实现将所述目标数据对象的数据恢复为执行所述第二数据改动之后的数据。实现了在所述目标数据对象上对所述第二数据改动的数据重写。
若所述第二改动日志与第一改动日志为不同的改动日志,所述待重写日志集合将至少包括所述第一改动日志和第二改动日志,或者所述待重写日志集合将至少包括所述第一改动日志、第二改动日志和建立时间处于所述第一改动日志和第二改动日志建立时间之间的改动日志。那么以正时间顺序,将所述待重写日志集合中的改写日志,依次调取,将在S201至S203中被数据恢复的数据改动在所述目标数据对象上重新实现。在数据重写的过程中,最后一个被数据重写的是所述第二改动日志所对应的第二数据改动。
可见,通过所述数据重写请求确定出以改动日志建立时间从小到大的顺序进行数据重写,依次根据所述待重写日志集合中的改动日志对所述目标数据对象进行数据恢复,直到根据所述第二改动日志所包括的改动类型和数据信息将所述目标数据对象的数据恢复到执行所述第二数据改动之后的数据。在数据恢复的前提下增加了数据重写的方式,可以灵活的适用于不同的具体应用场景。
需要注意的是,在进行了数据恢复后,有可能用户将会对所述目标数据对象进行新的数据改动,在这种情况下,需要对在数据恢复过程中被调取的改动日志的状态进行更新。可选的,在图1所对应实施例或者图2所对应实施例的基础上,在将所述目标数据对象的数据恢复到执行所述第一数据改动之前的数据之后,还包括:
检测到对所述目标数据对象的第三数据改动,针对所述第三数据改动建立对应的第三改动日志。
将对应于所述目标数据对象的改动日志中建立时间大于等于所述第一改动日志的建立时间的改动日志的状态设置为不可用,设置为不可用的改动日志中不包括所述第三改动日志。
举例说明,在将所述目标数据对象的数据恢复到执行所述第一数据改动之前的数据之后,若对所述目标数据对象进行了其他的数据改动,那么之前数据恢复时的所述待恢复日志集合中的改动日志所对应的数据改动可能就会因为覆盖等问题无法再被重写,故之前数据恢复时的所述待恢复日志集合中的改动日志的状态将会被设置为不可用(Unavailable)。状态被设置为不可用的改动日志将不会再被使用在数据恢复或者数据重写中,也就是说,在建立所述第三改动日志之后再进行的数据恢复或者数据重写时,对应的待恢复日志集合和所重写日志集合中将不会包括状态为不可用的改动日志。
实施例二
图3为本发明实施例提供的一种数据恢复装置的装置结构图,所述装置包括:
日志建立单元300,用于检测对目标数据对象执行的数据改动,针对一次数据改动建立一个对应的改动日志;第一改动日志为针对所述目标数据对象进行的第一数据改动所建立的改动日志,所述第一改动日志包括所述第一改动日志的建立时间、所述第一数据改动的改动类型、通过所述第一数据改动对所述目标数据对象造成数据改动部分的数据信息。
第一接收单元301,用于接收携带所述第一改动日志标识的数据恢复请求,所述数据恢复请求包括请求将所述目标数据对象的数据恢复到执行所述第一数据改动之前的数据。
可选的,所述通过所述第一数据改动对所述目标数据对象造成数据改动部分的数据信息包括数据部分和元数据部分,所述数据部分包括改动的数据内容,所述元数据部分包括用于描述所述数据部分内容的信息。
可选的,所述第一改动日志还包括生命周期,当所述第一改动日志存在的时间超出所述生命周期时,删除所述第一改动日志。
第一确定单元302,用于根据接收到所述数据恢复请求的接收时间和根据所述第一改动日志标识确定出的所述第一改动日志的建立时间得到待恢复日志集合,所述待恢复日志集合包括建立时间小于等于所述数据恢复请求的接收时间,大于等于所述第一改动日志建立时间的改动日志。
数据恢复单元303,用于以改动日志建立时间从大到小的顺序,依次根据所述待恢复日志集合中的改动日志对所述目标数据对象进行数据恢复,直到根据所述第一改动日志所包括的改动类型和数据信息将所述目标数据对象的数据恢复到执行所述第一数据改动之前的数据。
可见,针对数据对象的一次数据改动,就建立一个对应的改动日志,所述改动日志包括改动日志的建立时间、对应数据改动的改动类型、通过数据改动对数据对象造成数据改动部分的数据信息。当接收到数据恢复请求时,可以根据所述数据恢复请求确定出进行数据恢复的顺序为以改动日志建立时间从大到小的顺序,以及可以根据接收所述数据恢复请求的接收时间和第一改动日志的建立时间确定出待恢复日志集合,根据确定出的数据恢复顺序,依次根据所述待恢复日志集合中的改动日志对所述目标数据对象进行数据恢复,直到根据所述第一改动日志所包括的改动类型和数据信息将所述目标数据对象的数据恢复到执行所述第一数据改动之前的数据。通过逆向时间顺序进行数据恢复,可以有效满足很大程度上的数据恢复需求,并显著提高了数据恢复效率。
在图3所对应实施例的基础上,图4为本发明实施例提供的一种数据重写装置的装置结构图,所述装置还包括:
第二接收单元401,用于在触发所述数据恢复单元之后,接收携带第二改动日志标识的数据重写请求,所述数据重写请求包括请求将所述目标数据对象的数据从执行所述第一数据改动之前的数据重写为执行第二数据改动之后的数据,所述第二改动日志为针对所述目标数据对象被执行所述第二数据改动的改动日志,且所述第二改动日志属于所述待恢复日志集合。
第二确定单元402,用于根据所述第二改动日志标识确定出的所述第二改动日志的建立时间得到待重写日志集合,所述待重写日志集合包括建立时间小于等于所述第二改动日志建立时间,大于等于所述第一改动日志建立时间的改动日志。
数据重写单元403,用于以改动日志建立时间从小到大的顺序,依次根据所述待重写日志集合中的改动日志对所述目标数据对象进行数据重写,直到根据所述第二改动日志所包括的改动类型和数据信息将所述目标数据对象的数据恢复为执行所述第二数据改动之后的数据。
可见,通过所述数据重写请求确定出以改动日志建立时间从小到大的顺序进行数据重写,依次根据所述待重写日志集合中的改动日志对所述目标数据对象进行数据恢复,直到根据所述第二改动日志所包括的改动类型和数据信息将所述目标数据对象的数据恢复到执行所述第二数据改动之后的数据。在数据恢复的前提下增加了数据重写的方式,可以灵活的适用于不同的具体应用场景。
需要注意的是,在进行了数据恢复后,有可能用户将会对所述目标数据对象进行新的数据改动,在这种情况下,需要对在数据恢复过程中被调取的改动日志的状态进行更新。可选的,在图3所对应实施例或者图4所对应实施例的基础上,还包括:
检测单元,用于在触发所述数据恢复单元之后,检测到对所述目标数据对象的第三数据改动,针对所述第三数据改动建立对应的第三改动日志。
设置单元,用于将对应于所述目标数据对象的改动日志中建立时间大于等于所述第一改动日志的建立时间的改动日志的状态设置为不可用,设置为不可用的改动日志中不包括所述第三改动日志。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:read-onlymemory,缩写:ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种数据恢复方法,其特征在于,检测对目标数据对象执行的数据改动,针对一次数据改动建立一个对应的改动日志;第一改动日志为针对所述目标数据对象进行的第一数据改动所建立的改动日志,所述第一改动日志包括所述第一改动日志的建立时间、所述第一数据改动的改动类型、通过所述第一数据改动对所述目标数据对象造成数据改动部分的数据信息;所述方法包括:
接收携带所述第一改动日志标识的数据恢复请求,所述数据恢复请求包括请求将所述目标数据对象的数据恢复到执行所述第一数据改动之前的数据;
根据接收到所述数据恢复请求的接收时间和根据所述第一改动日志标识确定出的所述第一改动日志的建立时间得到待恢复日志集合,所述待恢复日志集合包括建立时间小于等于所述数据恢复请求的接收时间,大于等于所述第一改动日志建立时间的改动日志;
以改动日志建立时间从大到小的顺序,依次根据所述待恢复日志集合中的改动日志对所述目标数据对象进行数据恢复,直到根据所述第一改动日志所包括的改动类型和数据信息将所述目标数据对象的数据恢复到执行所述第一数据改动之前的数据。
2.根据权利要求1所述的方法,其特征在于,在将所述目标数据对象的数据恢复到执行所述第一数据改动之前的数据之后,还包括:
接收携带第二改动日志标识的数据重写请求,所述数据重写请求包括请求将所述目标数据对象的数据从执行所述第一数据改动之前的数据重写为执行第二数据改动之后的数据,所述第二改动日志为针对所述目标数据对象被执行所述第二数据改动的改动日志,且所述第二改动日志属于所述待恢复日志集合;
根据所述第二改动日志标识确定出的所述第二改动日志的建立时间得到待重写日志集合,所述待重写日志集合包括建立时间小于等于所述第二改动日志建立时间,大于等于所述第一改动日志建立时间的改动日志;
以改动日志建立时间从小到大的顺序,依次根据所述待重写日志集合中的改动日志对所述目标数据对象进行数据重写,直到根据所述第二改动日志所包括的改动类型和数据信息将所述目标数据对象的数据恢复为执行所述第二数据改动之后的数据。
3.根据权利要求1或2所述的方法,其特征在于,在将所述目标数据对象的数据恢复到执行所述第一数据改动之前的数据之后,还包括:
检测到对所述目标数据对象的第三数据改动,针对所述第三数据改动建立对应的第三改动日志;
将对应于所述目标数据对象的改动日志中建立时间大于等于所述第一改动日志的建立时间的改动日志的状态设置为不可用,设置为不可用的改动日志中不包括所述第三改动日志。
4.根据权利要求1所述的方法,其特征在于,所述通过所述第一数据改动对所述目标数据对象造成数据改动部分的数据信息包括数据部分和元数据部分,所述数据部分包括改动的数据内容,所述元数据部分包括用于描述所述数据部分内容的信息。
5.根据权利要求1所述的方法,其特征在于,
所述第一改动日志还包括生命周期,当所述第一改动日志存在的时间超出所述生命周期时,删除所述第一改动日志。
6.一种数据恢复装置,其特征在于,所述装置包括:
日志建立单元,用于检测对目标数据对象执行的数据改动,针对一次数据改动建立一个对应的改动日志;第一改动日志为针对所述目标数据对象进行的第一数据改动所建立的改动日志,所述第一改动日志包括所述第一改动日志的建立时间、所述第一数据改动的改动类型、通过所述第一数据改动对所述目标数据对象造成数据改动部分的数据信息;
第一接收单元,用于接收携带所述第一改动日志标识的数据恢复请求,所述数据恢复请求包括请求将所述目标数据对象的数据恢复到执行所述第一数据改动之前的数据;
第一确定单元,用于根据接收到所述数据恢复请求的接收时间和根据所述第一改动日志标识确定出的所述第一改动日志的建立时间得到待恢复日志集合,所述待恢复日志集合包括建立时间小于等于所述数据恢复请求的接收时间,大于等于所述第一改动日志建立时间的改动日志;
数据恢复单元,用于以改动日志建立时间从大到小的顺序,依次根据所述待恢复日志集合中的改动日志对所述目标数据对象进行数据恢复,直到根据所述第一改动日志所包括的改动类型和数据信息将所述目标数据对象的数据恢复到执行所述第一数据改动之前的数据。
7.根据权利要求6所述的装置,其特征在于,还包括:
第二接收单元,用于在触发所述数据恢复单元之后,接收携带第二改动日志标识的数据重写请求,所述数据重写请求包括请求将所述目标数据对象的数据从执行所述第一数据改动之前的数据重写为执行第二数据改动之后的数据,所述第二改动日志为针对所述目标数据对象被执行所述第二数据改动的改动日志,且所述第二改动日志属于所述待恢复日志集合;
第二确定单元,用于根据所述第二改动日志标识确定出的所述第二改动日志的建立时间得到待重写日志集合,所述待重写日志集合包括建立时间小于等于所述第二改动日志建立时间,大于等于所述第一改动日志建立时间的改动日志;
数据重写单元,用于以改动日志建立时间从小到大的顺序,依次根据所述待重写日志集合中的改动日志对所述目标数据对象进行数据重写,直到根据所述第二改动日志所包括的改动类型和数据信息将所述目标数据对象的数据恢复为执行所述第二数据改动之后的数据。
8.根据权利要求6或7所述的装置,其特征在于,还包括:
检测单元,用于在触发所述数据恢复单元之后,检测到对所述目标数据对象的第三数据改动,针对所述第三数据改动建立对应的第三改动日志;
设置单元,用于将对应于所述目标数据对象的改动日志中建立时间大于等于所述第一改动日志的建立时间的改动日志的状态设置为不可用,设置为不可用的改动日志中不包括所述第三改动日志。
9.根据权利要求6所述的装置,其特征在于,所述通过所述第一数据改动对所述目标数据对象造成数据改动部分的数据信息包括数据部分和元数据部分,所述数据部分包括改动的数据内容,所述元数据部分包括用于描述所述数据部分内容的信息。
10.根据权利要求6所述的装置,其特征在于,
所述第一改动日志还包括生命周期,当所述第一改动日志存在的时间超出所述生命周期时,删除所述第一改动日志。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510684597.0A CN106599006B (zh) | 2015-10-20 | 2015-10-20 | 一种数据恢复方法和装置 |
PCT/CN2016/101730 WO2017067397A1 (zh) | 2015-10-20 | 2016-10-11 | 一种数据恢复方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510684597.0A CN106599006B (zh) | 2015-10-20 | 2015-10-20 | 一种数据恢复方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106599006A true CN106599006A (zh) | 2017-04-26 |
CN106599006B CN106599006B (zh) | 2020-08-04 |
Family
ID=58555110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510684597.0A Active CN106599006B (zh) | 2015-10-20 | 2015-10-20 | 一种数据恢复方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106599006B (zh) |
WO (1) | WO2017067397A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109117312A (zh) * | 2018-08-23 | 2019-01-01 | 北京小米智能科技有限公司 | 数据恢复方法及装置 |
CN111913972A (zh) * | 2019-05-10 | 2020-11-10 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及设备 |
WO2022033269A1 (zh) * | 2020-08-13 | 2022-02-17 | 华为技术有限公司 | 数据处理的方法、设备及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101159003A (zh) * | 2007-11-16 | 2008-04-09 | 中国科学院软件研究所 | 数据库恶意事务处理方法及其系统 |
CN101436207A (zh) * | 2008-12-16 | 2009-05-20 | 浪潮通信信息系统有限公司 | 一种基于日志快照的数据恢复和同步方法 |
US20120011398A1 (en) * | 2010-04-12 | 2012-01-12 | Eckhardt Andrew D | Failure recovery using consensus replication in a distributed flash memory system |
CN103412803A (zh) * | 2013-08-15 | 2013-11-27 | 华为技术有限公司 | 数据恢复的方法及装置 |
CN104715041A (zh) * | 2015-03-24 | 2015-06-17 | 深圳市乾华数据科技有限公司 | 一种数据库恢复方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060031267A1 (en) * | 2004-08-04 | 2006-02-09 | Lim Victor K | Apparatus, system, and method for efficient recovery of a database from a log of database activities |
CN102609337A (zh) * | 2012-01-19 | 2012-07-25 | 北京神州数码思特奇信息技术股份有限公司 | 一种内存数据库快速数据恢复方法 |
-
2015
- 2015-10-20 CN CN201510684597.0A patent/CN106599006B/zh active Active
-
2016
- 2016-10-11 WO PCT/CN2016/101730 patent/WO2017067397A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101159003A (zh) * | 2007-11-16 | 2008-04-09 | 中国科学院软件研究所 | 数据库恶意事务处理方法及其系统 |
CN101436207A (zh) * | 2008-12-16 | 2009-05-20 | 浪潮通信信息系统有限公司 | 一种基于日志快照的数据恢复和同步方法 |
US20120011398A1 (en) * | 2010-04-12 | 2012-01-12 | Eckhardt Andrew D | Failure recovery using consensus replication in a distributed flash memory system |
CN103412803A (zh) * | 2013-08-15 | 2013-11-27 | 华为技术有限公司 | 数据恢复的方法及装置 |
CN104715041A (zh) * | 2015-03-24 | 2015-06-17 | 深圳市乾华数据科技有限公司 | 一种数据库恢复方法及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109117312A (zh) * | 2018-08-23 | 2019-01-01 | 北京小米智能科技有限公司 | 数据恢复方法及装置 |
CN109117312B (zh) * | 2018-08-23 | 2022-03-01 | 北京小米智能科技有限公司 | 数据恢复方法及装置 |
CN111913972A (zh) * | 2019-05-10 | 2020-11-10 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置及设备 |
WO2022033269A1 (zh) * | 2020-08-13 | 2022-02-17 | 华为技术有限公司 | 数据处理的方法、设备及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2017067397A1 (zh) | 2017-04-27 |
CN106599006B (zh) | 2020-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10108544B1 (en) | Dynamic duplication estimation for garbage collection | |
US7624133B1 (en) | Automatic detection of backup recovery sets | |
US7917472B2 (en) | Method, system and computer-readable media for backing up information contained in a database | |
US9183268B2 (en) | Partition level backup and restore of a massively parallel processing database | |
US20140172803A1 (en) | Main-memory database checkpointing | |
US20040163009A1 (en) | Physical incremental backup using snapshots | |
KR20070003579A (ko) | 플래시형 매체에 트랜잭션 레코드를 저장하는 파일 시스템 | |
CN104239443B (zh) | 一种序列化数据操作日志的存储方法 | |
KR20070003578A (ko) | 데이터 무결성의 검증을 지연시킨 파일 시스템 | |
CN108536752A (zh) | 一种数据同步方法、装置和设备 | |
KR20070003576A (ko) | 파일 시스템 무결성에 대한 최적화된 시동 검증 | |
CN103605588A (zh) | 一种虚拟机磁盘备份方法 | |
CN105573859A (zh) | 一种数据库的数据恢复方法和设备 | |
Strzelczak et al. | Concurrent Deletion in a Distributed {Content-Addressable} Storage System with Global Deduplication | |
JP2006018796A (ja) | データ処理方法および装置並びにストレージ装置およびその処理プログラム | |
CN106599006A (zh) | 一种数据恢复方法和装置 | |
CN111125298A (zh) | 重建ntfs文件目录树的方法、设备及存储介质 | |
CN111143323B (zh) | Mpp数据库管理方法、装置及系统 | |
US9483485B1 (en) | Restore database from backup system where full and incremental backups are performed simultaneously | |
CN110516124A (zh) | 一种文件解析方法、装置和计算机可读存储介质 | |
CN113419897B (zh) | 一种文件处理方法、装置、电子设备及其存储介质 | |
CN110795282B (zh) | 一种数据回滚方法、装置、设备及存储介质 | |
CN107832455A (zh) | 一种存储对象的数据获取方法、系统、设备及存储介质 | |
CN106557383B (zh) | 一种数据恢复的方法及装置 | |
CN107562898A (zh) | 一种基于kux操作系统创建回收站的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |