[发明专利]机群文件系统中通过readdir++预取文件布局的系统及其方法有效
申请号: | 201410076739.0 | 申请日: | 2014-03-04 |
公开(公告)号: | CN103902660B | 公开(公告)日: | 2017-04-12 |
发明(设计)人: | 杨洪章;张军伟;刘振军;许鲁 | 申请(专利权)人: | 中国科学院计算技术研究所;天津中科蓝鲸信息技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;H04L29/06 |
代理公司: | 北京律诚同业知识产权代理有限公司11006 | 代理人: | 祁建国,梁挥 |
地址: | 100190 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 机群 文件系统 通过 readdir 文件 布局 系统 及其 方法 | ||
技术领域
本发明涉及机群文件系统中元数据预取机制,特别涉及一种机群文件系统中通过readdir++预取文件布局的系统及其方法。
背景技术
随着大数据时代的来临,全球数据信息量迅猛增长。在电子商务、社交网络、科学计算等领域中存在越来越多的小尺寸的文件。因此,高效地管理“海量小文件”,提供低延时的小文件访问服务,是摆在分布式文件系统面前的新课题。
近年来,元数据与数据服务分离结构已经成为分布式文件系统的主流趋势。该分离结构的好处在于:客户端采用带外方式直接访问存储设备,对于大文件的访问的能够获取较高的访问性能。
但是,小文件访问的情况则完全不同。对于小文件,数据访问所占的比率少,元数据访问所占的比率大。而客户端访问文件数据时,都需要首先通过网络交互(RPC)同步获取文件布局(layout)后才能进行,导致单个小文件操作延迟过大。特别是在连续只读访问同一目录下的大量小文件时,客户端需要频繁地对每个小文件单独进行一次同步的文件布局元数据获取访问,这对于系统性能造成了很大的影响。
读目录(readdir)是文件系统中读取目录的操作,目的是获取目录中所有目录项(entry)的名称(name)、类型(type)、索引节点号(ino)等基本信息。
目录授权机制(DELEGATION)是服务器向客户端赋予的一种可召回的保证。在赋予授权至召回授权期间,服务器能够保证其他客户端对该目录的操作不会造成对文件系统一致性语义的冲突。其本质就是服务器给予客户端在本地处理读目录、查找(lookup)、打开(open)、关闭(close)、读(read)、写(write)的能力,而不需要与服务器交互。如果没有目录授权机制,则以上操作均需要与服务器进行交互才能完成,其时间开销很大。
目前的并行网络文件系统(pNFS)采用readdir+技术,该技术是在读目录和目录授权机制基础上的一次改进。除了获取名称、类型、索引节点号外,还额外预取目录下全部目录项的文件句柄(fh)和文件属性(fattr),这两项是至关重要的元数据信息。之后,若客户端需要访问该目录下文件的元数据信息,无须发送获取属性和获取句柄的网络交互信息请求,直接从本地缓存中获取这些元数据信息即可,减少了与元数据服务器进行的网络交互。
但是,在基于块接口的分布式文件系统中,客户端后续的读取访问操作需要的元数据信息不仅仅是文件属性和文件句柄,还需要文件逻辑位置对应的数据卷物理块号,即文件布局。pNFS使用的readdir+技术显然无法有效减少文件布局获取的网络交互信息开销。
发明内容
为了解决上述问题,本发明的目的在于,提供一种机群文件系统中通过readdir++预取文件布局的系统及其方法,能够减少读取文件时获取文件布局的网络交互开销,可以大幅度地提升海量小文件的读取访问性能。
本发明的readdir++技术是基于readdir+技术的一次改进,在读目录时,不仅预取文件属性、文件句柄等,而且预取文件布局,能够避免获取文件布局的一次网络交互操作。
为实现上述目的,本发明提出一种机群文件系统中通过readdir++预取文件布局的系统,用于预取包括文件布局在内的海量小文件的元数据信息,以便快速读取海量小文件,其特征在于,该系统包括:
客户端模块(1),用于从服务器模块(2)获取或归还读目录授权;当获得该读目录授权后,向该服务器模块(2)发送读目录请求;将该服务器模块(2)发送的含有文件布局的页面存储于本地缓存中,该客户端模块(1)读取该目录下的文件时,直接使用本地缓存中存储的该文件的文件布局;
该服务器模块(2),存储有小文件的元数据信息,用于向该客户端模块(1)授予或召回该读目录授权;当接收到该读目录请求时,还将包括文件布局在内的元数据信息封装于目录项中,并将该目录项按照顺序封装在页面中,将该页面发送给该客户端模块(1)。
本发明的机群文件系统中通过readdir++预取文件布局的系统,其特征在于,该客户端模块(1)具体包括:
客户端发送网络交互子模块(11),用于向该服务器模块发送网络交互信息;
客户端接收网络交互子模块(12),用于接收该服务器模块发送的网络交互信息;
客户端页面缓存子模块(13),用于存放该服务器模块发送的页面;
客户端目录缓存项与索引节点的缓存子模块(14),用于存放目录缓存项和索引节点;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所;天津中科蓝鲸信息技术有限公司,未经中国科学院计算技术研究所;天津中科蓝鲸信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410076739.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种读优化的内存数据库T树索引结构的方法
- 下一篇:聚类方法、装置及终端设备