[发明专利]一种文件传输方法及装置无效
| 申请号: | 201310086305.4 | 申请日: | 2013-03-18 |
| 公开(公告)号: | CN103237049A | 公开(公告)日: | 2013-08-07 |
| 发明(设计)人: | 唐晓军;杨峰 | 申请(专利权)人: | 北京易华录信息技术股份有限公司 |
| 主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06;H04L1/18 |
| 代理公司: | 北京三聚阳光知识产权代理有限公司 11250 | 代理人: | 寇海侠 |
| 地址: | 100043 北京市石*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 文件传输 方法 装置 | ||
技术领域
本发明涉及数据传输技术领域,具体涉及一种文件传输方法及装置。
背景技术
十几年来,文件传输协议(File Transfer Protocol,缩写为FTP)一直比较流行。FTP在RFC959中被定义,并于1985年10月发布,FTP是一种跨平台的、简单且易于实现的协议。FTP传输协议具有以下特点:1.数据传输模式默认使用美国信息交换标准代码(American Standard Code for Information Interchange,缩写为ASCII)传输数据,有时会造成文件损坏;2.FTP协议未对密码安全做出规定,用户信息数据以明文的形式传输,任何对通讯路径上的路由具有控制能力的人,可以通过嗅探程序获取用户敏感信息;3.在FTP服务器上检索文件一般需要经过客户端建立到FTP服务器控制端口的传输控制协议(Transmission Control Protocol,缩写为TCP)连接、等待TCP握手完成、等待服务器发送回执、向服务器发送用户名并等待响应、向服务器发送密码并等待响应、向服务器发送返回服务器使用的操作系统命令(即SYST命令)并等待响应、向服务器发送数据类型为二进制的(即TYPE I命令)命令并等待响应、发送IP地址和两字节的端口ID(即PORT命令)并等待响应、建立数据传输链接、通过数据传输链接、等待服务器发送二进制指令、客户端发送QUIT命令等十多个步骤。采用Socket文件传输(Socket是一个针对TCP和UDP编程的接口,可以借助Socket建立TCP连接)会根据文件不同的格式采取最合适的编码方式,然后序列化成二进制在网络上进行传输,二进制在网络线路上传输最快;同时Socket文件传输,对传输的数据 按照加密算法进行加密后才传输,就算用嗅探程序截获数据,也不容易得知其中的内容;最后Socket文件传输时,客户端首先向服务器发送相关用户信息,得到服务器认证通过以后,就可以向服务器传输文件了,简化了操作步骤,同时采用多线程,在客户端拆分、合并或上传操作后,由服务器合并、拆分或下载操作,提高了文件传输的效率。经测试,比FTP文件传输相比,可节省至少一半的时间。
中国专利文献CN101453479A公开了一种快速的文件传输系统,包括:命令模块,用于发起文件传输;文件查验模块,用于传输文件的各子文件;完整性验证模块,用于重新传输未通过验证的子文件。该发明的快速文件传输协议可以方便的组织、管理和调度文件传输的过程。但是该发明对所有文件均采用多线程的文件传输方式,多线程的文件传输方式可以最大限度的提高CPU使用效率,但是线程间的切换也会消耗时间,对于较小的文件而言,对文件进行拆分,将拆分后的多个子文件采用多线程进行传输,接收到全部子文件后再将文件进行合并,文件拆分的时间、线程间切换的时间与文件合并的时间之和将大于对文件直接采用单线程传输所需要的时间,也就是说对于较小的文件采用多线程传输,反而是消耗了更多的时间,反而会降低文件传输速度,进而使得上述文件传输系统传输效率低下。
发明内容
本发明所要解决的是现有技术中文件传输均采用多线程的文件传输方式,线程间切换会消耗时间并可能降低文件传输效率的技术问题,提供一种更高效的文件传输方法及装置。
为解决上述技术问题,本发明采用的技术方案如下:
一种文件传输方法,包括以下步骤:
S1:客户端向服务器发出传输文件的请求;
S2:所述服务器接收并响应所述请求,将响应结果发送给所述客户端;
S3:所述客户端接收所述响应结果,判断所述服务器是否接受请求,若 是,则执行步骤S4;若否,则执行步骤S7;
S4:判断所述文件是否大于100M,若是,则执行步骤S6;若否,则执行步骤S5;
S5:将所述文件以单线程文件传输方式进行传输,跳转执行步骤S7;
S6:将所述文件以多线程文件传输方式进行传输;
S7:所述客户端的本次请求执行结束;
其中,所述传输包括上传和下载。
在所述步骤S6中,还包括以下步骤:
S601:将所述文件拆分成多个子文件;
S602:所述多个子文件由线程池的监控线程分给多个线程;
S603:判断CPU使用率是否大于80%,并且空闲内存是否大于整个所述文件的大小,若是,则执行步骤S603;若否,则执行步骤S604;
S603:为每个线程分配默认优先级,并进行文件传输,跳转执行步骤S605;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京易华录信息技术股份有限公司,未经北京易华录信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310086305.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:避孕贴及其制备方法
- 下一篇:一种防电磁辐射抗静电服装





