传输网络文件的方法和装置的制作方法

文档序号:7740581阅读:260来源:国知局
专利名称:传输网络文件的方法和装置的制作方法
技术领域
本发明涉及计算机领域,尤其涉及一种传输网络文件的方法和装置。
背景技术
NFS (Network File System,网络文件系统)是能够达到不同操作系统间文件共享
的RPC(Remote Procedure Call远程过程调用)服务。当使用者需要远端文件时通过把远
端文件系统挂接在自己的文件系统之下,与使用本地机器上的文件没什么两样。 NFS协议适合于在不同的机器、操作系统、网络体系以及传输协议之间的应用。这
种广泛的适应性是通过使用建立在外部数据描述(XDR)之上的远程过程调用(RPC)原语得到的。 NFS包括NFS Client端、NFS Server端,即采用Client-Server体系结构。其中 Client方面主要负责处理用户对远程文件的操作请求,并把请求的内容按一定的包格式从 网络发给文件所在的Server。而Server则接收Client方面的请求,调用本机的VFS的函 数进行文件的实际操作,并把结果按一定格式返回给Client。而Client在得到Serve的返 回结果后,把返回结果发送给用户。 在实际应用中,传统的TCP/IP协议和低下的磁盘性能不可避免的给NFS带来存储 性能的局限,使得NFS只适合应用在较小的网络或者局域网内。如果NFS应用到企业网络, 由于企业网络的带宽和磁盘性能,很可能会出现当多台客户端访问NAS文件系统时,NFS的 性能大大下降,最终不能满足用户的需求。

发明内容
本发明提供一种传输网络文件的方法和装置,能够提高网络文件的传输速率。
为达到上述发明目的,本发明提供了如下技术方案 —种缓存存储集群,所述集群的内存中缓存有多个网络文件,用于在客户端和网 络文件服务器之间进行信息交互。 进一步的,所述集群还具有如下特点所述集群包括多个配置有大内存的缓存服 务器,所述缓存服务器之间通过高速网络相连。 进一步的,所述集群还具有如下特点在接收所述客户端发送的网络文件的读取 请求时,所述缓存服务器有如下处理方式 在本地内存缓存有所述网络文件时,从本地内存获取所述网络文件并发送给所述 客户端; 在本地内存没有所述网络文件,但所述集群中其他缓存服务器的内存有时,通知 所述集群中缓存有所述网络文件的目标缓存服务器发送所述网络文件 在所述集群的内存没有所述网络文件时,从所述网络文件服务器获取该网络文件 并发送给所述客户端。
进一步的,所述集群还具有如下特点所述缓存服务器采用如下方式确定所述集群中其他服务器的内存是否有所述网络文件 查询所述集群中其他服务器周期性上报的记录有本地缓存的网络文件的信息;或 者, 通过向所述集群中其他服务器查询是否缓存有所述网络文件,接收所述集群中其 他服务器返回的查询响应。 进一步的,所述集群还具有如下特点所述缓存服务器中缓存的网络文件包括以 下至少一种数据量小的网络文件、经常访问的网络文件、最近写入的网络文件、最近读取 的网络文件。 —种传输网络文件的方法,包括 缓存存储集群接收客户端读取网络文件的请求,并根据所述集群的内存中预先缓 存的网络文件,处理所述客户端的请求。 进一步的,所述方法还具有如下特点所述缓存存储集群包括多个配置有大内存 的缓存服务器,所述缓存服务器之间通过高速网络相连。 进一步的,所述方法还具有如下特点在接收所述客户端发送的网络文件的读取 请求时,所述缓存服务器有如下处理方式 在本地内存缓存有所述网络文件时,从本地内存获取所述网络文件并发送给所述 客户端; 在本地内存没有所述网络文件,但所述集群中其他缓存服务器的内存有时,通知 所述集群中缓存有所述网络文件的目标缓存服务器发送所述网络文件 在所述集群的内存没有所述网络文件时,从所述网络文件服务器获取该网络文件 并发送给所述客户端。 进一步的,所述方法还具有如下特点所述缓存服务器采用如下方式确定所述集 群中其他服务器的内存是否有所述网络文件 查询所述集群中其他服务器周期性上报的记录有本地缓存的网络文件的信息;或者,
通过向所述集群中其他服务器查询是否缓存有所述网络文件,接收所述集群中其 他服务器返回的查询响应。 进一步的,所述方法还具有如下特点所述缓存服务器中缓存的网络文件包括以 下至少一种数据量小的网络文件、经常访问的网络文件、最近写入的网络文件、最近读取 的网络文件。 本发明提供的技术方案,采用内存的读/写速率高的特点,缓存存储集群的内存 预先存储多个网络文件,为客户端提供网络文件,提高了网络文件的传输速率,同时减少了 客户端对网络文件服务器的访问次数。


图1为本发明提供的网络文件系统的结构示意图;
图2为本发明提供一种传输网络文件的方法流程图。
具体实施例方式
下面结合附图对本发明实施例提供的技术方案作进一步介绍。
如图1所示,本发明提供一种网络文件系统,包括客户端、网络文件服务器和缓存 存储集群,其中所述缓存存储集群的内存中缓存有多个网络文件,并在所述客户端和所述 网络文件服务器之间进行信息交互。 所述缓存存储集群包括多个缓存服务器,每个缓存服务器配置有大内存,且服务 器之间通过高速网络相连,如40Gbit/s的高速infinband网络相连。所述集群中的缓存服 务器预先从网络文件服务器获取多个网络文件,其中所述缓存服务器获取的文件为可以是 网络文件服务器中特定文件夹的文件,其中所述网络文件还具有如下特征数据量小、经常 访问、最近写入、最近读取。 本发明提供的技术方案,采用内存的读/写速率高的特点,缓存存储集群的内存 预先存储多个网络文件,为客户端提供网络文件,提高了网络文件的传输速率,同时减少了 客户端对网络文件服务器的访问次数。 如图2所示,本发明提供一种传输网络文件的方法,包括 步骤201、所述缓存存储集群接收客户端读取网络文件的请求; 步骤202 、所述缓存存储集群根据所述集群的内存中预先缓存的网络文件,处理所
述客户端的请求。 下面对客户端读取网络数据的过程进行说明 当接收到所述客户端发送的网络文件读取请求时,判断本地内存是否缓存有用户
所需的网络文件,如果有,直接从本服务器的内存提取该网络文件,并发送给所述客户端,
减少了客户端访问网络文件服务器的次数,降低了网络文件服务器的处理压力。 如果本服务器内存没有该网络文件,而所述其他服务器有该网络文件,则缓存有
该网络文件的缓存服务器将该网络文件发送给该客户端; 如果所述集群中所有服务器均没有所述网络文件,则本服务器向所述网络文件服 务器获取该网络文件,再向该客户端发送该网络文件。 在用户得到所述网络文件后,如果用户通过所述客户端在本服务器对网络文件进 行修改,则所述本服务器获取当前网络文件系统的磁盘性能,如当前的读/写速率,根据当 前的磁盘性能,将用户写入的信息发送给所述网络文件服务器。 上述过程中,如果本服务器内存没有该网络文件,而所述其他服务器有该网络文
件,下面介绍如何实现缓存有该网络文件的缓存服务器将该网络文件发送给该客户端
实施例一 在本服务器从所述网络文件服务器获取网络文件后,本服务器生成用于记录本服
务器内存中网络文件的网络文件列表,其中所述网络文件列表包括网络文件的名称和网络
文件的地址;向该服务器集群中其他服务器注册该网络文件列表,使其他缓存服务器获知
本服务器存储有哪些网络文件。当本服务器内存中的网络文件发生变化时,如增加、删除网
络文件,本服务器需要将网络文件的变化信息发送给其他服务器。同理该集群中其他服务
器操作同上,从而本服务器获知到该集群中其他服务器都存储有哪些网络文件。 当本服务器没有用户所需的网络文件时,本服务器根据所述客户端访问时的网络
文件名称和该网络文件的存储地址,从本地获取的网络文件列表查询其他服务器是否有该
网络文件的目标缓存服务器,如果有该网络文件,通知目标缓存服务器向该客户端发送该
网络文件。
所述目标缓存服务器在接收到所述本服务器发送的通知后,从内存中提取该网络
文件,并发送给所述客户端。 实施例二 当本服务器没有用户所需的网络文件时,本服务器向所述集群中其他服务器查询 是否有该网络文件,例如,发送查询请求,包括该网络文件的名称和存储地址。如果所述集 群中其他服务器有该网络文件,则通知有该网络文件,否则,通知没有该网络文件。
其中所述集群中具有该网络文件的目标缓存服务器可以在接收到该查询请求后, 立即向所述客户端发送该网络文件。 如果有所述集群中具有该网络文件的目标缓存服务器为多个,采用上述手段发送 网络文件,会出现客户端接收到多个相同的网络文件。为了避免上述现象的出现,本发明采 用如下技术方案所述集群中其他服务器在收到查询请求后,只发送查询结果。在本服务器 接收到其他服务器返回的查询结果后,从多个目标缓存服务器确定一个目标缓存服务器, 通知该确定的目标缓存服务器发送该网络文件,实现只有一个目标缓存服务器向该客户端 发送该网络文件。 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤是可以通过程 序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在 执行时,包括方法实施例的步骤之一或其组合。 另外,在本发明各个实施例中的各功能单元可以采用硬件的形式实现,也可以采 用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立 的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。 以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何 熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵 盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。
权利要求
一种缓存存储集群,其特征在于,所述集群的内存中缓存有多个网络文件,用于在客户端和网络文件服务器之间进行信息交互。
2. 根据权利要求1所述的集群,其特征在于,所述集群包括多个配置有大内存的缓存 服务器,所述缓存服务器之间通过高速网络相连。
3. 根据权利要求1或2所述的集群,其特征在于,在接收所述客户端发送的网络文件的 读取请求时,所述缓存服务器有如下处理方式在本地内存缓存有所述网络文件时,从本地内存获取所述网络文件并发送给所述客户丄山顺;在本地内存没有所述网络文件,但所述集群中其他缓存服务器的内存有时,通知所述 集群中缓存有所述网络文件的目标缓存服务器发送所述网络文件在所述集群的内存没有所述网络文件时,从所述网络文件服务器获取该网络文件并发 送给所述客户端。
4. 根据权利要求3所述的集群,其特征在于,所述缓存服务器采用如下方式确定所述集群中其他服务器的内存是否有所述网络文件查询所述集群中其他服务器周期性上报的记录有本地缓存的网络文件的信息;或者, 通过向所述集群中其他服务器查询是否缓存有所述网络文件,接收所述集群中其他服务器返回的查询响应。
5. 根据权利要求4所述的集群,其特征在于,所述缓存服务器中缓存的网络文件包括 以下至少一种数据量小的网络文件、经常访问的网络文件、最近写入的网络文件、最近读 取的网络文件。
6. —种传输网络文件的方法,其特征在于,包括缓存存储集群接收客户端读取网络文件的请求,并根据所述集群的内存中预先缓存的 网络文件,处理所述客户端的请求。
7. 根据权利要求6所述的方法,其特征在于,所述缓存存储集群包括多个配置有大内 存的缓存服务器,所述缓存服务器之间通过高速网络相连。
8. 根据权利要求6或7所述的方法,其特征在于,在接收所述客户端发送的网络文件的 读取请求时,所述缓存服务器有如下处理方式在本地内存缓存有所述网络文件时,从本地内存获取所述网络文件并发送给所述客户丄山顺;在本地内存没有所述网络文件,但所述集群中其他缓存服务器的内存有时,通知所述 集群中缓存有所述网络文件的目标缓存服务器发送所述网络文件在所述集群的内存没有所述网络文件时,从所述网络文件服务器获取该网络文件并发 送给所述客户端。
9. 根据权利要求8所述的方法,其特征在于,所述缓存服务器采用如下方式确定所述集群中其他服务器的内存是否有所述网络文件查询所述集群中其他服务器周期性上报的记录有本地缓存的网络文件的信息;或者, 通过向所述集群中其他服务器查询是否缓存有所述网络文件,接收所述集群中其他服务器返回的查询响应。
10. 根据权利要求9所述的方法,其特征在于,所述缓存服务器中缓存的网络文件包括以下至少一种数据量小的网络文件、经常访问的网络文件、最近写入的网络文件、最近读 取的网络文件。
全文摘要
本发明提供一种传输网络文件的方法和装置,涉及计算机领域;为解决现有技术中网络文件的传输速率低的问题而发明。所述方法包括缓存存储集群接收客户端读取网络文件的请求,并根据所述集群的内存中预先缓存的网络文件,处理所述客户端的请求。本发明提供的技术方案可应用于数据通信领域。
文档编号H04L29/06GK101764848SQ20101003402
公开日2010年6月30日 申请日期2010年1月12日 优先权日2010年1月12日
发明者苑鸿剑 申请人:浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1