发明内容
本发明的目的在于克服现有技术的不足,提供一种安全性好、工作效率高并能够有效地对数据进行实时保护的多时间粒度的数据备份方法。
本发明解决现有的技术问题是采取以下技术方案实现的:
一种多时间粒度的数据备份方法,包括以下步骤:
步骤1:系统主控模块进行初始化处理;
步骤2:数据同步模块进行源端数据同步处理;
步骤3:前端接收模块接收源端的数据流,读取读取数据块、位置信息和时间戳信息并填入记录的数据结构中,此时,如果增量存储文件空间已满则进行快照生成处理,如果增量存储区域内可用文件数量小于最少可用个数则进行快照回收处理,然后将新数据流写入到增量存储区域的可用文件中。
而且,还包括一定时器处理步骤,该定时器处理步骤通过定时器模块判断快照生成触发时间或快照回收触发时间是否达到,当到达快照生成触发时间或快照回收触发时间时,分别触发快照生成处理和快照回收触处理。
而且,所述步骤1包括系统主控模块进行系统参数的设定、创建镜像存储区域和增量存储区域、调用数据同步模块并且启动前端接收模块和定时器模块的处理过程。
而且,所述步骤2包括将源端数据同步到镜像存储区域中并且生成当前镜像存储区域的一个只读快照的处理过程。
而且,所述的快照生成处理包括以下处理步骤:
(1)将增量存储区域内记录写入镜像存储区域;
(2)生成当前镜像存储区域的一个只读快照。
而且,所述快照回收处理包括以下处理步骤:
(1)搜索创建时间最早的一个文件和与之对应的快照;
(2)加载对应的快照,进行离线磁带备份;
(3)删除最早的一个文件和与之对应的快照。
本发明的优点和积极效果是:
本发明有效地将定时备份方法和CDP备份方法结合在一起,其将CDP代理端产生的数据按顺序写入前端接收模块,将随机IO模式转变为顺序IO模式,并且通过对SSD(固态硬盘)的支持,提高了CDP服务器端的读写效率和并发性,同时支持对源端数据的定时、实时不同时间粒度的数据备份方法,提供了离线备份功能,保证了CDP服务器上数据的安全。
具体实施方式
以下结合附图对本发明实施例做进一步详述。
一种多时间粒度的数据备份方法,是在图1所示的网络拓扑结构上实现的,该网络拓扑结构包括客户端、CDP服务器、CDP代理端、磁带机、光纤交换机,客户端、CDP服务器、CDP代理端、磁带机、光纤交换机连接在一起组成千兆以太网。在CDP服务器中安装有本发明的多时间粒度的数据备份软件,该CDP服务器使用X86 PC服务器或SPARC小型机,其采用的ZFS(Zettabyte File System)文件系统。
本发明以CDP代理端(源端)至CDP服务器的数据流作为数据输入,以CDP服务器输出到离线磁带库的备份数据数据流作为数据输出,从而完成将源端至离线磁带库的数据备份功能。为此,本发明利用硬件平台磁盘已有存储空间,划分出两块特定的系统用存储区域:一块区域为镜像存储区域:该区域用于存储某一时刻源端数据的全部备份版本,存储方式为裸设备存储方式;另一块区域为增量存储区域:该区域用于存储一定时间内源端数据的增量备份版本,存储方式为一组固定大小的文件。
如图2所示,本发明包括以下功能处理模块:
1、系统主控模块:初始化并协调调度各个子模块;
2、前端接收模块:以后台进程的方式运行,用于实时接收源端传输过来的数据流(变化的数据块、位置信息和时间戳信息),填入到一个数据结构中(记录)并存储到增量存储区域的一个文件中;
3、快照生成模块:按照一定算法和机制生成镜像存储区域的只读快照;
4、快照回收模块:按照一定算法和机制生成回收镜像存储区域的只读快照;
5、数据同步模块:将源端数据同步到镜像存储区域;
6、定时器模块:以后台进程的方式运行,用于触发快照生成模块或快照回收模块。
一种多时间粒度的数据备份方法,包括以下步骤:
步骤1:系统主控模块进行初始化处理
在本步骤中,系统主控模块进行系统参数的设定、创建镜像存储区域和增量存储区域、调用数据同步模块并且启动前端接收模块和定时器模块。
步骤2:数据同步模块进行源端数据同步处理
在本步骤中,数据同步模块主要将源端数据同步到镜像存储区域中,生成当前镜像存储区域的一个只读快照。
步骤3:前端接收模块接收新数据流并将新数据流写入到增量存储区域的可用文件中
在本步骤中,前端接收模块接收源端的数据流,读取读取数据块、位置信息和时间戳信息,填入记录的数据结构中,判断增量存储文件空间是否已满或增量存储区域内可用文件数量是否小于最少可用个数,如果增量存储文件空间已满则进行快照生成处理,如果增量存储区域内可用文件数量小于最少可用个数则进行快照回收处理,然后将新数据流写入到增量存储区域的可用文件中。
本数据备份方法还包括一个定时器处理步骤,快照生成处理和快照回收处理除了按照上述实时方式触发外,还可以通过定时器处理步骤通过定时方式触发,即通过设定快照生成触发时间和快照回收触发时间,当定时器模块判断快照生成触发时间到或快照回收触发时间到时,分别触发快照生成处理和快照回收触处理。
如图4所示,快照生成处理主要完成以下任务:
1、将增量存储区域内记录写入镜像存储区域;
2、生成当前镜像存储区域的一个只读快照。
如图5所示,快照回收处理完成以下任务:
1、搜索创建时间最早的一个文件和与之对应的快照;
2、加载对应的快照,进行离线磁带备份;
3、删除最早的一个文件和与之对应的快照。
通过上述步骤即可实现实时和定时数据备份功能。
下面结合在CDP服务器上的多时间粒度的数据备份软件的流程图,详细软件中各个模块的处理过程。
一、初始化
如图6所示,初始化包括以下步骤:
1、初始化设定镜像存储区域大小和位置,创建镜像存储区域;
2、初始化设定增量存储区域文件总个数、最少可用个数、每个文件的大小和位置,创建增量存储区域;增量存储区域的介质如果采用SSD(固态硬盘)会有更好的效果;
3、调用数据同步模块;
4、启动前端接收模块;
5、启动定时器模块。
二、数据同步模块
如图7所示,数据同步模块包括以下步骤:
1、通知源端暂停应用;
2、将源端数据同步到镜像存储区域中;
3、打开增量存储区域内的下一个可用的文件;
4、在可用文件开始位置添加快照标志位,并置快照标志位为1,后面采用伪数据填充记录数据结构;
5、生成当前镜像存储区域的一个只读快照,名称为:marst-TS(TS:系统当前时间);
三、前端接收模块
如图8所示,前端接收模块包括以下步骤:
1、等待新数据块的到来;
2、当新数据流到来时,读取数据块、位置信息和时间戳信息,填入记录的数据结构中;
3、判断当前可用文件是否还用存储空间,如有转到步骤4,没有转到步骤5;
4、添加快照标志位,置快照标志位为0,将记录添加到增量存储区域内当前打开的文件中,转到步骤1;
5、调用快照生成模块和/或快照回收模块;
6、关闭当前可用文件,打开下一个可用的文件,转到步骤4。
四、定时器模块
如图9所示,定时器模块包括以下步骤:
1、设定快照生成模块和快照回收模块触发的时间间隔;
2、启动快照生成模块定时器;
3、启动快照回收模块定时器;
4、快照生成模块触发时间间隔是否已到,是调用快照生成模块,转到步骤5;否转到步骤5;
5、快照回收模块触发时间间隔是否已到,是调用快照回收模块,转到步骤4;否转到步骤4。
五、快照生成模块
如图10所示,快照生成模块包括以下步骤:
1、记录当前系统时间:t;
2、定位到增量存储区域内当前打开的文件中最近一次快照标志为1的记录:*loc;
3、计算*loc之后的记录中时间戳<t的记录个数N;
4、*loc++,N-;
5、将记录中的数据块按照位置信息写入当前镜像存储区域的对应位置中;
6、判断N=0?是则将记录中快照标志置1,提取时间戳为TS,转到步骤7;否,转到步骤4;
7、生成当前镜像存储区域的一个只读快照,名称为:marst-TS;
8、结束。
六、快照回收模块
如图11所示,快照回收模块包括以下步骤:
1、增量存储区域内可用文件数量<最少可用个数?是,转到步骤2,否,转到步骤8;
2、搜索增量存储区域内创建时间最早的一个文件;
3、定位最早的文件到最后一条记录,读取记录的时间戳信息ts;
4、计算只读快照中TS<=ts的只读快照(TS:快照创建时名称中的时间信息)数量:M;
5、M--,加载只读快照,进行离线磁带库备份;
6、M=0?是,转到步骤7,否,转到步骤5;
7、删除该文件,创建一个新的可用文件;
8、结束。
本发明所述的实施例是说明性的,而不是限定性的,因此发明并不限于具体实施方式中所述的实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,同样属于本发明保护的范围。