文件下载的方法、装置及系统制造方法及图纸

技术编号:4270733 阅读:247 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种文件下载的方法、装置及系统,应用于客户端-代理-服务器模式的传输系统,在所述服务器中设置监听客户端,该方法包括以下步骤:代理接收到客户端的文件下载请求后,向监听客户端发送文件内容检查请求;所述监听客户端对待下载的文件进行内容检查,向所述代理返回检查结果;所述代理根据所述检查结果执行后续的数据转发。可见,代理无需对文件内容进行检查,因此不必为此缓存大量数据,仅需根据文件内容检查结果执行具体的数据转发即可,因此对代理设备配置的内存容量要求较低,无需额外增加内存用于缓存文件,同时也可明显提高代理的并发性能,以及缩短客户端的响应延迟。

【技术实现步骤摘要】

本专利技术涉及通信
,尤其涉及客户端-代理-服务器模式的传输系统中的文件下载方法、装置及系统。
技术介绍
参见图l,为客户端-代理-服务器模式的传输系统示意图,目前涉及客户端-代理-服务器模式的传输系统可通过运行SMB(Server Message Block,服务器信息块)/HTTP(Hypertext Transfer Protocol,超文本传输协议)/FTP(File TransferProtocol,文件传输协议)/SMTP (Simple Mail TransferProtocol,简单邮件传输协议)/P0P3(Post Office Protocol 3,邮局协议的第3个版本)等协议进行通信。 作为部署在网络客户端和服务器之间的代理,往往具备以下几个特点 >相对客户端来说,代理是服务器,而相对服务器来说,代理又是客户端,即代理同时充当虚拟服务器和虚拟客户端两个角色; ^在客户端和服务器之间部署代理后,原来的一个TCP连接实际上变成两个TCP连接客户端〈——> 代理、代理〈——> 服务器; >客户端与服务器之间的所有数据(根据具体应用协议进行封装)全部通过代理,那么代理可以根据需要对这些数据进行检查和过滤; >与网络层设备(如路由器、防火墙等)相比,部署代理后,将对网络通信性能产生较大影响。 对于一般的数据通信,增加代理之后的网络环境可正常工作,但是代理中如果增加对文件进行内容检查和过滤,如文件病毒扫描、文件MD5码(Message-Digest Algorithm5,信息_摘要算法5)检查功能,将对系统的性能产生很大影响,且随着文件大小的增加,其网络性会明显下降。影响在SMB协议的代理中更加突出,因此下面以SMB协议为例进行分析。 SMB协议用于网络中计算机之间共享文件、共享打印机、共享串口等用途,之所以能够在windows的网络邻居下访问一个域内的其他机器,就是通过这个协议实现的。SMB服务器负责通过网络提供可用的共享资源给SMB客户端,服务器和客户机之间通过TCP (Transmission Control Protocol,传输控制协议)/IP (Internet Protocol,网间互连协议)协议、或者IPX(InternetPacket Exchange protocol,互联网分组交换协议)协议、或者是NetBEUI (NetBIOS Extend User Interface, NetBIOS用户扩展接口协议)进行连接。 一旦服务器和客户机之间建立了一个连接,客户机就可以通过向服务器发送命令完成共享操作,比如读,写,检索等。 与HTTP、 FTP等应用协议不同,利用SMB协议客户端从服务器下载文件时,并不采用如HTTP/FTP等协议的模式, 一个文件一次请求+响应全部,而是采用一个文件由多次请求+多次响应的模式。 如图3所示,客户端利用SMB协议下载文件时,总是把整个文件分成N个数据块,然后依次提交下载N个数据块的请求,具体下载过程是 (1)客户端通过已建立好的TCP连接提交下载数据块l请求; (2)代理收到数据块l下载请求,并转发该请求给服务器; (3)服务器收到请求,响应该请求,并将数据块1发送给代理; (4)代理收到来自服务器响应的数据块l,进行内容检查和过滤,再转发给客户丄山顺; (5)客户端收到数据块1; (6)按照以上1-5个步骤,客户端下载第2至N个数据块; 从以上流程中可以明确当代理收到来自服务器的第一个数据块的响应时,代理 在决定是否转发给客户端前,如果要对整个文件的内容进行检查和过滤,则必须先把整个 文件的内容下载到代理中,检查和过滤后才能决定是否可以将第一个文件数据块转发给客 户端。由此,将严重影响客户端的网络延时,且如果内容检查完该文件不允许下载,那么整 个文件从服务器到代理的下载过程全部浪费。更重要的是,由于SMB协议中,同时下载多个 文件都是共用一个TCP连接,当代理正在缓存文件时,可能导致其他文件的下载请求无法 得到响应,这样通过一个TCP连接多个文件并发下载的应用就变成一个串行下载多个文件 的过程了。 可见,基于这种多请求模式的SMB协议代理,代理转发来自服务器响应的数据前, 必须先检查该文件内容,并依据检查结果决定是否允许转发的应用中,会产生以下几个问 题 1)代理为了准确判断当前请求的数据块是否允许转发,则必须将整个文件的内容预先缓存到代理,这就要求代理设备中必须配置足够大的缓存,尤其是高并发环境下大文件的传输将对代理设备的缓存要求很高,不仅容量大,而且处理速度也要快; 2)为了实现高速缓存,一般都采用内存,但是实际情况下,代理设备内存的配置总是有限的,这将对代理的并发连接数量产生极大制约,由此引发代理的性能将处于一个很低的水平; 3)如果对缓存文件的内容检查后不允许转发,则代理与服务器之间的文件下载流量就完全损失,极端情况下,整个SMB下载过程的网络带宽将浪费一半; 4)根据SMB协议原理,在一个TCP连接中,可能同时发起下载多个文件的请求,在这种情况下,代理一方面要缓存来自服务器的文件,另一方面要求响应来自客户端的其他请求,这将导致代理的实际响应延迟很大,甚至实际环境中这样的代理系统可能基本上不具备可用性。
技术实现思路
本专利技术提供一种文件下载方法、装置及系统,以解决现有方案由于在代理对文件内容进行检查导致的需缓存文件以及效率低下的问题。 为此,本专利技术实施例采用如下技术方案 —种文件下载的方法,应用于客户端_代理_服务器模式的传输系统,在所述服务 器中设置监听客户端,该方法包括以下步骤 代理接收到客户端的文件下载请求后,向监听客户端发送文件内容检查请求;5 所述监听客户端对待下载的文件进行内容检查,向所述代理返回检查结果; 所述代理根据所述检查结果执行后续的数据转发。 其中,所述代理根据所述检查结果执行数据转发包括 所述代理判断检查结果; 若确定检查通过,将所述文件下载请求转发给服务器,并将服务器返回的数据发 送给客户端; 若确定检查未通过,丢弃客户端的文件下载请求,并向客户端反馈错误信息。 所述文件内容检查请求包括文件检查参数以及文件相对路径。 其中,所述监听客户端根据所述文件内容检查请求中的文件相对路径,结合预先 配置的文件绝对路径,查找到文件,并按照所述文件内容检查请求中的文件检查参数,对文 件进行相应类型的内容检查。 在代理向监听客户端发送文件内容检查请求之前,所述方法还包括 所述代理和所述监听客户端之间进行身份认证。 —种文件下载的代理,包括客户端通信单元和服务器通信单元,还包括 监听客户端通信单元,用于在所述客户端通信单元接收到客户端的文件下载请求后,向监听客户端发送文件内容检查请求,并从监听客户端接收检查结果; 检查结果判断单元,用于分析判断监听客户端返回的检查结果; 数据转发执行单元,用于根据所述检查结果判断单元的分析判断,确定后续的数据转发。 其中,所述数据转发执行单元在所述检查结果判断单元确定检查通过时,控制所 述服务器通信单元将文件下载请求转发给服务器并从服务器接收数据,并控制所述客户端 通信单元将从服务器接收到的数据发送给客户端; 所述数据本文档来自技高网
...

【技术保护点】
一种文件下载的方法,应用于客户端-代理-服务器模式的传输系统,其特征在于,在所述服务器中设置监听客户端,该方法包括以下步骤:代理接收到客户端的文件下载请求后,向监听客户端发送文件内容检查请求;所述监听客户端对待下载的文件进行内容检查,向所述代理返回检查结果;所述代理根据所述检查结果执行后续的数据转发。

【技术特征摘要】
一种文件下载的方法,应用于客户端-代理-服务器模式的传输系统,其特征在于,在所述服务器中设置监听客户端,该方法包括以下步骤代理接收到客户端的文件下载请求后,向监听客户端发送文件内容检查请求;所述监听客户端对待下载的文件进行内容检查,向所述代理返回检查结果;所述代理根据所述检查结果执行后续的数据转发。2. 根据权利要求1所述方法,其特征在于,所述代理根据所述检查结果执行数据转发包括所述代理判断检查结果;若确定检查通过,将所述文件下载请求转发给服务器,并将服务器返回的数据发送给客户端;若确定检查未通过,丢弃客户端的文件下载请求,并向客户端反馈错误信息。3. 根据权利要求1或2所述方法,其特征在于,所述文件内容检查请求包括文件检查参数以及文件相对路径。4. 根据权利要求3所述方法,其特征在于,所述监听客户端根据所述文件内容检查请求中的文件相对路径,结合预先配置的文件绝对路径,查找到文件,并按照所述文件内容检查请求中的文件检查参数,对文件进行相应类型的内容检查。5. 根据权利要求1或2所述方法,其特征在于,在代理向监听客户端发送文件内容检查请求之前,所述方法还包括所述代理和所述监听客户端之间进行身份认证。6. —种文件下载的代理,包括客户端通信单元和服务器通信单元,其特征在于,还包括监听客户端通信单元,用于在所述客户端通信单元接收到客户端的文件下载请求后,向监听客户端发送文件内容检查请求,并从监听客户端接收检查结果;检查结果判断单元,用于分析判断监听客户端返回的检查结果;数据转发执行单元,用于根据所述检查结果判断单元的分析判断,确定后续的数据转发。7. ...

【专利技术属性】
技术研发人员:周向军
申请(专利权)人:联想网御科技北京有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1