数据信息备份方法、数据备份方法及装置转让专利

申请号 : CN201510553036.7

文献号 : CN106484313B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨峰

申请人 : 北京金山云网络技术有限公司北京金山云科技有限公司

摘要 :

本发明实施例提供了一种数据信息备份方法、数据备份方法及装置。该数据信息备份方法中,截获针对于磁盘的写请求;确定写请求所对应的待访问的目标磁盘区域,其中,目标磁盘区域为所述磁盘的磁盘区域中的至少一个,其中,磁盘区域为所述磁盘的基本单元;更改磁盘所对应的数据变更记录中表征目标磁盘区域所在目标磁盘单元的记录标识为被写过标识,磁盘包括多个基于磁盘的磁盘区域所确定出的磁盘单元,数据变更记录是预先在内存中构建的,所述数据变更记录中至少包括记录标识,和与记录标识具有一一对应关系的所述磁盘的磁盘单元。本方案可以提高对关于磁盘的数据信息的备份效率且降低备份过程对正在运行的业务的性能和连续性的影响。

权利要求 :

1.一种数据信息备份方法,其特征在于,包括:

截获针对于磁盘的写请求;

确定所述写请求所对应的待访问的目标磁盘区域,其中,所述目标磁盘区域为所述磁盘的磁盘区域中的至少一个,其中,所述磁盘区域为所述磁盘的基本单元;

更改所述磁盘所对应的数据变更记录中表征所述目标磁盘区域所在目标磁盘单元的记录标识为被写过标识,其中,所述磁盘包括多个基于磁盘的磁盘区域所确定出的磁盘单元,所述数据变更记录是预先在内存中构建的,所述数据变更记录中至少包括记录标识,和与记录标识具有一一对应关系的所述磁盘的磁盘单元;

其中,所述数据变更记录中属于被写过标识的记录标识用于标识需要进行备份的磁盘单元;在进行备份时,拷贝所述内存中的当前的数据变更记录到第一预定存储空间以形成所述数据变更记录所对应的数据变更记录副本,并对所述内存中的当前的数据变更记录执行初始化处理;将所述数据变更记录副本中属于被写过标识的记录标识所对应的磁盘单元所存储的数据内容备份到第二预定存储空间。

2.根据权利要求1所述的方法,其特征在于,所述数据变更记录的存储形式为位图形式、链表形式或数组形式。

3.根据权利要求1所述的方法,其特征在于,所述磁盘单元与所述磁盘区域具有唯一对应性且所述磁盘单元与所述磁盘区域的空间大小相同;

或者,

每一磁盘区域均对应有唯一的磁盘单元,且所述磁盘单元的空间大小大于所述磁盘区域。

4.根据权利要求3所述的方法,其特征在于,如果所述磁盘单元与所述磁盘区域具有唯一对应性且所述磁盘单元与所述磁盘区域的空间大小相同,所述方法还包括:在接收到关于被执行过写操作的磁盘空间大小的请求时,确定所述数据变更记录中属于被写过标识的记录标识所表征的磁盘单元;

统计所确定出的属于被写过标识的记录标识所表征的磁盘单元的总的空间大小;

将统计结果确定为被执行过写操作的磁盘空间大小。

5.一种数据信息备份装置,其特征在于,包括:

写请求获得模块,用于截获针对于磁盘的写请求;

目标磁盘区域确定模块,用于确定所述写请求所对应的待访问的目标磁盘区域,其中,所述目标磁盘区域为所述磁盘的磁盘区域中的至少一个,其中,所述磁盘区域为所述磁盘的基本单元;

信息备份模块,用于更改所述磁盘所对应的数据变更记录中表征所述目标磁盘区域所在目标磁盘单元的记录标识为被写过标识,其中,所述磁盘包括多个基于磁盘的磁盘区域所确定出的磁盘单元,所述数据变更记录是预先在内存中构建的,所述数据变更记录中至少包括记录标识,和与记录标识具有一一对应关系的所述磁盘的磁盘单元;

其中,所述数据变更记录中属于被写过标识的记录标识用于标识需要进行备份的磁盘单元;在进行备份时,拷贝所述内存中的当前的数据变更记录到第一预定存储空间以形成所述数据变更记录所对应的数据变更记录副本,并对所述内存中的当前的数据变更记录执行初始化处理;将所述数据变更记录副本中属于被写过标识的记录标识所对应的磁盘单元所存储的数据内容备份到第二预定存储空间。

6.根据权利要求5所述的装置,其特征在于,所述数据变更记录的存储形式为位图形式、链表形式或数组形式。

7.根据权利要求5所述的装置,其特征在于,所述磁盘单元与所述磁盘区域具有唯一对应性且所述磁盘单元与所述磁盘区域的空间大小相同;

或者,

每一磁盘区域均对应有唯一的磁盘单元,且所述磁盘单元的空间大小大于所述磁盘区域。

8.根据权利要求7所述的装置,其特征在于,还包括:

磁盘单元确定模块,用于如果所述磁盘单元与所述磁盘区域具有唯一对应性且所述磁盘单元与所述磁盘区域的空间大小相同,在接收到关于被执行过写操作的磁盘空间大小的请求时,确定所述数据变更记录中属于被写过标识的记录标识所表征的磁盘单元;

空间大小统计模块,用于统计所确定出的属于被写过标识的记录标识所表征的磁盘单元的总的空间大小;

空间大小确定模块,用于将统计结果确定为被执行过写操作的磁盘空间大小。

9.一种数据备份方法,其特征在于,包括:

截获针对于磁盘的写请求;

确定所述写请求所对应的待访问的目标磁盘区域,其中,所述目标磁盘区域为所述磁盘的磁盘区域中的至少一个,其中,所述磁盘区域为所述磁盘的基本单元;

更改所述磁盘所对应的数据变更记录中表征所述目标磁盘区域所在目标磁盘单元的记录标识为被写过标识,其中,所述磁盘包括多个基于磁盘的磁盘区域所确定出的磁盘单元,所述数据变更记录是预先在内存中构建的,所述数据变更记录中至少包括记录标识,和与记录标识具有一一对应关系的所述磁盘的磁盘单元;

进一步的,当获得备份指令时,基于所述数据变更记录中属于被写过标识的记录标识,对所述磁盘的数据内容进行备份;

其中,所述基于所述数据变更记录中属于被写过标识的记录标识,对所述磁盘的数据内容进行备份,包括:拷贝所述内存中的当前的数据变更记录到第一预定存储空间以形成所述数据变更记录所对应的数据变更记录副本,并对所述内存中的当前的数据变更记录执行初始化处理;

将所述数据变更记录副本中属于被写过标识的记录标识所对应的磁盘单元所存储的数据内容备份到第二预定存储空间。

10.根据权利要求9所述的方法,其特征在于,还包括:

在备份过程中,对每一属于被写过标识的记录标识所对应的磁盘单元所存储的数据内容备份完毕后,更改所述磁盘所对应的数据备份记录中表征已备份完毕的该磁盘单元的备份标识为已备份标识,其中,所述数据备份记录为预先在内存中构建的,且备份标识与磁盘单元一一对应;

检测备份过程是否结束;

当备份过程结束后,对所述数据备份记录执行初始化处理。

11.根据权利要求10所述的方法,其特征在于,还包括:

在备份开始时,创建异步备份线程,以通过所述异步备份线程定时或实时检测临时缓冲区域是否存在待备份的数据内容,如果存在,从所述临时缓冲区读取所述待备份的数据内容到第二预定存储空间,并在备份结束后,清空所述临时缓冲区,其中,所述临时缓冲区为预先在内存中所分配的;

并且,在备份过程中,如果截获到针对于磁盘的写请求,确定所接收到的写请求所对应的待访问的目标磁盘区域之后,判断所述数据备份记录中表征所述目标磁盘区域所在目标磁盘单元的备份标识是否为已备份标识;

当判断出所述数据备份记录中表征待访问的该目标磁盘区域所在目标磁盘单元的备份标识不为已备份标识时,将待访问的该目标磁盘区域所在目标磁盘单元所存储的数据内容拷贝到所述临时缓冲区,然后将所述数据备份记录中表征待访问的该目标磁盘区域所在目标磁盘单元的备份标识更改为已备份标识。

12.根据权利要求9所述的方法,其特征在于,所述备份指令的发出方式包括:用户通过执行预设备份操作而发出;

或者,

达到预定时间点时系统自动发出。

13.根据权利要求9所述的方法,其特征在于,所述数据变更记录的存储形式为位图形式、链表形式或数组形式;

所述数据备份记录的存储形式为位图形式、链表形式或数组形式。

14.一种数据备份装置,其特征在于,包括:

写请求获得模块,用于截获针对于磁盘的写请求;

目标磁盘区域确定模块,用于确定所述写请求所对应的待访问的目标磁盘区域,其中,所述目标磁盘区域为所述磁盘的磁盘区域中的至少一个,其中,所述磁盘区域为所述磁盘的基本单元;

信息备份模块,用于更改所述磁盘所对应的数据变更记录中表征所述目标磁盘区域所在目标磁盘单元的记录标识为被写过标识,其中,所述磁盘包括多个基于磁盘的磁盘区域所确定出的磁盘单元,所述数据变更记录是预先在内存中构建的,所述数据变更记录中至少包括记录标识,和与记录标识具有一一对应关系的所述磁盘的磁盘单元;

数据内容备份模块,用于当获得备份指令时,基于所述数据变更记录中属于被写过标识的记录标识,对所述磁盘的数据内容进行备份;

所述数据内容备份模块,包括:

数据变更记录处理单元,用于拷贝所述内存中的当前的数据变更记录到第一预定存储空间以形成所述数据变更记录所对应的数据变更记录副本,并对所述内存中的当前的数据变更记录执行初始化处理;

第二数据内容备份单元,用于将所述数据变更记录副本中属于被写过标识的记录标识所对应的磁盘单元所存储的数据内容备份到第二预定存储空间。

15.根据权利要求14所述的装置,其特征在于,还包括:

数据备份记录处理模块,用于在备份过程中,对每一属于被写过标识的记录标识所对应的磁盘单元所存储的数据内容备份完毕后,更改所述磁盘所对应的数据备份记录中表征已备份完毕的该磁盘单元的备份标识为已备份标识,其中,所述数据备份记录为预先在内存中构建的,且备份标识与磁盘单元一一对应;

过程检测模块,用于检测备份过程是否结束;

数据备份记录初始化模块,用于当备份过程结束后,对所述数据备份记录执行初始化处理。

16.根据权利要求15所述的装置,其特征在于,还包括:

异步备份线程创建模块,用于在备份开始时,创建异步备份线程,以通过所述异步备份线程定时或实时检测临时缓冲区域是否存在待备份的数据内容,如果存在,从所述临时缓冲区读取所述待备份的数据内容到第二预定存储空间,并在备份结束后,清空所述临时缓冲区,其中,所述临时缓冲区为预先在内存中所分配的;

备份标识分析模块,用于在备份过程中,如果截获到针对于磁盘的写请求,确定所接收到的写请求所对应的待访问的目标磁盘区域之后,判断所述数据备份记录中表征所述目标磁盘区域所在目标磁盘单元的备份标识是否为已备份标识;当判断出所述数据备份记录中表征待访问的该目标磁盘区域所在目标磁盘单元的备份标识不为已备份标识时,将待访问的该目标磁盘区域所在目标磁盘单元所存储的数据内容拷贝到所述临时缓冲区,然后将所述数据备份记录中表征待访问的该目标磁盘区域所在目标磁盘单元的备份标识更改为已备份标识。

17.根据权利要求14所述的装置,其特征在于,所述备份指令的发出方式包括:用户通过执行预设备份操作而发出;或者,达到预定时间点时系统自动发出。

18.根据权利要求14所述的装置,其特征在于,所述数据变更记录的存储形式为位图形式、链表形式或数组形式;

所述数据备份记录的存储形式为位图形式、链表形式或数组形式。

说明书 :

数据信息备份方法、数据备份方法及装置

技术领域

[0001] 本发明涉及数据备份技术领域,特别是涉及一种数据信息备份方法、数据备份方法及装置。

背景技术

[0002] 为了避免作为读写设备的磁盘由于故障导致数据损失和方便对磁盘的数据内容的管理,产生了针对于磁盘的备份的需求。现有技术中,针对于磁盘的备份方法大多数是基于文件和基于磁盘数据块的。其中,基于文件备份方法可以使用qcow2等格式做到增量备份,但是受限于文件系统,备份时磁盘性能会大打折扣;而基于磁盘数据块备份方法可以很容易做到全量备份,但要做到增量备份还需要进一步的开发,不过此种方式可以充分利用磁盘性能。但是,对于这两种方法而言,都是基于文件系统的,备份效率低,而且,备份过程中,为了保证数据的正确性,正在运行的业务会处于中断状态,由于中断时间与业务数据量成正比,这无疑导致在备份过程中正在运行业务的业务性能和连续性受到极大影响。
[0003] 可见,如何提高针对于磁盘的备份效率以及降低备份过程对正在运行的业务的性能和连续性的影响,是一个亟待解决的问题。

发明内容

[0004] 本发明实施例的目的在于提供一种数据信息备份方法、数据备份方法及装置,以提高针对于磁盘的备份效率且降低备份过程对正在运行的业务的性能和连续性的影响。具体技术方案如下:
[0005] 第一方面,本发明实施例提供了一种数据信息备份方法,包括:
[0006] 截获针对于磁盘的写请求;
[0007] 确定所述写请求所对应的待访问的目标磁盘区域,其中,所述目标磁盘区域为所述磁盘的磁盘区域中的至少一个,其中,所述磁盘区域为所述磁盘的基本单元;
[0008] 更改所述磁盘所对应的数据变更记录中表征所述目标磁盘区域所在目标磁盘单元的记录标识为被写过标识,其中,所述磁盘包括多个基于磁盘的磁盘区域所确定出的磁盘单元,所述数据变更记录是预先在内存中构建的,所述数据变更记录中至少包括记录标识,和与记录标识具有一一对应关系的所述磁盘的磁盘单元。
[0009] 可选的,所述数据变更记录的存储形式为位图形式、链表形式或数组形式。
[0010] 可选的,所述磁盘单元与所述磁盘区域具有唯一对应性且所述磁盘单元与所述磁盘区域的空间大小相同;
[0011] 或者,
[0012] 每一磁盘区域均对应有唯一的磁盘单元,且所述磁盘单元的空间大小大于所述磁盘区域。
[0013] 可选的,如果所述磁盘单元与所述磁盘区域具有唯一对应性且所述磁盘单元与所述磁盘区域的空间大小相同,所述方法还包括:
[0014] 在接收到关于被执行过写操作的磁盘空间大小的请求时,确定所述数据变更记录中属于被写过标识的记录标识所表征的磁盘单元;
[0015] 统计所确定出的属于被写过标识的记录标识所表征的磁盘单元的总的空间大小;
[0016] 将统计结果确定为被执行过写操作的磁盘空间大小。
[0017] 第二方面,本发明实施例提供了一种数据信息备份装置,包括:
[0018] 写请求获得模块,用于截获针对于磁盘的写请求;
[0019] 目标磁盘区域确定模块,用于确定所述写请求所对应的待访问的目标磁盘区域,其中,所述目标磁盘区域为所述磁盘的磁盘区域中的至少一个,其中,所述磁盘区域为所述磁盘的基本单元;
[0020] 信息备份模块,用于更改所述磁盘所对应的数据变更记录中表征所述目标磁盘区域所在目标磁盘单元的记录标识为被写过标识,其中,所述磁盘包括多个基于磁盘的磁盘区域所确定出的磁盘单元,所述数据变更记录是预先在内存中构建的,所述数据变更记录中至少包括记录标识,和与记录标识具有一一对应关系的所述磁盘的磁盘单元[0021] 可选的,所述数据变更记录的存储形式为位图形式、链表形式或数组形式。
[0022] 可选的,所述磁盘单元与所述磁盘区域具有唯一对应性且所述磁盘单元与所述磁盘区域的空间大小相同;
[0023] 或者,
[0024] 每一磁盘区域均对应有唯一的磁盘单元,且所述磁盘单元的空间大小大于所述磁盘区域。
[0025] 可选的,本发明实施例所提供的一种数据信息备份装置还包括:
[0026] 磁盘单元确定模块,用于如果所述磁盘单元与所述磁盘区域具有唯一对应性且所述磁盘单元与所述磁盘区域的空间大小相同,在接收到关于被执行过写操作的磁盘空间大小的请求时,确定所述数据变更记录中属于被写过标识的记录标识所表征的磁盘单元;
[0027] 空间大小统计模块,用于统计所确定出的属于被写过标识的记录标识所表征的磁盘单元的总的空间大小;
[0028] 空间大小确定模块,用于将统计结果确定为被执行过写操作的磁盘空间大小。
[0029] 第三方面,本发明实施例还提供了一种数据备份方法,包括:
[0030] 截获针对于磁盘的写请求;
[0031] 确定所述写请求所对应的待访问的目标磁盘区域,其中,所述目标磁盘区域为所述磁盘的磁盘区域中的至少一个,其中,所述磁盘区域为所述磁盘的基本单元;
[0032] 更改所述磁盘所对应的数据变更记录中表征所述目标磁盘区域所在目标磁盘单元的记录标识为被写过标识,其中,所述磁盘包括多个基于磁盘的磁盘区域所确定出的磁盘单元,所述数据变更记录是预先在内存中构建的,所述数据变更记录中至少包括记录标识,和与记录标识具有一一对应关系的所述磁盘的磁盘单元;
[0033] 进一步的,当获得备份指令时,基于所述数据变更记录中属于被写过标识的记录标识,对所述磁盘的数据内容进行备份。
[0034] 可选的,所述基于所述数据变更记录中属于被写过标识的记录标识,对所述磁盘的数据内容进行备份,包括:
[0035] 将所述数据变更记录中属于被写过标识的记录标识所对应的磁盘单元所存储的数据内容备份到目标存储空间,并在备份完毕后,对所述内存中的当前的数据变更记录执行初始化处理。
[0036] 可选的,所述基于所述数据变更记录中属于被写过标识的记录标识,对所述磁盘的数据内容进行备份,包括:
[0037] 拷贝所述内存中的当前的数据变更记录到第一预定存储空间以形成所述数据变更记录所对应的数据变更记录副本,并对所述内存中的当前的数据变更记录执行初始化处理;
[0038] 将所述数据变更记录副本中属于被写过标识的记录标识所对应的磁盘单元所存储的数据内容备份到第二预定存储空间。
[0039] 可选的,本发明实施例所提供的一种数据备份方法还包括:
[0040] 在备份过程中,对每一属于被写过标识的记录标识所对应的磁盘单元所存储的数据内容备份完毕后,更改所述磁盘所对应的数据备份记录中表征已备份完毕的该磁盘单元的备份标识为已备份标识,其中,所述数据备份记录为预先在内存中构建的,且备份标识与磁盘单元一一对应;
[0041] 检测备份过程是否结束;
[0042] 当备份过程结束后,对所述数据备份记录执行初始化处理。
[0043] 可选的,本发明实施例所提供的一种数据备份方法还包括:
[0044] 在备份开始时,创建异步备份线程,以通过所述异步备份线程定时或实时检测临时缓冲区域是否存在待备份的数据内容,如果存在,从所述临时缓冲区读取所述待备份的数据内容到所述第二预定存储空间,并在备份结束后,清空所述临时缓冲区,其中,所述临时缓冲区为预先在内存中所分配的;
[0045] 并且,在备份过程中,如果截获到针对于磁盘的写请求,确定所接收到的写请求所对应的待访问的目标磁盘区域之后,判断所述数据备份记录中表征所述目标磁盘区域所在目标磁盘单元的备份标识是否为已备份标识;
[0046] 当判断出所述数据备份记录中表征待访问的该目标磁盘区域所在目标磁盘单元的备份标识不为已备份标识时,将待访问的该目标磁盘区域所在目标磁盘单元所存储的数据内容拷贝到所述临时缓冲区,然后将所述数据备份记录中表征待访问的该目标磁盘区域所在目标磁盘单元的备份标识更改为已备份标识。
[0047] 可选的,所述备份指令的发出方式包括:
[0048] 用户通过执行预设备份操作而发出;
[0049] 或者,
[0050] 达到预定时间点时系统自动发出。
[0051] 可选的,所述数据变更记录的存储形式为位图形式、链表形式或数组形式;
[0052] 所述数据备份记录的存储形式为位图形式、链表形式或数组形式。
[0053] 第四方面,本发明实施例还提供了一种数据备份装置,包括:
[0054] 写请求获得模块,用于截获针对于磁盘的写请求;
[0055] 目标磁盘区域确定模块,用于确定所述写请求所对应的待访问的目标磁盘区域,其中,所述目标磁盘区域为所述磁盘的磁盘区域中的至少一个,其中,所述磁盘区域为所述磁盘的基本单元;
[0056] 信息备份模块,用于更改所述磁盘所对应的数据变更记录中表征所述目标磁盘区域所在目标磁盘单元的记录标识为被写过标识,其中,所述磁盘包括多个基于磁盘的磁盘区域所确定出的磁盘单元,所述数据变更记录是预先在内存中构建的,所述数据变更记录中至少包括记录标识,和与记录标识具有一一对应关系的所述磁盘的磁盘单元;
[0057] 数据内容备份模块,用于当获得备份指令时,基于所述数据变更记录中属于被写过标识的记录标识,对所述磁盘的数据内容进行备份。
[0058] 可选的,所述数据内容备份模块,包括:
[0059] 第一数据内容备份单元,用于将所述数据变更记录中属于被写过标识的记录标识所对应的磁盘单元所存储的数据内容备份到目标存储空间,并在备份完毕后,对所述内存中的当前的数据变更记录执行初始化处理。
[0060] 可选的,所述数据内容备份模块,包括:
[0061] 数据变更记录处理单元,用于拷贝所述内存中的当前的数据变更记录到第一预定存储空间以形成所述数据变更记录所对应的数据变更记录副本,并对所述内存中的当前的数据变更记录执行初始化处理;
[0062] 第二数据内容备份单元,用于将所述数据变更记录副本中属于被写过标识的记录标识所对应的磁盘单元所存储的数据内容备份到第二预定存储空间。
[0063] 可选的,本发明实施例所提供的一种数据备份装置还包括:
[0064] 数据备份记录处理模块,用于在备份过程中,对每一属于被写过标识的记录标识所对应的磁盘单元所存储的数据内容备份完毕后,更改所述磁盘所对应的数据备份记录中表征已备份完毕的该磁盘单元的备份标识为已备份标识,其中,所述数据备份记录为预先在内存中构建的,且备份标识与磁盘单元一一对应;
[0065] 过程检测模块,用于检测备份过程是否结束;
[0066] 数据备份记录初始化模块,用于当备份过程结束后,对所述数据备份记录执行初始化处理。
[0067] 可选的,本发明实施例所提供的一种数据备份装置还包括:
[0068] 异步备份线程创建模块,用于在备份开始时,创建异步备份线程,以通过所述异步备份线程定时或实时检测临时缓冲区域是否存在待备份的数据内容,如果存在,从所述临时缓冲区读取所述待备份的数据内容到所述第二预定存储空间,并在备份结束后,清空所述临时缓冲区,其中,所述临时缓冲区为预先在内存中所分配的;
[0069] 备份标识分析模块,用于在备份过程中,如果截获到针对于磁盘的写请求,确定所接收到的写请求所对应的待访问的目标磁盘区域之后,判断所述数据备份记录中表征所述目标磁盘区域所在目标磁盘单元的备份标识是否为已备份标识;当判断出所述数据备份记录中表征待访问的该目标磁盘区域所在目标磁盘单元的备份标识不为已备份标识时,将待访问的该目标磁盘区域所在目标磁盘单元所存储的数据内容拷贝到所述临时缓冲区,然后将所述数据备份记录中表征待访问的该目标磁盘区域所在目标磁盘单元的备份标识更改为已备份标识。
[0070] 可选的,所述备份指令的发出方式包括:用户通过执行预设备份操作而发出;或者,达到预定时间点时系统自动发出。
[0071] 可选的,所述数据变更记录的存储形式为位图形式、链表形式或数组形式;
[0072] 所述数据备份记录的存储形式为位图形式、链表形式或数组形式。
[0073] 首先,本发明实施例所提供的一种数据信息备份方法中,预先在内存中为磁盘构建数据变更记录,该数据变更记录中至少包括记录标识,和与记录标识具有一一对应关系的磁盘单元,该磁盘单元基于磁盘的磁盘区域所确定;并且,在截获到针对于磁盘的写请求后,执行将待发生写操作的磁盘区域所在磁盘单元的记录标识更改为被写过标识的操作。本方案,通过对磁盘所存储的发生写操作的块数据的相关信息的备份,即将数据变更记录中发生过写操作的磁盘单元所对应的记录标识更改为被写过标识,相对于基于文件系统的备份,数据量较小,因此,提高了对关于磁盘的数据信息的备份效率;并且,由于基于针对于磁盘的写请求来实现对于磁盘的数据信息的备份,因此,可以降低数据信息备份过程对正在运行的业务的性能和连续性的影响。
[0074] 其次,本发明实施例所提供了一种数据备份方法中,预先在内存中为磁盘构建数据变更记录,该数据变更记录中至少包括记录标识,和与记录标识具有一一对应关系的磁盘单元,该磁盘单元基于磁盘的磁盘区域所确定;并且,截获针对于磁盘的写请求后,执行将待发生写操作的磁盘区域所在磁盘单元的记录标识更改为被写过标识的操作,在获得备份指令后,基于该数据变更记录中属于被写过标识的记录标识,对该磁盘的数据内容进行备份。本方案,对磁盘所存储的发生写操作的块数据的相关信息的备份,即将数据变更记录中发生过写操作的磁盘单元所对应的记录标识更改为被写过标识,并在获得备份指令后,基于该数据变更记录中属于被写过标识的记录标识,对该磁盘的数据内容进行备份,相对于基于文件系统的备份,数据量较小,因此,提高了对磁盘所存储数据内容的备份效率;并且,由于基于数据变更记录实现对于磁盘的数据的备份,因此,可以降低数据信息备份过程对正在运行的业务的性能和连续性的影响。

附图说明

[0075] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0076] 图1为本发明实施例所提供的一种数据信息备份方法的流程图;
[0077] 图2为本发明实施例所提供的一种数据信息备份装置的结构示意图;
[0078] 图3为本发明实施例所提供的一种数据备份方法的流程图;
[0079] 图4为本发明实施例所提供的一种数据备份装置的结构示意图。

具体实施方式

[0080] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0081] 首先,本发明实施例提供了一种数据信息备份方法及装置,以提高对关于磁盘的数据信息的备份效率且降低备份过程对正在运行的业务的性能和连续性的影响。
[0082] 下面首先对本发明实施例所提供的一种数据信息备份方法进行介绍。
[0083] 需要说明的是,虚拟磁盘提供商,拥有大量的服务器来提供云服务,在服务器上为每位用户创建有定制的虚拟主机,每台虚拟主机拥有一个或多个虚拟磁盘。本发明实施例所提供的一种数据信息备份方法皆可适用于虚拟磁盘提供商对自身拥有的服务器进行备份,也可以适用于对每位用户的虚拟主机进行分别备份,举例而言:虚拟磁盘提供商可以为了自身服务器数据安全的需求,对每台服务器进行备份,也可以为各个用户提供针对分配给各个用户所使用的虚拟磁盘的数据信息进行有效备份。当然,用户侧的终端设备的本地磁盘的数据信息也可以通过本发明实施例所提供的该数据信息备份方法进行备份。需要说明的是,本发明实施例所指的磁盘为能够被执行读写操作的物理设备,该物理设备可以为虚拟磁盘提供商所提供的虚拟磁盘也可以为用户侧的终端内的本地磁盘,这都是合理的;并且,现有技术中,一个磁盘包括若干磁盘区域,该磁盘区域为磁盘的基本单元,即最小数据存储单元,针对于磁盘的读请求或写请求均对应有至少一个磁盘区域。
[0084] 并且,本发明实施例所提供的一种数据信息备份方法的执行主体可以为一种数据信息备份装置,该数据信息备份装置位于块设备层。本领域技术人员可以理解的是,现有的块设备层位于操作系统层之下,磁盘层之上,可以获得操作系统发送的I/O请求,并利用本身的读写模块来响应该I/O请求,然后向磁盘发送I/O请求从而对磁盘的相应磁盘区域进行操作。本发明实施例在原有块设备层基础上,增设数据信息备份装置,从而提高对关于磁盘的数据信息的备份效率且降低备份过程对正在运行的业务的性能和连续性的影响。另外,为了方便对块设备层的分析及管理,在实际应用中,可以将仅仅包括读写模块的状态定义为初始状态,而将既包括读写模块又包括数据信息备份装置的状态称为就绪状态,其中,就绪状态下的块设备层相对于初始状态的块设备层而言,增加有数据信息备份装置。
[0085] 为了进一步阐释本发明实施例所提供的一种数据信息备份方法的应用场景,进行如下说明:对于用户利用虚拟磁盘(即云盘、云主机)的情况而言,虚拟磁盘提供商为用户分配所需大小的虚拟磁盘,虚拟磁盘对应的虚拟服务器可以利用本发明实施例所提供的方法对虚拟磁盘的数据信息进行有效备份,具体的,在用户对虚拟磁盘进行写操作时,虚拟服务器中的位于块设备层的数据信息备份装置可以在虚拟磁盘响应写操作之前,对虚拟磁盘中发生写操作的相关位置通过数据变更记录表来记录,即对虚拟磁盘内的发生写操作的块数据的相关信息进行记录,这种采用对发生过写操作的块数据的相关信息的备份形式,相对于基于文件系统的备份,数据量较小,能够提高对关于磁盘的相关信息的备份效率,且由于基于写请求来实现数据信息备份,可以降低备份过程对正在运行的业务的性能和连续性的影响,并且,后续方便对各个用户的虚拟磁盘的了解,例如:当希望统计发生过写操作的虚拟磁盘的大小时,仅仅根据数据变更记录中发生过写操作的块数据的相关信息即可确定出,等等;另外,对于用户利用终端的本地磁盘的情况而言,终端中的位于块设备层的数据信息备份装置也可以在本地磁盘响应写操作之前,对本地磁盘中发生写操作的相关位置通过数据变更记录表来记录,即对本地磁盘中发生写操作的块数据的相关信息进行记录,这种采用对发生过写操作的块数据的相关信息的备份形式,相对于基于文件系统的备份,数据量较小,能够提高对关于磁盘的相关信息的备份效率,而由于基于写请求完成数据信息备份,可以降低备份过程对正在运行的业务的性能和连续性的影响,并且,后续方便对各个用户的本地磁盘的了解,例如:当希望统计发生过写操作的本地磁盘的大小时,仅仅根据数据变更记录中发生过写操作的块数据的相关信息即可确定出,等等。
[0086] 如图1所示,本发明实施例所提供的一种数据信息备份方法,可以包括如下步骤:
[0087] S101,截获针对于磁盘的写请求;
[0088] 可以理解的是,针对于磁盘的写请求可以是位于块设备层的数据信息备份装置直接从块设备层所截获的,也可以是该数据信息备份装置直接从操作系统层所截获的,这都是合理的。另外,通过对写请求的截获,可以使得后续对关于磁盘的数据信息的备份不再基于文件系统,而是针对于磁盘的块数据。
[0089] 需要强调的是,本发明实施例中操作系统层所涉及的操作系统可以包括但不局限于windows操作系统和linux操作系统;本发明实施例所涉及的磁盘为能够被执行读写操作的物理设备,具体可以包括:网络侧的虚拟磁盘和终端的本地磁盘,这都是合理的。
[0090] 并且,由于磁盘可以被执行写入操作和读取操作,因此,针对于磁盘的操作除了属于I/O操作的写操作,还包括属于I/O操作的读操作,但是,由于写入操作对磁盘的数据有修改,而读操作对磁盘的数据不存在修改,这样使得对关于磁盘的数据信息备份有影响的是写操作,因此,本发明实施例的数据信息备份方法为对针对于磁盘的写操作的处理过程,而对针对于磁盘的读操作的处理流程与现有技术完全相同,在此不做赘述。
[0091] S102,确定该写请求所对应的待访问的目标磁盘区域;
[0092] 在截获到针对于磁盘的写请求后,为了后续对磁盘的相关信息的高效备份,可以确定该写请求所对应的待访问的目标磁盘区域,进而执行后续的处理。其中,该目标磁盘区域为该磁盘的磁盘区域中的至少一个,其中,该磁盘区域为所述磁盘的基本单元,即最小的数据存储单元。
[0093] 需要强调的是,现有磁盘具有若干个磁盘区域,而现有的对磁盘的读请求和写请求均是对至少一个磁盘区域的访问,因此,现有的读请求和写请求均携带有磁盘单元的标识信息,这样,在截获到写请求后,可以确定出该写请求所对应的待访问的目标磁盘区域,其中,待访问的目标磁盘区域可以为一个磁盘区域或至少两个磁盘区域,这都是合理的。
[0094] S103,更改该磁盘所对应的数据变更记录中表征该目标磁盘区域所在目标磁盘单元的记录标识为被写过标识。
[0095] 在确定出所截获的写请求所对应的待访问的目标磁盘区域后,可以更改该磁盘所对应的数据变更记录中表征该目标磁盘区域所在目标磁盘单元的记录标识为被写过标识。
[0096] 其中,该磁盘包括多个基于磁盘的磁盘区域所确定出的磁盘单元,该数据变更记录是预先在内存中构建的,该数据变更记录中至少包括记录标识,和与记录标识具有一一对应关系的磁盘的磁盘单元。
[0097] 具体的,所述磁盘单元基于磁盘的磁盘区域所确定,具体指:该磁盘单元与该磁盘区域具有唯一对应性且该磁盘单元与该磁盘区域的空间大小相同,即每一磁盘区域作为一磁盘单元,也就是,数据变更记录中的记录标识与磁盘区域一一对应,记录标识的数量与磁盘区域的数量相同,通过这种方式可以保证对发生过写操作的块数据的相关信息的备份精准性;或者,每一磁盘区域均对应有唯一的磁盘单元,且该磁盘单元的空间大小大于该磁盘区域,即至少两个磁盘区域作为一磁盘单元,通过这种方式可以降低数据变更记录的文件大小;进一步的,当每一磁盘区域作为一磁盘单元时,所谓的关于磁盘的数据信息的有效备份可以为发生过写操作的磁盘区域的区域信息的备份;而当至少两个磁盘区域作为一磁盘单元时,所谓的关于磁盘的数据信息的有效备份可以为发生过写操作的磁盘单元的单元信息的备份。举例而言:对于磁盘区域等同于磁盘单元的情况而言,在确定该写请求所对应的待访问的目标磁盘区域后,由于数据变更记录中的记录标识与磁盘区域一一对应,因此,可以更改该磁盘所对应的数据变更记录中表征该目标磁盘区域的记录标识为被写过标识;而对于磁盘单元为至少两个磁盘区域的情况而言,在确定该写请求所对应的待访问的目标磁盘区域后,由于数据变更记录中的记录标识与磁盘单元一一对应,因此,可以首先确定出目标磁盘区域所对应的目标磁盘单元,进而,可以更改该磁盘所对应的数据变更记录中表征该目标磁盘区域的记录标识为被写过标识。
[0098] 可以理解的是,数据变更记录中所包括的记录标识的具体值可以包括:被写过标识和未被写过标识,在初始状态下,该数据变更记录的各个记录标识均为未被写过标识。并且,被写过标识和未被写过标识可以采用不同的字符来表示,举例而言:被写过标识为1,未被写过标识为0,当然并不局限于此。
[0099] 另外,如果先后截获到两个写请求,且写请求所对应的待访问的目标磁盘区域完全相同,由于在处理第一个写请求的过程中,该数据变更记录中该目标磁盘区域所在目标磁盘磁盘单元的记录标识已经被更改为被写过标识,因此,在处理第二个写请求的过程中,可以通过重新更改的方式或不作处理的方式来实现更改该磁盘所对应的数据变更记录中表征该目标磁盘区域所在目标磁盘单元的记录标识为被写过标识,这都是合理的。
[0100] 需要强调的是,在实际应用中,所述数据变更记录的存储形式可以为位图形式、链表形式或数组形式,当然并不局限于此,其中,关于数据变更记录的任意一种存储形式的具体实现均可以参照现有技术,在此不做赘述。
[0101] 本发明实施例中,预先在内存中为磁盘构建数据变更记录,该数据变更记录中至少包括记录标识,和与记录标识具有一一对应关系的磁盘单元,该磁盘单元基于磁盘的磁盘区域所确定;并且,在截获到针对于磁盘的写请求后,执行将待发生写操作的磁盘区域所在磁盘单元的记录标识更改为被写过标识的操作。本方案,通过对磁盘所存储的发生写操作的块数据的相关信息的备份,即将数据变更记录中发生过写操作的磁盘单元所对应的记录标识更改为被写过标识,相对于基于文件系统的备份,数据量较小,因此,提高了对关于磁盘的数据信息的备份效率;并且,由于基于针对于磁盘的写请求来实现对于磁盘的数据信息的备份,因此,可以降低数据信息备份过程对正在运行的业务的性能和连续性的影响。
[0102] 更进一步的,基于本发明实施例所提供的上述的S101~S103,如果磁盘的磁盘单元与磁盘区域具有唯一对应性且该磁盘单元与该磁盘区域的空间大小相同,本发明实施例所提供的数据信息备份方法还可以包括:
[0103] 在接收到关于被执行过写操作的磁盘空间大小的请求时,确定该数据变更记录中属于被写过标识的记录标识所表征的磁盘单元;
[0104] 统计所确定出的属于被写过标识的记录标识所表征的磁盘单元的总的空间大小;
[0105] 将统计结果确定为被执行过写操作的磁盘空间大小。
[0106] 举例而言,当用户希望了解磁盘的已占用空间的大小,可以通过执行特定的操作(例如,点击按钮的操作),来发出关于被执行过写操作的磁盘空间大小的请求,进而数据信息备份装置在接收到关于被执行过写操作的磁盘空间大小的请求时,可以确定该数据变更记录中属于被写过标识的记录标识所表征的磁盘单元;统计所确定出的属于被写过标识的记录标识所表征的磁盘单元的总的空间大小;将统计结果确定为被执行过写操作的磁盘空间大小。
[0107] 而当虚拟磁盘提供商希望了解已分配给用户的虚拟磁盘的已占用空间的大小,可以通过执行特定的操作(例如,点击按钮的操作),来发出关于被执行过写操作的磁盘空间大小的请求,进而数据信息备份装置在接收到关于被执行过写操作的磁盘空间大小的请求时,确定该数据变更记录中属于被写过标识的记录标识所表征的磁盘单元;统计所确定出的属于被写过标识的记录标识所表征的磁盘单元的总的空间大小;将统计结果确定为被执行过写操作的磁盘空间大小。
[0108] 需要说明的是,上述的关于统计被执行过写操作的磁盘空间大小的过程是上述S101~S103所给出的数据信息备份方法的进一步利用,当然并不局限于此,即还可以在S101~S103所给出的数据信息备份方法的基础上,利用数据变更记录完成其他的应用。
[0109] 相应于上述的数据信息备份方法,本发明实施例还提供了一种数据信息备份装置,如图2所示,可以包括:
[0110] 写请求获得模块210,用于截获针对于磁盘的写请求;
[0111] 目标磁盘区域确定模块220,用于确定所述写请求所对应的待访问的目标磁盘区域,其中,所述目标磁盘区域为所述磁盘的磁盘区域中的至少一个,其中,所述磁盘区域为所述磁盘固有的基本单元;
[0112] 信息备份模块230,用于更改所述磁盘所对应的数据变更记录中表征所述目标磁盘区域所在目标磁盘单元的记录标识为被写过标识,其中,所述磁盘包括多个基于磁盘的磁盘区域所确定出的磁盘单元,所述数据变更记录是预先在内存中构建的,所述数据变更记录中至少包括记录标识,和与记录标识具有一一对应关系的所述磁盘的磁盘单元[0113] 本发明实施例中,预先在内存中为磁盘构建数据变更记录,该数据变更记录中至少包括记录标识,和与记录标识具有一一对应关系的磁盘单元,该磁盘单元基于磁盘的磁盘区域所确定;并且,在截获到针对于磁盘的写请求后,执行将待发生写操作的磁盘区域所在磁盘单元的记录标识更改为被写过标识的操作。本方案,通过对磁盘所存储的发生写操作的块数据的相关信息的备份,即将数据变更记录中发生过写操作的磁盘单元所对应的记录标识更改为被写过标识,相对于基于文件系统的备份,数据量较小,因此,提高了对关于磁盘的数据信息的备份效率;并且,由于基于针对于磁盘的写请求来实现对于磁盘的数据信息的备份,因此,可以降低数据信息备份过程对正在运行的业务的性能和连续性的影响。
[0114] 具体的,所述数据变更记录的存储形式可以为位图形式、链表形式或数组形式,当然并不局限于此。
[0115] 具体的,所述磁盘单元与所述磁盘区域具有唯一对应性且所述磁盘单元与所述磁盘区域的空间大小相同;
[0116] 或者,
[0117] 每一磁盘区域均对应有唯一的磁盘单元,且所述磁盘单元的空间大小大于所述磁盘区域。
[0118] 更进一步的,本发明实施例所提供的数据信息备份装置还可以包括:
[0119] 磁盘单元确定模块,用于如果所述磁盘单元与所述磁盘区域具有唯一对应性且所述磁盘单元与所述磁盘区域的空间大小相同,在接收到关于被执行过写操作的磁盘空间大小的请求时,确定所述数据变更记录中属于被写过标识的记录标识所表征的磁盘单元;
[0120] 空间大小统计模块,用于统计所确定出的属于被写过标识的记录标识所表征的磁盘单元的总的空间大小;
[0121] 空间大小确定模块,用于将统计结果确定为被执行过写操作的磁盘空间大小。
[0122] 其次,本发明实施例还提供了一种数据备份方法及装置,以提高对磁盘所存储的数据内容的备份效率且降低备份过程对正在运行的业务的性能和连续性的影响。
[0123] 下面首先对本发明实施例所提供的一种数据备份方法进行介绍。
[0124] 需要说明的是,虚拟磁盘提供商,拥有大量的服务器来提供云服务,在服务器上为每位用户创建有定制的虚拟主机,每台虚拟主机拥有一个或多个虚拟磁盘。本发明实施例所提供的一种数据备份方法皆可适用于虚拟磁盘提供商对自身拥有的服务器进行备份,也可以适用于对每位用户的虚拟主机进行分别备份,举例而言:虚拟磁盘提供商可以为了自身服务器数据安全的需求,对每台服务器进行备份,也可以为各个用户提供针对分配给各个用户所使用的虚拟磁盘的数据信息进行有效备份。当然,用户侧的终端设备的本地磁盘的数据信息也可以通过本发明实施例所提供的该数据信息备份方法进行备份。需要说明的是,本发明实施例所指的磁盘为能够被执行读写操作的物理设备,该物理设备可以为虚拟磁盘提供商所提供的虚拟磁盘也可以为用户侧的终端内的本地磁盘,这都是合理的;并且,现有技术中,一个磁盘包括若干磁盘区域,该磁盘区域为磁盘的基本单元,即最小数据存储单元,针对于磁盘的读请求或写请求均对应有至少一个磁盘区域。
[0125] 并且,本发明实施例所提供的一种数据备份方法的执行主体可以为一种数据备份装置,该数据备份装置位于块设备层。本领域技术人员可以理解的是,现有的块设备层位于操作系统层之下,磁盘层之上,可以获得操作系统发送的I/O请求,并利用本身的读写模块来响应该I/O请求,然后向磁盘发送I/O请求,从而对磁盘的相应磁盘区域进行操作。本发明实施例在原有块设备层基础上,增设数据备份装置,从而提高对关于磁盘的数据信息的备份效率且降低备份过程对正在运行的业务的性能和连续性的影响。另外,为了方便对块设备层的分析及管理,在实际应用中,可以将仅仅包括读写模块的状态定义为初始状态,而将既包括读写模块又包括数据备份装置的状态称为备份状态,其中,备份状态下的块设备层相对于初始状态的块设备层而言,增加有数据备份装置。
[0126] 为了进一步阐释本发明实施例所提供的一种数据信息备份方法的应用场景,进行如下说明:对于用户利用虚拟磁盘(即云盘、云主机)的情况而言,虚拟磁盘提供商为用户分配所需大小的虚拟磁盘,虚拟磁盘所对应的虚拟服务器可以利用本发明实施例所提供的方法对虚拟磁盘所存储的数据内容进行有效增量备份,具体的,在用户对虚拟磁盘进行写操作时,虚拟服务器中的位于块设备层的数据信息备份装置可以在虚拟磁盘响应写操作之前,对虚拟磁盘中发生写操作的相关位置通过数据变更记录表来记录,即对虚拟磁盘内的发生写操作的块数据的相关信息进行记录,当获得备份指令时,根据数据变更记录来对发生过写操作的虚拟磁盘中的块数据进行增量备份,这种仅仅对发生过写操作的块数据的增量备份方式,相对于基于文件系统的备份,数据量较小,能够提高对关于磁盘所存储数据内容的备份效率,并且,由于基于写请求所形成的相关记录来实现数据备份,可以降低备份过程对正在运行的业务的性能和连续性的影响;对于用户利用终端本地磁盘的情况而言,终端本身可以利用本发明所提供方法对物理磁盘所存储的数据内容进行有效增量备份,具体的,在用户对本地磁盘进行写操作时,终端中的位于块设备层的数据信息备份装置可以在本地磁盘响应写操作之前,对本地磁盘中发生写操作的相关位置通过数据变更记录表来记录,即对本地磁盘内的发生写操作的块数据的相关信息进行记录,当获得备份指令时,根据数据变更记录来对发生过写操作的本地磁盘中的块数据进行增量备份,这种仅仅对发生过写操作的块数据的增量备份方式,相对于基于文件系统的备份,数据量较小,能够提高对关于磁盘所存储数据内容的备份效率,并且,由于基于写请求所形成的相关记录来实现数据备份,可以降低备份过程对正在运行的业务的性能和连续性的影响。
[0127] 如图3所示,本发明实施例还提供了一种数据备份方法,可以包括如下步骤:
[0128] S301,截获针对于磁盘的写请求;
[0129] 可以理解的是,针对于磁盘的写请求可以是位于块设备层的数据信息备份装置直接从块设备层所截获的,也可以是该数据信息备份装置直接从操作系统层所截获的,这都是合理的。另外,通过对写请求的截获,可以使得后续对关于磁盘的数据信息的备份不再基于文件系统,而是针对于磁盘的块数据。
[0130] 需要强调的是,本发明实施例中操作系统层所涉及的操作系统可以包括但不局限于windows操作系统和linux操作系统;本发明实施例所涉及的磁盘为能够被执行读写操作的物理设备,具体可以包括:网络侧的虚拟磁盘和终端的本地磁盘,这都是合理的。
[0131] 并且,由于磁盘可以被执行写入操作和读取操作,因此,针对于磁盘的操作除了属于I/O操作的写操作,还包括属于I/O操作的读操作,但是,由于写入操作对磁盘的数据有修改,而读操作对磁盘的数据不存在修改,这样使得对关于磁盘的数据信息备份有影响的是写操作,因此,本发明实施例的数据信息备份方法为对针对于磁盘的写操作的处理过程,而对针对于磁盘的读操作的处理流程与现有技术完全相同,在此不做赘述。
[0132] S302,确定该写请求所对应的待访问的目标磁盘区域;
[0133] 在截获到针对于磁盘的写请求后,为了后续对磁盘的相关信息的高效备份,可以确定该写请求所对应的待访问的目标磁盘区域,进而执行后续的处理。其中,该目标磁盘区域为该磁盘的磁盘区域中的至少一个,其中,该磁盘区域为所述磁盘的基本单元,即最小的数据存储单元。
[0134] 需要强调的是,现有磁盘具有若干个磁盘区域,而现有的对磁盘的读请求和写请求均是对至少一个磁盘区域的访问,因此,现有的读请求和写请求均携带有磁盘单元的标识信息,这样,在截获到写请求后,可以确定出该写请求所对应的待访问的目标磁盘区域,其中,待访问的目标磁盘区域可以为一个磁盘区域或至少两个磁盘区域,这都是合理的。
[0135] S303,更改该磁盘所对应的数据变更记录中表征该目标磁盘区域所在目标磁盘单元的记录标识为被写过标识;
[0136] 在确定出所截获的写请求所对应的待访问的目标磁盘区域后,可以更改该磁盘所对应的数据变更记录中表征该目标磁盘区域所在目标磁盘单元的记录标识为被写过标识。
[0137] 其中,该磁盘包括多个基于磁盘的磁盘区域所确定出的磁盘单元,该数据变更记录是预先在内存中构建的,该数据变更记录中至少包括记录标识,和与记录标识具有一一对应关系的磁盘的磁盘单元。
[0138] 具体的,所述磁盘单元基于磁盘的磁盘区域所确定,具体指:该磁盘单元与该磁盘区域具有唯一对应性且该磁盘单元与该磁盘区域的空间大小相同,即每一磁盘区域作为一磁盘单元,也就是,数据变更记录中的记录标识与磁盘区域一一对应,记录标识的数量与磁盘区域的数量相同,通过这种方式可以保证对发生过写操作的块数据的相关信息的备份精准性;或者,每一磁盘区域均对应有唯一的磁盘单元,且该磁盘单元的空间大小大于该磁盘区域,即至少两个磁盘区域作为一磁盘单元,通过这种方式可以降低数据变更记录的文件大小;进一步的,当每一磁盘区域作为一磁盘单元时,所谓的关于磁盘的数据信息的有效备份可以为发生过写操作的磁盘区域的区域信息的备份;而当至少两个磁盘区域作为一磁盘单元时,所谓的关于磁盘的数据信息的有效备份可以为发生过写操作的磁盘单元的单元信息的备份。举例而言:对于磁盘区域等同于磁盘单元的情况而言,在确定该写请求所对应的待访问的目标磁盘区域后,由于数据变更记录中的记录标识与磁盘区域一一对应,因此,可以更改该磁盘所对应的数据变更记录中表征该目标磁盘区域的记录标识为被写过标识;而对于磁盘单元为至少两个磁盘区域的情况而言,在确定该写请求所对应的待访问的目标磁盘区域后,由于数据变更记录中的记录标识与磁盘单元一一对应,因此,可以首先确定出目标磁盘区域所对应的目标磁盘单元,进而,可以更改该磁盘所对应的数据变更记录中表征该目标磁盘区域的记录标识为被写过标识。
[0139] 可以理解的是,数据变更记录中所包括的记录标识的具体值可以包括:被写过标识和未被写过标识,在初始状态下,该数据变更记录的各个记录标识均为未被写过标识。并且,被写过标识和未被写过标识可以采用不同的字符来表示,举例而言:被写过标识为1,未被写过标识为0,当然并不局限于此。
[0140] 另外,如果先后截获到两个写请求,且写请求所对应的待访问的目标磁盘区域完全相同,由于在处理第一个写请求的过程中,该数据变更记录中该目标磁盘区域所在目标磁盘磁盘单元的记录标识已经被更改为被写过标识,因此,在处理第二个写请求的过程中,可以通过重新更改的方式或不作处理的方式来实现更改该磁盘所对应的数据变更记录中表征该目标磁盘区域所在目标磁盘单元的记录标识为被写过标识,这都是合理的。
[0141] 需要强调的是,在实际应用中,所述数据变更记录的存储形式可以为位图形式、链表形式或数组形式,当然并不局限于此,其中,关于数据变更记录的任意一种存储形式的具体实现均可以参照现有技术,在此不做赘述。
[0142] S304,当获得备份指令时,基于该数据变更记录中属于被写过标识的记录标识,对所述磁盘的数据内容进行备份。
[0143] 当获得备份指令时,表明需要对磁盘所存储的数据内容进行备份,由于通过数据变更记录已经对发生过写操作的块数据(即磁盘单元内所存储的数据)的相关信息进行了备份,因此,可以基于该数据变更记录中属于被写过标识的记录标识,对该磁盘的数据内容进行备份;需要说明的是,对该磁盘的数据内容进行备份实质上是:对本次的备份指令所指示的时间点相对于上一次备份指令所指示时间点发生更改的数据内容的增量备份;并且,任一备份指令所指示的时间点可以为:当前系统的时间。
[0144] 具体的,在一种实现方式中,所述基于所述数据变更记录中属于被写过标识的记录标识,对所述磁盘的数据内容进行备份,可以包括:
[0145] 将该数据变更记录中属于被写过标识的记录标识所对应的磁盘单元所存储的数据内容备份到目标存储空间,并在备份完毕后,对该内存中的当前的数据变更记录执行初始化处理。
[0146] 其中,所述目标存储空间为预先分配的用于存储备份内容的空间,关于存储空间的具体位置以及具体大小在此不做限定;所述的对该内存中的当前的数据变更记录执行初始化处理具体指:将数据变更记录中的记录标识全部更改为未写过标识。并且,需要强调的是,由于对该磁盘的数据内容进行备份实质上是:对本次的备份指令所指示的时间点相对于上一次备份指令所指示时间点发生更改的数据内容的增量备份,并且,数据变更记录中的属于被写过标识的记录标识表明其对应磁盘单元内的数据内容是发生更改,因此,在备份完毕后,需要将数据变更记录中的记录标识全部更改为未写过标识,以使得下一次获得备份指令时,直接对数据变更记录中的属于被写过标识的记录标识所对应的磁盘单元进行增量备份即可。
[0147] 进一步的,由于拷贝是需要一定时间的,可能在该段时间内,数据变更记录中属于被写过标识的记录标识所对应磁盘单元以外的磁盘单元被执行写操作,因此,为了保证增量备份的时效性,在另一种具体实现方式中,所述基于该数据变更记录中属于被写过标识的记录标识,对该磁盘的数据内容进行备份,可以包括:
[0148] 拷贝该内存中的当前的数据变更记录到第一预定存储空间以形成该数据变更记录所对应的数据变更记录副本,并对该内存中的当前的数据变更记录执行初始化处理;
[0149] 将该数据变更记录副本中属于被写过标识的记录标识所对应的磁盘单元所存储的数据内容备份到第二预定存储空间。
[0150] 在该种具体实现方式中,在拷贝该内存中的当前的数据变更记录到第一预定存储空间以形成该数据变更记录所对应的数据变更记录副本后,可以基于该数据变更记录副本进行备份,由于相对于上一次备份过程中,数据变更记录被拷贝后,已被初始化,因此,本次备份相对于上一次的需要增量备份的数据内容为数据变更记录中属于被写过标识的记录标识所对应的磁盘单元所存储的数据内容,因此,具体备份方式为:将该数据变更记录副本中属于被写过标识的记录标识所对应的磁盘单元所存储的数据内容备份到第二预定存储空间。其中,第一预定存储空间为预先分配的数据变更记录副本的存储空间,第二预定存储空间为预先分配的用于存储备份内容的空间,关于第二预定存储空间的具体位置以及具体大小在此不做限定。
[0151] 具体的,用户通过执行预设备份操作而发出;或者,达到预定时间点时系统自动发出。可以理解的是,对于达到预定时间时系统自动发出的情况而言,用户可以预先进行备份设置操作以达到自动备份的效果。
[0152] 本发明实施例中,预先在内存中为磁盘构建数据变更记录,该数据变更记录中至少包括记录标识,和与记录标识具有一一对应关系的磁盘单元,该磁盘单元基于磁盘的磁盘区域所确定;并且,截获针对于磁盘的写请求后,执行将待发生写操作的磁盘区域所在磁盘单元的记录标识更改为被写过标识的操作,在获得备份指令后,基于该数据变更记录中属于被写过标识的记录标识,对该磁盘的数据内容进行备份。本方案,对磁盘所存储的发生写操作的块数据的相关信息的备份,即将数据变更记录中发生过写操作的磁盘单元所对应的记录标识更改为被写过标识,并在获得备份指令后,基于该数据变更记录中属于被写过标识的记录标识,对该磁盘的数据内容进行备份,相对于基于文件系统的备份,数据量较小,因此,提高了对磁盘所存储数据内容的备份效率;并且,由于基于数据变更记录实现对于磁盘的数据的备份,因此,可以降低数据信息备份过程对正在运行的业务的性能和连续性的影响。另外,由于本方案是基于写请求的数据备份,因此,在备份过程中,不用关心上层业务的类型和对磁盘的使用方式。
[0153] 更进一步的,基于本发明实施例所提供的S301-S304,为了能够在每次备份过程中实现对已备份磁盘单元的记录,本发明实施例所提供的数据备份方法还可以包括:
[0154] 在备份过程中,对每一属于被写过标识的记录标识所对应的磁盘单元所存储的数据内容备份完毕后,更改该磁盘所对应的数据备份记录中表征已备份完毕的该磁盘单元的备份标识为已备份标识,其中,该数据备份记录为预先在内存中构建的,且备份标识与磁盘单元一一对应;
[0155] 检测备份过程是否结束;
[0156] 当备份过程结束后,对该数据备份记录执行初始化处理。
[0157] 其中,预先在内存中构建数据备份记录,该数据备份记录中包括多个备份标识,备份标识与磁盘单元一一对应。该数据备份记录中的备份标识可以包括:已备份标识和未备份标识,其中,已备份标识和未备份标识可以采用不同的字符表示,举例而言,已备份标识可以为1,未备份标识可以为0,当然,并不局限于此。并且,数据备份记录的存储形式为位图形式、链表形式或数组形式,当然并不局限于此。
[0158] 基于上述的数据备份记录,更进一步的,本发明实施例所提供的数据备份方法还可以包括:
[0159] 在备份开始时,创建异步备份线程,以通过该异步备份线程定时或实时检测临时缓冲区域是否存在待备份的数据内容,如果存在,从该临时缓冲区读取待备份的数据内容到该第二预定存储空间,并在备份结束后,清空该临时缓冲区,其中,该临时缓冲区为预先在内存中所分配的;
[0160] 并且,在备份过程中,如果截获到针对于磁盘的写请求,确定所接收到的写请求所对应的待访问的目标磁盘区域之后,判断该数据备份记录中表征该目标磁盘区域所在目标磁盘单元的备份标识是否为已备份标识;
[0161] 当判断出该数据备份记录中表征待访问的该目标磁盘区域所在目标磁盘单元的备份标识不为已备份标识时,将待访问的该目标磁盘区域所在目标磁盘单元所存储的数据内容拷贝到该临时缓冲区,然后将该数据备份记录中表征待访问的该目标磁盘区域所在磁盘单元的备份标识更改为已备份标识。
[0162] 其中,异步备份线程定时或实时检测临时缓冲区域是否存在待备份的数据内容,如果存在,从该临时缓冲区读取待备份的数据内容到该第二预定存储空间,并在备份结束后,清空该临时缓冲区,其中,该临时缓冲区为预先在内存中所分配的。可见,通过上述的包含异步备份线程的方案,可以保证备份先于写操作,实现了相对于上一次备份的精准的增量备份。
[0163] 相应于上述的数据备份方法,本发明实施例还提供了一种数据备份装置,如图4所示,可以包括:
[0164] 写请求获得模块410,用于截获针对于磁盘的写请求;
[0165] 目标磁盘区域确定模块420,用于确定所述写请求所对应的待访问的目标磁盘区域,其中,所述目标磁盘区域为所述磁盘的磁盘区域中的至少一个,其中,所述磁盘区域为所述磁盘固有的基本单元;
[0166] 信息备份模块430,用于更改所述磁盘所对应的数据变更记录中表征所述目标磁盘区域所在目标磁盘单元的记录标识为被写过标识,其中,所述磁盘包括多个基于磁盘的磁盘区域所确定出的磁盘单元,所述数据变更记录是预先在内存中构建的,所述数据变更记录中至少包括记录标识,和与记录标识具有一一对应关系的所述磁盘的磁盘单元;
[0167] 数据内容备份模块440,用于当获得备份指令时,基于所述数据变更记录中属于被写过标识的记录标识,对所述磁盘的数据内容进行备份。
[0168] 本发明实施例中,预先在内存中为磁盘构建数据变更记录,该数据变更记录中至少包括记录标识,和与记录标识具有一一对应关系的磁盘单元,该磁盘单元基于磁盘的磁盘区域所确定;并且,截获针对于磁盘的写请求后,执行将待发生写操作的磁盘区域所在磁盘单元的记录标识更改为被写过标识的操作,在获得备份指令后,基于该数据变更记录中属于被写过标识的记录标识,对该磁盘的数据内容进行备份。本方案,对磁盘所存储的发生写操作的块数据的相关信息的备份,即将数据变更记录中发生过写操作的磁盘单元所对应的记录标识更改为被写过标识,并在获得备份指令后,基于该数据变更记录中属于被写过标识的记录标识,对该磁盘的数据内容进行备份,相对于基于文件系统的备份,数据量较小,因此,提高了对磁盘所存储数据内容的备份效率;并且,由于基于数据变更记录实现对于磁盘的数据的备份,因此,可以降低数据信息备份过程对正在运行的业务的性能和连续性的影响。
[0169] 在一种具体实现方式中,所述数据内容备份模块440,可以包括:
[0170] 第一数据内容备份单元,用于将所述数据变更记录中属于被写过标识的记录标识所对应的磁盘单元所存储的数据内容备份到目标存储空间,并在备份完毕后,对所述内存中的当前的数据变更记录执行初始化处理。
[0171] 在另一种实现方式中,所述数据内容备份模块440,可以包括:
[0172] 数据变更记录处理单元,用于拷贝所述内存中的当前的数据变更记录到第一预定存储空间以形成所述数据变更记录所对应的数据变更记录副本,并对所述内存中的当前的数据变更记录执行初始化处理;
[0173] 第二数据内容备份单元,用于将所述数据变更记录副本中属于被写过标识的记录标识所对应的磁盘单元所存储的数据内容备份到第二预定存储空间。
[0174] 更进一步的,本发明实施例所提供的一种数据备份装置,还可以包括:
[0175] 数据备份记录处理模块,用于在备份过程中,对每一属于被写过标识的记录标识所对应的磁盘单元所存储的数据内容备份完毕后,更改所述磁盘所对应的数据备份记录中表征已备份完毕的该磁盘单元的备份标识为已备份标识,其中,所述数据备份记录为预先在内存中构建的,且备份标识与磁盘单元一一对应;
[0176] 过程检测模块,用于检测备份过程是否结束;
[0177] 数据备份记录初始化模块,用于当备份过程结束后,对所述数据备份记录执行初始化处理。
[0178] 更进一步的,本发明实施例所提供的一种数据备份装置,还可以包括:
[0179] 异步备份线程创建模块,用于在备份开始时,创建异步备份线程,以通过所述异步备份线程定时或实时检测临时缓冲区域是否存在待备份的数据内容,如果存在,从所述临时缓冲区读取所述待备份的数据内容到所述第二预定存储空间,并在备份结束后,清空所述临时缓冲区,其中,所述临时缓冲区为预先在内存中所分配的;
[0180] 备份标识分析模块,用于在备份过程中,如果截获到针对于磁盘的写请求,确定所接收到的写请求所对应的待访问的目标磁盘区域之后,判断所述数据备份记录中表征所述目标磁盘区域所在目标磁盘单元的备份标识是否为已备份标识;当判断出所述数据备份记录中表征待访问的该目标磁盘区域所在目标磁盘单元的备份标识不为已备份标识时,将待访问的该目标磁盘区域所在目标磁盘单元所存储的数据内容拷贝到所述临时缓冲区,然后将所述数据备份记录中表征待访问的该目标磁盘区域所在目标磁盘单元的备份标识更改为已备份标识。
[0181] 具体的,所述备份指令的发出方式包括:
[0182] 用户通过执行预设备份操作而发出;
[0183] 或者,
[0184] 达到预定时间点时系统自动发出。
[0185] 具体的,所述数据变更记录的存储形式为位图形式、链表形式或数组形式;
[0186] 所述数据备份记录的存储形式为位图形式、链表形式或数组形式。
[0187] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0188] 本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0189] 以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。