发明名称 一种发送速率自适应控制的文件传输方法及其系统
摘要 本发明公开了一种发送速率自适应控制的文件传输方法及其系统,采用UDP协议发送文件数据,其他指令全部由TCP协议完成;所述的文件数据以“块”为每次传输和验证完整性的基本单位,并通过采用动态调整发送“块”的大小细粒度调整发送速率;服务器将文件切分成1~N个“文件片段”,每个文件片段由一个UDP发送线程进行发送;服务器将按照预设的块的大小进行发送,客户端根据接收到块的完整性来验证结果是否请求服务器重发,如果服务器接收到客户端的重发请求,则会动态调整块的大小。并且采用动态调整传输线程数目来调整发送速率。本方法虽增加了少量网络开销,却有效地利用客户端接入的网络资源,降低了整个文件的传输时间。
申请公布号 CN101656756A 申请公布日期 2010.02.24
申请号 CN200910092785.9 申请日期 2009.09.17
申请人 中国科学院声学研究所;北京中科移讯技术有限公司 发明人 王劲林;齐向东;刘学;李良斌;尤佳莉
分类号 H04L29/08(2006.01)I;H04L29/06(2006.01)I;H04L1/00(2006.01)I 主分类号 H04L29/08(2006.01)I
代理机构 北京法思腾知识产权代理有限公司 代理人 杨小蓉
主权项 1、一种发送速率自适应控制的文件传输方法,其特征在于:该方法采用UDP协议发送文件数据,其他指令全部由TCP协议完成;所述的文件数据以“块”为每次传输和验证完整性的基本单位,并通过采用动态调整发送“块”的大小细粒度调整发送速率;该方法的步骤包括:1)客户端发起文件下载请求时,把能接收的块的最大值MaxBlock发给服务器端,服务器端的块信息同步模块在MaxBlock范围内取一个块的大小预计算文件片段切分的块的总数BlockNum,并把块信息发送给客户端;2)服务器端通过文件分片模块完成大文件的切分,把每一个大文件按上述的块的大小,切分成1~N个文件片段;所述的每个文件片段由1~M个块组成,每个块都由1~L个报文组成,每个块和报文都有一个标识,块的标识在所属的文件片段中具有唯一性,报文标识在所属的块中也具有唯一性;3)服务器端通过UDP发送线程完成文件数据的发送,利用UDP协议按照报文的序号从小到大的顺序将每个文件片段的块信息发送给客户端;4)客户端根据块的大小预设接收时长,在设定时延后,验证一个接收块的完整性;如果块完整,将写入临时文件;如果块不完整,将根据块中报文丢失情况利用TCP协议向服务器请求重传整个块或缺少的报文;5)服务器端接收到重传整个块或缺少的报文的请求时,将请求重发的块编号或报文编号通知给发送线程管理模块,通过发送线程管理模块找到发送该块或缺少的报文的UDP发送线程,通知该UDP发送线程重新发送;6)服务器端通过块调整模块调整发送“块”的大小来细粒度调整发送速率,所述的块调整模块定时到重发管理模块查询这段时间内客户端的重发请求记录,然后到发送线程管理模块查询这段时间内已发送给客户端的块或报文的记录,根据请求重发和已发送的比率决定是否调整块的大小,当服务器端调整了块的大小时,把调整结果通知TCP收发线程,由TCP收发线程重新发送块信息通知客户端;7)客户端接收到所有的文件片段时,通过文件合并模块将根据文件片段描述信息重新组织文件。
地址 100190北京市海淀区北四环西路21号中国科学院声学研究所