[发明专利]数据文件的传输方法及装置有效
申请号: | 201210058643.2 | 申请日: | 2012-03-07 |
公开(公告)号: | CN103312732B | 公开(公告)日: | 2017-12-26 |
发明(设计)人: | 史军;李皓;黄卓满;宋士伟;王冬生;赵威;邹永 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 广州三环专利商标代理有限公司44202 | 代理人: | 郝传鑫 |
地址: | 518000 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据文件 传输 方法 装置 | ||
技术领域
本发明涉及通信技术领域,尤其涉及一种数据文件的传输方法及装置。
背景技术
目前,在互联网环境下传输大数据文件的实现过程如下:
发送方执行如下:
步骤1)将大文件分成若干数据包;
步骤2)为所述大文件和每个数据包分配标识;
步骤3)判断数据包是否全部发送完,若没有发送完,执行步骤4);若发送完,结束发送;
步骤4)以数据包为单位向接收方发送数据;
步骤5)若接收方返回的结果为正确接收,执行步骤3),否则执行步骤4)。
接收方执行如下:
步骤1’)正确接收到发送方发送的数据后向发送方返回正确接收,否则返回错误;
步骤2’)全部数据包都正确接收完毕后根据所述文件和数据包的标识将所有数据包重组成所述大文件。
然而,在采用上述方法传输单个大数据文件时,一方面,由于主要采用单线程发送方式,因而造成单个大数据文件的传输速度较慢。另一方面,对单个大数据文件的完整性校验,通常在该大数据文件下载完成之后进行,因而,造成单个大数据文件在进行可靠传输时需要的时间较长,资源开销较大,进而造成网络带宽的利用率较低。
发明内容
本发明的实施例提供了一种数据文件的传输方法及装置,提高了单个大数据文件的传输速度,缩短了单个大数据文件的可靠传输时间,提高了网络带宽的利用率。
为达到上述目的,本发明的实施例采用如下技术方案:
一方面,提供一种数据文件的传输方法,包括:
发送端将单个大数据文件进行分块,并为每个分块数据按顺序进行编号;
所述发送端向接收端的至少两个下载线程同时发送所述至少两个下载线程各自对应的分块数据。
还提供一种数据文件的传输方法,包括:
接收端创建至少两个下载线程,所述每个下载线程对应一个任务队列,每个所述任务队列与单个大数据文件中不同编号的分块数据相映射,所有所述任务队列中映射的分块数据组合后为所述单个大数据文件;
所述接收端启动所有所述下载线程进行并发下载,每个所述下载线程从发送端独立下载各自对应的任务队列中的分块数据,并将下载的分块数据写入缓冲队列;
所述接收端同时启动一个并行单线程,所述并行单线程依次获取缓冲队列中编号为i的分块数据,并对所述编号为i的分块数据进行满足有序迭代性的数据完整性校验,得到编号为i的分块数据和之前的所有分块数据有序组合后的数据完整性校验值,所述i的取值顺序为根据分块编号从小到大的顺序;
所述接收端将所述编号为i的分块数据写入目标文件,并将所述编号为i的分块数据从所述缓冲队列中删除。
另一方面,提供一种发送端,包括:
分块单元,用于将单个大数据文件进行分块,并为每个分块数据按顺序进行编号;
发送单元,用于向接收端的至少两个下载线程同时发送所述至少两个下载线程各自对应的分块数据。
还提供一种接收端,包括:
创建单元,用于创建至少两个下载线程,所述每个下载线程对应一个任务队列,每个所述任务队列与单个大数据文件中不同编号的分块数据相映射,所有所述任务队列中映射的分块数据组合后为所述单个大数据文件;
并发下载单元,用于启动所有所述下载线程进行并发下载,每个所述下载线程从发送端独立下载各自对应的任务队列中的分块数据,并将下载的分块数据写入缓冲队列;
校验单元,用于同时启动一个并行单线程,所述并行单线程依次获取缓冲队列中编号为i的分块数据,并对所述编号为i的分块数据进行满足有序迭代性的数据完整性校验,得到编号为i的分块数据和之前的所有分块数据有序组合后的数据完整性校验值,所述i的取值顺序为根据分块编号从小到大的顺序;
重组单元,用于所述接收端将所述编号为i的分块数据写入目标文件,并将所述编号为i的分块数据从所述缓冲队列中删除。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210058643.2/2.html,转载请声明来源钻瓜专利网。