[发明专利]一种基于FTP协议实现超大文件多线程断点上传的方法无效
申请号: | 201310347968.7 | 申请日: | 2013-08-09 |
公开(公告)号: | CN103442037A | 公开(公告)日: | 2013-12-11 |
发明(设计)人: | 吴一民 | 申请(专利权)人: | 华南理工大学 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 广州市华学知识产权代理有限公司 44245 | 代理人: | 蔡茂略 |
地址: | 510640 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 ftp 协议 实现 超大 文件 多线程 断点 上传 方法 | ||
技术领域
本发明涉及因特网文件传输协议应用领域,特别涉及一种基于FTP协议实现超大文件多线程断点上传的方法。
背景技术
FTP(文件传输协议)是当前网络服务重要的应用之一,它实现了可靠且有效传输数据的功能;同时,FTP的具有另一项突出的优势:只要进行文件传输的系统都支持FTP协议,就可以方便地在不同类型的计算机之间进行文件传输,使用户不会因为各类主机文件存储器系统的差异而受影响。因此,FTP一直是Internet上广泛使用的服务。
FTP服务器为客户提供文件上传和下载的双向服务,而当前应用及研究较多地侧重在FTP的下载技术上,对于上传技术的研究则涉及甚少,尤其是对超大文件有效上传技术的研究更少。现代网络的实际应用中,经常需要传输以GB,甚至是TB为单位的超大文件,如多媒体文件等。超大文件上传效率的高低对于多媒体文件的网络共享等应用显得越来越重要。但是,由于这些文件容量巨大,传输过程耗时长,上传过程最容易发生意外中断,导致文件重新上传的操作频繁,极大影响了数据的共享。由此可见,超大文件上传技术的研究对于促进网络应用发展有着重大的意义。
传统的FTP采用单线程上传文件,上传速度慢,同时,一旦发生意外中断,就需重新上传文件的全部数据,极大地影响了上传的效率。本发明的目的就是为了提高FTP上传超大文件的效率,实现了一种支持多线程断点续传功能的FTP上传文件的方法。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提供一种同时支持多线程上传和断点续传功能的FTP文件上传方法,能够有效地提高FTP上传文件的效率。
本发明的技术方案是:当用户需要上传文件到FTP服务器时,可以选择上传时使用的线程数目N,客户端与服务器端建立N个线程的数据连接,将文件划分成M个块(M≧N),N个线程并发传递同一个文件的不同块到服务器,同时,在客户端建立对应的临时配置文件(用于断点上传时,获取各块的上传进度),当文件的M个块都传输完毕后,服务器端按照原有文件的顺序,将文件重新组合成原始文件形式,客户端删除对应的临时配置文件,最终完成文件的上传。当文件上传过程中,出现意外中断的情况,重新与服务器端建立连接后,客户端可以从对应的临时配置文件中获得已经上传了文件的哪些部分的信息,然后采用多线程断点续传的方式,只需要继续传输未上传的部分,即可完成整个文件的上传工作。本发明的目的通过下述具体技术方案实现:
基于FTP协议实现超大文件多线程断点上传的方法,包括下述步骤:
S1、在不修改原始FTP协议的情况下,通过FTP客户端建立多线程连接的方法,实现文件的多线程上传;
S2、多线程上传操作中,FTP客户端通过多线程方式与FTP服务器端建立多个连接,连接包括数据连接和控制连接,根据上传文件的大小和线程数,将文件合理划分成多个块,分配给不同的线程上传,当某个线程上传完一个文件块后,再分配一个新的文件块给该线程,保证了所有线程都处于活跃状态,高效率地完成文件上传任务;
S3、断点上传操作中,首先从临时配置文件中读取断点信息,用于设置续传时各文件块的开始位置,然后采取步骤S2的方法,利用多线程并发上传每个文件块尚未上传的部分,避免了再次上传已传输的数据部分的操作,减少了数据传输量,缩短了上传耗时;
S4、在步骤S2和步骤S3的上传操作中,FTP客户端另外建立一个线程,专门用于实时记录临时配置文件信息,确保发生意外中断时,启动断点上传操作能够从正确的文件位置开始。
优选的,步骤S2中,还包括在客户端建立对应的临时配置文件,用来实时记录断点上传时需要的文件信息;当文件的所有的块都传输完毕,即文件成功上传到FTP服务器后,自动删除客户端的临时配置文件。
优选的,步骤S2中,文件的合理划分方法是:分块的大小是设置的数据缓冲区的整数倍,最小为1倍;分块的大小不小于实际建立连接的线程数,每个线程都能分配到上传任务。
优选的,断点上传过程仍然可以使用多线程,而且可以设置与初次上传时不同的线程数目。
优选的,临时配置文件包含的信息有:文件在FTP服务器端存放的完整路径、文件的大小、文件分成的块数、块的大小、每块开始位置的偏移量、每块已上传的大小、每块是否已经上传完毕以及传输格式。
优选的,步骤S2和步骤S3所指的上传操作成功完成后,客户端自动删除临时配置文件,节省磁盘空间。
本发明相对于现有技术具有如下的优点及效果:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学,未经华南理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310347968.7/2.html,转载请声明来源钻瓜专利网。