互联网大文件的快速传输方法

文档序号:7697830阅读:246来源:国知局
专利名称:互联网大文件的快速传输方法
技术领域
本发明涉及网络通信技术领域,尤其涉及一种互联网大文件的快速传输方法。
背景技术
随着互联网的迅猛发展,当前网络应用中多媒体数据的传输共享需求越来越大,各种 文件数据必须能够快速实现网络共享,而多媒体数据通常数据量大,尤其是随着用户对视 频清晰度要求的不断提高,视频文件数据量急剧增加,使得有效的实现大文件传输服务的 需求更加迫切。
传统的互联网文件传输服务中的数据传输在应用层有多种形式,如FTP, HTTP等, 但是在传输层一般使用TCP协议,而TCP协议为一种可靠连接,为了保证零丢包付出的 代价是传输效率的下降;由于网络拥塞和流量控制没有进行优化,导致丢包后加重了重传 的负荷,不仅加剧了网络拥塞也降低了传输速度;基于TCP的数据传输,会给终端带来相 当大的系统开销。
尽管目前存在一些技术对传统的FTP服务逬行改善,有些集中在应用层方面,例如友 好的用户界面、增加书签、命令历史记录和目录下载等;有些改进是在传输性能方面,例 如Webl00项目主要对TCP的性能进行优化,在传输端和接收端都增加了性能诊断功能, 能在网络传输的任何时刻做出调整;而Grid FTP项目的主要目的是为高带宽的广域网上实 现高效、安全和可靠的数据传输协议,是现有的FTP标准的一个子集,加入了对TCP缓冲 区和TCP窗等细节上的改进。
然而对于互联网中快速增加的大量的多媒体数据,如何在带宽一定的情况下,合理的、 有效的、最大限度的利用有限带宽提高大文件传输共享速度是当前亟待解决的问题之一。

发明内容
本发明的目的是提供一种互联网大文件的快速传输方法,在现有带宽有限的互联网络 环境下,充分利用网络、服务器与客户端的资源,快速传输共享大文件数据。 为达到上述目的,本发明采用如下的技术方案-
互联网大文件的快速传输方法,包括以下步骤
①服务器丌始提供服务后,客户端使用TCP协议与服务器进行网络连接,同时客户端将用户设置的初始参数通知服务器;
② 计算客户端与服务器之间的往返时延RTT,探测网络状况,服务器根据往返时延 RTT调整数据块大小和数据块延时,并通知客户端;
③ 服务器根据网络状况和预设参数确定文件传输相关初始设置后,建立UDP连接, 随机分配UDP端口,并通知客户端,客户端随即建立UDP连接,并与服务器建立数据传 输通道;
数据传输过程中,采用自适应的网络流量和拥塞控制机制,保证数据块大小自适应 和数据块延时自适应,实现传输过程中的吞吐量最大化;
数据传输过程中,采用丢包重传机制对传输过程中丢失的数据包和CRC错误的数 据包进行重传,直到客户端接收了待传输文件数据的全部数据包为止。
歩骤 中所述初始参数包括Alpha、分析窗大小、初始数据块大小、是否数据块自适 应调整、数据包大小和是否指定接收端口。
步骤④中服务器在数据传输初期,为了避免网络阻塞,采取TCP慢启动方式,并设置 慢启动门限。
步骤④中所述数据块大小自适应,采用指数递增/递减方式或者线性递增/递减方式,所 述数据块延时自适应,依赖数据接收成功率,所述数据块大小自适应和所述数据块延时自 适应采用组合应用方式。
歩骤⑤中所述丢包重传机制是在所有文件数据发送一遍之后再对丢失的数据进行丢包 重传。
本发明具有以下优点和积极效果
1) 灵活运用TCP协议的可靠性与UDP协议的快速性;
2) 能够大幅度提高有限带宽环境下大文件的传输速度。


图1是本发明提供的互联网大文件的快速传输方法的传输过程示意图。
图2是本发明数据分析窗示意图。
图3是本发明数据块大小自适应调整方法流程图。
图4是本发明丢包重传示意图。
图5是本发明重传数据包重新组装示意图。
其中,
ll一服务器端文件系统、12—服务器、13—客户端、M—用户、15—客户端文件系统、16—TCP连接、17—UDP连接;21—数据块尺寸、22—数据包、23—数据块延时;41一丢失
数据包序号。
具体实施例方式
下面以具体实施例结合附图对本发明作进一步说明
本发明提供的互联网大文件的快速传输方法具体采用如下的技术方案,下面结合图1 首先对本发明的工作机制进行详细描述。
服务器端文件系统11为服务器12端的文件系统,服务器端文件系统15为客户端13 端的文件系统,客户端13提供了用户接口以方便和用户交互,服务器12和客户端13通过 发出特定的控制命令建立TCP连接16,进一步在数据传输过程中建立UDP连接。
本发明与传统的FTP工作机制上不同,即FTP在控制命令和数据传输两个端口上都使 用TCP协议进行传输,而本方法中,控制命令使用TCP协议传输,大量的文件数据使用 UDP协议传输,从而大幅度提高了传输速度,减少传统方法中因使用TCP协议传输大量文 件数据而产生的庞大的网络和系统资源开销。
本发明提供的互联网大文件的快速传输方法可以适用于Internet/LAN/WAN/WLAN等 多种网络;具体实施时,只需网络遵循TCP/IP协议,可以使用TCP和UDP发送和接收数 据,无需担心异构网络所造成的障碍。
本发明提供的互联网大文件的快速传输方法,具体采用如下步骤-
①服务器丌始提供服务后,客户端使用TCP协议与服务器进行网络连接,同时客户 端将用户设置的初始参数通知服务器;
客户端向服务器请求共享目录路径和该目录信息,其中包括所有文件名和文件大小。 服务器收到请求后处理请求,并将相应信息发送给客户端;
客户端与服务器的连接采用TCP协议,在传输文件数据前,客户端将用户设置的初始 参数通知服务器,这些初始参数包括Alpha、分析窗大小、初始数据块大小、是否数据块自 适应调整、数据包大小和是否指定接收端口等。
下面对上述涉及的一些概念进行简要介绍所谓Alpha值为用户预设数据接收率;所 谓分析窗(analysis window)是指客户端接收的特定长度的一段数据,分析这些数据可以得 出表征当前传输情况的各种参数值,如数据包接收率、数据块大小、数据块延时和数据包 大小等;所谓数据块大小(block size)是指一次发送的数据包(packet)数量;所谓包大小 (packet size)是指每次发送的字节数,不超过MTU的大小, 一旦确定后,传输过程中不 再变化。作为本发明的一个实施例,可以作如下的取值Alpha值可设为0.96、分析窗可设为 200、初始数据块大小可设为8、包大小可设为1472、可指定接收端口为4096,数据块大 小和数据块延时在传输过程中自动调整以适应网络状况变化。
② 计算客户端与服务器之间的往返时延RTT,探测网络状况,服务器根据往返时延 RTT调整数据块大小和数据块延时,并通知客户端;
所谓的往返时延RTT是指客户端发送计算RTT命令的同时开始计时,直到收到服务 器立即产生对该命令的响应。因此,根据RTT即可了解服务器与客户端之间的大致网络状 况。
③ 服务器根据网络状况和预设参数确定文件传输相关初始设置后,建立UDP连接, 随机分配UDP端口,并通知客户端,客户端随即建立UDP连接,并与服务器建立数据传 输通道;
服务器与客户端使用UDP协议进行数据传输,充分发挥UDP的快速传输优势,传输 过程中若存在数据包丢失的情况,客户端将丢失数据包的编号发给服务器,但服务器并不 立即对其进行重传。
④ 数据传输过程中,采用自适应的网络流量和拥塞控制机制,保证数据块大小自适 应和数据块延时自适应,实现传输过程中的吞吐量最大化;
服务器在数据传输初期,为了避免网络阻塞,采取了TCP类似的慢启动方式,并设置 了慢启动门限。由于客户端预设了分析窗大小,在分析窗内可以得出数据块大小、数据块 延时的时间长短和数据包接收率,并将这些分析得出的参数反馈给服务器,服务器根据拥 塞控制与流量控制机制对发送速度和发送间隔进行相应的调整,保证得到最大的吞吐量。
数据块大小自适应策略,可以采用指数递增/递减方式或者线性递增/递减方式,数据 块延时自适应,依赖数据接收成功率;数据块大小自适应和所述数据块延时自适应这两种 策略采用组合应用方式。
图2所示为数据分析窗示意图,当分析窗为200时,客户端每收到200个数据包后, 就对这一段数据进行分析,在分析窗内可以得出数据块尺寸21大小、数据块延时的时间 23长短和数据包22接收率,并将这些分析得出的参数反馈给服务器,服务器根据本发明 的拥塞控制与流量控制方法对发送速度和发送间隔进行相应的调整,保证得到最大的吞吐 里°
图3所示为数据块大小自适应调整方法流程图,其中oldRate为上一次数据包接收率; newRate为当前数据包接收率;ssthresh为慢启动门限,本发明的一个实施例可取慢启动门限为2048。数据块大小自适应调整方法描述如下
如果数据包接受率(newRate)大于用户预设数据接收率Alpha,且数据块大小(block size)在慢启动门限(ssthresh)之下,而且当前数据包接受率(newRate)大于上一次数据 包接受率(oldRate),则数据块大小依照式1指数增加(increase exponentially)。
= x6/ocfo/ze0,z' = 1,2,…(式1)
其中,0 = 2。
如果数据块大小低于慢启动门限,但是当前数据包接受率降至上一次数据包接受率之 下,则数据块大小依照式2线性减少(decrease linearly)。
= Wocfo/ze0 - A/,/ = 1,2,... (式2)
其中,;1 = 1。
如果数据块大小高于慢启动门限,同时当前数据包接受率高于上一次数据包接受率,
则数据块大小依照式3线性增加(increase linearly)。
= 6/oc^s/ze0 +/ = 1,2,...(式3)
其中,义=1。
反之当数据块大小高于慢启动门限但当前数据包接受率低于上一次数据包接受率,则
数据块大小依照式2线性减少;
其他情况下,数据块大小依照式4指数减少(decrease exponentially)。
= f x 6/ocA^/ze0,z' = 1,2,...(式4)
其中—2。
数据块延时自适应调整方法如式5、式6所示
a,+1 =a,x/ +
发送的数据包 接收到的数据包」
X(l-/ )
Z接收到的数据包、
(式5)
(式6)
发送的数据包」
例如,由式5得,发送110个数据包,接收到100个数据包,下一次数据块延时De/^;,
+1
为上一次延时De/^,的UXa倍,其中a通过公式6进行不断的平滑调整,卩为0~1之间
的常数,例如,设p为0.7时,a将会减小为上一次的0.94倍。
在某些情况下,数据块大小自适应模式和数据块延时自适应模式可相互切换。例如,如果当前是数据块大小自适应模式,而且数据块已经小到无法进一歩减少,数据块大小自 适应模式将自动切换为数据块延时自适应模式。
⑤数据传输过程中,采用丢包重传机制对传输过程中丢失的数据包和CRC错误的数 据包进行重传,直到客户端接收了待传输文件数据的全部数据包为止;
丢包重传机制是将待传输的文件数据按照UDP协议分割成数据包大小的包,每个包 都依次编号,第一次将这些包依次发送一遍,客户端在接收过程中,把传输过程中丢失的 数据包和CRC错误的数据包的编号记录下来,要求服务器将这些丢失的包重新发送。如此 循环,直到客户端接收了待传输文件数据的全部数据包,
图4所示为丢包重传示意图,当客户端发现丢包时,不需要立即要求服务器重新发送 该数据包,而是将丢失数据包的序号41记录下来,当服务器将所有数据包依次发送一遍后, 客户端将丢失数据包的序号41通知服务器要求重发,如此循环,如图5重传数据包重新组 装示意图所示,直到客户端接收完所有数据包后,再将各数据重装到文件相应的位置。
权利要求
1.一种互联网大文件的快速传输方法,其特征在于,包括以下步骤①服务器开始提供服务后,客户端使用TCP协议与服务器进行网络连接,同时客户端将用户设置的初始参数通知服务器;②计算客户端与服务器之间的往返时延RTT,探测网络状况,服务器根据往返时延RTT调整数据块大小和数据块延时,并通知客户端;③服务器根据网络状况和预设参数确定文件传输相关初始设置后,建立UDP连接,随机分配UDP端口,并通知客户端,客户端随即建立UDP连接,并与服务器建立数据传输通道;④数据传输过程中,采用自适应的网络流量和拥塞控制机制,保证数据块大小自适应和数据块延时自适应,实现传输过程中的吞吐量最大化;⑤数据传输过程中,采用丢包重传机制对传输过程中丢失的数据包和CRC错误的数据包进行重传,直到客户端接收了待传输文件数据的全部数据包为止。
2. 根据权利要求1所述的互联网大文件的快速传输方法,其特征在于步骤①中所述初始参数包括Alpha、分析窗大小、初始数据块大小、是否数据块自适 应调整、数据包大小和是否指定接收端口。
3. 根据权利要求1所述的互联网大文件的快速传输方法,其特征在于-步骤④中服务器在数据传输初期,为了避免网络阻塞,采取TCP慢启动方式,并设置慢启动门限。
4. 根据权利要求1所述的互联网大文件的快速传输方法,其特征在于步骤④中所述数据块大小自适应,采用指数递增/递减方式或者线性递增/递减方式, 所述数据块延时自适应,依赖数据接收成功率,所述数据块大小自适应和所述数据块延 时自适应采用组合应用方式。
5. 根据权利要求1所述的互联网大文件的快速传输方法,其特征在于步骤⑤中所述丢包重传机制是在所有文件数据发送一遍之后再对丢失的数据进行丢 包重传。
全文摘要
本发明涉及网络通信技术领域,尤其涉及一种互联网大文件的快速传输方法。本发明在服务器与客户端通过TCP协议进行连接,通过UDP协议进行大数据文件传输,在传输过程中,采用网络流量和拥塞控制机制,自适应调整数据块大小和数据块传输间隔,实现传输过程中的吞吐量最大化,最后采取丢包重传机制对传输过程中丢失的数据包进行重传。本发明具备灵活运用TCP协议的可靠性与UDP协议的快速性,显著提高有限带宽环境下大文件传输速度的特点。
文档编号H04L12/56GK101616077SQ20091006337
公开日2009年12月30日 申请日期2009年7月29日 优先权日2009年7月29日
发明者李晓波, 恒 王, 艾浩军, 陈文琴 申请人:武汉大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1