[发明专利]一种分布式文件系统的文件读系统和方法有效
申请号: | 200710176353.7 | 申请日: | 2007-10-25 |
公开(公告)号: | CN101158965A | 公开(公告)日: | 2008-04-09 |
发明(设计)人: | 刘岳;李剑宇;唐荣峰;熊劲 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;H04L29/06 |
代理公司: | 北京律诚同业知识产权代理有限公司 | 代理人: | 梁挥;陈振 |
地址: | 100080北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 文件系统 文件 系统 方法 | ||
技术领域
本发明涉及计算机存储技术领域,特别是涉及到在机群结构中分布式文件系统的文件读系统和方法。
背景技术
机群是以网络互连并能协同工作的多个独立的计算机(称为机群的结点)构成的并行计算机系统。它的结点和互连网络通常都采用现成的商品(Commodity Off The Shelf,COTS)而非定制,这种硬件平台的开放性在降低系统成本的同时,也使其对商业化软件和开源软件都十分友好。由于机群相对于传统的MPP和大型的SMP而言具有优良的性能价格比,自从上世纪九十年代中期以来,机群的研究、生产和应用都取得了迅猛的发展。在2005年11月中旬发布的第二十六期Top500排行榜上,机群结构的比例达到了72.0%,而MPP和星群结构(Constellations)则分别占20.8%和7.2%,即机群已经成为主流的并行计算机体系结构。
机群往往配备大容量的存储设备,需要对这些设备进行管理,同时,还要为不同机群节点的用户提供良好的文件共享服务。现有技术中,是通过分布式文件系统为机群提供这些服务的。
分布式文件系统将机群中的所有存储设备整合起来,建立一个统一的名字空间(文件和目录的组织结构)。其中,机群中各个节点看到的分布式文件系统中的目录结构是一致的,不同节点的用户可以以透明的方式访问相同的文件。
通常地,分布式文件系统包括客户端节点(客户端)1和存储服务器端节点(存储服务器端)2。分布式文件系统中文件的数据存储在存储服务器中,用户进程通过客户端1访问分布式文件系统中的文件,实际上是访问存储服务器中的数据(读写操作,或称访问进程),包括向存储服务器写入数据(写方法,或称写访问进程)和从存储服务器读取数据(读方法,或称读访问进程)。
在分布式文件系统中,访问存储在存储服务器端2的磁盘中的文件,其一般通过两种方式进行文件访问:1)按文件访问接口进行访问,如网络文件系统(Network File System,NFS);2)按对象访问接口进行访问,对象可以由一个本地文件系统中的文件实现。
在这两类分布式文件系统的访问方式中,分布式文件系统客户端1的一个文件往往对应于存储服务器端2本地文件系统中的一个或者多个(stripe存储模式)文件,即目标文件。这样,分布式文件系统的客户端1读取一个文件时,首先将读请求发送到存储服务器端2;存储服务器端2接收到请求时,从请求中解析出目标文件的名称和要访问的位置信息,然后,直接调用本地文件系统的open操作打开目标文件,再调用read操作从目标文件中读取数据,最后调用close操作关闭目标文件。即服务器端处理客户端1的每一个read操作,都会打开和关闭目标文件。
但是,如图1所示,如在网络文件系统(NFS)中,客户端1顺序地访问一文件,连续发出两次read操作:read1和read2。read1和read2所读取的数据在逻辑上是连续的,它们的数据对应存储服务器端2同一目标文件(target_file)。存储服务器端2接收到read1请求时,将打开目标文件(target_file),初始化预读状态信息,读取read1所请求的数据,最后关闭目标文件。目标文件被关闭时,预读状态信息也随之被销毁。存储服务器在处理read2请求时,还要再打开一次目标文件(target_file),重新初始化预读状态信息,读取read2所请求的数据,最后关闭目标文件,预读状态信息又被销毁。
这样,服务器端处理客户端1的多个连续的读请求时,预读状态信息总是被不断的初始化,不断地销毁,而无法在请求间进行传递。即使客户端进程以顺序的模式访问一个文件,存储服务器端2也无法发挥预读的作用,其严重影响存储服务器的处理性能。
为了解决上述问题,现有技术中,如在网络文件系统(NFS)中,存储服务器端为每个正在被访问的目标文件缓存一个预读描述符。在第一次读取一目标文件时,为其初始化一个预读描述符,并使用它来指导本次读请求所伴随的预读操作。在关闭目标文件后还继续为该文件缓存预读描述符信息。这样,在处理该目标文件的后续读请求时,就可以直接利用缓存的预读信息来指导预读的过程。这样,预读状态信息就可以在请求之间进行传递。客户端进程顺序读取网络文件系统中的文件时,预读描述符缓存机制可以提升文件系统的读性能。
另一种方法是,在存储服务器端为每个目标文件缓存了打开文件描述符fd。由fd可以检索到打开文件的file结构,file结构中维护了预读描述符信息,它是通过缓存fd来缓存预读描述符信息,从而提升文件系统的读性能。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710176353.7/2.html,转载请声明来源钻瓜专利网。