一种提高存储系统间海量文件同步速度的方法

文档序号:6520861阅读:761来源:国知局
一种提高存储系统间海量文件同步速度的方法
【专利摘要】本发明提供一种提高存储系统间海量文件同步速度的方法,涉及计算机存储领域,该方法涉及如下几个主要步骤:比较源端和目的端对应文件的大小和修改时间;目的端文件分块,计算校验和。该步骤首先对目的端的文件进行分块,之后对每个块分别计算校验和;将目的端文件的校验和列表传输到同步源;在源端进行文件的数据块比对;将步骤4中得到的结果数组传输到目的端;目的端根据从源端接收到的结果数组,重新生成文件。本发明能够有效的提高的存储系统中的海量文件的同步速度,提升网络利用率。
【专利说明】一种提高存储系统间海量文件同步速度的方法
[0001]【技术领域】
本发明涉及计算机存储领域,具体涉及集群存储中,海量文件备份加速的技术,具体地说是一种提高存储系统间海量文件同步速度的方法。
【背景技术】
[0002]随着信息时代的到来网络应用的高速发展,网络信息数据量越来越大,海量存储系统中所保存的数据量也越来越大,越来越多的存储系统中保存的数据量都已经达到了 PB级。数据规模的快速增长无疑给文件同步、数据备份带来了新的问题。在海量数据的新环境下,传统的文件同步方法的性能已经无法满足业务需求。
[0003]由于现有的文件同步方法大都没有针对海量数据的环境进行专门的设计和优化,因此同步海量文件的性能较低。

【发明内容】

[0004]本专利设计了一种提高存储系统间海量文件同步速度的方法。其特征在于通过利用文件对比算法以及多线程技术,减少了需要在网络中传输的数据量,并且充分利用了网络的带宽,进而提高了文件同步的速度,减少了文件同步所需要的时间。
[0005]该方法涉及如下几个主要步骤:
1)、比较源端和目的端对应文件的大小和修改时间;如果源端文件和目的端文件的大小和修改时间中有一项不同,则启动一个线程,在新线程中开始执行步骤2。之后重复步骤1,比较下一个文件的大小和修改时间;
2)、目的端文件分块,计算校验和;该步骤首先对目的端的文件进行分块,之后对每个块分别计算校验和;
3)、将目的端文件的校验和列表传输到同步源;校验和列表中包括数据块的编号和校验和;
4)、在源端进行文件的数据块比对。在同步的源端,计算文件中的第一个数据块的校验和,并在从目的端得到的校验和列表中,查找该校验和是否存在;如果存在,则将该校验和对应的目的端文件数据块编号记录到结果数组中的对应位置,并将数据块窗口向后移动一个数据块的长度;如果不存在,则将该数据块的第一个字节保存到结果数组的对应位置,并将数据块窗口向后移动一个字节。重复以上过程,直至整个文件比对完毕;
5)、将步骤4中得到的结果数组传输到目的端;
6)、目的端根据从源端接收到的结果数组,重新生成文件。
[0006]对文件的对比和传输过程进行优化,通过算法得出文件中被修改的部分,减少传输过程中需要传输的数据量,并对文件比较和数据传输进行并行处理的优化,从而大大提高文件的同步速度。
[0007]该方法主要用于在不同的海量存储系统之间同步文件,通过在文件同步的源端和目的端进行软件优化,减少文件同步过程中需要传输的数据量,实现海量文件同步速度的提升。
[0008]本发明与现有技术相比,所产生的有益效果是:
该方法通过使用文件对比算法,查找出了同步源端文件和同步目的端文件中相同的数据块,减少了需要在网络中传输的数据量,同时使用了多线程技术,实现多个文件的同时传输,提高了海量文件同步的速度。
【专利附图】

【附图说明】
[0009]附图1为文件数据块对比算法的流程图;
附图2为使用文件数据块对比算法后生成的结果数组示意图。
[0010]图2中标识为灰色的数据块表示该数据块在目的端的文件中存在,数据块下方给出的是其在目的端文件中的编号;图2中标识为白色的数据块为本次同步需要传输的数据块。
【具体实施方式】
[0011]参照具体实施例对本发明的提高存储系统间海量文件同步速度的方法作以下详细地说明。
[0012]本发明体系结构包括:同步客户端模块(I)、同步服务端模块(2)。
[0013]在一个典型的配置环境里,同步客户端模块(I)和同步服务端模块(2)作为一般的应用软件分别被安装到同步的目的端和同步的源端。当发起同步操作时,同步服务端模块(2)将同步源端目录中所有文件的文件名、文件大小和修改时间发送到同步客户端模块
(1),同步客户端模块(I)依次比较源端和目的端对应文件的文件大小和修改时间,如果发现存在文件大小或修改时间不同的文件,则创建一个线程,在新线程中,使用数据块比对算法,查找出源端和目的端不同的数据块并进行传输,并最终在同步客户端模块(I)中利用这些数据块生成文件,完成文件的同步。
[0014]至此,通过多文件的并行传输以及减少需要传输的数据量这两个方法,实现了一种海量文件环境中,提高文件同步速度的方法。
【权利要求】
1.一种提高存储系统间海量文件同步速度的方法,其特征在于该方法涉及如下几个主要步骤: 1)、比较源端和目的端对应文件的大小和修改时间;如果源端文件和目的端文件的大小和修改时间中有一项不同,则启动一个线程,在新线程中开始执行步骤2;之后重复步骤1,比较下一个文件的大小和修改时间; 2)、目的端文件分块,计算校验和;该步骤首先对目的端的文件进行分块,之后对每个块分别计算校验和; 3)、将目的端文件的校验和列表传输到同步源;校验和列表中包括数据块的编号和校验和; 4)、在源端进行文件的数据块比对;在同步的源端,计算文件中的第一个数据块的校验和,并在从目的端得到的校验和列表中,查找该校验和是否存在;如果存在,则将该校验和对应的目的端文件数据块编号记录到结果数组中的对应位置,并将数据块窗口向后移动一个数据块的长度;如果不存在,则将该数据块的第一个字节保存到结果数组的对应位置,并将数据块窗口向后移动一个字节;重复以上过程,直至整个文件比对完毕; 5)、将步骤4中得到的结果数组传输到目的端; 6)、目的端根据从 源端接收到的结果数组,重新生成文件。
【文档编号】G06F17/30GK103605768SQ201310612349
【公开日】2014年2月26日 申请日期:2013年11月27日 优先权日:2013年11月27日
【发明者】孟令斌 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1