文件备份方法、系统及具有该系统的客户端与流程

文档序号:12665108阅读:211来源:国知局
文件备份方法、系统及具有该系统的客户端与流程

本发明属于数据备份容灾领域,特别是涉及一种文件备份方法、系统及具有该系统的客户端。



背景技术:

随着计算机技术的迅猛发展,如今绝大部分企业都使用计算机来运作自己的核心业务,由此而产生的数据也成为企业的核心财富,如何有效地保护这些核心数据也成为了企业面临的巨大挑战和关注的焦点。

目前对企业数据保护来说比较头疼困难的是海量小文件的备份。在实际的IT工作环境中,经常存在着文件数量非常巨大,每个文件的数据量又很小的情况,比如办公文件、图片文件、小视频等。这些文件变化并不频繁,对于这样的环境,传统的增量备份或者差异备份方式速度很慢,并且会耗费大量的时间和系统资源。这是由于传统的备份方法在备份时会对备份客户端中的每个文件进行特性描述,建立一个文件特性描述列表,在备份服务端也会建立相应的文件特性描述列表,在备份时会将两个特性列表进行对比,将那些在客户端和服务端不匹配的文件进行备份。对于海量小文件的环境,这种方法显然不合适,会耗费大量时间在文件特性列表的建立和对比上。此外,传统的方法以及一些改进的方法在备份小文件时都是从文件的角度对单个小文件进行复制备份,这其中包括了文件的打开、读取、关闭三个操作,在面对海量小文件时,这三个操作也是非常耗时的。

因此,如何提供一种文件备份方法、系统及具有该系统的客户端,以解决现有技术中针对海量小文件的备份操作非常耗时等缺陷,实已成为本领域从业者亟待解决的技术问题。



技术实现要素:

鉴于以上所述现有技术的缺点,本发明的目的在于提供一种文件备份方法、系统及具有该系统的客户端,用于解决现有技术中针对海量小文件的备份操作非常耗时的问题。

为实现上述目的及其他相关目的,本发明一方面提供一种文件备份方法,应用于包括客户端和与所述客户端通信连接的服务器端的通信网络中,所述文件备份方法包括以下步骤:通过指定网络协议将所述服务器端上的一磁盘区域挂载在所述客户端上,形成一虚拟磁盘;在所述客户端的磁盘区域选择一备份数据源,且于所述客户端的内存上创建用于监控备份数据源的输入/输出数据的变化状况第一数据位图,和用于交换所述第一数据位图中输入/输出数据的变化状况的第二数据位图;初始扫描所述备份数据源的系统位图,读取所述备份数据源内输入/输出数据,并将读取到的所述备份数据源内输入/输出数据复制至所述客户端上形成的虚拟磁盘;待所述备份数据源的系统位图扫描完毕后,根据预设的数据备份参数,监控所述第一数据位图和第二数据位图,通过所述第一数据位图记录的所述备份数据源内输入/输出数据的变化状况切换至所述第二数据位图,根据所述第二数据位图所记录的变化,从备份数据源对应的数据块中读取发生变化的输入/输出数据,并将其复制到所述虚拟磁盘。

于本发明的一实施例中,待所述备份数据源的系统位图扫描完毕后,输出快照指令,以便所述服务器端对复制至所述客户端上形成的虚拟磁盘的输入/输出数据执行快照处理。

于本发明的一实施例中,所述备份数据源包括多个存储输入/输出数据的数据块,将每一数据块与一比特位相对应;初始扫描所述备份数据源的系统位图,当读取到与数据块相对应的比特位为1时,表示该数据块中存储有输入/输出数据,将该数据块中存储的输入/输出数据复制至所述客户端上形成的虚拟磁盘;同时,启动所述第一数据位图,以使其记录备份数据源中发生变化输入/输出数据;当读取到与数据块相对应的比特位为0时,表示该数据块中未存储输入/输出数据。

于本发明的一实施例中,所述预设的数据备份参数包括数据同步周期和快照周期。

于本发明的一实施例中,所述文件备份方法还包括:待所述备份数据源的系统位图扫描完毕后,判断当前时刻是否到达所述数据同步周期,若否,则继续监控第一数据位图记录的所述备份数据源内输入/输出数据的变化状况;若是,通过所述第一数据位图记录的所述备份数据源内输入/输出数据的变化状况切换至所述第二数据位图,并逐位扫描所述第二数据位图中与数据块对应的比特位,若与数据块对应的比特位为1,则读取所述第二数据位图中比特位为1对应的数据块,并将该数据块中的输入/输出数据复制至所述虚拟磁盘,复制后将该比特位置为0;在扫描完毕所述第二数据位图后,产生可恢复时间点。

于本发明的一实施例中,所述文件备份方法还包括:判断当前时间是否达到所述快照周期,若是,输出快照指令,以便所述服务器端对复制至所述客户端上形成的虚拟磁盘的发生变化的输入/输出数据执行快照处理;若否,则继续监控第一数据位图记录的所述备份数据源内输入/输出数据的变化状况。

本发明另一方面提供一种文件备份系统,应用于包括客户端和与所述客户端通信连接的服务器端的通信网络中,所述文件备份系统包括:挂载模块,用于通过指定网络协议将所述服务器端上的一磁盘区域挂载在所述客户端上,形成一虚拟磁盘;创建模块,用于在所述客户端的磁盘区域选择一备份数据源,于所述客户端的内存上创建用于监控备份数据源的输入/输出数据的变化状况的第一数据位图,和用于交换所述第一数据位图中输入/输出数据的变化状况的第二数据位图;初始化备份模块,用于初始扫描所述备份数据源的系统位图,读取所述备份数据源内输入/输出数据,并将读取到的所述备份数据源内输入/输出数据复制至所述客户端上形成的虚拟磁盘;增量备份模块,用于待所述备份数据源的系统位图扫描完毕后,根据预设的数据备份参数,监控所述第一数据位图和第二数据位图,通过所述第一数据位图记录的所述备份数据源内输入/输出数据的变化状况切换至所述第二数据位图,根据所述第二数据位图所记录的变化,从备份数据源对应的数据块中读取发生变化的输入/输出数据,并将其复制到所述虚拟磁盘。

于本发明的一实施例中,所述备份数据源包括多个存储输入/输出数据的数据块,将每一数据块与一比特位相对应;所述初始化备份模块用于初始扫描所述备份数据源的系统位图,当读取到与数据块相对应的比特位为1时,表示该数据块中存储有输入/输出数据,将该数据块中存储的输入/输出数据复制至所述客户端上形成的虚拟磁盘;启动所述第一数据位图,以使其记录备份数据源中发生变化的输入/输出数据;当读取到与数据块相对应的比特位为0时,表示该数据块中未存储输入/输出数据。

于本发明的一实施例中,所述预设的数据备份参数包括数据同步周期和快照周期;所述增量备份模块包括:第一增量处理单元,用于待所述备份数据源的系统位图扫描完毕后,判断当前时刻是否到达所述数据同步周期,若否,则继续监控第一数据位图记录的所述备份数据源内输入/输出数据的变化状况;若是,通过所述第一数据位图记录的所述备份数据源内输入/输出数据的变化状况切换至所述第二数据位图,并逐位扫描所述第二数据位图中与数据块对应的比特位,若与数据块对应的比特位为1,则读取所述第二数据位图中比特位为1对应的数据块,并将该数据块中的输入/输出数据复制至所述虚拟磁盘,复制后将该比特位置为0;在扫描完毕所述第二数据位图后,产生可恢复时间点;第二增量处理单元,用于判断当前时间是否达到所述快照周期,若是,输出快照指令,以便所述服务器端对复制至所述客户端上形成的虚拟磁盘的发生变化的输入/输出数据执行快照处理;若否,则继续监控第一数据位图记录的所述备份数据源内发生变化的输入/输出数据。

本发明又一方面提供一种客户端,所述客户端包括所述的文件备份系统

如上所述,本发明的文件备份方法、系统及具有该系统的客户端,具有以下有益效果:

本发明所述的文件备份方法、系统及具有该系统的客户端通过更新位图记录系统I/O变化,通过切换更新位图和交换位图来周期性同步数据,并且每隔一定时间周期对已备份数据做一次快照处理达到了避免了传统方法建立和对比文件特性描述列表的耗时操作,同时也避免了备份海量小文件时频繁的打开、读取、关闭文件的耗时操作,既能高效地备份小文件,又通过周期性打快照保证了数据的可靠性的技术效果。

附图说明

图1显示为本发明的文件备份方法的方法流程示意图。

图2显示为本发明所采用的iSCSI协议的协议结构示意图。

图3显示为本发明的文件备份方法中S5的具体流程示意图。

图4显示为本发明的文件备份系统于一实施例中的原理结构示意图。

图5显示为本发明的客户端于一实施例中的原理结构示意图。

元件标号说明

1 文件备份系统

11 挂载模块

12 创建模块

13 初始化备份模块

14 增量备份模块

141 第一增量处理单元

142 第二增量处理单元

2 客户端

S1~S5 步骤

S51~S59 步骤

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

本发明所述的文件备份方法、系统及具有该系统的客户端的技术原理为:

通过iSCSI协议将远端备份控制台上的一块磁盘区域挂载到本地生产机上的虚拟磁盘。在系统启动初始化数据复制的同时,创建两个位图——更新位图和交换位图,并启动其中的更新位图记录系统的I/O变化。当系统完成初始化复制时,切换更新位图和交换位图,切换后,更新位图继续记录系统变化I/O,同时扫描交换位图,将在初始化复制过程中有I/O变化的数据块读取并存储到虚拟磁盘中,扫描完成后重置交换位图,并对虚拟磁盘打一次快照。设置一个同步周期和一个快照周期,每隔一个同步周期的时间就将更新位图和交换位图的内容互换,扫描交换位图,得到一个可恢复时间点;每隔一个快照周期的时间就对虚拟磁盘打一次快照。这样就可以实现小文件的永久增量备份。

实施例一

本实施例提供一种文件备份方法,其特征在于,应用于包括客户端和与所述客户端通信连接的服务器端的通信网络中,所述文件备份方法包括以下步骤:

通过指定网络协议将所述服务器端上的一磁盘区域挂载在所述客户端上,形成一虚拟磁盘;

在所述客户端的磁盘区域选择一备份数据源,且于所述客户端的内存上创建用于监控备份数据源的输入/输出数据的变化状况的第一数据位图,和用于交换所述第一数据位图中输入/输出数据的变化状况的第二数据位图;

初始扫描所述备份数据源的系统位图,读取所述备份数据源内输入/输出数据,并将读取到的所述备份数据源内输入/输出数据复制至所述客户端上形成的虚拟磁盘;

待所述备份数据源的系统位图扫描完毕后,根据预设的数据备份参数,监控所述第一数据位图和第二数据位图,通过所述第一数据位图记录的所述备份数据源内输入/输出数据的变换状况切换至所述第二数据位图,根据所述第二数据位图所记录的变化,从备份数据源对应的数据块中读取发生变化的输入/输出数据,并将其复制到所述虚拟磁盘。

以下将结合图示对本实施例所提供的文件备份方法进行详细说明。本实施例所述的文件备份方法应用于包括客户端和与所述客户端通信连接的服务器端的通信网络中。所述客户端包括智能手机,平板电脑,笔记本电脑,台式机等终端设备。于本实施例中,所述客户端为笔记本电脑。所述笔记本电脑中硬盘分为卷C,卷D,卷E。请参阅图1,显示为文件备份方法的方法流程示意图。如图1所示,所述文件备份方法包括以下几个步骤:

S1,通过指定网络协议将所述服务器端上的一磁盘区域挂载在所述客户端上,形成一虚拟磁盘F。在本实施例中,所述指定网络协议为iSCSI协议。请参阅图2,显示为iSCSI协议的协议结构示意图。

S2,在所述客户端的磁盘区域选择一备份数据源(于本实施例中,选择所述客户端的卷D为备份数据源),在所述客户端的系统启动初始数据复制的同时,在所述客户端的系统内存上创建第一数据位图和第二数据位图。在本实施例中,所述第一数据位图用于监控备份数据源卷D中输入/输出数据的变化状况。所述第一数据位图,又称为更新位图,也是一块内存缓冲区,该缓冲区中的每一个比特位对应于受监控的备份数据源的一个数据块,如果该比特位为1,则表示该数据块中有变化的I/O数据;如果该比特位为0则表示该数据块没有变化的I/O数据。一个数据块的大小可以通过用户自行设定,通常对应于系统的最小分配单元,即一个簇大小或者一个系统block大小。在本实施例中,所述输入/输出数据包括办公文件、图片文件、小视频等小文件。

所述第二数据位图,又称为交换位图,其大小等于所述更新位图的大小。所述第二数据位图用于交换所述第一数据位图中输入/输出数据的变化状况,以使得系统能够周期性将发生变化的数据块写入虚拟磁盘F中。

S3,初始扫描所述备份数据源的系统位图,读取所述备份数据源内输入/输出数据,并将读取到的所述备份数据源内输入/输出数据复制至所述客户端上形成的虚拟磁盘。在本实施例中,所述备份数据源(卷D)包括多个存储输入/输出数据的数据块,将每一数据块与一比特位相对应。所述比特位用1或0表示。与比特位为1对应的数据块,表示该数据块中存储的输入/输出数据;与比特位为0对应的数据块,表示该数据块中未存储输入/输出数据。

具体地,初始扫描所述备份数据源的系统位图,当读取到与数据块相对应的比特位为1时,表示该数据块中存储有输入/输出数据,将该数据块中存储的输入/输出数据复制至所述客户端上形成的虚拟磁盘F;当读取到与数据块相对应的比特位为0时,表示该数据块中未存储输入/输出数据。在本实施例中,初始化将卷D中存储的输入/输出数据复制至虚拟磁盘F的同时,启动所述更新位图,以使其记录卷D中多个数据块中发生变化的输入/输出数据。

S4,待所述备份数据源的系统位图扫描完毕后,输出快照指令至通过iSCSI协议与所述客户端连接的服务器端,以便所述服务器端对复制至所述客户端上形成的虚拟磁盘F的输入/输出数据执行快照处理。

S5,待所述备份数据源的系统位图扫描完毕后,根据预设的数据备份参数,监控所述第一数据位图和第二数据位图,通过所述第一数据位图记录的所述备份数据源内输入/输出数据的变化状况切换至所述第二数据位图,根据所述第二数据位图所记录的变化,从备份数据源对应的数据块中读取发生变化的输入/输出数据,并将其复制到所述虚拟磁盘。本实施例,所述预设的数据备份参数包括数据同步周期和快照周期。请参阅图3,显示为S5的具体流程示意图。如图3所示,所述S5具体包括以下几个步骤:

S51,待所述备份数据源的系统位图扫描完毕后,判断当前时刻是否到达所述数据同步周期,若否,则执行步骤S52,即继续监控第一数据位图记录的所述备份数据源内输入/输出数据的变化状况,即变化的输入/输出数据的数据块对应的比特位为1,未变化的数据块对应的比特位为0;若是,则执行步骤S53。

S53,通过所述第一数据位图记录的所述备份数据源内输入/输出数据的变化状况切换至所述第二数据位图,并逐位扫描所述第二数据位图中与数据块对应的比特位。

S54,判断是否扫描完毕所述第二数据位图,若是,则执行步骤S55,即在扫描完毕所述第二数据位图后,产生可恢复时间点。所述可恢复时间点,是可以将所述客户端的系统恢复到某个状态的时间点,本实施例中,每隔一数据同步周期,会将这段时间段内的变化I/O数据同步复制到所述服务器端上,每同步复制一次就会产生一个时间点,基于该时间点可以将系统恢复到该时间点所处的状态。例如,下午2点启动所述第一数据位图,以记录卷D中发生变化的输入/输出数据,每隔一数据同步周期(2小时),那就是下午4点将下午2点到4点间变化I/O数据同步复制到所述服务器端上,那么下午2点就为可恢复时间点,基于该时间点可以将客户端的卷D恢复到下午2点时所处的状态。若否,则执行步骤S56。

S56,扫描所述第二数据位图中与数据块对应的比特位是否为1,若是,即与数据块对应的比特位为1,则执行步骤S57,读取所述第二数据位图中比特位为1对应的数据块,并将该数据块复制至所述虚拟磁盘,复制后将该比特位置为0。若否,则返回步骤S53,继续逐位扫描所述第二数据位图中与数据块对应的比特位。

在本实施例中,在执行完步骤S55后,继续执行步骤S58,判断当前时间是否达到所述快照周期,若是,则执行步骤S59,即输出快照指令,以便所述服务器端对复制至所述客户端上形成的虚拟磁盘的发生变化的输入/输出数据执行快照处理;若否,则返回步骤S52,继续监控第一数据位图记录的所述备份数据源内发生变化的输入/输出数据。

本实施例还提供一种文件备份系统1,应用于包括客户端和与所述客户端通信连接的服务器端的通信网络中。请参阅图4,显示为文件备份系统的原理结构示意图。如图4所示,所述文件备份系统1包括:挂载模块11、创建模块12、初始化备份模块13、及增量备份模块14。

所述挂载模块11用于通过指定网络协议将所述服务器端上的一磁盘区域挂载在所述客户端上,形成一虚拟磁盘。

与所述挂载模块11连接的创建模块12用于在所述客户端的磁盘区域选择一备份数据源,于所述客户端的内存上创建用于监控备份数据源中输入/输出数据的变化状况的第一数据位图,和用于交换所述第一数据位图中输入/输出数据的变化状况的第二数据位图。

与所述挂载模块11和创建模块12连接的初始化备份模块13用于初始扫描所述备份数据源的系统位图,读取所述备份数据源内输入/输出数据,并将读取到的所述备份数据源内输入/输出数据复制至所述客户端上形成的虚拟磁盘。在本实施例中,所述备份数据源包括多个存储输入/输出数据的数据块,将每一数据块与一比特位相对应。

具体地,所述初始化备份模块13用于初始扫描所述备份数据源的系统位图,当读取到与数据块相对应的比特位为1时,表示该数据块中存储有输入/输出数据,将该数据块中存储的输入/输出数据复制至所述客户端上形成的虚拟磁盘;启动所述第一数据位图,以使其记录备份数据源中发生变化的输入/输出数据;当读取到与数据块相对应的比特位为0时,表示该数据块中未存储输入/输出数据。

与所述挂载模块11、创建模块12和初始化备份模块13连接的增量备份模块14用于待所述备份数据源的系统位图扫描完毕后,根据预设的数据备份参数,监控所述第一数据位图和第二数据位图,通过所述第一数据位图记录的所述备份数据源内输入/输出数据的变化状况切换至所述第二数据位图,根据所述第二数据位图所记录的变化,从备份数据源对应的数据块中读取发生变化的输入/输出数据,并将其复制到所述虚拟磁盘。在本实施例中,所述预设的数据备份参数包括数据同步周期和快照周期。

具体地,继续参阅图4,所述增量备份模块14包括:

第一增量处理单元141用于待所述备份数据源的系统位图扫描完毕后,判断当前时刻是否到达所述数据同步周期,若否,则继续监控第一数据位图记录的所述备份数据源内输入/输出数据的变化状况;若是,通过所述第一数据位图记录的所述备份数据源内输入/输出数据的变化状况切换至所述第二数据位图,并逐位扫描所述第二数据位图中与数据块对应的比特位,若与数据块对应的比特位为1,则从卷D中读取所述第二数据位图中比特位为1对应的数据块,并将该数据块中的输入/输出数据复制至所述虚拟磁盘,复制后将该比特位置为0;在扫描完毕所述第二数据位图后,产生可恢复时间点。

第二增量处理单元142用于判断当前时间是否达到所述快照周期,若是,输出快照指令,以便所述服务器端对复制至所述客户端上形成的虚拟磁盘的发生变化的输入/输出数据执行快照处理;若否,则继续监控第一数据位图记录的所述备份数据源内输入/输出数据的变化状况。

本实施例所述的文件备份方法及系统通过更新位图记录系统I/O变化,通过切换更新位图和交换位图来周期性同步数据,并且每隔一定时间周期对已备份数据做一次快照处理。本实施例达到了所述的文件备份方法及系统避免了传统方法建立和对比文件特性描述列表的耗时操作,同时也避免了备份海量小文件时频繁的打开、读取、关闭文件的耗时操作,既能高效地备份小文件,又通过周期性打快照保证了数据的可靠性的技术效果。

实施例二

本实施例提供一种客户端2,请参阅图5,显示为客户端的原理结构示意图。如图5所示,所述客户端2包括实施例一中所描述的文件备份系统1。

综上所述,本发明所述的文件备份方法、系统及具有该系统的客户端通过更新位图记录系统I/O变化,通过切换更新位图和交换位图来周期性同步数据,并且每隔一定时间周期对已备份数据做一次快照处理达到了避免了传统方法建立和对比文件特性描述列表的耗时操作,同时也避免了备份海量小文件时频繁的打开、读取、关闭文件的耗时操作,既能高效地备份小文件,又通过周期性打快照保证了数据的可靠性的技术效果。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1