CN105224422A - 一种数据备份方法及设备 - Google Patents
一种数据备份方法及设备 Download PDFInfo
- Publication number
- CN105224422A CN105224422A CN201510683921.7A CN201510683921A CN105224422A CN 105224422 A CN105224422 A CN 105224422A CN 201510683921 A CN201510683921 A CN 201510683921A CN 105224422 A CN105224422 A CN 105224422A
- Authority
- CN
- China
- Prior art keywords
- data block
- data
- bitmap
- backup
- value
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种数据备份方法及设备,在本方案中,可根据用于记录源数据中的各数据块在源数据的当前备份过程中的备份状态的第一位图,以及用于记录源数据中的各数据块在当前备份过程对应的备份时刻后的更新状态的第二位图,确定各数据块在当前备份过程中的备份状态以及在当前备份过程对应的备份时刻后的更新状态,并根据确定的各数据块的备份状态以及更新状态,实现数据的更新以及增量远程备份,即,不再需要利用快照记录备份时刻的原数据内容,且,针对已经备份完毕的数据,不再需要更新快照以进行写时拷贝,从而相对于现有基于快照的远程数据备份方式来说,可大大降低对源数据业务的影响,提高数据备份的实用性。
Description
技术领域
本发明涉及数据安全技术领域,尤其涉及一种数据备份方法及设备。
背景技术
随着大数据时代的来临,数据已成为企业越来越重要的资产,但是,随着数据的海量增长,传统的数据备份方案已越来越不能满足当前的备份需求。为此,各厂家纷纷建立了相应的数据中心来进行数据的备份。其中,由于各数据中心的容量早已超过PB级,且各数据中心需要具备高可用性、高稳定性、高扩展性以及高可管理性,且往往要求能够保证业务连续运转(如保证业务能够7x24小时连续运转)等,因而,这些都对数据中心的备份能力提出了极高的要求,如需要有极快的备份速度和恢复速度,并尽量减少对业务的影响等。
但是,由于在采用上述方式进行数据备份时,通常需将所有数据都放在一个“篮子”(即数据中心)里,当数据中心出现不可逆转的事故,如地震、火灾等时,将会给企业带来很大损失,因此,需要一种相对于上述方式来说更为可靠、安全的远程备份方案来解决上述问题。
具体地,目前,业界常采用以下方式进行数据的远程备份:基于快照保存源数据的瞬时数据副本,并将快照数据备份至远程备份数据中心。具体地,可利用位图记录两次备份之间的数据的更新状态,再次备份时,通过比较得出增量数据,以实现增量远程备份。
但是,由于在采用上述远程备份方式进行数据备份时,在备份过程当中,需要不断地创建快照,且由于快照会对源数据产生30%-80%的性能影响,因而,会导致对源数据业务的影响较大,降低了远程数据备份的实用性。另外,由于对于已经备份完毕的数据块来说,源数据更新时还是需要创建快照并基于快照进行写时拷贝,从而会进一步增大对源数据业务的影响,降低远程数据备份的实用性。再有,由于在采用上述远程备份方式进行数据备份时,当不需要进行数据备份时,快照也必须存在,因而会导致对源数据业务的影响会一直存在,大大降低了远程备份的实用性。
也就是说,在采用现有的基于快照的远程备份方式进行数据备份时,会存在对源数据业务的影响较大、以及实用性较低等的问题。
发明内容
本发明实施例提供了一种数据备份方法及设备,用以解决现有远程数据备份方式所存在的对源数据的业务影响较大且实用性较低的问题。
本发明实施例提供了一种数据备份方法,包括:
在源数据的当前备份过程中,针对源数据中的每一数据块,判断是否存在针对所述数据块的数据写请求;若存在,则根据第一位图中的与所述数据块相对应的位图取值,判断所述数据块在源数据的当前备份过程中是否已备份完毕,所述位图取值用于表示所述数据块在源数据的当前备份过程中的备份状态;
若已备份完毕,则将所述数据块的更新数据写入所述数据块对应的源数据存储区域中,并在写入完毕后,将第二位图中的与所述数据块相对应的位图取值设置为第一取值,所述第一取值用于表示所述数据块在当前备份过程对应的备份时刻后存在更新状态;
在下一备份时刻,根据所述第二位图中的与各数据块相对应的位图取值,确定在所述下一备份时刻的上一备份时刻后存在更新的数据块,并将确定存在更新的数据块备份至远程备份数据中心。
可选地,所述方法还包括:
在源数据的当前备份过程中,针对源数据中的每一数据块,若确定存在针对所述数据块的数据写请求,且,根据第一位图中的与所述数据块相对应的位图取值,确定所述数据块在源数据的当前备份过程中尚未备份完毕,则将所述数据块的更新数据写入与所述数据块对应的源数据存储区域不同的其他存储区域中,并建立所述其他存储区域与所述数据块的映射关系;以及,
在确定源数据中的所有数据块均备份完毕后,针对每一存在相应映射关系的数据块,根据与所述数据块相对应的映射关系,将写入其他存储区域中的所述数据块的更新数据写入所述数据块对应的源数据存储区域中,并将第二位图中的与所述数据块相对应的位图取值设置为第一取值。
可选地,所述方法还包括:
在源数据的非备份过程中,针对源数据中的每一数据块,若确定存在针对所述数据块的数据写请求,则将所述数据块的更新数据写入所述数据块对应的源数据存储区域中,并将第二位图中的与所述数据块相对应的位图取值设置为第一取值。
可选地,在下一备份时刻,根据第二位图中的与各数据块相对应的位图取值,确定在所述下一备份时刻的上一备份时刻后存在更新的数据块,并将确定的存在更新的数据块备份至远程备份数据中心,包括:
在下一备份时刻,将第一位图中的与各数据块相对应的位图取值初始化为第三取值、以表示各数据块在源数据的当前备份过程中尚未备份完毕,并针对每一数据块,确定第二位图中的与所述数据块相对应的位图取值是否为第一取值,若为第一取值,则将所述数据块备份至远程备份数据中心,并在备份完毕后,将第一位图中的与所述数据块相对应的位图取值设置为第四取值、以表示所述数据块在源数据的当前备份过程中已备份完毕;若为非第一取值的第二取值,则直接将第一位图中的与所述数据块相对应的位图取值设置为第四取值。
可选地,在源数据首次备份时,第二位图中的与各数据块相对应的位图取值均为第一取值、以表示所有数据块均需备份至远程备份数据中心。
相应地,本发明实施例还提供了一种数据备份设备,包括判断模块、写入模块以及备份模块,其中:
所述判断模块,用于在源数据的当前备份过程中,针对源数据中的每一数据块,判断是否存在针对所述数据块的数据写请求;
所述写入模块,用于若根据所述判断模块的判断结果确定存在针对所述数据块的数据写请求,则根据第一位图中的与所述数据块相对应的位图取值,判断所述数据块在源数据的当前备份过程中是否已备份完毕,所述位图取值用于表示该数据块在源数据的当前备份过程中的备份状态;若确定该数据块已备份完毕,则将该数据块的更新数据写入所述数据块对应的源数据存储区域中,并在写入完毕后,将第二位图中的与所述数据块相对应的位图取值设置为第一取值,所述第一取值用于表示所述数据块在当前备份过程对应的备份时刻后存在更新状态;以及,在下一备份时刻,根据所述第二位图中的与各数据块相对应的位图取值,确定在所述下一备份时刻的上一备份时刻后存在更新的数据块,并将确定存在更新的数据块备份至远程备份数据中心。
可选地,所述写入模块,还用于在源数据的当前备份过程中,针对源数据中的每一数据块,若根据所述判断模块的判断结果,确定存在针对所述数据块的数据写请求,且,根据第一位图中的与所述数据块相对应的位图取值,确定所述数据块在源数据的当前备份过程中尚未备份完毕,则将所述数据块的更新数据写入与所述数据块对应的源数据存储区域不同的其他存储区域中,并建立所述其他存储区域与所述数据块的映射关系;以及,在确定源数据中的所有数据块均备份完毕后,针对每一存在相应映射关系的数据块,根据与所述数据块相对应的映射关系,将写入其他存储区域中的所述数据块的更新数据写入所述数据块对应的源数据存储区域中,并将第二位图中的与所述数据块相对应的位图取值设置为第一取值。
可选地,所述写入模块,还用于在源数据的非备份过程中,针对源数据中的每一数据块,若确定存在针对所述数据块的数据写请求,则将所述数据块的更新数据写入所述数据块对应的源数据存储区域中,并将第二位图中的与所述数据块相对应的位图取值设置为第一取值。
可选地,所述备份模块,具体用于在下一备份时刻,将第一位图中的与各数据块相对应的位图取值初始化为第三取值、以表示各数据块在源数据的当前备份过程中尚未备份完毕,并针对每一数据块,确定第二位图中的与所述数据块相对应的位图取值是否为第一取值,若为第一取值,则将所述数据块备份至远程备份数据中心,并在备份完毕后,将第一位图中的与所述数据块相对应的位图取值设置为第四取值、以表示所述数据块在源数据的当前备份过程中已备份完毕;若为非第一取值的第二取值,则直接将第一位图中的与所述数据块相对应的位图取值设置为第四取值。
可选地,在源数据首次备份时,第二位图中的与各数据块相对应的位图取值均为第一取值、以表示所有数据块均需备份至远程备份数据中心。
本发明有益效果如下:
本发明实施例提供了一种数据备份方法及设备,在本发明实施例所述技术方案中,可根据用于记录源数据中的各数据块在源数据的当前备份过程中的备份状态的第一位图,以及用于记录源数据中的各数据在当前备份过程对应的备份时刻后的更新状态的第二位图,确定各数据块在当前备份过程中的备份状态以及在当前备份过程对应的备份时刻后的更新状态,并根据确定的各数据块的备份状态以及更新状态,实现数据的更新以及增量远程备份,即,不再需要利用快照记录备份时刻的原数据内容,且,针对已经备份完毕的数据,不再需要更新快照以进行写时拷贝,从而相对于现有基于快照的远程数据备份方式来说,可大大降低对源数据业务的影响,提高数据备份的实用性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1所示为本发明实施例一中所述数据备份方法的流程示意图;
图2所示为数据备份过程图;
图3所示为数据处理流程图;
图4所示为本发明实施例二中所述数据备份设备的结构示意图。
具体实施方式
本发明实施例提供了一种数据备份方法及设备,所述方法可包括:
在源数据的当前备份过程中,针对源数据中的每一数据块,判断是否存在针对所述数据块的数据写请求;若存在,则根据第一位图中的与所述数据块相对应的位图取值,判断所述数据块在源数据的当前备份过程中是否已备份完毕,所述位图取值用于表示所述数据块在源数据的当前备份过程中的备份状态;
若已备份完毕,则将所述数据块的更新数据写入所述数据块对应的源数据存储区域中,并在写入完毕后,将第二位图中的与所述数据块相对应的位图取值设置为第一取值,所述第一取值用于表示所述数据块在当前备份过程对应的备份时刻后存在更新状态;
在下一备份时刻,根据所述第二位图中的与各数据块相对应的位图取值,确定在所述下一备份时刻的上一备份时刻后存在更新的数据块,并将确定存在更新的数据块备份至远程备份数据中心。
也就是说,在本发明实施例所述技术方案中,可根据用于记录源数据中的各数据块在源数据的当前备份过程中的备份状态的第一位图,以及用于记录源数据中的各数据在当前备份过程对应的备份时刻后的更新状态的第二位图,确定各数据块在当前备份过程中的备份状态以及在当前备份过程对应的备份时刻后的更新状态,并根据确定的各数据块的备份状态以及更新状态,实现数据的更新以及增量远程备份,即,不再需要利用快照记录备份时刻的原数据内容,且,针对已经备份完毕的数据,不再需要更新快照以进行写时拷贝,从而相对于现有基于快照的远程数据备份方式来说,可大大降低对源数据业务的影响,提高数据备份的实用性。
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一:
本发明实施例一提供了一种数据备份方法,如图1所示,其为本发明实施例一中所述数据备份方法的流程示意图,所述数据备份方法可包括以下步骤:
步骤101:在源数据的当前备份过程中,针对源数据中的每一数据块,判断是否存在针对所述数据块的数据写请求,若存在,则执行步骤102。
其中,源数据的当前备份过程是指,当前备份周期内,从备份起始时刻(即当前备份周期对应的备份时刻)开始至源数据中的所有数据块均备份完毕这一时间段。
另外,需要说明的是,对于源数据的备份过程而言,相邻的两个备份时刻之间的间隔(即备份周期的时长)是根据实际情况灵活调整的,如可设置为一小时、一天、一个月等,此处也不再赘述。
步骤102:根据第一位图中的与所述数据块相对应的位图取值,判断所述数据块在源数据的当前备份过程中是否已备份完毕,所述位图取值用于表示所述数据块在源数据的当前备份过程中的备份状态,若已备份完毕,则执行步骤103。
也就是说,可用第一位图中的与各数据块相对应的位图取值来表示各数据块在源数据的当前备份过程中的备份状态。
可选地,第一位图中的与各数据块相对应的位图取值具体可有两种取值,如用于表示对应的数据块尚未备份完毕的第三取值、以及用于表示对应的数据块已备份完毕的第四取值。其中,所述第三取值、第四取值的具体取值可根据实际情况进行灵活设置,如,可将第三取值设置为1、将第四取值设置为0;或者,将第三取值设置为0、将第四取值设置为1等。
相应地,针对任一数据块,若根据第一位图中的与所述数据块相对应的位图取值,确定第一位图中的与所述数据块相对应的位图取值为第三取值(如为1等),则可表示所述数据块尚未备份完毕,即,仍处于写保护状态,仅能对其进行读操作;若根据第一位图中的与所述数据块相对应的位图取值,确定第一位图中的与所述数据块相对应的位图取值为第四取值(如为0等),则可表示所述数据块已备份完毕,即,不需要再处于写保护状态,可执行步骤102所述的操作。
另外需要说明的是,在对源数据进行首次备份之前或同时,可首先根据设定的块划分规则,将所述源数据划分为N个数据块(所述N通常可为不小于2的正整数),以便后续可按顺序对各数据块进行相应更新或备份,本发明实施例对此不作赘述。
步骤103:将所述数据块的更新数据写入所述数据块对应的源数据存储区域中,并在写入完毕后,将第二位图中的与所述数据块相对应的位图取值设置为第一取值,所述第一取值用于表示所述数据块在当前备份过程对应的备份时刻后存在更新状态。
也就是说,可使用第一位图记录哪些数据块已经备份过,已备份过的数据块可以直接更新,而无需再更新快照,更无需基于快照进行写时拷贝,从而降低了数据备份对源数据业务的影响,提高了数据备份的实用性。
可选地,第二位图中的与各数据块相对应的位图取值除了可为第一取值之外,还可为第二取值,所述第二取值用于表示相应数据块在当前备份过程对应的备份时刻后不存在更新。即,可用第二位图中的与各数据块相对应的位图取值来表示各数据块在当前备份过程对应的备份时刻后的更新状态。
其中,所述第一取值、第二取值的具体取值可根据实际情况进行灵活设置。如,可将第一取值设置为1、将第二取值设置为0;或者,将第一取值设置为0、将第二取值设置为1等。
相应地,在任一备份时刻,针对任一数据块,若根据第二位图中的与所述数据块相对应的位图取值,确定第二位图中的与所述数据块相对应的位图取值为第一取值(如为1等),则可表示所述数据块在上一备份时刻后存在相应更新,即,在当前备份时刻需要再次备份;若根据第二位图中的与所述数据块相对应的位图取值,确定第二位图中的与所述数据块相对应的位图取值为第二取值(如为0等),则可表示所述数据块在上一备份时刻后不存在相应更新,即在备份端(即远程备份数据中心)已存在相同的数据副本,从而在当前备份时刻无需再次备份。
需要说明的是,在源数据首次备份时,可将第二位图中的与各数据块相对应的位图取值均设置为第一取值、以表示所有数据块均需备份至远程备份数据中心,本发明实施例对此不作赘述。
步骤104:在下一备份时刻,根据所述第二位图中的与各数据块相对应的位图取值,确定在所述下一备份时刻的上一备份时刻后存在更新的数据块,并将确定存在更新的数据块备份至远程备份数据中心。
可选地,在下一备份时刻,根据第二位图中的与各数据块相对应的位图取值,确定在所述下一备份时刻的上一备份时刻后存在更新的数据块,并将确定的存在更新的数据块备份至远程备份数据中心,可包括:
在下一备份时刻,将第一位图中的与各数据块相对应的位图取值初始化为第三取值、以表示各数据块在源数据的当前备份过程中尚未备份完毕;并
针对每一数据块,确定第二位图中的与所述数据块相对应的位图取值是否为第一取值,若为第一取值,则将所述数据块备份至远程备份数据中心,并在备份完毕后,将第一位图中的与所述数据块相对应的位图取值设置为第四取值、以表示所述数据块在源数据的当前备份过程中已备份完毕,从而使得,在源数据的当前备份过程中,假如有新的针对所述数据块的IO写请求到来,则可以直接更新相应的更新数据至所述数据块对应的源数据存储区域中;
若为非第一取值的第二取值,则直接将第一位图中的与所述数据块相对应的位图取值设置为第四取值。
也就是说,在本发明所述实施例中,可根据用于记录源数据中的各数据块在源数据的当前备份过程中的备份状态的第一位图,以及用于记录源数据中的各数据在当前备份过程对应的备份时刻后的更新状态的第二位图,确定各数据块在当前备份过程中的备份状态以及在当前备份过程对应的备份时刻后的更新状态,并根据确定的各数据块的备份状态以及更新状态,实现数据的更新以及增量远程备份,即,不再需要利用快照记录备份时刻的原数据内容,且,针对已经备份完毕的数据,不再需要更新快照以进行写时拷贝,从而相对于现有基于快照的远程数据备份方式来说,可大大降低对源数据业务的影响,提高数据备份的实用性。
进一步地,在本发明所述实施例中,所述方法还可包括以下步骤:
在源数据的当前备份过程中,针对源数据中的每一数据块,若确定存在针对所述数据块的数据写请求,且,根据第一位图中的与所述数据块相对应的位图取值,确定所述数据块在源数据的当前备份过程中尚未备份完毕,则将所述数据块的更新数据写入与所述数据块对应的源数据存储区域不同的其他存储区域中,并建立所述其他存储区域与所述数据块的映射关系;以及,
在确定源数据中的所有数据块均备份完毕后,针对每一存在相应映射关系的数据块,根据与所述数据块相对应的映射关系,将写入其他存储区域中的所述数据块的更新数据写入所述数据块对应的源数据存储区域中,并将第二位图中的与所述数据块相对应的位图取值设置为第一取值。
也就是说,在源数据的备份过程当中,没有备份过的数据块才会有类似“写时转向”的操作,因此,可以进一步降低对源数据业务的影响,提高数据备份的实用性。
另外,需要说明的是,在根据与各数据块相对应的映射关系,将写入其他存储区域中的各数据块的更新数据写入各数据块对应的源数据存储区域中时,可采用串行的方式或并行的方式,本发明实施例对此不作任何限定。
进一步地,在本发明所述实施例中,所述方法还可包括以下步骤:
在源数据的非备份过程中,针对源数据中的任一数据块,若确定存在针对所述数据块的数据写请求,则将所述数据块的更新数据写入所述数据块对应的源数据存储区域中,并将第二位图中的与所述数据块相对应的位图取值设置为第一取值。
其中,源数据的非备份过程是指各备份周期内的、除了备份过程之外的时间段,此处不再赘述。
也就是说,在平常业务状态下(即源数据的非备份过程中),原有IO流程只增加了更新第二位图的操作,无需创建快照,从而进一步降低了对源数据业务的影响,提高了数据备份的实用性。
进一步地,需要说明的是,本发明实施例一中的各步骤的执行主体通常可为本地数据中心,即,本地源数据存储设备,本发明实施例对此不作赘述。
下面,将以一具体实例为例,对本发明实施例一中所述的数据备份方法进行详细说明。
第一步:建立本地端与备份端的数据映射关系。
即,建立本地源数据存储设备与备份端指定存储设备之间的对应关系,以使得本地端可按设定的周期(如业务闲时等)将相应的源数据备份至备份端;其中,本地源数据存储设备中的源数据通常可是由相应的业务服务器写入的,本发明实施例对此不作赘述。
可选地,由于对于不同的业务类型来说,数据更新场景存在很大差别,因此,可根据实际的业务类型来设定数据的备份频率与时间(即备份周期),本发明实施例对此也不作赘述。
第二步:将源数据划分为多个数据块。
可选地,可按照固定处理单元chunk将源数据划分为多个数据块,以便后续可按顺序处理这多个数据块。
第三步:执行数据备份。
可选地,可设置有bitmap1(第一位图)和bitmap2(第二位图)两个位图,bitmap1用以记录源数据中的各数据块在源数据的当前备份过程中的备份状态;bitmap2用以记录源数据中的各数据块在上一次备份后的更新状态。利用这两个位图相互配合来记录各数据块的状态,以执行不同的处理流程。
具体地,假设bitmap1中的位图取值为1时,表示对应的数据块尚未备份完毕,取值为0时,表示对应的数据块已备份完毕;以及,假设bitmap2中的位图取值为1时,表示对应的数据块存在更新,取值为0时,表示对应的数据块不存在更新;则在任一备份时刻,数据备份过程可如图2所示:
首先,将bitmap1中的与各数据块相对应的位图取值初始化为1,然后,读取bitmap2,并针对源数据中的每一数据块,根据bitmap2,确定bitmap2中与该数据块相对应的位图取值是否为1,若是,则表明在上次备份后该数据块有更新,并将该数据块备份至远程备份数据中心,以及,在备份完毕后(即,将该数据块的内容复制至远程备份数据中心后),将bitmap1中的与该数据块相对应的位图取值设置为0;若根据bitmap2,确定bitmap2中与该数据块相对应的位图取值为0,则不需要再备份该数据块,直接处理下一个数据块即可,另外,此时,还需要将bitmap1中的与该数据块相对应的位图取值设置为0。
需要说明的是,如果是首次备份(即系统初始化过程时的初次备份),则bitmap2中的所有位图取值都为1,以表示需要备份所有的数据块。另外,需要说明的是,bitmap2在系统初始化后可一直存在,以记录各数据块的更新状态,本发明实施例对此不作赘述。
另外,需要说明的是,在按照上述方式完成所有数据块的处理流程之后,本次备份过程即可结束。
进一步地,针对源数据中的任一数据块,可按照图3所示的数据处理流程对其进行数据的写入(具体地,仍假设bitmap1中的位图取值为1时,表示对应的数据块尚未备份完毕,取值为0时,表示对应的数据块已备份完毕;以及,假设bitmap2中的位图取值为1时,表示对应的数据块存在更新,取值为0时,表示对应的数据块不存在更新):
判断是否存在针对该数据块的数据写请求;若是,则继续判断源数据是否处于备份过程中;若确定处于备份过程中,则:
根据bitmap1中的与该数据块相对应的位图取值,确定该数据块在源数据的当前备份过程中是否已备份完毕(即,是否备份过);可选地,可在确定bitmap1中的与该数据块相对应的位图取值为0,确定该数据块在源数据的当前备份过程中已备份完毕,在确定bitmap1中的与该数据块相对应的位图取值为1时,确定该数据块在源数据的当前备份过程中尚未备份完毕;
若确定已备份完毕(即已备份过),则直接将该数据块的更新数据写入该数据块对应的源数据存储区域中,并在写入完毕后,将bitmap2中的与该数据块相对应的位图取值设置为1、以表示在当前备份时刻后所述数据块存在更新;
若确定尚未备份完毕(即未备份过),则将该数据块的更新数据写入与该数据块对应的源数据存储区域不同的其他存储区域中,并建立该其他存储区域与该数据块的映射关系(与快照中“写时转向”类似),以及,在确定源数据中的所有数据块均备份完毕后,针对每一存在相应映射关系的数据块,根据与该数据块相对应的映射关系,将写入其他存储区域中的该数据块的更新数据写入该数据块对应的源数据存储区域中,并将bitmap2中的与该数据块相对应的位图取值设置为1;
若确定处于非备份过程中,则:
直接将该数据块的更新数据写入该数据块对应的源数据存储区域中,并将bitmap2中的与该数据块相对应的位图取值设置为1。
这样,下次备份时,可根据bitmap2来判断哪些数据块需要备份,从而实现增量备份的目的。
由上述内容可知,在本发明所述实施例中,可使用第一位图来记录哪些数据块已经备份过,已备份过的数据块可以直接更新,而无需再更新快照以及基于快照进行写时拷贝,没有备份过的数据才会有类似“写时转向”的操作,从而降低了数据备份对源数据业务的影响,提高了数据备份的实用性。
进一步地,需要说明的是,与现有技术类似,针对任一数据块,若确定存在针对该数据块的数据读请求,则可直接对该数据块进行相应的读操作,本发明实施例对此不作赘述。
再有,需要说明的是,采用本发明实施例所述技术方案,备份完毕之后,可将源数据恢复至最新、最全面的状态,从而可进一步降低备份对源数据业务的影响,提高数据备份的实用性。
本发明实施例一提供了一种数据备份方法,在本发明实施例一所述技术方案中,可根据用于记录源数据中的各数据块在源数据的当前备份过程中的备份状态的第一位图,以及用于记录源数据中的各数据在当前备份过程对应的备份时刻后的更新状态的第二位图,确定各数据块在当前备份过程中的备份状态以及在当前备份过程对应的备份时刻后的更新状态,并根据确定的各数据块的备份状态以及更新状态,实现数据的更新以及增量远程备份,即,不再需要利用快照记录备份时刻的原数据内容,且,针对已经备份完毕的数据,不再需要更新快照以进行写时拷贝,从而相对于现有基于快照的远程数据备份方式来说,可大大降低对源数据业务的影响,提高数据备份的实用性。
实施例二:
基于与实施例一相同的发明构思,本申请实施例二提供了一种数据备份设备,该数据备份设备的具体实施可参见上述方法实施例一中的相关描述,重复之处不再赘述。具体地,如图4所示,其为本发明实施例二中所述数据备份设备的结构示意图,所述数据备份设备主要可包括判断模块41,写入模块42以及备份模块43,其中:
所述判断模块41,可用于在源数据的当前备份过程中,针对源数据中的每一数据块,判断是否存在针对所述数据块的数据写请求;
所述写入模块42,可用于若根据所述判断模块41的判断结果确定存在针对所述数据块的数据写请求,则根据第一位图中的与所述数据块相对应的位图取值,判断所述数据块在源数据的当前备份过程中是否已备份完毕,所述位图取值用于表示该数据块在源数据的当前备份过程中的备份状态;若确定该数据块已备份完毕,则将该数据块的更新数据写入所述数据块对应的源数据存储区域中,并在写入完毕后,将第二位图中的与所述数据块相对应的位图取值设置为第一取值,所述第一取值用于表示所述数据块在当前备份过程对应的备份时刻后存在更新状态;以及,在下一备份时刻,根据所述第二位图中的与各数据块相对应的位图取值,确定在所述下一备份时刻的上一备份时刻后存在更新的数据块,并将确定存在更新的数据块备份至远程备份数据中心。
可选地,所述写入模块42还可用于在源数据的当前备份过程中,针对源数据中的每一数据块,若根据所述判断模块41的判断结果,确定存在针对所述数据块的数据写请求,且,根据第一位图中的与所述数据块相对应的位图取值,确定所述数据块在源数据的当前备份过程中尚未备份完毕,则将所述数据块的更新数据写入与所述数据块对应的源数据存储区域不同的其他存储区域中,并建立所述其他存储区域与所述数据块的映射关系;以及,在确定源数据中的所有数据块均备份完毕后,针对每一存在相应映射关系的数据块,根据与所述数据块相对应的映射关系,将写入其他存储区域中的所述数据块的更新数据写入所述数据块对应的源数据存储区域中,并将第二位图中的与所述数据块相对应的位图取值设置为第一取值。
进一步地,所述写入模块42还可用于在源数据的非备份过程中,针对源数据中的每一数据块,若确定存在针对所述数据块的数据写请求,则将所述数据块的更新数据写入所述数据块对应的源数据存储区域中,并将第二位图中的与所述数据块相对应的位图取值设置为第一取值。
可选地,所述备份模块43具体可用于在下一备份时刻,将第一位图中的与各数据块相对应的位图取值初始化为第三取值、以表示各数据块在源数据的当前备份过程中尚未备份完毕,并针对每一数据块,确定第二位图中的与所述数据块相对应的位图取值是否为第一取值,若为第一取值,则将所述数据块备份至远程备份数据中心,并在备份完毕后,将第一位图中的与所述数据块相对应的位图取值设置为第四取值、以表示所述数据块在源数据的当前备份过程中已备份完毕;若为非第一取值的第二取值,则直接将第一位图中的与所述数据块相对应的位图取值设置为第四取值。
其中,需要说明的是,在源数据首次备份时,第二位图中的与各数据块相对应的位图取值可均为第一取值、以表示所有数据块均需备份至远程备份数据中心。
本领域技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种数据备份方法,其特征在于,包括:
在源数据的当前备份过程中,针对源数据中的每一数据块,判断是否存在针对所述数据块的数据写请求;若存在,则根据第一位图中的与所述数据块相对应的位图取值,判断所述数据块在源数据的当前备份过程中是否已备份完毕,所述位图取值用于表示该数据块在源数据的当前备份过程中的备份状态;
若已备份完毕,则将所述数据块的更新数据写入所述数据块对应的源数据存储区域中,并在写入完毕后,将第二位图中的与所述数据块相对应的位图取值设置为第一取值,所述第一取值用于表示该数据块在源数据的当前备份过程对应的备份时刻后存在更新状态;
在下一备份时刻,根据所述第二位图中的与各数据块相对应的位图取值,确定在所述下一备份时刻的上一备份时刻后存在更新的数据块,并将确定存在更新的数据块备份至远程备份数据中心。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
在源数据的当前备份过程中,针对源数据中的每一数据块,若确定存在针对所述数据块的数据写请求,且,根据第一位图中的与所述数据块相对应的位图取值,确定所述数据块在源数据的当前备份过程中尚未备份完毕,则将所述数据块的更新数据写入与所述数据块对应的源数据存储区域不同的其他存储区域中,并建立所述其他存储区域与所述数据块的映射关系;以及,
在确定源数据中的所有数据块均备份完毕后,针对每一存在相应映射关系的数据块,根据与所述数据块相对应的映射关系,将写入其他存储区域中的所述数据块的更新数据写入所述数据块对应的源数据存储区域中,并将第二位图中的与所述数据块相对应的位图取值设置为第一取值。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
在源数据的非备份过程中,针对源数据中的每一数据块,若确定存在针对所述数据块的数据写请求,则将所述数据块的更新数据写入所述数据块对应的源数据存储区域中,并将第二位图中的与所述数据块相对应的位图取值设置为第一取值。
4.如权利要求1~3任一所述的方法,其特征在于,在下一备份时刻,根据第二位图中的与各数据块相对应的位图取值,确定在所述下一备份时刻的上一备份时刻后存在更新的数据块,并将确定的存在更新的数据块备份至远程备份数据中心,包括:
在下一备份时刻,将第一位图中的与各数据块相对应的位图取值初始化为第三取值、以表示各数据块在源数据的当前备份过程中尚未备份完毕;并
针对每一数据块,确定第二位图中的与所述数据块相对应的位图取值是否为第一取值,若为第一取值,则将所述数据块备份至远程备份数据中心,并在备份完毕后,将第一位图中的与所述数据块相对应的位图取值设置为第四取值、以表示所述数据块在源数据的当前备份过程中已备份完毕;
若为非第一取值的第二取值,则直接将第一位图中的与所述数据块相对应的位图取值设置为第四取值。
5.如权利要求1~3任一所述的方法,其特征在于,在源数据首次备份时,第二位图中的与各数据块相对应的位图取值均为第一取值、以表示所有数据块均需备份至远程备份数据中心。
6.一种数据备份设备,其特征在于,包括判断模块、写入模块以及备份模块,其中:
所述判断模块,用于在源数据的当前备份过程中,针对源数据中的每一数据块,判断是否存在针对所述数据块的数据写请求;
所述写入模块,用于若根据所述判断模块的判断结果确定存在针对所述数据块的数据写请求,则根据第一位图中的与所述数据块相对应的位图取值,判断所述数据块在源数据的当前备份过程中是否已备份完毕,所述位图取值用于表示该数据块在源数据的当前备份过程中的备份状态;若确定该数据块已备份完毕,则将该数据块的更新数据写入所述数据块对应的源数据存储区域中,并在写入完毕后,将第二位图中的与所述数据块相对应的位图取值设置为第一取值,所述第一取值用于表示所述数据块在当前备份过程对应的备份时刻后存在更新状态;以及,在下一备份时刻,根据所述第二位图中的与各数据块相对应的位图取值,确定在所述下一备份时刻的上一备份时刻后存在更新的数据块,并将确定存在更新的数据块备份至远程备份数据中心。
7.如权利要求6所述的设备,其特征在于,
所述写入模块,还用于在源数据的当前备份过程中,针对源数据中的每一数据块,若根据所述判断模块的判断结果,确定存在针对所述数据块的数据写请求,且,根据第一位图中的与所述数据块相对应的位图取值,确定所述数据块在源数据的当前备份过程中尚未备份完毕,则将所述数据块的更新数据写入与所述数据块对应的源数据存储区域不同的其他存储区域中,并建立所述其他存储区域与所述数据块的映射关系;以及,在确定源数据中的所有数据块均备份完毕后,针对每一存在相应映射关系的数据块,根据与所述数据块相对应的映射关系,将写入其他存储区域中的所述数据块的更新数据写入所述数据块对应的源数据存储区域中,并将第二位图中的与所述数据块相对应的位图取值设置为第一取值。
8.如权利要求6所述的设备,其特征在于,
所述写入模块,还用于在源数据的非备份过程中,针对源数据中的每一数据块,若确定存在针对所述数据块的数据写请求,则将所述数据块的更新数据写入所述数据块对应的源数据存储区域中,并将第二位图中的与所述数据块相对应的位图取值设置为第一取值。
9.如权利要求6~8任一所述的设备,其特征在于,
所述备份模块,具体用于在下一备份时刻,将第一位图中的与各数据块相对应的位图取值初始化为第三取值、以表示各数据块在源数据的当前备份过程中尚未备份完毕;并针对每一数据块,确定第二位图中的与所述数据块相对应的位图取值是否为第一取值,若为第一取值,则将所述数据块备份至远程备份数据中心,并在备份完毕后,将第一位图中的与所述数据块相对应的位图取值设置为第四取值、以表示所述数据块在源数据的当前备份过程中已备份完毕;若为非第一取值的第二取值,则直接将第一位图中的与所述数据块相对应的位图取值设置为第四取值。
10.如权利要求6~8任一所述的设备,其特征在于,在源数据首次备份时,第二位图中的与各数据块相对应的位图取值均为第一取值、以表示所有数据块均需备份至远程备份数据中心。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510683921.7A CN105224422B (zh) | 2015-10-20 | 2015-10-20 | 一种数据备份方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510683921.7A CN105224422B (zh) | 2015-10-20 | 2015-10-20 | 一种数据备份方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105224422A true CN105224422A (zh) | 2016-01-06 |
CN105224422B CN105224422B (zh) | 2019-02-12 |
Family
ID=54993410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510683921.7A Active CN105224422B (zh) | 2015-10-20 | 2015-10-20 | 一种数据备份方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105224422B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108089942A (zh) * | 2016-11-21 | 2018-05-29 | 中移(苏州)软件技术有限公司 | 一种数据备份、恢复方法及装置 |
CN108121774A (zh) * | 2017-12-08 | 2018-06-05 | 平安科技(深圳)有限公司 | 一种数据表备份方法及终端设备 |
CN108920308A (zh) * | 2018-07-16 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种数据恢复处理的方法、装置及计算机存储介质 |
CN109614055A (zh) * | 2018-12-21 | 2019-04-12 | 杭州宏杉科技股份有限公司 | 快照创建方法、装置、电子设备及机器可读存储介质 |
CN109783274A (zh) * | 2017-11-15 | 2019-05-21 | 阿里巴巴集团控股有限公司 | 一种磁盘快照的管理方法、装置以及可读存储介质 |
CN112000514A (zh) * | 2020-05-28 | 2020-11-27 | 苏州浪潮智能科技有限公司 | 一种存储设备存储用户数据用数据备份推荐方法及系统 |
CN112269531A (zh) * | 2020-10-10 | 2021-01-26 | 苏州浪潮智能科技有限公司 | 一种源卷缩容方法、装置、设备及介质 |
CN113868018A (zh) * | 2021-08-25 | 2021-12-31 | 苏州浪潮智能科技有限公司 | 一种数据保存方法及装置和一种数据恢复方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102207897A (zh) * | 2011-07-11 | 2011-10-05 | 成都易我科技开发有限责任公司 | 一种增量备份方法 |
CN102567145A (zh) * | 2011-12-28 | 2012-07-11 | 云海创想信息技术(无锡)有限公司 | 一种远程拷贝方法 |
US20130297899A1 (en) * | 2012-05-01 | 2013-11-07 | Hitachi, Ltd. | Traffic reducing on data migration |
CN104166606A (zh) * | 2014-08-29 | 2014-11-26 | 华为技术有限公司 | 文件备份方法和主存储设备 |
CN104461784A (zh) * | 2014-12-11 | 2015-03-25 | 浪潮(北京)电子信息产业有限公司 | 一种基于单进度位图的克隆拷贝方法和系统 |
-
2015
- 2015-10-20 CN CN201510683921.7A patent/CN105224422B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102207897A (zh) * | 2011-07-11 | 2011-10-05 | 成都易我科技开发有限责任公司 | 一种增量备份方法 |
CN102567145A (zh) * | 2011-12-28 | 2012-07-11 | 云海创想信息技术(无锡)有限公司 | 一种远程拷贝方法 |
US20130297899A1 (en) * | 2012-05-01 | 2013-11-07 | Hitachi, Ltd. | Traffic reducing on data migration |
CN104166606A (zh) * | 2014-08-29 | 2014-11-26 | 华为技术有限公司 | 文件备份方法和主存储设备 |
CN104461784A (zh) * | 2014-12-11 | 2015-03-25 | 浪潮(北京)电子信息产业有限公司 | 一种基于单进度位图的克隆拷贝方法和系统 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108089942A (zh) * | 2016-11-21 | 2018-05-29 | 中移(苏州)软件技术有限公司 | 一种数据备份、恢复方法及装置 |
CN108089942B (zh) * | 2016-11-21 | 2021-08-24 | 中移(苏州)软件技术有限公司 | 一种数据备份、恢复方法及装置 |
CN109783274A (zh) * | 2017-11-15 | 2019-05-21 | 阿里巴巴集团控股有限公司 | 一种磁盘快照的管理方法、装置以及可读存储介质 |
CN109783274B (zh) * | 2017-11-15 | 2023-03-14 | 阿里巴巴集团控股有限公司 | 一种磁盘快照的管理方法、装置以及可读存储介质 |
CN108121774A (zh) * | 2017-12-08 | 2018-06-05 | 平安科技(深圳)有限公司 | 一种数据表备份方法及终端设备 |
CN108121774B (zh) * | 2017-12-08 | 2021-04-02 | 平安科技(深圳)有限公司 | 一种数据表备份方法及终端设备 |
CN108920308A (zh) * | 2018-07-16 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种数据恢复处理的方法、装置及计算机存储介质 |
CN109614055A (zh) * | 2018-12-21 | 2019-04-12 | 杭州宏杉科技股份有限公司 | 快照创建方法、装置、电子设备及机器可读存储介质 |
CN112000514B (zh) * | 2020-05-28 | 2022-07-08 | 苏州浪潮智能科技有限公司 | 一种存储设备存储用户数据用数据备份推荐方法及系统 |
CN112000514A (zh) * | 2020-05-28 | 2020-11-27 | 苏州浪潮智能科技有限公司 | 一种存储设备存储用户数据用数据备份推荐方法及系统 |
CN112269531A (zh) * | 2020-10-10 | 2021-01-26 | 苏州浪潮智能科技有限公司 | 一种源卷缩容方法、装置、设备及介质 |
CN112269531B (zh) * | 2020-10-10 | 2023-01-10 | 苏州浪潮智能科技有限公司 | 一种源卷缩容方法、装置、设备及介质 |
CN113868018A (zh) * | 2021-08-25 | 2021-12-31 | 苏州浪潮智能科技有限公司 | 一种数据保存方法及装置和一种数据恢复方法 |
CN113868018B (zh) * | 2021-08-25 | 2024-03-01 | 苏州浪潮智能科技有限公司 | 一种数据保存方法及装置和一种数据恢复方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105224422B (zh) | 2019-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105224422A (zh) | 一种数据备份方法及设备 | |
CN109493076B (zh) | 一种Kafka消息唯一消费方法、系统、服务器及存储介质 | |
US10055148B1 (en) | Storing application data as an enhanced copy | |
US8949182B2 (en) | Continuous and asynchronous replication of a consistent dataset | |
CN103970585B (zh) | 创建虚拟机的方法及装置 | |
CN109582443A (zh) | 基于分布式存储技术的虚拟机备份系统 | |
CN103810058A (zh) | 虚拟机备份方法、设备及系统 | |
US8578203B2 (en) | Providing a backup service from a remote backup data center to a computer through a network | |
US20150186411A1 (en) | Enhancing Reliability of a Storage System by Strategic Replica Placement and Migration | |
CN104965757A (zh) | 虚拟机热迁移的方法、虚拟机迁移管理装置及系统 | |
US10055309B1 (en) | Parallel restoration of a virtual machine's virtual machine disks | |
US9128627B1 (en) | Method and system for virtual machine backup | |
CN103473277A (zh) | 文件系统的快照方法和装置 | |
US9898370B2 (en) | Flash copy for disaster recovery (DR) testing | |
US8595192B1 (en) | Systems and methods for providing high availability to instance-bound databases | |
US11829609B2 (en) | Data loss recovery in a secondary storage controller from a primary storage controller | |
CN106293882A (zh) | 一种虚拟磁盘快照实现方法及装置 | |
CN104516796A (zh) | 一种基于命令集的网元备份与恢复方法及装置 | |
CN104111843A (zh) | 一种基于沙箱的脚本更新方法及系统 | |
CN105607968A (zh) | 一种增量备份方法及设备 | |
CN105608150A (zh) | 一种业务数据的处理方法及系统 | |
CN104268097A (zh) | 一种元数据处理方法及系统 | |
CN104268032A (zh) | 一种多控制器的快照处理方法及装置 | |
CN113296891A (zh) | 基于平台的多场景知识图谱处理方法及装置 | |
WO2014111773A1 (en) | Data backup recovery |
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 |