一种基于cifs协议的加速方法及系统的制作方法

文档序号:9219819阅读:453来源:国知局
一种基于cifs协议的加速方法及系统的制作方法
【技术领域】
[0001]本发明涉及网络数据透明传输加速技术,特别是涉及一种基于CIFS协议的加速方法及系统。
【背景技术】
[0002]CIFS(Common Internet File System,通用网络文件系统)是微软的 Windows 主机间通过网络进行文件共享的服务,通常称之为网上邻居。一般来说,CIFS可以看做是应用程序协议,如文件传输协议和超文本传输协议的一个实现。CIFS使用客户端/服务器模式。具体地,客户端请求远在服务器上的服务器程序为它提供服务。服务器获得请求并返回响应,使得位于客户端的用户可以像访问本地文件一样读写远程主机的文件,并且能够和其他用户进行文件共享和协作。
[0003]CIFS 是公共的或开放的 SMB (Server Message Block)协议版本,并由 Microsoft使用。SMB协议是局域网上用于服务器文件访问和打印的协议。CIFS协议与SMB协议一样,在高层运行,TCP/IP协议运行在底层。CIFS协议的头格式如图1所示。
[0004]NFS (Network File System,网络文件系统)是FreeBSD支持的文件系统中的一种,允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
[0005]在众多协议中,CIFS协议与NFS (Network File System,网络文件系统)最为相像,但还是存在以下差异:
[0006](I)CIFS为面向网络连接的共享协议,对网络传输的可靠性要求高,常使用TCP/IP协议;而NFS是独立于传输的,可使用TCP协议或UDP协议;
[0007](2) NFS要求客户端必须安装专用软件;而CIFS集成在操作系统内部,无需额外添加软件;
[0008](3)NFS属无状态协议,而CIFS属有状态协议;NFS受故障影响小,可以自恢复交互过程,CIFS则无法做到;CIFS的传输效率优于NFS,没用太多冗余信息传送;
[0009](4) NFS和CIFS都需要进行文件格式转换;NFS保留了 unix的文件格式特性,如所有人、组等等;而CIFS则完全按照winows的风格。
[0010]参照图2和图3,现有技术中采用透明加速对数据进行处理的流程如下:
[0011]I)客户端I向作为边缘节点的加速服务器2上传数据;
[0012]2)加速服务器2使数据经过应用加速网络3传输到离源站最近的加速服务器3,再由加速服务器3传输至源站4 ;
[0013]3)源站4再发送响应数据给离源站最近的加速服务器3,并将数据按照原路返回至客户端I。
[0014]然而,上述的处理方式存在以下弊端:
[0015](I)客户端需要多次上传或者下载同一个文件,由于应用加速网络不解析应用层协议,只进行透明传输,故每次都需要传输完整的数据,传输时间长;
[0016](2)客户端每次仅能请求16K的数据块,需请求多次,并且每个数据块都需要确认,来回时间消耗过多;
[0017](3)现有的CIFS协议应用场景主要是在文件共享上,意味着大部分的请求只是请求文件而已,并且文件一般是未被改动过的,或者改动频率很小,从而无法充分利用缓存的优势来增加系统的响应速度,并且在多用户同时访问同一个文件的情况下容易产生卡住的现象。

【发明内容】

[0018]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于CIFS协议的加速方法及系统,通过提取客户端请求并修改请求数据的大小并发往下一节点,并根据CIFS协议,在客户端请求数据的时候指定请求数据大小和数据偏移量,从而通过增大请求大小来实现预取功能,减少客户端与源站间直接数据传输的来回次数。
[0019]为实现上述目的及其他相关目的,本发明提供一种基于CIFS协议的加速方法,用于实现客户端与源站间的数据传输;其特征在于:包括以下步骤:步骤S1、加速节点接收客户端发送来的文件请求;步骤S2、判断本地缓存文件中是否存在所要的文件数据;若是,转入步骤S3 ;若否,转入步骤S5 ;步骤S3、判断本地缓存文件是否过期;若否,转入步骤S4 ;若是,转入步骤S7 ;步骤S4、从本地缓存文件中读取所要的文件数据,转入步骤S9 ;步骤S5、判断内存缓存块中是否存在所要的文件数据;若是,转入步骤S6 ;若否,转入步骤S7 ;步骤S6、从内存缓存块中读取所要的文件数据,转入步骤S9;步骤S7、增大请求大小,并转发至下一节点直到源站;步骤S8、接收源站的响应数据,并更新本地缓存文件,将多余的数据存储在内存缓存块中;步骤S9、响应原始请求大小的数据给客户端。
[0020]根据上述的基于CIFS协议的加速方法,其中:所述步骤S3中,所述加速节点发送请求到源站来获取所要的文件的文件属性信息,并根据所述文件属性信息来判断本地缓存文件是否过期。
[0021]根据上述的基于CIFS协议的加速方法,其中:所述步骤S7中,将请求大小由16K增大为64K。
[0022]根据上述的基于CIFS协议的加速方法,其中:客户端进行数据请求时,在边缘节点处进行数据压缩,在离源站最近节点处进行数据解压。
[0023]根据上述的基于CIFS协议的加速方法,其中:客户端接收数据时,在离源站最近节点处进行数据压缩,在边缘节点处进行数据解压。
[0024]同时,本发明还提供一种基于CIFS协议的加速系统,用于实现客户端与源站间的数据传输,包括:
[0025]请求接收模块,用于接收客户端发送来的文件请求;
[0026]第一判断模块,用于判断本地缓存文件中是否存在所要的文件数据;
[0027]第二判断模块,用于在本地缓存文件中存在所要的文件数据的情况下,判断本地缓存文件是否过期;
[0028]第一数据读取模块,用于在本地缓存文件中存在所要的文件数据且该文件数据未过期的情况下,从本地缓存文件中读取所要的文件数据;
[0029]第三判断模块,用于在本地缓存文件中不存在所要的文件数据的情况下,判断内存缓存块中是否存在所要的文件数据;
[0030]第二数据读取模块,用于在内存缓存块中存在所要的文件数据的情况下,从内存缓存块中读取所要的文件数据;
[0031]请求增大传输模块,用于在本地缓存文件过期或内存缓存块中不存在所要的文件数据的情况下,增大请求大小,并转发至下一节点直到源站;
[0032]数据处理模块,用于接收源站的响应数据,并更新本地缓存文件,将多余的数据存储在内存缓存块中;
[0033]数据响应模块,用于根据第一数据读取模块、第二数据读取模块或数据处理模块所获取的数据,响应原始请求大小的数据给客户端。
[0034]根据上述的基于CIFS协议的加速系统,其中:所述第二判断模块通过发送请求到源站来获取所要的文件的文件属性信息,并根据所述文件属性信息来判断本地缓存文件是否过期。
[0035]根据上述的基于CIFS协议的加速系统,其中:所述请求增大传输模块将请求大小由16K增大为64K。
[0036]根据上述的基于CIFS协议的加速系统,其中:还包括数据压缩模块和数据解压模块;客户端进行数据请求时,所述数据压缩模块在边
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1