当前位置: 首页 > 专利查询>四川大学专利>正文

基于吞吐量的文件并行传输方法技术

技术编号:10319722 阅读:271 留言:0更新日期:2014-08-13 20:07
本发明专利技术公开了一种基于吞吐量的文件并行传输方法,包括提取文件大小、划分文件块的步骤,建立并行连接的步骤,比较文件块数量与并行连接数量的步骤,进行文件块并行传输的步骤,测量和计算吞吐量的步骤和根据吞吐量调整并行传输度的步骤。本发明专利技术的有益效果是:1.对于端到端的文件传输性能有显著的提高;2.具有较好的普适性,不局限于特定的网络环境、系统以及硬件环境,都能够应用本发明专利技术的方案提高网络的吞吐量;3.采用吞吐量来实时的调整并行度,以适应网络环境的变化,能够充分的利用网络带宽。

【技术实现步骤摘要】
基于吞吐量的文件并行传输方法
本专利技术涉及计算机网络
,具体来讲是一种基于吞吐量的文件并行传输方法。
技术介绍
随着通信技术、计算机技术及互联网络技术的不断发展,互联网正朝着高带宽、长时延、智能无线、空间通信等方向发展;智能手机等移动终端设备不断更新,使得互联网应用数据日益暴涨;高能物理、天文观测、航空等海量科研数据将不断产生以及分布式网络、云计算等新应用模式的发展都对网络传输提出更高的要求。现阶段网络结构已相对稳定,网络协议已趋于完善,如何最大限度的利用现有网络资源,提高文件的传输速度,具有重要的研究和广阔的应用价值前景。并行数据传输技术属于带宽聚合技术,指在源主机和目的主机之间同时使用多条连接进行数据传输,能够解决单连接效率低的传输问题,成倍提高端到端的网络吞吐量和传输效率。研究并行传输技术在理论上集中在三层:应用层、传输层和数据链路层。目前有不少应用层协议致力于研究利用并行TCP(TransmissionControlProtocol)流,如网格数据传输协议GridFTP(GridFileTransferProtocol)。由于传统FTP(FileTransferProtocol)单连接的传输方式不能适应网格中大规模数据的快速传送存储,GridFTP基于FTP进行全面扩展,通过对FTP命令和通道的扩展支持并行数据传输,多个TCP连接同时传输数据,数据传输的性能得到了明显的提高。在传输层中实现端到端并行传输主要有基于传输控制协议(TCP)和基于流控制传输协议(SCTP(StreamControlTransmissionProtocol))。理论界曾提出一种在TCP层用N条虚拟流代替真实的并行流的MulTCP方法,把并行TCP思想在一个TCP流的传输中实现。StochasticTCP也是基于MulTCP算法的,MulTCP将拥塞窗口当成N条虚拟的TCP的集合,并认为这N条TCP流是相同的,而StochasticTCP则认为这N个TCP流不同,各条虚拟流的窗口的大小随机的,应对各个独立操作。SCTP具有多种特性,其中一个重要特性是支持多流,SCTP的数据可以在不同的数据流内发送,提高了数据吞吐量,并在主路径失败时可以使用其他路径进行数据传输,保证业务传输的可靠性。在数据链路层为了聚合多个网络接口的带宽,Linux的bonding技术可以将多个网络接口绑定成一个虚拟接口,用户数据在各接口间按照一定的算法调度从而实现负载均衡和带宽聚合。在Solaris中的IPMP(IP(InternetProtocol)networkmultipathing)实现了在SUN操作系统的多接口的带宽聚合和并行数据传输。以上三个层次的研究,应用层上的研究和应用需要特定的网络环境中应用;传输层的研究需要对内核做相应的改动,目前只是停留在理论的研究中没有大规模的推广;数据链路层的并行研究需要额外的硬件的支持;以上一些研究不适合对普通用户进行的端到端的并行传输。
技术实现思路
本专利技术的目的是提供一种在应用层实现基于吞吐量的文件并行传输方法,最大限度的利用现有网络资源,提高文件的传输速度。本专利技术的技术方案如下:一种基于吞吐量的文件并行传输方法,包括步骤1:提取待传输文件的大小FileSize;设置大小为SegmentSize的文件块;将待传输文件划分为m个文件块,步骤2:建立n个连接;步骤3:如果m<n,则使用m个连接并行传输m个文件块,直到所有文件块传输完毕;否则转步骤4;步骤4:从m个块中选取n个块,使用n个连接并行传输这些文件块,设为传输并行度n;设置每一个连接的连接标志为true;并行传输开始时启动计时,经过时长t后停止并重新计时,得到时间段k,k=1,2,...,N;步骤5:测量和计算并行传输的吞吐量参数,包括501:测量每个连接传输的有效数据量:连接i在时间段k所传输的有效数据量为D(i,k),i=1,2,...,n;502:计算每个连接的吞吐量:连接i在时间段k的吞吐量为503:计算所有连接的总吞吐量:所有连接在时间段k的总吞吐量为504:计算平滑吞吐量:smooth_throughput(k+1)=smooth_throughput(k)+α·all_throughput(k+1),其中,α为平滑因子,smooth_throughput(1)=all_throughput(1);505:计算平滑后每个连接的平均吞吐量:其中,n(k)为时间段k的传输并行度;506:计算期望吞吐量:expect_throughput(k+1)=smooth_throughput(k)+Dev(k),其中,Dev(k)为时间段k的偏差变量,Dev(k+1)=(1-β)·Dev(k)+β·|smooth_throughput(k+1)-all_throughput(k+1)|,其中,β为偏差变量的平滑因子,步骤6:根据吞吐量参数调整传输并行度,包括601:判断时间段k+1的总吞吐量是否大于时间段k的总吞吐量,如是则继续,否则将时间段k中吞吐量小于时间段k中平均吞吐量的那些连接的连接标志置为false,之后转步骤7;602:判断时间段k+1的平滑吞吐量是否大于该时间段的期望吞吐量,如是则新建n个连接来并行传输未传输的文件块,调整后传输并行度n'=2n;如否则即新建一个连接来并行传输未传输的文件块,调整后传输并行度n'=n+1;步骤7:当并行传输的任一个连接传输完一个文件块后,检测该连接的连接标志是否为true,如是则从m个块中选取一个未传输的文件块,使用该连接传输,否则撤销该连接;撤销一个连接后传输并行度n'=n-1;步骤8:重复步骤5至步骤7,直到所有的文件块传输完毕。上述技术方案中,滑因子α等于0.5,所述偏差变量的平滑因子β等于0.8,所述连接基于FTP。本专利技术的有益效果是:1、对于端到端的文件传输性能有显著的提高;2、具有较好的普适性,不局限于特定的网络环境、系统以及硬件环境,都能够应用本专利技术的方案提高网络的吞吐量;3、采用吞吐量来实时的调整并行度,以适应网络环境的变化,能够充分的利用网络带宽。附图说明图1是在网络条件较好时,本专利技术的方法和SmartFTP的传输效果比较;图2是在网络条件较差时,本专利技术的方法和SmartFTP的传输效果比较。具体实施方式基于吞吐量的文件并行传输方法针对端对端的文件传输,任何一方都可以作为客服端或服务端,可以利用该方法进行文件的推送和传输。本方法中,每一个连接都是基于ftp协议。步骤1:提取待传输文件的大小FileSize;设置大小为SegmentSize的文件块;将待传输文件划分为m个文件块,提取文件大小时,如果是推送文件,在本地对文件按照大小进行虚拟地分割,并对每个块增加属性块编号、块起始指针和块结束指针等。如是从对方传输数据,首先建立一个连接来获取文件相关的信息来设置块的大小。步骤2:建立n个连接;步骤3:如果m<n,则使用m个连接并行传输m个文件块,直到所有文件块传输完毕;否则转步骤4;步骤4:从m个块中选取n个块,使用n个连接并行传输这些文件块,设为传输并行度n;设置每一个连接的连接标志为true;并行传输开始时启动计时,经过时长t后停止并重新计时,得到时间段k,k=1,2,...,本文档来自技高网
...
基于吞吐量的文件并行传输方法

【技术保护点】
一种基于吞吐量的文件并行传输方法,其特征在于,包括步骤1:提取待传输文件的大小FileSize;设置大小为SegmentSize的文件块;将待传输文件划分为m个文件块,步骤2:建立n个连接;步骤3:如果m<n,则使用m个连接并行传输m个文件块,直到所有文件块传输完毕;否则转步骤4;步骤4:从m个块中选取n个块,使用n个连接并行传输这些文件块,设为传输并行度n;设置每一个连接的连接标志为true;并行传输开始时启动计时,经过时长t后停止并重新计时,得到时间段k,k=1,2,...,N;步骤5:测量和计算并行传输的吞吐量参数,包括501:测量每个连接传输的有效数据量:连接i在时间段k所传输的有效数据量为D(i,k),i=1,2,...,n;502:计算每个连接的吞吐量:连接i在时间段k的吞吐量为503:计算所有连接的总吞吐量:所有连接在时间段k的总吞吐量为504:计算平滑吞吐量:smooth_throughput(k+1)=smooth_throughput(k)+α·all_throughput(k+1),其中,α为平滑因子,smooth_throughput(1)=all_throughput(1);505:计算平滑后每个连接的平均吞吐量:average_throughput(k)=smooth_throught(k)n(k);]]>506:计算期望吞吐量:expect_throughput(k+1)=smooth_throughput(k)+Dev(k),其中,Dev(k)为时间段k的偏差变量,Dev(k+1)=(1‑β)·Dev(k)+β·|smooth_throughput(k+1)‑all_throughput(k+1)|,其中,β为偏差变量的平滑因子,步骤6:根据吞吐量参数调整传输并行度,包括601:判断时间段k+1的总吞吐量是否大于时间段k的总吞吐量,如是则继续,否则将时间段k中吞吐量小于时间段k中平均吞吐量的那些连接的连接标志置为false,之后转步骤7;602:判断时间段k+1的平滑吞吐量是否大于该时间段的期望吞吐量,如是则新建n个连接来并行传输未传输的文件块,调整后传输并行度n'=2n;如否则即新建一个连接来并行传输未传输的文件块,调整后传输并行度n'=n+1;步骤7:当并行传输的任一个连接传输完一个文件块后,检测该连接的连接标志是否为true,如是则从m个块中选取一个未传输的文件块,使用该连接传输,否则撤销该连接;撤销一个连接后传输并行度n'=n‑1;步骤8:重复步骤5至步骤7,直到所有的文件块传输完毕。...

【技术特征摘要】
1.一种基于吞吐量的文件并行传输方法,其特征在于,包括步骤1:提取待传输文件的大小FileSize;设置大小为SegmentSize的文件块;将待传输文件划分为m个文件块,步骤2:建立n个连接;步骤3:如果m<n,则使用m个连接并行传输m个文件块,直到所有文件块传输完毕;否则转步骤4;步骤4:从m个块中选取n个块,使用n个连接并行传输这些文件块,设为传输并行度n;设置每一个连接的连接标志为true;并行传输开始时启动计时,经过时长t后停止并重新计时,得到时间段k,k=1,2,...,N;步骤5:测量和计算并行传输的吞吐量参数,包括501:测量每个连接传输的有效数据量:连接i在时间段k所传输的有效数据量为D(i,k),i=1,2,...,n;502:计算每个连接的吞吐量:连接i在时间段k的吞吐量为503:计算所有连接的总吞吐量:所有连接在时间段k的总吞吐量为504:计算平滑吞吐量:smooth_throughput(k+1)=smooth_throughput(k)+α·all_throughput(k+1),其中,α为平滑因子,smooth_throughput(1)=all_throughput(1);505:计算平滑后每个连接的平均吞吐量:其中,n(k)为时间段k的传输并行度;506:计算期望吞吐量:expect_throughput(k...

【专利技术属性】
技术研发人员:王俊峰牟璇黄一辛王敏
申请(专利权)人:四川大学
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1