本发明涉及计算机数据处理技术领域,尤其涉及一种文件多通道备份的方法。
背景技术:
文件备份是指将文件系统中的数据加以复制,当发生灾难或者误操作时,可以方便且及时地恢复系统的有效数据以保证系统的正常运行。
对于文件备份来说一个重要的指标是备份速度,这直接关系到备份作业所要占用的时间窗口。而由于在备份过程中需要占用大量的系统资源(如:磁盘io、cpu时间),这会对业务系统造成一定的影响。因此缩短这个时间窗口就显得很有必要了,缩短时间窗口需要提升备份的速度。
对于文件备份,目前已有的解决方案都是通过单线程来进行工作,并且备份的各个步骤是串行进行的。
这种工作方式有如下缺点:
1.备份流程的串行化导致整个备份的各个部件之间相互等待,要进行下一步必须要等待上一部完成才能进行。
2.单个线程进行备份数据并不能充分利用系统资源、导致备份速度并未达到最优。
技术实现要素:
本发明正是针对现有技术存在的不足,提供了一种文件多通道备份的方法。
为解决上述问题,本发明所采取的技术方案如下:
一种文件多通道备份的方法,通过多线程并行工作的方法,充分利用磁盘io,极大提升文件备份速度,将整个备份流程分割为以下几个部件:扫描器、分片器和备份工作者,每个部件都是工作在独立的线程上,各个部件之间通过消息队列进行通讯,每次备份会生成一个扫描器,一个分片器,一个或以上的备份工作者;
各个部件的功能如下:
(1).扫描器;
根据用户设置的备份选项扫描文件系统得到要备份的详细文件列表,并将此列表发送给分片器;
(2).分片器;
分片器将从扫描器接收到的文件列表通过内部算法平均地分发到各个备份工作者;
(3).备份工作者;
备份工作者建立一条与存储服务器连接的通道根据接收到的文件列表将文件备份到存储服务器,根据备份选项在将要备份的文件发往存储服务器之前备份工作者会对文件进行压缩、加密、重复数据删除操作。
本发明与现有技术相比较,本发明的实施效果如下:
本发明提供的一种文件多通道备份的方法,具有以下优点:
1.发挥了cpu的性能。
通过将备份流程分割到各个运行在独立线程的部件,将分片文件列表,备份重复数据删除和压缩等计算负载至多核充分发挥cpu的性能。同时由于设计精心各个备份工作者的逻辑是相互独立的,相互之间无需进行同步。
2.发挥了磁盘i/o性能。
针对raid存储将扫描/生成文件列表和读取文件负载至多个磁盘,充分发挥磁盘i/o性能。
3.具有良好的稳定性。
得益于本系统备份集格式的优良设计以及各个备份线程的备份数据相对独立,即使某个通道的备份数据被破坏,其他通道的备份数据依然有方法恢复,因此整个备份系统具有良好的稳定性。
具体实施方式
下面将结合具体的实施例来说明本发明的内容。
一种文件多通道备份的方法,通过多线程并行工作的方法,充分利用磁盘io,极大提升文件备份速度,将整个备份流程分割为以下几个部件:扫描器、分片器和备份工作者,每个部件都是工作在独立的线程上,各个部件之间通过消息队列进行通讯,每次备份会生成一个扫描器,一个分片器,一个或以上的备份工作者。
各个部件的功能如下。
(1).扫描器。
根据用户设置的备份选项扫描文件系统得到要备份的详细文件列表,并将此列表发送给分片器。
(2).分片器。
分片器将从扫描器接收到的文件列表通过内部算法平均地分发到各个备份工作者。
(3).备份工作者。
备份工作者建立一条与存储服务器连接的通道根据接收到的文件列表将文件备份到存储服务器,根据备份选项在将要备份的文件发往存储服务器之前备份工作者会对文件进行压缩、加密、重复数据删除操作。
本发明与现有技术相比较,本发明的实施效果如下:
本发明提供的一种文件多通道备份的方法,具有以下优点:
1.发挥了cpu的性能。
通过将备份流程分割到各个运行在独立线程的部件,将分片文件列表,备份重复数据删除和压缩等计算负载至多核充分发挥cpu的性能。同时由于设计精心各个备份工作者的逻辑是相互独立的,相互之间无需进行同步。
2.发挥了磁盘i/o性能。
针对raid存储将扫描/生成文件列表和读取文件负载至多个磁盘,充分发挥磁盘i/o性能。
3.具有良好的稳定性。
得益于本系统备份集格式的优良设计以及各个备份线程的备份数据相对独立,即使某个通道的备份数据被破坏,其他通道的备份数据依然有方法恢复,因此整个备份系统具有良好的稳定性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。