[发明专利]一种发送速率自适应控制的文件传输方法及其系统有效
| 申请号: | 200910092785.9 | 申请日: | 2009-09-17 |
| 公开(公告)号: | CN101656756A | 公开(公告)日: | 2010-02-24 |
| 发明(设计)人: | 王劲林;齐向东;刘学;李良斌;尤佳莉 | 申请(专利权)人: | 中国科学院声学研究所;北京中科移讯技术有限公司 |
| 主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06;H04L1/00 |
| 代理公司: | 北京法思腾知识产权代理有限公司 | 代理人: | 杨小蓉 |
| 地址: | 100190北京市海淀区*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 发送 速率 自适应 控制 文件传输 方法 及其 系统 | ||
技术领域
本发明涉及网络环境中文件传输技术领域,特别涉及一种发送速率自适应控制的文件传输方法及其系统。
背景技术
在网络环境中点对点文件传输通常采用文件传输协议(FTP,File TransferProtocol)、超文本传输协议(HTTP,Hyper Text Transfer Protocol)等协议,其基本方法是采用传输控制协议(TCP,Transmission Control Protocol)来保证传输的可靠性。但是,这种可靠性的保证牺牲了传输效率,增加了传输时间,影响终端(用户)的体验。美国第6,085,251号专利公开了一种通过并行传输文件的方法来提高文件的传输效率。在这种方法中,一个服务器将单个文件分割成多个数据包,同时并行地向一个客户端发送这些数据包,最后客户端按照服务器提供的文件分割信息合并这些数据包。该方法采用的传输协议是FTP,虽然比单个FTP线程提高了传输效率,但还是无法避免TCP带来的开销。本专利并未提供或公开传输速率的控制。
此外,利用用户数据报协议(UDP,User Datagram Protocol)可以提高传输效率,但由于UDP是一种无连接的传输层协议,特点是“简单不可靠”,UDP协议本身无法可靠信息传送。简单文件传输协议(TFTP,Trivial File Transfer Protocol)是利用UDP协议传输文件,通过重传机制能保证文件的完整性,但客户端每收到一个数据包都要给服务器发送一个确认包,这样增加了部分网络开销,且服务器在发出下一个数据包以前必须得到客户端上一个数据包的确认,也影响发送效率。
中国第CN1981470A号专利公开了一种基于UDP协议并能实时调整传输速率的方法。在这种方法中,服务器以预估的传输速率发送数据,根据客户端返回的确认信号来进一步估计和调整发送速率。这种方法在时变网络下能调整发送速率,但客户端每收到一个“带标识的内容分组”都要向服务器返回确认,同样增加了部分网络开销;并且返回确认包也是通过UDP协议向服务器发送,在网络丢包严重的情况下,一个“带标识的内容分组”将出现多次重发。
因此,需要一种高效的文件传输系统,该系统能根据客户端和网络的能力自动调整传输速率,且服务器端确切知道客户端接收报文状态,以避免多次重发,从而,能在客户端和网络能力允许下,能使整个文件传输时间缩短。
发明内容
本发明的目的在于,提供一种根据客户端能力和网络能力能自适应控制传输速率的文件传输方法及其系统,以使该系统能最大限度的利用网络和客户端资源。
为实现上述目的,本发明的一种发送速率自适应控制的文件传输方法,采用UDP协议发送文件数据,其他指令全部由TCP协议完成;所述的文件数据以“块”为每次传输和验证完整性的基本单位,并通过采用动态调整发送“块”的大小细粒度调整发送速率;该方法的步骤包括:
1)客户端发起文件下载请求时,把能接收的块的最大值MaxBlock发给服务器端,服务器端的块信息同步模块在MaxBlock范围内取一个块的大小预计算文件片段切分的块的总数BlockNum,并把块信息发送给客户端;
2)服务器端通过文件分片模块完成大文件的切分,把每一个大文件按上述的块的大小,切分成1~N个文件片段;每个文件片段由1~M个块组成,每个块都由1~L个报文组成,每个块和报文都有一个标识,块的标识在所属的文件片段中具有唯一性,报文标识在所属的块中也具有唯一性;
3)服务器端通过UDP发送线程完成文件数据的发送,利用UDP协议按照报文的序号从小到大的顺序将每个文件片段的块信息发送给客户端;
4)客户端根据块的大小预设接收时长,在设定时延后,验证一个接收块的完整性;如果块完整,将写入临时文件;如果块不完整,将根据块中报文丢失情况利用TCP协议向服务器请求重传整个块或缺少的报文;
5)服务器端接收到重传整个块或缺少的报文的请求时,将请求重发的块编号或报文编号通知给发送线程管理模块,通过发送线程管理模块找到发送该块或缺少的报文的UDP发送线程,通知该UDP发送线程重新发送;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院声学研究所;北京中科移讯技术有限公司,未经中国科学院声学研究所;北京中科移讯技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910092785.9/2.html,转载请声明来源钻瓜专利网。





