一种FTP文件上传、下载方法及装置制造方法及图纸

技术编号:8107927 阅读:279 留言:1更新日期:2012-12-21 08:41
本发明专利技术实施例提供一种FTP文件上传、下载方法及装置,由客户端侧加速设备冒充FTP服务器,响应其监听到的FTP客户端的第一FTP文件上传请求,接收并缓存FTP客户端上传的FTP文件,并在FTP文件接收完毕后,冒充FTP服务器通知所述FTP客户端,所述FTP文件上传到FTP服务器。使得FTP客户端的上传操作在局域网环境下完成,加快FTP文件上传速度。同时,还可以通过下载重定向的方式,指示客户端侧加速设备从上传其需要下载的FTP文件的其他客户端侧加速设备下载该FTP文件。使得正在上传的FTP文件也可以被实时下载,加快FTP文件下载速度,并可以减少FTP文件下载对FTP服务器的连接压力。

【技术实现步骤摘要】

本专利技术涉及通信领域,尤其涉及一种文件传输协议(FTP,FileTransferProtocol)文件上传、下载方法及装置。
技术介绍
FTP是传输控制协议/互联网协议(TCP/IP)网络上两台计算机之间传送文件的协议,是在TCP/IP网络和互联网(INTERNET)上最早使用的协议之一,属于网络协议组的应用层。FTP客户端可以向FTP服务器发出请求,从FTP服务器下载文件,向FTP服务器上传文件,并可以创建或改变FTP服务器上的目录。在现有技术中,FTP服务器作为资源共享服务器被大量使用,FTP服务器和FTP客 户端可以跨广域网连接,网络部署可以如图I所示。因此,FTP客户端需要在跨广域网环境下与FTP服务器建立连接,进行FTP文件的上传和下载等相关操作。为了加速FTP服务器和FTP客户端之间的数据传输,可以利用加速设备旁挂于出口设备的部署方式,在FTP服务器侧和FTP客户端侧分别部署服务器侧加速设备和客户端侧加速设备,使得在广域网环境下可以获得近似局域网的应用访问体验,FTP服务器和FTP客户端的连接可以如图2所示。但FTP客户端在跨广域网环境下的FTP文件的上传和下载等相关操作仍存在以下问题I、由于FTP协议是基于TCP/IP协议栈作为传输层协议开发,而TCP协议是针对局域网设计的,因此,在遇到高延时的链路时,数据传输性能会急骤下降。在跨广域网传输情况下,广域网延迟比较大,通常会达到50-200ms,丢包可能达到1%左右(而局域网相对于广域网延迟很小(小于1ms),基本不存在丢包),导致FTP文件传输减慢。2、如果FTP客户端数量较多,还存在FTP服务器的压力问题。若FTP客户端向FTP服务器发起的请求过于集中,会导致FTP服务器的输入/输出(I/O)瓶颈,从而导致FTP文件下载速度较慢。为了解决以上问题,现有技术主要包括以下三种解决方案第一种、利用TCP协议优化、数据压缩和重复数据删除加速FTP文件传输。TCP协议优化主要包括大的初始化端口、窗口拓展、选择重传、高级拥塞算法等对传统TCP协议进行拓展优化,但对于大文件传输加速效果有限。数据压缩是指采用压缩算法对文件进行压缩后传输,并在对端加速设备进行重新解压。此处的压缩功能与软件压缩传输基本一致,也存在软件压缩的弊端。重复数据删除原理是FTP客户端从FTP服务器下载文件A时,服务器侧加速设备与客户端侧加速设备分别以数据分块的方式缓存(加速设备保存)该文件A,并通过编码对每个数据分块生成特点的标签。当有FTP客户端再次通过该客户端侧加速设备向FTP服务器下载文件A时,服务器侧加速设备比对当前文件A的数据分块是否与之前缓存的文件A数据分块一致,若数据分块均一致,以每个数据标签代替真实数据的方式传输给客户端侧加速设备,客户端侧加速设备通过标签还原真实数据分块并投递至相关的FTP客户端,从而节省大量数据在广域网传输占用的时间,提升用户体验。但重复数据删除只有在非首次传输(下载)一个FTP文件时才有加速效果,首次传输(下载)并无加速效果。第二种、利用FTP文件预取加速FTP文件传输。在FTP预取方案中,客户端侧加速设备按照管理员配置好的策略,在非工作时间段(一般为凌晨至次日6点)下载指定FTP目录下所有文件至加速设备FTP预取数据库。而后当FTP客户端需要向FTP服务器获取预取文件时,客户端侧加速设备将保留的文件信息反馈给FTP客户端,从而实现下载加速、提升用户体验。但是,这种FTP预取方案只能针对下载方向进行加速,却无法提供上传方向的加速。这是由于下载行为是FTP客户端主动请求FTP服务器发送指定文件,在这个过程中针对指定的FTP服务器和文件,客户端侧加速设备可以事先代替FTP客户端向FTP服务器请求指定文件。待FTP客户端需要该指定文件时,再发给该FTP客户端。而上传行为是FTP客户端发送指定文件给指定FTP服务器,在这个过程中数据源变成了 FTP客户端,而这个数据源是不固定和随机的(FTP客户端都有可能上传文件),因此,如何预取数据源便是一大问题。再者,在上传过程中FTP服务器只是被动地进行数据接收,FTP服务器不会也无法主动去获 取指定文件,这样就算预取了 FTP客户端要上传的文件但却仍无法同步给FTP服务器。所以,FTP预取方案并无法实现对FTP上传的加速。同时,由于FTP预取方案是在特定的时间段对指定的FTP服务器的指定文件目录中的FTP文件进行下载,还存在无法及时地将更新的文件同步到客户端侧加速设备的问题。第三种、基于内容分发网络(O)N, Content Delivery Network)进行网络部署,力口速FTP文件传输。针对在广域网环境下,FTP文件传输在上传方向无法加速的问题,一些大的互联网内容提供商(ICP)引入⑶N FTP解决方案。⑶N FTP解决方案需要分布式存储、负载均衡、网络请求的重定向和内容管理等多个组件的协同工作,才能解决FTP上传下载的加速问题。这种复杂的网络部署一般适用于大型的互联网服务提供商或互联网内容提供商,使互联网接入用户能快速访问他们提供的服务和内容。但⑶N FTP解决方案存在以下问题(I)、⑶N FTP部署需要投入大量的建设和维护成本;(2)、需要将FTP文件公开在互联网上,无法保证FTP文件的安全性;(3)、⑶N FTP部署需要利用域名解析来进行FTP请求的重定向,因此需要搭建域名系统(DNS)服务器,除了增加成本之外,由于DNS的查找和重定向本身也会带来一定的数据传输延迟。综上所述,目前还没有一种方案能够较好地解决在跨广域网环境下,FTP文件传输速度较慢,尤其是对于FTP客户端而言,上传FTP文件速度较慢的问题。
技术实现思路
本专利技术实施例提供一种FTP文件上传、下载方法及装置,用于解决在跨广域网环境下,FTP文件传输速度较慢的问题。一种文件传输协议FTP文件上传方法,所述方法包括客户端侧加速设备在监听到FTP客户端向FTP服务器发送的第一 FTP文件上传请求时,所述第一 FTP文件上传请求中携带FTP文件标识,拦截该第一 FTP文件上传请求,并向所述FTP客户端发送第一响应报文,第一响应报文用于通知所述FTP客户端,可以向所述FTP服务器发送数据;客户端侧加速设备接收并缓存所述FTP客户端发送的所述FTP文件标识表示的FTP文件,并在该FTP文件接收完毕之后,向所述FTP客户端发送第二响应报文,第二响应报文用于通知所述FTP客户端,所述FTP服务器接收所述FTP文件完毕。一种文件传输协议FTP文件下载方法,所述方法包括服务器侧加速设备在监听到第一客户端侧加速设备向FTP服务器发送第二 FTP文件下载请求时,所述第二 FTP文件下载请求中携带FTP文件标识,拦截该第二 FTP文件下载请求,确定本地FTP缓存索引表中是否包括该FTP文件标识,其中,所述第二 FTP文件下载请求是第一客户端侧加速设备在监听到FTP客户端向所述FTP服务器发送的第一 FTP文件下载请求,所述第一 FTP文件下载请求中携带所述FTP文件标识,拦截该第一 FTP文件下载 请求,并在确定自身没有缓存所述FTP文件标识表示的FTP文件时发送的,所述本地FTP缓存索引表包括所述服务器侧加速设备针对每次监听到的客户端侧加速设备本文档来自技高网
...

【技术保护点】
一种文件传输协议FTP文件上传方法,其特征在于,所述方法包括:客户端侧加速设备在监听到FTP客户端向FTP服务器发送的第一FTP文件上传请求时,所述第一FTP文件上传请求中携带FTP文件标识,拦截该第一FTP文件上传请求,并向所述FTP客户端发送第一响应报文,第一响应报文用于通知所述FTP客户端,可以向所述FTP服务器发送数据;客户端侧加速设备接收并缓存所述FTP客户端发送的所述FTP文件标识表示的FTP文件,并在该FTP文件接收完毕之后,向所述FTP客户端发送第二响应报文,第二响应报文用于通知所述FTP客户端,所述FTP服务器接收所述FTP文件完毕。

【技术特征摘要】
1.一种文件传输协议FTP文件上传方法,其特征在于,所述方法包括 客户端侧加速设备在监听到FTP客户端向FTP服务器发送的第一 FTP文件上传请求时,所述第一 FTP文件上传请求中携带FTP文件标识,拦截该第一 FTP文件上传请求,并向所述FTP客户端发送第一响应报文,第一响应报文用于通知所述FTP客户端,可以向所述FTP服务器发送数据; 客户端侧加速设备接收并缓存所述FTP客户端发送的所述FTP文件标识表示的FTP文件,并在该FTP文件接收完毕之后,向所述FTP客户端发送第二响应报文,第二响应报文用于通知所述FTP客户端,所述FTP服务器接收所述FTP文件完毕。2.如权利要求I所述的方法,其特征在于,客户端侧加速设备向所述FTP客户端发送第二响应报文之后,所述方法还包括 客户端侧加速设备断开与所述FTP客户端的FTP连接,并建立与所述FTP服务器的FTP连接,向所述FTP服务器发送第二 FTP文件上传请求,所述第二 FTP文件上传请求用于请求将自身缓存的所述FTP文件发送至所述FTP服务器。3.如权利要求I所述的方法,其特征在于,客户端侧加速设备接收并缓存所述FTP客户端发送的所述FTP文件标识表示的FTP文件,具体包括 客户端侧加速设备接收并缓存所述FTP客户端发送的所述FTP文件的数据分块,并在一个数据分块接收完毕时,向所述FTP客户端发送第三响应报文,第三响应报文用于通知所述FTP客户端发送下一个数据分块。4.如权利要求2所述的方法,其特征在于,客户端侧加速设备拦截第一FTP文件上传请求之前,所述方法还包括 客户端侧加速设备监听并记录所述FTP客户端登录所述FTP服务器时输入的登录信息; 客户端侧加速设备建立与所述FTP服务器的FTP连接,具体包括 客户端侧加速设备利用所述登录信息登录所述FTP服务器。5.如权利要求Γ4任一所述的方法,其特征在于,客户端侧加速设备接收所述FTP文件完毕之后,所述方法还包括 客户端侧加速设备更新本地缓存数据库列表,更新后的本地缓存数据库列表包括表示所述FTP文件缓存在本地缓存数据库的信息。6.一种文件传输协议FTP文件下载方法,其特征在于,所述方法包括 服务器侧加速设备在监听到第一客户端侧加速设备向FTP服务器发送第二 FTP文件下载请求时,所述第二 FTP文件下载请求中携带FTP文件标识,拦截该第二 FTP文件下载请求,确定本地FTP缓存索引表中是否包括该FTP文件标识,其中,所述第二 FTP文件下载请求是第一客户端侧加速设备在监听到FTP客户端向所述FTP服务器发送的第一 FTP文件下载请求,所述第一 FTP文件下载请求中携带所述FTP文件标识,拦截该第一 FTP文件下载请求,并在确定自身没有缓存所述FTP文件标识表示的FTP文件时发送的,所述本地FTP缓存索引表包括所述服务器侧加速设备针对每次监听到的客户端侧加速设备向所述FTP服务器发送的第二 FTP文件上传请求,记录的该第二 FTP文件上传请求中携带的FTP文件标识,以及上传该FTP文件标识表示的FTP文件的客户端侧加速设备的地址; 如果确定本地FTP缓存索引表中包括第二 FTP文件下载请求中携带的FTP文件标识,根据本地FTP缓存索引表确定上传该FTP文件标识表示的FTP文件的第二客户端侧加速设备的地址,向所述第一客户端侧加速设备发送下载重定向响应报文,所述下载重定向响应报文中携带所述第二客户端侧加速设备的地址,指示第一客户端侧加速设备从所述第二客户端侧加速设备下载该FTP文件。7.如权利要求6所述的方法,其特征在于,所述本地FTP缓存索引表中,还包括所述服务器侧加速设备针对每次监听到的客户端侧加速设备向所述FTP服务器发送的第二 FTP文件上传请求,记录的该第二 FTP文件上传请求中携带的FTP文件标识表示的FTP文件的上传状态,则,服务器侧加速设备确定本地FTP缓存索引表中包括第二 FTP文件下载请求中携带的FTP文件标识之后,向所述第一客户端侧加速设备发送下载重定向响应报文之前,所述方法还包括 服务器侧加速设备根据所述本地FTP缓存索引表确定第二 FTP文件下载请求中携带的FTP文件标识表示的FTP文件的上传状态; 服务器侧加速设备向所述第一客户端侧加速设备发送下载重定向响应报文,具体包括 服务器侧加速设备在确定第二 FTP文件下载请求中携带的FTP文件标识表示的FTP文件的上传状态为上传未完成时,向所述第一客户端侧加速设备发送下载重定向响应报文。8.如权利要求7所述的方法,其特征在于,所述本地FTP缓存索引表中,还包括所述服务器侧加速设备针对每次监听到的客户端侧加速设备向所述FTP服务器发送的第二 FTP文件上传请求,记录的该第二 FTP文件上传请求中携带的FTP文件标识表示的FTP文件需要写入的路径,服务器侧加速设备拦截第二 FTP文件下载请求之前,所述方法还包括 服务器侧加速设备在监听到所述FTP客户端向所述FTP服务器发送的获取目录请求时,所述获取目录请求用于请求获得所述FTP服务器中指定路径下保存的FTP文件目录,拦截该获取目录请求,并从所述FTP服务器获取所述FTP文件目录; 服务器侧加速设备确定本地FTP缓存索引表中是否有需要写入所述指定路径的FTP文件的上传状态为上传未完成,若确定本地FTP缓存索引表中有需要写入所述指定路径的FTP文件的上传状态为上传未完成,将该FTP文件的指定信息写入所述FTP文件目录,并将写入指定信息后的FTP文件目录发送至所述FTP客户端,否则,将从所述FTP服务器获取的FTP文件目录发送至所述FTP客户端。9.如权利要求6 8任一所述的方法,其特征在于,所述方法还包括 服务器侧加速设备如果确定本地FTP缓存索引表中不包括第二 FTP文件下载请求中携带的FTP文件标识,向所述FTP服务器发送第三FTP文件下载请求,所述第三FTP文件下载请求中携带所述FTP文件标识,请求下载所述FTP文件标识表示的FTP文件至所述第一客户端侧加速设备。10.一种文件传输协议FTP文件下载方法,其特征在于,所述方法包括 第一客户端侧加速设备在监听到FTP客户端向FTP服务器发送的第一 FTP文件下载请求时,所述第一 FTP文件下载请求中携带FTP文件标识,拦截该第一 FTP文件下载请求,确定自身是否缓存有所述FTP文件标识表示的FTP文件; 第一客户端侧加速设备在确定自身没有缓存所述FTP文件标识表示的FTP文件时,向所述FTP服务器发送第二 FTP文件下载请求,所述第二 FTP文件下载请求中携带所述FTP文件标识; 第一客户端侧加速设备在接收到服务器侧加速设备发送的下载重定向响应报文时,所述下载重定向响应报文中携带正在上传或已上传所述FTP文件的第二客户端侧加速设备的地址,向所述第二客户端侧加速设备发送第四FTP文件下载请求,所述第四FTP文件下载请求中携带所述FTP文件标识,请求下载所述FTP文件标识表示的FTP文件。11.如权利要求10所述的方法,其特征在于,第一客户端侧加速设备拦截该第一FTP文件下载请求之后,所述方法还包括 第一客户端侧加速设备在确定自身缓存有所述FTP文件标识表示的FTP文件时,将自身缓存的该FTP文件发送至所述FTP客户端。12.—种文件传输协议FTP文件下载方法,其特征在于,所述方法包括 第二客户端侧加速设备接收第一客户端侧加速设备发送的第四FTP文件下载请求,所述第四FTP文件下载请求中携带所述FTP文件标识; 第二客户...

【专利技术属性】
技术研发人员:翁石强刘建勇
申请(专利权)人:北京星网锐捷网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有1条评论
  • 来自[未知地区] 2014年12月07日 16:16
    上传就是将信息从个人计算机本地计算机传送至中央计算机远程计算机系统上让网络上的人都能看到
    0
1