一种基于对象分布式文件系统的存储缓存方法

文档序号:6441368阅读:163来源:国知局
专利名称:一种基于对象分布式文件系统的存储缓存方法
技术领域
本发明涉及分布式文件系统的存储缓存实现方法,尤其涉及在异构存储环境下基于对象的分布式文件系统的存储缓存实现方法。
背景技术
现今信息社会中越来越多的分布式存储文件系统的存储容量已上升到PB级别, 由于基于对象的存储系统在进行海量存储时表现出更好的性能而越来越受到存储领域的关注。它实现了数据对象的元数据和数据内容的分离管理,其系统架构主要由客户机、元数据服务器和基于对象的基于对象存储设备组成。元数据服务器负责数据对象的元数据管理和其他存储管理,基于对象的存储设备负责底层数据实际块的部署和存取,它维持着数据实际块和数据对象的逻辑联系,并向上层客户机提供数据对象的操作接口。
在基于对象存储系统中,存储在基于对象存储设备中的数据内容往往是存储系统中信息量最大的部分。所以,对于数据内容的网络传输速率快慢直接影响存储系统的网络开销及其I/O性能.在用户访问模式中,会出现访问频率较高的热点对象,此时,提高热点对象数据内容的访问速率,对提高文件系统的性能非常重要.而在真实生产环境中,大多存储集群是异构存储集群,其中每台设备的性能是存在性能差异的,带宽限制、主存大小、 CPU主频和磁盘读写速度的不同都是造成这个现象的原因,而最终这些差异都会导致传输延迟的不同.如果数据访问中的热点对象(特别是大文件)被部署到传输延迟较高的设备中,那么客户机在对热点对象进行操作时,就会连接传输延迟较高的设备,造成网络传输开销过高和整体系统I/O性能低下的结果。
另一方面,为了提高整体系统的I/O性能,网络缓存技术是主要手段之一。现在主流的网络缓存技术主要有客户机缓存、近客户机缓存和存储缓存.客户机缓存把缓存部署在客户机本地磁盘中,这样可以避免用户二次访问时的网络传输开销。客户机缓存把缓存部署在离客户机较近或者与客户机传输速率很高的代理服务器上,这样客户机二次访问时直接连接到高传输速率的代理服务器上,可以避免客户机与服务器之间的网络传输开销.而存储缓存是把热点对象部署在存储集群中一些传输速率较高的代理服务器上,提高集群中对热点对象操作时的传输效率。存储缓存能够对全体用户而非部分用户的数据访问特征进行分析,根据访问频率来缓存全体用户访问的热点对象,从而提高这些热点对象的网络传输速率。发明内容
针对在异构存储环境中基于对象分布式文件系统所产生的高频访问热点对象连接传输延迟较高设备的网络传输开销过高和整体I/O性能低下的问题,本发明结合对象存储系统的数据访问方式及其特点,提出一种存储缓存的实现方法,它把热点文件部署到传输延迟比较低的设备中进行缓存。
本发明以基于对象存储系统的架构为基础,由客户端、元数据服务器集群和存储集群构成。在存储集群中,把一些传输速率较高的存储设备部署为代理服务器,对数据对象进行缓存。存储集群中的监视器通过维护设备信息表来维持整体存储集群的部署调度。设备信息表记录着每台设备的存储信息,包括存储容量、所在分组、存储的数据对象的i节点列表、目录信息和该设备的传输延迟等等。设备的信息表更新通过时间戳机制来完成,监视器按照最新时间戳的设备信息表来调度存储集群。
基于以上存储缓存的系统架构,本发明还包含了存储集群服务器中代理服务器和普通服务器中高频访问热点对象的置换策略。其核心思想是把近段时间内用户访问频率较高的数据对象放入缓存,并且还要考虑到代理服务器的存储容量空间的有限性,即在代理服务器剩余空间不足的情况下替入的对象占用空间应该比替出的对象要小。考虑每个数据对象的两个参数对象的访问频率(以下简称f)和对象的大小(以下简称S),本发明针对以上原因的基于数据对象访问频率的置换策略,其步骤如下A在存储集群监视器中将缓存中的数据对象按照访问频率f降序排列.进入步骤B. B假设缓存中有η个数据对象,考虑数据对象m是否需要置换.若fn>fm则表示m访问频率较低,不能置换.若fn<fm,则进入步骤C.C在缓存的数据对象序列中找到一个最大值a,以使对象a到η的占用空间的总和大于 m的占用空间,若fa>fm,则表示m对象占用空间过大,缓存内同等容量的对象的访问频率比 m高,所以不能置换.若fa<fm则表示m比缓存内同等容量的对象访问频率高,所以把对象a 到η替出,替进m.该策略第一步使用二分法在替换操作发生以后对f队列进行重新排序。第二步利用一次比较操作来决定是否进行第三步。第三步从f队末开始向前遍历队列,依次比较队列末尾低访问频率对象和m的大小,直到m的大小小于这些对象,此次遍历才会结束,这时存储集群的监视器会比较已遍历对象中的最高访问频率和m的频率。若后者高,则把m替换进缓存,把队列末所有已遍历的对象替换出缓存。
本发明有益效果在异构存储环境下,基于对象分布式文件系统的高频访问热点对象可能会连接传输延迟较高的设备,造成较高的网络传输开销并降低整体系统的I/O性能。采用基于对象分布式文件系统的存储缓存方法,可以针对高频访问的热点对象进行缓存,使其存储在传输延迟较低的设备中,提高读写速度,改善整体系统的I/O吞吐率并减少网络传输开销。


图1是基于对象分布式文件系统的存储缓存模型。
图2是采用存储缓存方法的存储集群的数据访问方式。
图3是缓存操作协议的流程图。
具体实施方式
下面结合附图和具体实施应用过程对本技术解决方案进一步说明。
本技术方案基于对象分布式文件系统的架构,在存储集群中增加设备性能较高的代理服务器,其结构如图1所示。整体架构由客户端、元数据服务器和存储集群构成。在存储集群中,一些设备性能较高的存储设备被部署为代理服务器,对高频访问的热点对象进行缓存。当用户对这些热点对象进行操作时将获得高传输速率。利用该方案,客户机在从存储集群读取数据对象时,先查找是否命中缓存,若命中就可以通过连接代理服务器来获得较高的传输带宽,从而减小网络延迟开销;若没有命中则按照原型系统的数据访问方式来读取数据。如图2所示,代理服务器在硬件设施和软件配置上和普通存储设备是一样的。 在应用该方法之后,存储集群的总存储容量和运行机制并不会显著改变,但是它的传输效率因为代理服务器能够缓存热点对象而得到了提高.从而在不改变它原有机制的基础上, 保持了存储系统的可靠性、扩展性,保有原来系统的功能特性,也提高了系统的文件I/O性能。
采用基于对象分布式文件系统的存储缓存方法的系统使客户机、元数据服务器和存储集群都按照缓存操作协议来维持系统的运行。缓存操作协议是数据对象被访问时缓存的行为逻辑。以下以读取一个数据对象为例,介绍对象存储系统在建立基于对象分布式文件系统存储缓存后的操作协议。其核心思想是若存储集群监视器判断结果为缓存命中,则之后全程数据访问流程都不涉及传输带宽较低的普通存储设备,而是连接代理服务器进行速率较高的传输操作,从而避免额外的网络传输开销。其中系统中通信主要涉及以下几个参数对象文件名、绝对路径名、数据对象ID)、数据对象的元数据信息、数据对象的数据内容。其流程图如图3所示,各个角色之间发送请求格式和传输格式为RequestO和 Transfer (),主要步骤如下所以(1)客户端把被访问的数据对象的目录信息转换为绝对路径后向元数据服务器集群发起访问请求,格式为Request (对象文件名,绝对路径名)。进入步骤(2)。
(2)元数据服务器集群在验证用户的权限后,连接存储集群监视器,查找缓存列表,判断被访问的数据对象是否命中缓存。若命中缓存则进入步骤(3),未命中进入步骤 ⑷。
(3)存储集群监视器在判断命中缓存后,向被访问数据对象所在的代理服务器发送元数据发送请求,格式为Request (数据对象ID).进入步骤(5)。
(4)存储集群监视器在判断未命中缓存之后,通过置换策略决定是否把该数据对象置换进代理服务器,然后向被访问数据对象所在的普通存储设备发送元数据发送请求, 格式为Request (数据对象ID).进入步骤(6)。
(5)代理服务器把数据对象的有关元数据信息发送给元数据服务器集群,格式为 Transfer (数据对象的元数据信息),进入步骤(7)。
(6)数据对象所在的普通存储设备连接元数据服务器集群,发送有关元数据信息, 格式为Transfer (数据对象的元数据信息),进入步骤8。在发送完有关元数据信息后若置换策略决定将该数据对象置换进代理服务器,则进入步骤(7)。
(7)该普通存储设备将该数据对象传输到存储集群监视器分配的代理服务器上, 格式为Transfer (数据内容)。
(8)元数据服务器集群在收到元数据信息后向客户端发送有关目录信息和该用户的操作权限。若元数据服务器集群返回的目录信息表示被访问对象是在代理服务器上,则是命中缓存的情况,客户端得到的是代理服务器的物理IP地址,进入步骤(9)。反之,若被访问对象是在普通存储设备上,则是未命中缓存的情况,客户端得到的是普通存储设备的物理IP地址,进入步骤(10)。
(9)客户端根据得到的物理IP地址连接代理服务器,发送传输请求,格式为 Request(IP).进入步骤(11)。
(10)客户端根据得到的物理IP地址连接被访问数据对象所在的普通存储设备, 发送传输请求,格式为Request (IP),进入步骤(12)。
(11)代理服务器确认用户请求后传输数据内容到客户端,格式为Transfer(数据内容).直到传输完毕。
(12)被访问数据对象所在的普通存储设备在确认用户请求后传输数据内容到客户端,格式为Transfer (数据内容),直到传输完毕。
总之,该技术的出现,解决了在异构存储环境中基于对象分布式文件系统的数据对象读写操作传输速率不稳定的问题,减少了网络传输开销,并提高了整体系统的I/O性能和管理效率。
权利要求
1.一种基于对象分布式文件系统的存储缓存方法,其特征在于文件系统整体架构由客户端、元数据服务器集群和存储集群构成;客户端负责发送数据对象的操作请求和接收数据内容,元数据服务器集群负责处理客户端请求和对存储集群所存储的数据对象进行元数据管理,存储集群负责存储数据对象并对热点文件进行缓存;所述的存储集群包含一种监视器,该监视器通过维护设备信息表来维持整体存储集群的部署调度;该监视器执行了一种基于访问频率的缓存置换策略使访问频率更高的热点文件在存储集群中部署在设备性能较好的代理服务器上; 所述的一种基于访问频率的缓存置换策略具体步骤为 步骤A.在存储集群监视器中将缓存中的数据对象按照访问频率降序排列; 步骤B.将考虑置换的数据对象和缓存中最低访问频率的数据对象比较访问频率,若考虑置换的数据对象的访问频率高,则进入下一步,否则置换取消,终止该缓存置换策略;步骤C.在缓存的数据对象队列末尾寻找到刚好比考虑置换的数据对象的大小要大的数据对象集,将该数据对象集中访问频率最高的数据对象与考虑置换的数据对象比较访问频率,若考虑置换的数据对象的访问频率高,则将该数据对象集置换出缓存,将考虑置换的数据对象置换进缓存,否者置换取消,终止该缓存置换策略。
2.根据权利要求1所述的一种基于对象分布式文件系统的存储缓存方法,其特征在于所述的设备信息表包含以下两个方面第一方面记录着每台设备的存储信息、包括存储容量、所在分组、存储的数据对象的i节点列表、目录信息和该设备的传输延迟等;第二方面更新通过时间戳机制来完成。
3.根据权利要求1所述的一种基于对象分布式文件系统的存储缓存方法,其特征在于所述的步骤A是使用二分法对缓存内的数据对象进行重新排序。
4.根据权利要求1所述的一种基于对象分布式文件系统的存储缓存方法,其特征在于步骤C开始时从数据对象队列末尾开始向前遍历队列,依次比较队列末尾低访问频率对象和考虑置换的数据对象的大小,直到考虑置换的数据对象的大小小于这些数据对象, 此次遍历才会结束,由此产生数据对象集。
全文摘要
本发明涉及一种基于对象分布式文件系统的存储缓存方法。传统的基于对象分布式文件系统在异构存储环境中存在网络开销不稳定,整体I/O性能低下的问题。本发明基于对象分布式文件系统的架构,对其传统的数据访问模式进行修改,通过在存储集群中部署代理服务器建立缓存,并采用本发明中的缓存置换策略对访问频率高的热点对象文件进行缓存处理。采用此方法可以提高分布式文件系统的文件存取速度,减少网络传输开销,使整体系统的I/O性能得到提高。
文档编号G06F17/30GK102523285SQ20111042027
公开日2012年6月27日 申请日期2011年12月15日 优先权日2011年12月15日
发明者万健, 任永坚, 周昶, 张纪林, 徐向华, 殷昱煜 申请人:杭州电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1