CN107844386A - 一种数据备份、恢复方法及装置 - Google Patents
一种数据备份、恢复方法及装置 Download PDFInfo
- Publication number
- CN107844386A CN107844386A CN201610832334.4A CN201610832334A CN107844386A CN 107844386 A CN107844386 A CN 107844386A CN 201610832334 A CN201610832334 A CN 201610832334A CN 107844386 A CN107844386 A CN 107844386A
- Authority
- CN
- China
- Prior art keywords
- data
- backup
- target
- destination node
- backup 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.)
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Retry When Errors Occur (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明实施例公开了一种数据备份、恢复方法及装置。该数据备份方法包括:接收对目标节点中缓存的目标数据进行备份的指令;确定开始备份所述目标数据的时间点;根所确定的时间点,将目标数据持久化到目标节点本地磁盘的空闲空间,生成备份数据。该数据恢复方法包括:接收对目标节点的备份数据进行恢复的指令,其中,指令中包含:要恢复的备份数据的时间点;根据时间点,从第一备份数据中确定目标备份数据,其中,第一备份数据为:根据开始备份数据的时间点,将目标节点中缓存的数据持久化到目标节点本地磁盘的空闲空间后生成的备份数据;将目标备份数据恢复到目标节点的缓存中。应用本发明实施例可以保证备份数据的可回滚性。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种数据备份、恢复方法及装置。
背景技术
在各种软件系统中,为提高数据的读取效率,经常会使用到缓存技术,Redis是目前最流行的缓存技术之一。Redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。持久化,即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储在数据库中,或者存储在磁盘文件中、XML数据文件中等等。
在实际应用过程中,为了防止数据丢失,通常需要对Redis缓存中的数据进行备份。现有技术中,通常将Redis的缓存数据直接备份在本地磁盘中,这种方式是每次对当前时间点时缓存中的数据进行备份后,以当前的备份数据覆盖原有的备份数据,使得备份数据的时间节点单一,不能支持多个时间点的备份数据,在对备份数据进行恢复时无法支持回滚到特定时间的数据,也就是不能将备份数据恢复到特定时间的数据。
发明内容
本发明实施例的目的在于提供一种数据备份、恢复方法及装置,保存目标数据多个时间点的备份数据,以保证备份数据的可回滚性。
为达到上述目的,本发明实施例公开了一种数据备份方法,所述方法包括:
接收对目标节点中缓存的目标数据进行备份的指令;
确定开始备份所述目标数据的时间点;
根据所确定的时间点,将所述目标数据持久化到所述目标节点本地磁盘的空闲空间,生成备份数据。
可选的,在所述根据所确定的时间点,将所述目标数据持久化到所述目标节点本地磁盘的空闲空间,生成备份数据之后,还包括:
根据所确定的时间点,利用对象存储技术,将所述备份数据存储至数据存储系统中存储节点的空闲空间。
可选的,在所述将所述备份数据存储至数据存储系统中存储节点的空闲空间之后,还包括:
删除所述目标节点本地磁盘的空闲空间中持久化的所述备份数据。
可选的,所述根据所确定的时间点,将所述目标数据持久化到所述目标节点本地磁盘的空闲空间,生成备份数据,包括:
根据所确定的时间点,确定所述目标数据对应的备份数据的名称;
基于所确定的名称,将所述目标数据持久化到所述目标节点本地磁盘的空闲空间,生成所述备份数据。
可选的,所述目标节点对应至少一个从节点,所述从节点保存有所述目标数据,
所述根据所确定的时间点,将所述目标数据持久化到所述目标节点本地磁盘的空闲空间,生成备份数据,包括:
从所述至少一个从节点中选择一个目标从节点;
根据所确定的时间点,将所述目标从节点上保存的所述目标数据持久化到所述目标从节点本地磁盘的空闲空间,生成备份数据。
可选的,在所述根据所确定的时间点,将所述目标数据持久化到所述目标节点本地磁盘的空闲空间,生成备份数据之后,还包括:
计算并保存所述备份数据的校验值。
可选的,在所述接收对目标节点上的目标数据进行备份的指令之后,还包括:
确定当前所述目标数据所处的目标数据备份阶段;
监测所述目标数据备份阶段的状态是否发生变化;
如果是,更新所述目标数据备份阶段的状态信息。
可选的,在所述确定当前所述目标数据所处的目标数据备份阶段之后,还包括:
判断所述目标数据处于所述目标数据备份阶段的时长是否大于预设阈值;
如果是,根据预设的超时重试机制,重新进入所述目标数据备份阶段。
可选的,所述方法还包括:
监测控制所述目标节点进行数据备份的服务是否重新启动;
若为是,根据所述目标数据备份阶段的状态信息,确定所述目标数据备份阶段;
根据预设的中断重试机制,重新进入所述目标数据备份阶段。
为达到上述目的,本发明实施例还公开了一种数据恢复方法,所述方法包括:
接收对目标节点的备份数据进行恢复的指令,其中,所述指令中包含:要恢复的备份数据的时间点;
根据所述时间点,从第一备份数据中确定目标备份数据,其中,所述第一备份数据为:根据开始备份数据的时间点,将所述目标节点中缓存的数据持久化到所述目标节点本地磁盘的空闲空间后生成的备份数据;
将所述目标备份数据恢复到所述目标节点的缓存中。
可选的,所述第一备份数据通过以下方式生成:
根据开始备份数据的时间点,将所述目标节点中缓存的数据持久化到所述目标节点本地磁盘的空闲空间;
将持久化后的数据存储至数据存储系统中存储节点的空闲空间,生成所述第一备份数据;
所述将所述目标备份数据恢复到所述目标节点的缓存中,包括:
从所述存储节点中将所述目标备份数据下载到所述目标节点的本地磁盘中;
将下载到所述目标节点的本地磁盘中的所述目标备份数据恢复到所述目标节点的缓存中。
可选的,所述将所述目标备份数据恢复到所述目标节点的缓存中,包括:
判断所述目标节点是否可用;
如果是,将所述目标备份数据恢复到所述目标节点的缓存中;
否则,对所述目标节点进行修复,修复完成后,将所述目标备份数据恢复到所述目标节点的缓存中。
可选的,所述将所述目标备份数据恢复到所述目标节点上,包括:
计算所述目标备份数据的目标校验值;
判断所述目标校验值是否与生成所述目标备份数据时保存的校验值相同;
如果是,将所述目标备份数据恢复到所述目标节点的缓存中。
可选的,在所述接收对目标节点的备份数据进行恢复的指令之后,还包括:
确定当前所述备份数据所处的目标数据恢复阶段;
监测所述目标数据恢复阶段的状态是否发生变化;
如果是,更新所述目标数据恢复阶段的状态信息。
可选的,在所述确定当前所述备份数据所处的目标数据恢复阶段之后,还包括:
判断所述备份数据处于所述目标数据恢复阶段的时长是否大于预设阈值;
如果是,根据预设的超时重试机制,重新进入所述目标数据恢复阶段。
可选的,所述方法还包括:
监测控制所述目标节点进行数据恢复的服务是否重新启动;
若为是,根据所述目标数据恢复阶段的状态信息,确定所述目标数据恢复阶段;
根据预设的中断重试机制,重新进入所述目标数据恢复阶段。
为达到上述目的,本发明实施例还公开了一种数据备份装置,所述装置包括:
第一接收模块,用于接收对目标节点中缓存的目标数据进行备份的指令;
第一确定模块,用于确定开始备份所述目标数据的时间点;
生成模块,用于根据所确定的时间点,将所述目标数据持久化到所述目标节点本地磁盘的空闲空间,生成备份数据。
可选的,在所述生成模块根据所确定的时间点,将所述目标数据持久化到所述目标节点本地磁盘的空闲空间,生成备份数据之后,还包括:
存储模块,用于根据所确定的时间点,利用对象存储技术,将所述备份数据存储至数据存储系统中存储节点的空闲空间。
可选的,在所述存储模块将所述备份数据存储至数据存储系统中存储节点的空闲空间之后,还包括:
删除模块,用于删除所述目标节点本地磁盘的空闲空间中持久化的所述备份数据。
可选的,所述生成模块,包括:
第一确定子模块,用于根据所确定的时间点,确定所述目标数据对应的备份数据的名称;
第一生成子模块,用于基于所确定的名称,将所述目标数据持久化到目标节点本地磁盘的空闲空间,生成所述备份数据。
可选的,所述目标节点对应至少一个从节点,所述从节点保存有所述目标数据,
所述生成模块,包括:
选择子模块,用于从所述至少一个从节点中选择一个目标从节点;
第二生成子模块,用于根据所确定的时间点,将所述目标从节点上保存的所述目标数据持久化到所述目标从节点本地磁盘的空闲空间,生成备份数据。
可选的,在所述生成模块根据所确定的时间点,将所述目标数据持久化到目标节点本地磁盘的空闲空间,生成备份数据之后,还包括:
计算模块,用于计算并保存所述备份数据的校验值。
可选的,在所述接收模块接收对目标节点上的目标数据进行备份的指令之后,还包括:
第二确定模块,用于确定当前所述目标数据所处的目标数据备份阶段;
第一监测模块,用于监测所述目标数据备份阶段的状态是否发生变化;
第一更新模块,用于在监测到所述目标数据备份阶段的状态发生变化时,更新所述目标数据备份阶段的状态信息。
可选的,在所述第一确定模块确定当前所述目标数据所处的目标数据备份阶段之后,还包括:
第一判断模块,用于判断所述目标数据处于所述目标数据备份阶段的时长是否大于预设阈值;
第一处理模块,用于在判定所述目标数据处于所述目标数据备份阶段的时长大于预设阈值时,根据预设的超时重试机制,重新进入所述目标数据备份阶段。
可选的,所述装置还包括:
第二监测模块,用于监测控制所述目标节点进行数据备份的服务是否重新启动;
第三确定模块,用于在监测到控制所述目标节点进行数据备份的服务重新启动时,根据所述目标数据备份阶段的状态信息,确定所述目标数据备份阶段;
第二处理模块,用于根据预设的中断重试机制,重新进入所述目标数据备份阶段。
为达到上述目的,本发明实施例公开了一种数据恢复装置,所述装置包括:
第二接收模块,用于接收对目标节点的备份数据进行恢复的指令,其中,所述指令中包含:要恢复的备份数据的时间点;
第四确定模块,用于根据所述时间点,从第一备份数据中确定目标备份数据,其中,所述第一备份数据为:根据开始备份数据的时间点,将所述目标节点中缓存的数据持久化到所述目标节点本地磁盘的空闲空间后生成的备份数据;
恢复模块,用于将所述目标备份数据恢复到所述目标节点的缓存中。
可选的,所述第一备份数据为:根据开始备份数据的时间点,将所述目标节点中缓存的数据持久化到所述目标节点本地磁盘的空闲空间后,将持久化后的数据存储至数据存储系统中存储节点的空闲空间生成的;
所述恢复模块,包括:
下载子模块,用于从所述存储节点中将所述目标备份数据下载到所述目标节点的本地磁盘中;
第一恢复子模块,用于将下载到所述目标节点的本地磁盘中的所述目标备份数据恢复到所述目标节点的缓存中。
可选的,所述恢复模块,包括:
第一判断子模块,用于判断所述目标节点是否可用;
第二恢复子模块,用于在判定所述目标节点可用时,将所述目标备份数据恢复到所述目标节点的缓存中;
第三恢复子模块,用于在判定所述目标节点不可用时,对所述目标节点进行修复,修复完成后,将所述目标备份数据恢复到所述目标节点的缓存中。
可选的,所述恢复模块,包括:
计算子模块,用于计算所述目标备份数据的目标校验值;
第二判断子模块,用于判断所述目标校验值是否与生成所述目标备份数据时保存的校验值相同;
第四恢复子模块,用于在判定断所述目标校验值与生成所述目标备份数据时保存的校验值相同时,将所述目标备份数据恢复到所述目标节点的缓存中。
可选的,其特征在于,在所述第二接收模块接收对目标节点的备份数据进行恢复的指令之后,还包括:
第五确定模块,用于确定当前所述备份数据所处的目标数据恢复阶段;
第三监测模块,用于监测所述目标数据恢复阶段的状态是否发生变化;
第二更新模块,用于在监测到所述目标数据恢复阶段的状态发生变化时,更新所述目标数据恢复阶段的状态信息。
可选的,在所述第五确定模块确定当前所述备份数据所处的目标数据恢复阶段之后,还包括:
第二判断模块,用于判断所述备份数据处于所述目标数据恢复阶段的时长是否大于预设阈值;
第三处理模块,用于在判定所述备份数据处于所述目标数据恢复阶段的时长大于预设阈值时,根据预设的超时重试机制,重新进入所述目标数据恢复阶段。
可选的,所述装置还包括:
第四监测模块,用于监测控制所述目标节点进行数据恢复的服务是否重新启动;
第六确定模块,用于在监测到控制所述目标节点进行数据恢复的服务重新启动时,根据所述目标数据恢复阶段的状态信息,确定所述目标数据恢复阶段;
第四处理模块,用于根据预设的中断重试机制,重新进入所述目标数据恢复阶段。
由以上可见,本发明实施例提供的方案中,在接收到对目标节点中缓存的目标数据进行备份的指令后,确定开始备份该目标数据的时间点,根据所确定的时间点,将该目标数据持久化到目标节点本地磁盘的空闲空间,生成备份数据。可见,应用本发明实施例提供的方案对缓存数据进行备份时,是根据备份的时间点,将缓存数据持久化到本地磁盘的空闲空间,这样,本地磁盘中可以保存目标数据多个时间点的备份数据,在对备份数据进行恢复时可以选择恢复到已保存的任意一个时间点的备份数据,实现了备份数据的可回滚性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的数据备份方法的第一种流程示意图;
图2为本发明实施例提供的数据备份方法的第二种流程示意图;
图3为本发明实施例提供的数据恢复方法的第一种流程示意图;
图4为本发明实施例提供的数据恢复方法的第二种流程示意图;
图5为本发明实施例提供的数据备份装置的第一种结构示意图;
图6为本发明实施例提供的数据备份装置的第二种结构示意图;
图7为本发明实施例提供的数据恢复装置的第一种结构示意图;
图8为本发明实施例提供的数据恢复装置的第二种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为解决现有技术问题,本发明实施例提供了一种数据备份、恢复方法及装置。下面首先对本发明实施例所提供的一种数据备份、恢复方法进行详细说明。
需要说明的是,本发明实施例所提供的数据备份、恢复方法的执行主体可以为OpenStack云计算平台中的控制服务器,也可以为其他应用场景中的控制服务器,该控制服务器可以对节点中的缓存数据进行备份并将备份数据恢复到节点的缓存中。在实际应用中,缓存数据可以为Redis缓存数据,也可以为其他类型的缓存数据,本申请对此不做限定。
图1为本发明实施例提供的数据备份方法的第一种流程示意图,该方法包括:
S101,接收对目标节点中缓存的目标数据进行备份的指令。
为满足用户的不同备份需求,可以对目标节点中缓存的目标数据进行手动备份和/或自动备份。手动备份为:用户选择任意的时间点进行备份,确保数据的时效性;自动备份为:用户为需要进行备份的目标节点设置备份的时间点,控制服务器会在该时间点自动进行备份操作。这样,在需要进行数据恢复时,用户可以选择手动或者自动备份的任意一个时间点对应的备份数据来进行恢复,确保了数据的可回滚性,同时手动备份和自动备份相结合的方式,可以保证备份数据的实时性和可靠性。
在实际应用中,对目标节点中缓存的目标数据进行备份的指令中可以包含目标节点的标识信息。当然,该指令中还可以包含其他信息,本申请对此不做限定。
S102,确定开始备份目标数据的时间点。
可以理解的,在接收到对目标节点中的缓存数据进行备份的指令后,在实际备份开始前,可以将开始备份的当前时刻确定为开始备份目标数据的时间点。
实际应用中,为便于对备份数据的统一管理,可以将所确定的时间点设置为备份操作的元属性。另外,备份操作的类型可以分为手动备份和自动备份,因此也可以将备份操作的类型设置为备份操作的元属性。为了确保数据备份操作的可靠性及异常状态后的可恢复性,可以预先将备份过程划分为多个备份阶段,因此还可以将备份阶段的状态信息设置为备份操作的元属性。当然,还可以为备份操作设置其他的元属性,本申请对此不做限定。
S103,根据所确定的时间点,将目标数据持久化到目标节点本地磁盘的空闲空间,生成备份数据。
可以理解的,数据持久化可以将内存中的数据模型转换为存储模型,而目标数据为目标节点缓存中的数据,在实际应用中,对缓存数据进行持久化操作的方式,可以是将缓存数据存入数据库或写入本地磁盘的文件中。
在一种具体实现方式中,可以根据所确定的时间点,确定目标数据对应的备份数据的名称;基于所确定的名称,将目标数据持久化到目标节点本地磁盘的空闲空间,生成备份数据。
例如,在对目标节点的缓存数据进行备份时,如果某次备份所确定的时间点为2016年05月14日16时45分30秒,那么可以根据该时间点确定本次备份生成的备份数据的名称为20160514164530。当然,还可以根据所确定的时间点和目标节点的标识信息来确定目标数据对应的备份数据的名称,等等,本申请对确定备份数据的名称所基于的信息不做限定。
可以理解的,在Redis缓存技术中,目标节点为redis缓存服务的主节点,用户的读写操作都是在主节点上进行的。每个主节点都可以对应至少一个从节点,从节点保存了主节点中的缓存数据。由于将缓存中的数据持久化到本地磁盘需要消耗一定的CPU和内存,如果选择主节点进行数据持久化操作,可能会影响主节点中数据的读写效率。
因此,可以从目标节点的至少一个从节点中选择一个目标从节点,根据所确定的时间点,将目标从节点上保存的目标数据持久化到目标从节点本地磁盘的空闲空间,生成备份数据。
可以理解的,目标节点本地磁盘中可以保存多个时间点的备份数据,为了在进行数据恢复时确保数据的准确性,在根据所确定的时间点,将目标数据持久化到目标节点本地磁盘的空闲空间,生成备份数据之后,可以计算并保存备份数据的校验值,便于在进行数据恢复时可以通过检查校验值的一致性来确保数据的准确性。在实际应用中,备份数据的校验值可以为备份数据的MD5值,也可以为其他类型的校验值,本申请对此不做限定。
在本发明实施例中,如图2所示的数据备份方法的第二种流程示意图,在根据所确定的时间点,将目标数据持久化到目标节点本地磁盘的空闲空间,生成备份数据(S103)之后,还可以包括:
S104,根据所确定的时间点,利用对象存储技术,将备份数据存储至数据存储系统中存储节点的空闲空间。
可以理解的,将缓存数据备份在目标节点或从节点的本地磁盘中,当目标节点或从节点发生异常,如物理磁盘损坏时,会导致本地存储的备份数据丢失而无法使用。而利用对象存储技术,将备份数据存储至数据存储系统中存储节点的空闲空间,可以避免本地磁盘损坏导致本地存储的备份数据丢失的风险,确保备份数据的安全性。所谓对象存储技术,是将数据文件以对象(Object)的形式保存到数据存储系统中的存储空间,对象(Object)包含数据文件以及相关的元属性信息,对象存储技术提供了具有高性能、高可靠性、跨平台以及安全的数据共享的存储体系结构。进一步的,上述数据存储系统可以为对象存储系统。
更进一步的,在将备份数据存储至数据存储系统中存储节点的空闲空间之后,还可以包括:删除目标节点本地磁盘的空闲空间中持久化的备份数据。这样,可以减小目标节点本地磁盘空间的占用量。
在一种优选实施方式中,为了确保数据备份操作的可靠性及异常状态后的可恢复性,可以预先将数据备份过程划分为多个备份阶段。例如,将缓存中的数据进行备份时,首先需要为本次备份操作设置元属性,再将需要备份的缓存数据持久化到本地磁盘的空闲空间生成备份数据,还可以在生成备份数据后计算并保存备份数据的校验值;因此可以将该备份过程划分为三个备份阶段,分别为设置元属性阶段、数据持久化阶段和计算保存校验值阶段。
此时,在接收对目标节点上的目标数据进行备份的指令之后,还可以包括:确定当前目标数据所处的目标数据备份阶段;监测目标数据备份阶段的状态是否发生变化;如果是,更新目标数据备份阶段的状态信息。
为了确保每个备份阶段都能被正确的执行,在确定当前目标数据所处的目标数据备份阶段之后,还可以包括:判断目标数据处于目标数据备份阶段的时长是否大于预设阈值;如果是,根据预设的超时重试机制,重新进入目标数据备份阶段。
更进一步的,当控制目标节点进行数据备份的服务由于异常而需要重新启动时,为了确保重新启动后还能继续执行服务正常运行时没能完成的备份操作,实现异常状态下的可恢复性,该数据备份方法还可以包括:监测控制目标节点进行数据备份的服务是否重新启动;若为是,根据目标数据备份阶段的状态信息,确定目标数据备份阶段;根据预设的中断重试机制,重新进入目标数据备份阶段。
可以理解的,控制服务器可以通过提供控制目标节点进行数据备份的服务,来对目标节点的数据备份操作进行管理。当控制目标节点进行数据备份的服务因异常而停止时,会导致该服务管理的正在进行的备份操作因无法继续进行而中断。因此当该服务重新启动时,该服务可以进行初始化,加载出服务停止之前未能完成的备份操作,根据未完成的备份操作的目标数据备份阶段的状态信息,确定该备份操作所处的目标数据备份阶段,根据预设的中断重试机制,重新进入目标数据备份阶段完成数据备份。
可以理解的,该控制目标节点进行数据备份的服务是由控制服务器提供的,因此也可以说,控制服务器加载服务停止之前未能完成的备份操作,根据未完成的备份操作的目标数据备份阶段的状态信息,确定该备份操作所处的目标数据备份阶段,根据预设的中断重试机制,重新进入目标数据备份阶段完成数据备份。
由以上可见,本发明实施例提供的方案中,在接收到对目标节点中缓存的目标数据进行备份的指令后,确定开始备份该目标数据的时间点,根据所确定的时间点,将该目标数据持久化到目标节点本地磁盘的空闲空间,生成备份数据。可见,应用本发明实施例提供的方案对缓存数据进行备份时,是根据备份的时间点,将缓存数据持久化到本地磁盘的空闲空间,这样,本地磁盘中可以保存目标数据多个时间点的备份数据,在对备份数据进行恢复时可以选择恢复到已保存的任意一个时间点的备份数据,实现了备份数据的可回滚性。
下面以一个具体实施例对预先将数据备份过程划分为多个备份阶段进行说明。例如,可以预先将数据备份过程划分为备份准备阶段、数据持久化阶段、备份数据存储阶段、备份完成阶段。
其中,备份准备阶段为本次备份操作添加元属性,包括开始备份目标数据的时间点、所处备份阶段的状态信息;数据持久化阶段将目标节点的缓存中的数据持久化到目标节点本地磁盘的空闲空间,生成备份数据;备份数据存储阶段将持久化后的备份数据存储到数据存储系统中存储节点的空闲空间;备份完成阶段计算并保存备份数据的校验值。
在接收到对目标节点中缓存的目标数据进行备份的指令后,可以触发备份阶段状态检测线程,将当前目标数据所处的目标数据备份阶段确定为备份准备阶段,在监测到备份操作进入到数据持久化阶段时,将数据备份阶段的状态信息更新为数据持久化阶段。后续在监测到数据备份阶段发生变化时,将数据备份阶段的状态信息更新为当前所处的备份阶段。
预选设置每个备份阶段所用时长的阈值,当目标数据在某个备份阶段所用的时长超过该备份阶段的阈值时,可以根据预设的超时重试机制,重新进入该数据备份阶段,保证了每个备份阶段都能被正确的执行。当控制目标节点进行数据备份的服务重新启动时,根据数据备份阶段的状态信息,可以确定在备份操作中断之前正在进行的数据备份阶段;根据预设的中断重试机制,重新进入该数据备份阶段,保证了中断的备份操作在服务重启后能够继续进行。
图3为本发明实施例提供的数据恢复方法的第一种流程示意图,该方法包括:
S301,接收对目标节点的备份数据进行恢复的指令;其中,指令中包含:要恢复的备份数据的时间点。
在实际应用中,用户可以选择恢复多个备份数据中任意一个时间点的备份数据。如果用户没有选择要恢复哪个时间点的备份数据,控制服务器会自动选择最近一次的备份数据进行恢复。
在实际应用中,对目标节点的备份数据进行恢复的指令中可以包含目标节点的标识信息。当然,该指令中还可以包含其他信息,本申请对此不做限定。
S302,根据时间点,从第一备份数据中确定目标备份数据。
其中,第一备份数据为:根据开始备份数据的时间点,将目标节点中缓存的数据持久化到目标节点本地磁盘的空闲空间后生成的备份数据。
由于第一备份数据是根据开始备份数据的时间点确定的备份数据,因此可以根据要恢复的备份数据的时间点,从已生成的备份数据中确定要恢复的目标备份数据。
S303,将目标备份数据恢复到目标节点的缓存中。
当第一备份数据保存在目标节点本地磁盘中时,可以直接将目标备份数据恢复到目标节点的缓存中。例如,可以通过Redis服务将目标备份数据加载到目标节点的缓存中,基于加载后的数据为用户提供服务。
在本发明实施例中,如图4所示的数据恢复方法的第二种流程示意图,其中,第一备份数据是通过以下方式生成的:根据开始备份数据的时间点,将目标节点中缓存的数据持久化到目标节点本地磁盘的空闲空间;将持久化后的数据存储至数据存储系统中存储节点的空闲空间,生成第一备份数据;
此时,将目标备份数据恢复到目标节点的缓存中(S303),可以包括:
S3031,从存储节点中将目标备份数据下载到目标节点的本地磁盘中;
S3032,将下载到目标节点的本地磁盘中的目标备份数据恢复到目标节点的缓存中。
在实际应用中,可以通过对目标节点的可用性检查来确保可以将目标备份数据恢复到目标节点的缓存中。因此,将所述目标备份数据恢复到所述目标节点的缓存中,可以包括:判断目标节点是否可用;如果是,将目标备份数据恢复到目标节点的缓存中;否则,对目标节点进行修复,修复完成后,将目标备份数据恢复到目标节点的缓存中。
可以理解的,当目标节点由于异常而无法修复时,为保证Redis服务的正常运行,还可以从目标节点所对应的至少一个从节点中选择一个目标从节点,将该目标从节点确定为主节点。因此,在进行数据恢复时,可以将目标备份数据恢复到重新确定的主节点的缓存中。
在一种优选实施方式中,为了确保恢复的备份数据的准确性,将目标备份数据恢复到目标节点上,可以包括:计算目标备份数据的目标校验值;判断目标校验值是否与生成目标备份数据时保存的校验值相同;如果是,将目标备份数据恢复到目标节点的缓存中。在实际应用中,备份数据的校验值可以为备份数据的MD5值,也可以为其他类型的校验值,本申请对此不做限定。
在一种优选实施方式中,为了确保数据恢复操作的可靠性及异常状态后的可恢复性,可以预先将数据恢复过程划分为多个备份阶段。例如,将备份数据恢复到节点的缓存中时,首先需要确定待恢复目标备份数据,再检查目标节点是否可用,如果目标节点不可用时对其进行修复,修复完成后将目标备份数据加载到该目标节点的缓存中,还可以计算目标备份数据的校验值以验证备份数据的准确性;因此可以将该恢复过程划分为四个恢复阶段,分别为确定备份数据阶段、目标节点可用性检查修复阶段、备份数据加载阶段和备份数据验证阶段。
此时,在接收对目标节点的备份数据进行恢复的指令之后,还可以包括:确定当前备份数据所处的目标数据恢复阶段;监测目标数据恢复阶段的状态是否发生变化;如果是,更新目标数据恢复阶段的状态信息。
为了确保每个备份阶段都能被正确的执行,在确定当前所述备份数据所处的目标数据恢复阶段之后,还可以包括:判断备份数据处于目标数据恢复阶段的时长是否大于预设阈值;如果是,根据预设的超时重试机制,重新进入目标数据恢复阶段。
更进一步的,当控制目标节点进行数据恢复的服务由于异常而需要重新启动时,为了确保重新启动后还能继续执行服务正常运行时没能完成的恢复操作,实现异常状态下的可恢复性,该数据恢复方法还可以包括:监测控制目标节点进行数据恢复的服务是否重新启动;若为是,根据目标数据恢复阶段的状态信息,确定目标数据恢复阶段;根据预设的中断重试机制,重新进入目标数据恢复阶段。
可以理解的,控制服务器可以通过提供控制目标节点进行数据恢复的服务,来对目标节点的数据恢复操作进行管理,当控制目标节点进行数据恢复的服务因异常而停止时,会导致该服务管理的正在进行的恢复操作因无法继续进行而中断。因此当该服务重新启动时,该服务可以进行初始化,加载出服务停止之前未能完成的恢复操作,根据未完成的恢复操作的目标数据恢复阶段的状态信息,确定该恢复操作所处的目标数据恢复阶段,根据预设的中断重试机制,重新进入目标数据恢复阶段完成数据恢复。
可以理解的,该控制目标节点进行数据恢复的服务是由控制服务器提供的,因此也可以说,控制服务器加载服务停止之前未能完成的恢复操作,根据未完成的恢复操作的目标数据恢复阶段的状态信息,确定该恢复操作所处的目标数据恢复阶段,根据预设的中断重试机制,重新进入目标数据恢复阶段完成数据恢复。
由以上可见,本发明实施例提供的方案中,在接收到对目标节点的备份数据进行恢复的指令后,根据指令中包含的要恢复的备份数据的时间点,从已生成的第一备份数据中确定目标备份数据,将目标备份数据恢复到目标节点的缓存中。可见,应用本发明实施例提供的方案恢复数据时,是根据备份的时间点,从已生成的目标数据的多个时间点的备份数据中,选择任意一个时间点对应的备份数据进行恢复,能够对数据的备份和恢复进行统一管理,实现备份数据的可回滚性。
下面以一个具体实施例对预先将数据恢复过程划分为多个恢复阶段进行说明。例如,可以预先将数据备份过程划分为要目标节点可用性检查阶段、备份数据获取阶段、备份数据加载阶段。
其中,目标节点可用性检查阶段对目标节点的可用性进行检查,并在目标节点不可用时对其进行修复;备份数据获取阶段从数据存储系统的存储节点中获取目标备份数据,并通过校验值进行数据一致性检查;备份数据加载阶段将目标备份数据加载到目标节点的缓存中,为用户提供正常服务。
在接收到对目标节点的备份数据进行恢复的指令后,可以触发恢复阶段状态检测线程,将当前备份数据所处的目标数据备份阶段确定为目标节点可用性检查阶段,在监测到恢复操作进入到备份数据获取阶段时,将数据恢复阶段的状态信息更新为备份数据获取阶段。后续在监测到数据恢复阶段发生变化时,将数据恢复阶段的状态信息更新为当前所处的恢复阶段。
预选设置每个恢复阶段所用时长的阈值,当备份数据在某个恢复阶段所用的时长超过该恢复阶段的阈值时,可以根据预设的超时重试机制,重新进入该数据恢复阶段。当控制目标节点进行数据恢复的服务重新启动时,根据数据恢复阶段的状态信息,可以确定在恢复操作中断之前正在进行的数据恢复阶段;根据预设的中断重试机制,重新进入该数据恢复阶段,保证了中断的恢复操作在服务重启后能够继续进行。
与上述的数据备份方法相对应,本发明实施例还提供了一种数据备份装置。
与图1所示的方法实施例相对应,图5为本发明实施例提供的数据备份装置的第一种结构示意图,该装置可以包括:
第一接收模块501,用于接收对目标节点中缓存的目标数据进行备份的指令;
第一确定模块502,用于确定开始备份所述目标数据的时间点;
生成模块503,用于根据所确定的时间点,将所述目标数据持久化到所述目标节点本地磁盘的空闲空间,生成备份数据。
在实际应用中,所述生成模块503,可以包括:
第一确定子模块(图中未示出),用于根据所确定的时间点,确定所述目标数据对应的备份数据的名称;
第一生成子模块(图中未示出),用于基于所确定的名称,将所述目标数据持久化到目标节点本地磁盘的空闲空间,生成所述备份数据。
在实际应用中,所述目标节点对应至少一个从节点,所述从节点保存有所述目标数据,
所述生成模块,可以包括:
选择子模块(图中未示出),用于从所述至少一个从节点中选择一个目标从节点;
第二生成子模块(图中未示出),用于根据所确定的时间点,将所述目标从节点上保存的所述目标数据持久化到所述目标从节点本地磁盘的空闲空间,生成备份数据。
在实际应用中,在所述生成模块根据所确定的时间点,将所述目标数据持久化到目标节点本地磁盘的空闲空间,生成备份数据之后,还可以包括:
计算模块(图中未示出),用于计算并保存所述备份数据的校验值。
在实际应用中,如图6所示的数据备份装置的第二种结构示意图,在所述生成模块503根据所确定的时间点,将所述目标数据持久化到所述目标节点本地磁盘的空闲空间,生成备份数据之后,还可以包括:
存储模块504,用于根据所确定的时间点,利用对象存储技术,将所述备份数据存储至数据存储系统中存储节点的空闲空间。
在实际应用中,在所述存储模块504将所述备份数据存储至数据存储系统中存储节点的空闲空间之后,还可以包括:
删除模块(图中未示出),用于删除所述目标节点本地磁盘的空闲空间中持久化的所述备份数据。
在实际应用中,在所述接收模块501接收对目标节点上的目标数据进行备份的指令之后,还可以包括:
第二确定模块(图中未示出),用于确定当前所述目标数据所处的目标数据备份阶段;
第一监测模块(图中未示出),用于监测所述目标数据备份阶段的状态是否发生变化;
第一更新模块(图中未示出),用于在监测到所述目标数据备份阶段的状态发生变化时,更新所述目标数据备份阶段的状态信息。
在实际应用中,在所述第一确定模块确定当前所述目标数据所处的目标数据备份阶段之后,还可以包括:
第一判断模块(图中未示出),用于判断所述目标数据处于所述目标数据备份阶段的时长是否大于预设阈值;
第一处理模块(图中未示出),用于在判定所述目标数据处于所述目标数据备份阶段的时长大于预设阈值时,根据预设的超时重试机制,重新进入所述目标数据备份阶段。
在实际应用中,所述装置还可以包括:
第二监测模块(图中未示出),用于监测控制所述目标节点进行数据备份的服务是否重新启动;
第三确定模块(图中未示出),用于在监测到控制所述目标节点进行数据备份的服务重新启动时,根据所述目标数据备份阶段的状态信息,确定所述目标数据备份阶段;
第二处理模块(图中未示出),用于根据预设的中断重试机制,重新进入所述目标数据备份阶段。
由以上可见,本发明实施例提供的方案中,在接收到对目标节点中缓存的目标数据进行备份的指令后,确定开始备份该目标数据的时间点,根据所确定的时间点,将该目标数据持久化到目标节点本地磁盘的空闲空间,生成备份数据。可见,应用本发明实施例提供的方案对缓存数据进行备份时,是根据备份的时间点,将缓存数据持久化到本地磁盘的空闲空间,这样,本地磁盘中可以保存目标数据多个时间点的备份数据,在对备份数据进行恢复时可以选择恢复到已保存的任意一个时间点的备份数据,实现了备份数据的可回滚性。
与上述的数据恢复方法相对应,本发明实施例还提供了一种数据恢复装置。
与图3所示的方法实施例相对应,图7为本发明实施例提供的数据恢复装置的第一种结构示意图,该装置可以包括:
第二接收模块701,用于接收对目标节点的备份数据进行恢复的指令,其中,所述指令中包含:要恢复的备份数据的时间点;
第四确定模块702,用于根据所述时间点,从第一备份数据中确定目标备份数据,其中,所述第一备份数据为:根据开始备份数据的时间点,将所述目标节点中缓存的数据持久化到所述目标节点本地磁盘的空闲空间后生成的备份数据;
恢复模块703,用于将所述目标备份数据恢复到所述目标节点的缓存中。
在实际应用中,如图8所示的数据恢复装置的第二种结构示意图,其中,第一备份数据为:根据开始备份数据的时间点,将目标节点中缓存的数据持久化到目标节点本地磁盘的空闲空间后,将持久化后的数据存储至数据存储系统中存储节点的空闲空间生成的;
此时,所述恢复模块703,可以包括:
下载子模块7031,用于从所述存储节点中将所述目标备份数据下载到所述目标节点的本地磁盘中;
第一恢复子模块7032,用于将下载到所述目标节点的本地磁盘中的所述目标备份数据恢复到所述目标节点的缓存中。
在实际应用中,所述恢复模块703,可以包括:
第一判断子模块(图中未示出),用于判断所述目标节点是否可用;
第二恢复子模块(图中未示出),用于在判定所述目标节点可用时,将所述目标备份数据恢复到所述目标节点的缓存中;
第三恢复子模块(图中未示出),用于在判定所述目标节点不可用时,对所述目标节点进行修复,修复完成后,将所述目标备份数据恢复到所述目标节点的缓存中。
在实际应用中,所述恢复模块703,可以包括:
计算子模块(图中未示出),用于计算所述目标备份数据的目标校验值;
第二判断子模块(图中未示出),用于判断所述目标校验值是否与生成所述目标备份数据时保存的校验值相同;
第四恢复子模块(图中未示出),用于在判定断所述目标校验值与生成所述目标备份数据时保存的校验值相同时,将所述目标备份数据恢复到所述目标节点的缓存中。
在实际应用中,在所述第二接收模块接收701对目标节点的备份数据进行恢复的指令之后,还可以包括:
第五确定模块(图中未示出),用于确定当前所述备份数据所处的目标数据恢复阶段;
第三监测模块(图中未示出),用于监测所述目标数据恢复阶段的状态是否发生变化;
第二更新模块(图中未示出),用于在监测到所述目标数据恢复阶段的状态发生变化时,更新所述目标数据恢复阶段的状态信息。
在实际应用中,在所述第五确定模块确定当前所述备份数据所处的目标数据恢复阶段之后,还可以包括:
第二判断模块(图中未示出),用于判断所述备份数据处于所述目标数据恢复阶段的时长是否大于预设阈值;
第三处理模块(图中未示出),用于在判定所述备份数据处于所述目标数据恢复阶段的时长大于预设阈值时,根据预设的超时重试机制,重新进入所述目标数据恢复阶段。
在实际应用中,所述装置还可以包括:
第四监测模块(图中未示出),用于监测控制所述目标节点进行数据恢复的服务是否重新启动;
第六确定模块(图中未示出),用于在监测到控制所述目标节点进行数据恢复的服务重新启动时,根据所述目标数据恢复阶段的状态信息,确定所述目标数据恢复阶段;
第四处理模块(图中未示出),用于根据预设的中断重试机制,重新进入所述目标数据恢复阶段。
由以上可见,本发明实施例提供的方案中,在接收到对目标节点的备份数据进行恢复的指令后,根据指令中包含的要恢复的备份数据的时间点,从已生成的第一备份数据中确定目标备份数据,将目标备份数据恢复到目标节点的缓存中。可见,应用本发明实施例提供的方案恢复数据时,是根据备份的时间点,从已生成的目标数据的多个时间点的备份数据中,选择任意一个时间点对应的备份数据进行恢复,能够对数据的备份和恢复进行统一管理,实现备份数据的可回滚性。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (32)
1.一种数据备份方法,其特征在于,所述方法包括:
接收对目标节点中缓存的目标数据进行备份的指令;
确定开始备份所述目标数据的时间点;
根据所确定的时间点,将所述目标数据持久化到所述目标节点本地磁盘的空闲空间,生成备份数据。
2.根据权利要求1所述的方法,其特征在于,在所述根据所确定的时间点,将所述目标数据持久化到所述目标节点本地磁盘的空闲空间,生成备份数据之后,还包括:
根据所确定的时间点,利用对象存储技术,将所述备份数据存储至数据存储系统中存储节点的空闲空间。
3.根据权利要求2所述的方法,其特征在于,在所述将所述备份数据存储至数据存储系统中存储节点的空闲空间之后,还包括:
删除所述目标节点本地磁盘的空闲空间中持久化的所述备份数据。
4.根据权利要求1所述的方法,其特征在于,所述根据所确定的时间点,将所述目标数据持久化到所述目标节点本地磁盘的空闲空间,生成备份数据,包括:
根据所确定的时间点,确定所述目标数据对应的备份数据的名称;
基于所确定的名称,将所述目标数据持久化到所述目标节点本地磁盘的空闲空间,生成所述备份数据。
5.根据权利要求1所述的方法,其特征在于,所述目标节点对应至少一个从节点,所述从节点保存有所述目标数据,
所述根据所确定的时间点,将所述目标数据持久化到所述目标节点本地磁盘的空闲空间,生成备份数据,包括:
从所述至少一个从节点中选择一个目标从节点;
根据所确定的时间点,将所述目标从节点上保存的所述目标数据持久化到所述目标从节点本地磁盘的空闲空间,生成备份数据。
6.根据权利要求1所述的方法,其特征在于,在所述根据所确定的时间点,将所述目标数据持久化到所述目标节点本地磁盘的空闲空间,生成备份数据之后,还包括:
计算并保存所述备份数据的校验值。
7.根据权利要求1-6任一项所述的方法,其特征在于,在所述接收对目标节点上的目标数据进行备份的指令之后,还包括:
确定当前所述目标数据所处的目标数据备份阶段;
监测所述目标数据备份阶段的状态是否发生变化;
如果是,更新所述目标数据备份阶段的状态信息。
8.根据权利要求7所述的方法,其特征在于,在所述确定当前所述目标数据所处的目标数据备份阶段之后,还包括:
判断所述目标数据处于所述目标数据备份阶段的时长是否大于预设阈值;
如果是,根据预设的超时重试机制,重新进入所述目标数据备份阶段。
9.根据权利要求7所述的方法,其特征在于,所述方法还包括:
监测控制所述目标节点进行数据备份的服务是否重新启动;
若为是,根据所述目标数据备份阶段的状态信息,确定所述目标数据备份阶段;
根据预设的中断重试机制,重新进入所述目标数据备份阶段。
10.一种数据恢复方法,其特征在于,所述方法包括:
接收对目标节点的备份数据进行恢复的指令,其中,所述指令中包含:要恢复的备份数据的时间点;
根据所述时间点,从第一备份数据中确定目标备份数据,其中,所述第一备份数据为:根据开始备份数据的时间点,将所述目标节点中缓存的数据持久化到所述目标节点本地磁盘的空闲空间后生成的备份数据;
将所述目标备份数据恢复到所述目标节点的缓存中。
11.根据权利要求10所述的方法,其特征在于,所述第一备份数据通过以下方式生成:
根据开始备份数据的时间点,将所述目标节点中缓存的数据持久化到所述目标节点本地磁盘的空闲空间;
将持久化后的数据存储至数据存储系统中存储节点的空闲空间,生成所述第一备份数据;
所述将所述目标备份数据恢复到所述目标节点的缓存中,包括:
从所述存储节点中将所述目标备份数据下载到所述目标节点的本地磁盘中;
将下载到所述目标节点的本地磁盘中的所述目标备份数据恢复到所述目标节点的缓存中。
12.根据权利要求10所述的方法,其特征在于,所述将所述目标备份数据恢复到所述目标节点的缓存中,包括:
判断所述目标节点是否可用;
如果是,将所述目标备份数据恢复到所述目标节点的缓存中;
否则,对所述目标节点进行修复,修复完成后,将所述目标备份数据恢复到所述目标节点的缓存中。
13.根据权利要求10所述的方法,其特征在于,所述将所述目标备份数据恢复到所述目标节点上,包括:
计算所述目标备份数据的目标校验值;
判断所述目标校验值是否与生成所述目标备份数据时保存的校验值相同;
如果是,将所述目标备份数据恢复到所述目标节点的缓存中。
14.根据权利要求10-13任一项所述的方法,其特征在于,在所述接收对目标节点的备份数据进行恢复的指令之后,还包括:
确定当前所述备份数据所处的目标数据恢复阶段;
监测所述目标数据恢复阶段的状态是否发生变化;
如果是,更新所述目标数据恢复阶段的状态信息。
15.根据权利要求14所述的方法,其特征在于,在所述确定当前所述备份数据所处的目标数据恢复阶段之后,还包括:
判断所述备份数据处于所述目标数据恢复阶段的时长是否大于预设阈值;
如果是,根据预设的超时重试机制,重新进入所述目标数据恢复阶段。
16.根据权利要求14所述的方法,其特征在于,所述还包括:
监测控制所述目标节点进行数据恢复的服务是否重新启动;
若为是,根据所述目标数据恢复阶段的状态信息,确定所述目标数据恢复阶段;
根据预设的中断重试机制,重新进入所述目标数据恢复阶段。
17.一种数据备份装置,其特征在于,所述装置包括:
第一接收模块,用于接收对目标节点中缓存的目标数据进行备份的指令;
第一确定模块,用于确定开始备份所述目标数据的时间点;
生成模块,用于根据所确定的时间点,将所述目标数据持久化到所述目标节点本地磁盘的空闲空间,生成备份数据。
18.根据权利要求17所述的装置,其特征在于,在所述生成模块根据所确定的时间点,将所述目标数据持久化到所述目标节点本地磁盘的空闲空间,生成备份数据之后,还包括:
存储模块,用于根据所确定的时间点,利用对象存储技术,将所述备份数据存储至数据存储系统中存储节点的空闲空间。
19.根据权利要求18所述的装置,其特征在于,在所述存储模块将所述备份数据存储至数据存储系统中存储节点的空闲空间之后,还包括:
删除模块,用于删除所述目标节点本地磁盘的空闲空间中持久化的所述备份数据。
20.根据权利要求17所述的装置,其特征在于,所述生成模块,包括:
第一确定子模块,用于根据所确定的时间点,确定所述目标数据对应的备份数据的名称;
第一生成子模块,用于基于所确定的名称,将所述目标数据持久化到目标节点本地磁盘的空闲空间,生成所述备份数据。
21.根据权利要求17所述的装置,其特征在于,所述目标节点对应至少一个从节点,所述从节点保存有所述目标数据,
所述生成模块,包括:
选择子模块,用于从所述至少一个从节点中选择一个目标从节点;
第二生成子模块,用于根据所确定的时间点,将所述目标从节点上保存的所述目标数据持久化到所述目标从节点本地磁盘的空闲空间,生成备份数据。
22.根据权利要求17所述的装置,其特征在于,在所述生成模块根据所确定的时间点,将所述目标数据持久化到目标节点本地磁盘的空闲空间,生成备份数据之后,还包括:
计算模块,用于计算并保存所述备份数据的校验值。
23.根据权利要求17-22任一项所述的装置,其特征在于,在所述接收模块接收对目标节点上的目标数据进行备份的指令之后,还包括:
第二确定模块,用于确定当前所述目标数据所处的目标数据备份阶段;
第一监测模块,用于监测所述目标数据备份阶段的状态是否发生变化;
第一更新模块,用于在监测到所述目标数据备份阶段的状态发生变化时,更新所述目标数据备份阶段的状态信息。
24.根据权利要求23所述的装置,其特征在于,在所述第一确定模块确定当前所述目标数据所处的目标数据备份阶段之后,还包括:
第一判断模块,用于判断所述目标数据处于所述目标数据备份阶段的时长是否大于预设阈值;
第一处理模块,用于在判定所述目标数据处于所述目标数据备份阶段的时长大于预设阈值时,根据预设的超时重试机制,重新进入所述目标数据备份阶段。
25.根据权利要求23所述的装置,其特征在于,所述装置还包括:
第二监测模块,用于监测控制所述目标节点进行数据备份的服务是否重新启动;
第三确定模块,用于在监测到控制所述目标节点进行数据备份的服务重新启动时,根据所述目标数据备份阶段的状态信息,确定所述目标数据备份阶段;
第二处理模块,用于根据预设的中断重试机制,重新进入所述目标数据备份阶段。
26.一种数据恢复装置,其特征在于,所述装置包括:
第二接收模块,用于接收对目标节点的备份数据进行恢复的指令,其中,所述指令中包含:要恢复的备份数据的时间点;
第四确定模块,用于根据所述时间点,从第一备份数据中确定目标备份数据,其中,所述第一备份数据为:根据开始备份数据的时间点,将所述目标节点中缓存的数据持久化到所述目标节点本地磁盘的空闲空间后生成的备份数据;
恢复模块,用于将所述目标备份数据恢复到所述目标节点的缓存中。
27.根据权利要求26所述的装置,其特征在于,
所述第一备份数据为:根据开始备份数据的时间点,将所述目标节点中缓存的数据持久化到所述目标节点本地磁盘的空闲空间后,将持久化后的数据存储至数据存储系统中存储节点的空闲空间生成的;
所述恢复模块,包括:
下载子模块,用于从所述存储节点中将所述目标备份数据下载到所述目标节点的本地磁盘中;
第一恢复子模块,用于将下载到所述目标节点的本地磁盘中的所述目标备份数据恢复到所述目标节点的缓存中。
28.根据权利要求26所述的装置,其特征在于,所述恢复模块,包括:
第一判断子模块,用于判断所述目标节点是否可用;
第二恢复子模块,用于在判定所述目标节点可用时,将所述目标备份数据恢复到所述目标节点的缓存中;
第三恢复子模块,用于在判定所述目标节点不可用时,对所述目标节点进行修复,修复完成后,将所述目标备份数据恢复到所述目标节点的缓存中。
29.根据权利要求26所述的装置,其特征在于,所述恢复模块,包括:
计算子模块,用于计算所述目标备份数据的目标校验值;
第二判断子模块,用于判断所述目标校验值是否与生成所述目标备份数据时保存的校验值相同;
第四恢复子模块,用于在判定断所述目标校验值与生成所述目标备份数据时保存的校验值相同时,将所述目标备份数据恢复到所述目标节点的缓存中。
30.根据权利要求26-29任一项所述的装置,其特征在于,在所述第二接收模块接收对目标节点的备份数据进行恢复的指令之后,还包括:
第五确定模块,用于确定当前所述备份数据所处的目标数据恢复阶段;
第三监测模块,用于监测所述目标数据恢复阶段的状态是否发生变化;
第二更新模块,用于在监测到所述目标数据恢复阶段的状态发生变化时,更新所述目标数据恢复阶段的状态信息。
31.根据权利要求30所述的装置,其特征在于,在所述第五确定模块确定当前所述备份数据所处的目标数据恢复阶段之后,还包括:
第二判断模块,用于判断所述备份数据处于所述目标数据恢复阶段的时长是否大于预设阈值;
第三处理模块,用于在判定所述备份数据处于所述目标数据恢复阶段的时长大于预设阈值时,根据预设的超时重试机制,重新进入所述目标数据恢复阶段。
32.根据权利要求30所述的装置,其特征在于,所述装置还包括:
第四监测模块,用于监测控制所述目标节点进行数据恢复的服务是否重新启动;
第六确定模块,用于在监测到控制所述目标节点进行数据恢复的服务重新启动时,根据所述目标数据恢复阶段的状态信息,确定所述目标数据恢复阶段;
第四处理模块,用于根据预设的中断重试机制,重新进入所述目标数据恢复阶段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610832334.4A CN107844386B (zh) | 2016-09-19 | 2016-09-19 | 一种数据备份、恢复方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610832334.4A CN107844386B (zh) | 2016-09-19 | 2016-09-19 | 一种数据备份、恢复方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107844386A true CN107844386A (zh) | 2018-03-27 |
CN107844386B CN107844386B (zh) | 2020-11-27 |
Family
ID=61657115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610832334.4A Active CN107844386B (zh) | 2016-09-19 | 2016-09-19 | 一种数据备份、恢复方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107844386B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109033442A (zh) * | 2018-08-16 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种通用文件管理方法 |
CN109087690A (zh) * | 2018-08-16 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种基于云计算的医疗数据的处理系统 |
CN109102228A (zh) * | 2018-08-16 | 2018-12-28 | 郑州云海信息技术有限公司 | 一种基于云计算的货车运输信息管理系统 |
CN109189610A (zh) * | 2018-08-16 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种linux下服务器监测数据的处理方法 |
CN109597713A (zh) * | 2018-11-29 | 2019-04-09 | 阿里巴巴集团控股有限公司 | 数据备份方法及装置 |
CN109614051A (zh) * | 2018-12-13 | 2019-04-12 | 北京金山云网络技术有限公司 | 一种备份数据的清理方法、装置、电子设备及存储介质 |
CN110008060A (zh) * | 2019-03-12 | 2019-07-12 | 武汉光庭信息技术股份有限公司 | 备份数据存储及加载方法、装置及存储介质 |
CN110413449A (zh) * | 2019-06-29 | 2019-11-05 | 苏州浪潮智能科技有限公司 | 一种基于文件存储系统的元数据备份与恢复方法 |
CN110457162A (zh) * | 2019-06-20 | 2019-11-15 | 广州南方卫星导航仪器有限公司 | 一种数据的备份方法、终端设备、存储介质 |
CN111106947A (zh) * | 2018-10-29 | 2020-05-05 | 北京金山云网络技术有限公司 | 一种节点宕机修复方法、装置、电子设备及可读存储介质 |
CN111708783A (zh) * | 2020-06-18 | 2020-09-25 | 北京金山云网络技术有限公司 | 数据存储和数据恢复方法、装置及电子设备 |
CN112231148A (zh) * | 2020-10-23 | 2021-01-15 | 北京思特奇信息技术股份有限公司 | 分布式缓存数据离线传输方法、装置及可读存储介质 |
WO2021130547A1 (en) * | 2019-12-23 | 2021-07-01 | Sensetime International Pte. Ltd. | Data processing method and apparatus, and edge device |
CN114138554A (zh) * | 2021-11-22 | 2022-03-04 | 深圳市远飞网络科技有限公司 | 无线ap配置信息备份及系统恢复控制系统 |
CN114661524A (zh) * | 2022-03-21 | 2022-06-24 | 重庆市规划和自然资源信息中心 | 基于日志分析的不动产登记数据回备技术的实现方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101364163A (zh) * | 2007-08-07 | 2009-02-11 | 英业达股份有限公司 | 一种逻辑卷创建系统及其方法 |
CN101739311A (zh) * | 2009-12-15 | 2010-06-16 | 上海爱数软件有限公司 | 一种安全备份内存数据的方法及装置 |
CN102841823A (zh) * | 2011-06-23 | 2012-12-26 | 鸿富锦精密工业(深圳)有限公司 | 数据备份系统及方法 |
CN103164294A (zh) * | 2013-01-30 | 2013-06-19 | 浪潮(北京)电子信息产业有限公司 | 一种实现计算机还原点的系统、装置及方法 |
CN103761165A (zh) * | 2014-01-15 | 2014-04-30 | 北京奇虎科技有限公司 | 日志备份方法及装置 |
CN103810060A (zh) * | 2013-11-21 | 2014-05-21 | 北京奇虎科技有限公司 | 基于分布式数据库的数据备份方法及其系统 |
CN104239444A (zh) * | 2014-09-01 | 2014-12-24 | 上海爱数软件有限公司 | Oracle数据库用的一致性数据保护与捕获一致性状态的方法 |
CN105302668A (zh) * | 2015-10-21 | 2016-02-03 | 上海爱数信息技术股份有限公司 | 一种优化对象存储系统中块设备数据访问性能的方法 |
CN105447167A (zh) * | 2015-12-04 | 2016-03-30 | 北京奇虎科技有限公司 | 分布式系统中节点缓存数据的处理方法及装置 |
CN105677236A (zh) * | 2015-12-29 | 2016-06-15 | 华为技术有限公司 | 一种存储设备及其存储数据的方法 |
CN105930228A (zh) * | 2016-04-06 | 2016-09-07 | 广州唯品会信息科技有限公司 | 数据备份方法及系统 |
-
2016
- 2016-09-19 CN CN201610832334.4A patent/CN107844386B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101364163A (zh) * | 2007-08-07 | 2009-02-11 | 英业达股份有限公司 | 一种逻辑卷创建系统及其方法 |
CN101739311A (zh) * | 2009-12-15 | 2010-06-16 | 上海爱数软件有限公司 | 一种安全备份内存数据的方法及装置 |
CN102841823A (zh) * | 2011-06-23 | 2012-12-26 | 鸿富锦精密工业(深圳)有限公司 | 数据备份系统及方法 |
CN103164294A (zh) * | 2013-01-30 | 2013-06-19 | 浪潮(北京)电子信息产业有限公司 | 一种实现计算机还原点的系统、装置及方法 |
CN103810060A (zh) * | 2013-11-21 | 2014-05-21 | 北京奇虎科技有限公司 | 基于分布式数据库的数据备份方法及其系统 |
CN103761165A (zh) * | 2014-01-15 | 2014-04-30 | 北京奇虎科技有限公司 | 日志备份方法及装置 |
CN104239444A (zh) * | 2014-09-01 | 2014-12-24 | 上海爱数软件有限公司 | Oracle数据库用的一致性数据保护与捕获一致性状态的方法 |
CN105302668A (zh) * | 2015-10-21 | 2016-02-03 | 上海爱数信息技术股份有限公司 | 一种优化对象存储系统中块设备数据访问性能的方法 |
CN105447167A (zh) * | 2015-12-04 | 2016-03-30 | 北京奇虎科技有限公司 | 分布式系统中节点缓存数据的处理方法及装置 |
CN105677236A (zh) * | 2015-12-29 | 2016-06-15 | 华为技术有限公司 | 一种存储设备及其存储数据的方法 |
CN105930228A (zh) * | 2016-04-06 | 2016-09-07 | 广州唯品会信息科技有限公司 | 数据备份方法及系统 |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189610B (zh) * | 2018-08-16 | 2021-10-29 | 郑州云海信息技术有限公司 | 一种linux下服务器监测数据的处理方法 |
CN109087690A (zh) * | 2018-08-16 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种基于云计算的医疗数据的处理系统 |
CN109102228A (zh) * | 2018-08-16 | 2018-12-28 | 郑州云海信息技术有限公司 | 一种基于云计算的货车运输信息管理系统 |
CN109189610A (zh) * | 2018-08-16 | 2019-01-11 | 郑州云海信息技术有限公司 | 一种linux下服务器监测数据的处理方法 |
CN109087690B (zh) * | 2018-08-16 | 2022-06-21 | 郑州云海信息技术有限公司 | 一种基于云计算的医疗数据的处理系统 |
CN109033442A (zh) * | 2018-08-16 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种通用文件管理方法 |
CN111106947B (zh) * | 2018-10-29 | 2023-02-07 | 北京金山云网络技术有限公司 | 一种节点宕机修复方法、装置、电子设备及可读存储介质 |
CN111106947A (zh) * | 2018-10-29 | 2020-05-05 | 北京金山云网络技术有限公司 | 一种节点宕机修复方法、装置、电子设备及可读存储介质 |
CN109597713A (zh) * | 2018-11-29 | 2019-04-09 | 阿里巴巴集团控股有限公司 | 数据备份方法及装置 |
CN109614051A (zh) * | 2018-12-13 | 2019-04-12 | 北京金山云网络技术有限公司 | 一种备份数据的清理方法、装置、电子设备及存储介质 |
CN110008060A (zh) * | 2019-03-12 | 2019-07-12 | 武汉光庭信息技术股份有限公司 | 备份数据存储及加载方法、装置及存储介质 |
CN110457162A (zh) * | 2019-06-20 | 2019-11-15 | 广州南方卫星导航仪器有限公司 | 一种数据的备份方法、终端设备、存储介质 |
CN110457162B (zh) * | 2019-06-20 | 2024-01-09 | 广州南方卫星导航仪器有限公司 | 一种数据的备份方法、终端设备、存储介质 |
CN110413449B (zh) * | 2019-06-29 | 2022-02-18 | 苏州浪潮智能科技有限公司 | 一种基于文件存储系统的元数据备份与恢复方法 |
CN110413449A (zh) * | 2019-06-29 | 2019-11-05 | 苏州浪潮智能科技有限公司 | 一种基于文件存储系统的元数据备份与恢复方法 |
WO2021130547A1 (en) * | 2019-12-23 | 2021-07-01 | Sensetime International Pte. Ltd. | Data processing method and apparatus, and edge device |
JP7212153B2 (ja) | 2019-12-23 | 2023-01-24 | 商▲湯▼国▲際▼私人有限公司 | データ処理方法、装置、及びエッジデバイス |
US11281580B2 (en) | 2019-12-23 | 2022-03-22 | Sensetime International Pte. Ltd. | Edge device triggering a write-ahead logging (WAL) log when abnormal condition occurs |
JP2022524174A (ja) * | 2019-12-23 | 2022-04-28 | 商▲湯▼国▲際▼私人有限公司 | データ処理方法、装置、及びエッジデバイス |
CN111708783A (zh) * | 2020-06-18 | 2020-09-25 | 北京金山云网络技术有限公司 | 数据存储和数据恢复方法、装置及电子设备 |
CN112231148A (zh) * | 2020-10-23 | 2021-01-15 | 北京思特奇信息技术股份有限公司 | 分布式缓存数据离线传输方法、装置及可读存储介质 |
CN114138554A (zh) * | 2021-11-22 | 2022-03-04 | 深圳市远飞网络科技有限公司 | 无线ap配置信息备份及系统恢复控制系统 |
CN114661524A (zh) * | 2022-03-21 | 2022-06-24 | 重庆市规划和自然资源信息中心 | 基于日志分析的不动产登记数据回备技术的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107844386B (zh) | 2020-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107844386A (zh) | 一种数据备份、恢复方法及装置 | |
CN105912628B (zh) | 主从数据库的同步方法及装置 | |
US9465602B2 (en) | Maintaining service performance during a cloud upgrade | |
US20080162599A1 (en) | Optimizing backup and recovery utilizing change tracking | |
CN105630632A (zh) | 一种虚拟机恢复的方法及虚拟机管理设备 | |
WO2011110542A1 (en) | Buffer disk in flashcopy cascade | |
US10922186B1 (en) | Method and system for implementing current, consistent, and complete backups by rolling a change log backwards | |
US20120054477A1 (en) | Providing a backup service from a remote backup data center to a computer through a network | |
CN104035836A (zh) | 集群检索平台中的自动容灾恢复方法及系统 | |
CN104765652B (zh) | 一种数据备份和数据恢复方法及装置 | |
CN109697140B (zh) | 数据备份方法及装置、数据恢复方法及装置、存储介质 | |
CN110263095A (zh) | 数据备份与恢复方法、装置、计算机设备及存储介质 | |
CN107544869A (zh) | 一种数据恢复方法和装置 | |
US20120036496A1 (en) | Plug-in based high availability application management framework (amf) | |
CN105573788B (zh) | 补丁处理的方法和设备以及生成补丁的方法和设备 | |
US20130262393A1 (en) | Database backup without particularly specifying server | |
CN107402843A (zh) | 数据库损坏的恢复方法、装置和设备 | |
US8825600B2 (en) | File backup apparatus and method for backing up one or more directories | |
CN107943615B (zh) | 基于分布式集群的数据处理方法与系统 | |
CN115858086A (zh) | 数据恢复方法、数据恢复系统、设备及存储介质 | |
CN101582805A (zh) | 电信网管与网元数据不一致时自动上载比较的方法及装置 | |
CN108958827B (zh) | 一种处理程序升级故障的方法和系统 | |
US20030126159A1 (en) | Method and system for rollback of software system upgrade | |
CN115357429B (zh) | 恢复数据文件的方法、装置和客户端 | |
CN112711599B (zh) | 数据增量更新方法 |
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 |