CN102523285B - 一种基于对象分布式文件系统的存储缓存方法 - Google Patents
一种基于对象分布式文件系统的存储缓存方法 Download PDFInfo
- Publication number
- CN102523285B CN102523285B CN201110420272.3A CN201110420272A CN102523285B CN 102523285 B CN102523285 B CN 102523285B CN 201110420272 A CN201110420272 A CN 201110420272A CN 102523285 B CN102523285 B CN 102523285B
- Authority
- CN
- China
- Prior art keywords
- data object
- data
- access frequency
- file system
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Abstract
本发明涉及一种基于对象分布式文件系统的存储缓存方法。传统的基于对象分布式文件系统在异构存储环境中存在网络开销不稳定,整体I/O性能低下的问题。本发明基于对象分布式文件系统的架构,对其传统的数据访问模式进行修改,通过在存储集群中部署代理服务器建立缓存,并采用本发明中的缓存置换策略对访问频率高的热点对象文件进行缓存处理。采用此方法可以提高分布式文件系统的文件存取速度,减少网络传输开销,使整体系统的I/O性能得到提高。
Description
技术领域
本发明涉及分布式文件系统的存储缓存实现方法,尤其涉及在异构存储环境下基于对象的分布式文件系统的存储缓存实现方法。
背景技术
现今信息社会中越来越多的分布式存储文件系统的存储容量已上升到PB级别,由于基于对象的存储系统在进行海量存储时表现出更好的性能而越来越受到存储领域的关注。它实现了数据对象的元数据和数据内容的分离管理,其系统架构主要由客户机、元数据服务器和基于对象的基于对象存储设备组成。元数据服务器负责数据对象的元数据管理和其他存储管理,基于对象的存储设备负责底层数据实际块的部署和存取,它维持着数据实际块和数据对象的逻辑联系,并向上层客户机提供数据对象的操作接口。
在基于对象存储系统中,存储在基于对象存储设备中的数据内容往往是存储系统中信息量最大的部分。所以,对于数据内容的网络传输速率快慢直接影响存储系统的网络开销及其I/O性能.在用户访问模式中,会出现访问频率较高的热点对象,此时,提高热点对象数据内容的访问速率,对提高文件系统的性能非常重要.而在真实生产环境中,大多存储集群是异构存储集群,其中每台设备的性能是存在性能差异的,带宽限制、主存大小、CPU主频和磁盘读写速度的不同都是造成这个现象的原因,而最终这些差异都会导致传输延迟的不同.如果数据访问中的热点对象(特别是大文件)被部署到传输延迟较高的设备中,那么客户机在对热点对象进行操作时,就会连接传输延迟较高的设备,造成网络传输开销过高和整体系统I/O性能低下的结果。
另一方面,为了提高整体系统的I/O性能,网络缓存技术是主要手段之一。现在主流的网络缓存技术主要有客户机缓存、近客户机缓存和存储缓存.客户机缓存把缓存部署在客户机本地磁盘中,这样可以避免用户二次访问时的网络传输开销。客户机缓存把缓存部署在离客户机较近或者与客户机传输速率很高的代理服务器上,这样客户机二次访问时直接连接到高传输速率的代理服务器上,可以避免客户机与服务器之间的网络传输开销.而存储缓存是把热点对象部署在存储集群中一些传输速率较高的代理服务器上,提高集群中对热点对象操作时的传输效率。存储缓存能够对全体用户而非部分用户的数据访问特征进行分析,根据访问频率来缓存全体用户访问的热点对象,从而提高这些热点对象的网络传输速率。
发明内容
针对在异构存储环境中基于对象分布式文件系统所产生的高频访问热点对象连接传输延迟较高设备的网络传输开销过高和整体I/O性能低下的问题,本发明结合对象存储系统的数据访问方式及其特点,提出一种存储缓存的实现方法,它把热点文件部署到传输延迟比较低的设备中进行缓存。
本发明以基于对象存储系统的架构为基础,由客户端、元数据服务器集群和存储集群构成。在存储集群中,把一些传输速率较高的存储设备部署为代理服务器,对数据对象进行缓存。存储集群中的监视器通过维护设备信息表来维持整体存储集群的部署调度。设备信息表记录着每台设备的存储信息,包括存储容量、所在分组、存储的数据对象的i节点列表、目录信息和该设备的传输延迟等等。设备的信息表更新通过时间戳机制来完成,监视器按照最新时间戳的设备信息表来调度存储集群。
基于以上存储缓存的系统架构,本发明还包含了存储集群服务器中代理服务器和普通服务器中高频访问热点对象的置换策略。其核心思想是把近段时间内用户访问频率较高的数据对象放入缓存,并且还要考虑到代理服务器的存储容量空间的有限性,即在代理服务器剩余空间不足的情况下替入的对象占用空间应该比替出的对象要小。考虑每个数据对象的两个参数:对象的访问频率(以下简称f)和对象的大小(以下简称s),本发明针对以上原因的基于数据对象访问频率的置换策略,其步骤如下:
A在存储集群监视器中将缓存中的数据对象按照访问频率f降序排列.进入步骤B.
B假设缓存中有n个数据对象,考虑数据对象m是否需要置换.若fn>fm则表示m访问频率较低,不能置换.若fn<fm,则进入步骤C.
C在缓存的数据对象序列中找到一个最大值a,以使对象a到n的占用空间的总和大于m的占用空间,若fa>fm,则表示m对象占用空间过大,缓存内同等容量的对象的访问频率比m高,所以不能置换.若fa<fm则表示m比缓存内同等容量的对象访问频率高,所以把对象a到n替出,替进m.
该策略第一步使用二分法在替换操作发生以后对f队列进行重新排序。第二步利用一次比较操作来决定是否进行第三步。第三步从f队末开始向前遍历队列,依次比较队列末尾低访问频率对象和m的大小,直到m的大小小于这些对象,此次遍历才会结束,这时存储集群的监视器会比较已遍历对象中的最高访问频率和m的频率。若后者高,则把m替换进缓存,把队列末所有已遍历的对象替换出缓存。
本发明有益效果:在异构存储环境下,基于对象分布式文件系统的高频访问热点对象可能会连接传输延迟较高的设备,造成较高的网络传输开销并降低整体系统的I/O性能。采用基于对象分布式文件系统的存储缓存方法,可以针对高频访问的热点对象进行缓存,使其存储在传输延迟较低的设备中,提高读写速度,改善整体系统的I/O吞吐率并减少网络传输开销。
附图说明
图1是基于对象分布式文件系统的存储缓存模型。
图2是采用存储缓存方法的存储集群的数据访问方式。
图3是缓存操作协议的流程图。
具体实施方式
下面结合附图和具体实施应用过程对本技术解决方案进一步说明。
本技术方案基于对象分布式文件系统的架构,在存储集群中增加设备性能较高的代理服务器,其结构如图1所示。整体架构由客户端、元数据服务器和存储集群构成。在存储集群中,一些设备性能较高的存储设备被部署为代理服务器,对高频访问的热点对象进行缓存。当用户对这些热点对象进行操作时将获得高传输速率。利用该方案,客户机在从存储集群读取数据对象时,先查找是否命中缓存,若命中就可以通过连接代理服务器来获得较高的传输带宽,从而减小网络延迟开销;若没有命中则按照原型系统的数据访问方式来读取数据。如图2所示,代理服务器在硬件设施和软件配置上和普通存储设备是一样的。在应用该方法之后,存储集群的总存储容量和运行机制并不会显著改变,但是它的传输效率因为代理服务器能够缓存热点对象而得到了提高.从而在不改变它原有机制的基础上,保持了存储系统的可靠性、扩展性,保有原来系统的功能特性,也提高了系统的文件I/O性能。
采用基于对象分布式文件系统的存储缓存方法的系统使客户机、元数据服务器和存储集群都按照缓存操作协议来维持系统的运行。缓存操作协议是数据对象被访问时缓存的行为逻辑。以下以读取一个数据对象为例,介绍对象存储系统在建立基于对象分布式文件系统存储缓存后的操作协议。其核心思想是若存储集群监视器判断结果为缓存命中,则之后全程数据访问流程都不涉及传输带宽较低的普通存储设备,而是连接代理服务器进行速率较高的传输操作,从而避免额外的网络传输开销。其中系统中通信主要涉及以下几个参数:对象文件名、绝对路径名、数据对象ID)、数据对象的元数据信息、数据对象的数据内容。其流程图如图3所示,各个角色之间发送请求格式和传输格式为Request()和Transfer(),主要步骤如下所以:
(1)客户端把被访问的数据对象的目录信息转换为绝对路径后向元数据服务器集群发起访问请求,格式为Request(对象文件名,绝对路径名)。进入步骤(2)。
(2)元数据服务器集群在验证用户的权限后,连接存储集群监视器,查找缓存列表,判断被访问的数据对象是否命中缓存。若命中缓存则进入步骤(3),未命中进入步骤(4)。
(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性能和管理效率。
Claims (4)
1.一种基于对象分布式文件系统的存储缓存方法,其特征在于:文件系统整体架构由客户端、元数据服务器集群和存储集群构成;客户端负责发送数据对象的操作请求和接收数据内容,元数据服务器集群负责处理客户端请求和对存储集群所存储的数据对象进行元数据管理,存储集群负责存储数据对象并对热点文件进行缓存;
所述的存储集群包含一种监视器,该监视器通过维护设备信息表来维持整体存储集群的部署调度;该监视器执行了一种基于访问频率的缓存置换策略使访问频率更高的热点文件在存储集群中部署在设备性能较好的代理服务器上;
所述的一种基于访问频率的缓存置换策略具体步骤为:
步骤A.在存储集群监视器中将缓存中的数据对象按照访问频率降序排列;
步骤B.将考虑置换的数据对象和缓存中最低访问频率的数据对象比较访问频率,若考虑置换的数据对象的访问频率高,则进入下一步,否则置换取消,终止该缓存置换策略;
步骤C.在缓存的数据对象队列末尾寻找到刚好比考虑置换的数据对象的大小要大的数据对象集,将该数据对象集中访问频率最高的数据对象与考虑置换的数据对象比较访问频率,若考虑置换的数据对象的访问频率高,则将该数据对象集置换出缓存,将考虑置换的数据对象置换进缓存,否则置换取消,终止该缓存置换策略。
2.根据权利要求1所述的一种基于对象分布式文件系统的存储缓存方法,其特征在于:所述的设备信息表包含以下两个方面:第一方面记录着每台设备的存储信息,包括存储容量、所在分组、存储的数据对象的i节点列表、目录信息和该设备的传输延迟;第二方面更新通过时间戳机制来完成。
3.根据权利要求1所述的一种基于对象分布式文件系统的存储缓存方法,其特征在于:所述的步骤A是使用二分法对缓存内的数据对象进行重新排序。
4.根据权利要求1所述的一种基于对象分布式文件系统的存储缓存方法,其特征在于:步骤C开始时从数据对象队列末尾开始向前遍历队列,依次比较队列末尾低访问频率对象和考虑置换的数据对象的大小,直到考虑置换的数据对象的大小小于这些数据对象,此次遍历才会结束,由此产生数据对象集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110420272.3A CN102523285B (zh) | 2011-12-15 | 2011-12-15 | 一种基于对象分布式文件系统的存储缓存方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110420272.3A CN102523285B (zh) | 2011-12-15 | 2011-12-15 | 一种基于对象分布式文件系统的存储缓存方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102523285A CN102523285A (zh) | 2012-06-27 |
CN102523285B true CN102523285B (zh) | 2014-04-02 |
Family
ID=46294073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110420272.3A Active CN102523285B (zh) | 2011-12-15 | 2011-12-15 | 一种基于对象分布式文件系统的存储缓存方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102523285B (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631820B (zh) * | 2012-08-27 | 2017-09-12 | 阿里巴巴集团控股有限公司 | 分布式文件系统的元数据管理方法及设备 |
CN103049559A (zh) * | 2012-12-29 | 2013-04-17 | 深圳先进技术研究院 | 一种海量数据自动放置方法和装置 |
CN103077223A (zh) * | 2012-12-31 | 2013-05-01 | 浪潮(北京)电子信息产业有限公司 | 一种对象存储系统输入输出动态检测调优方法及系统 |
CN104111900B (zh) * | 2013-04-22 | 2017-06-20 | 中国移动通信集团公司 | 一种缓存中数据替换方法及装置 |
CN103294167B (zh) * | 2013-05-21 | 2016-02-10 | 暨南大学 | 一种基于数据行为的低能耗集群存储复制装置和方法 |
CN103595761B (zh) * | 2013-10-15 | 2017-01-04 | 北京航空航天大学 | 基于分布式文件系统的数据处理方法和服务器 |
US9825884B2 (en) | 2013-12-30 | 2017-11-21 | Cavium, Inc. | Protocol independent programmable switch (PIPS) software defined data center networks |
WO2015161443A1 (zh) | 2014-04-22 | 2015-10-29 | 华为技术有限公司 | 一种文件管理方法及文件系统 |
CN104133880B (zh) * | 2014-07-25 | 2018-04-20 | 广东睿江云计算股份有限公司 | 一种设置文件缓存时间的方法与装置 |
CN104158858A (zh) * | 2014-07-29 | 2014-11-19 | 浪潮(北京)电子信息产业有限公司 | 一种访问分布式集群文件系统方法及系统 |
US9813327B2 (en) | 2014-09-23 | 2017-11-07 | Cavium, Inc. | Hierarchical hardware linked list approach for multicast replication engine in a network ASIC |
US10419571B2 (en) * | 2015-03-24 | 2019-09-17 | Cavium, Llc | Packet processor forwarding database cache |
CN105005603A (zh) * | 2015-07-03 | 2015-10-28 | 北京市空越技术有限公司 | 基于可伸缩性设计的教育平台数据缓存方法及系统 |
CN105068757B (zh) * | 2015-07-23 | 2017-12-22 | 浙江大学 | 一种基于文件语义和系统实时状态的冗余数据去重方法 |
CN106528448A (zh) * | 2016-10-11 | 2017-03-22 | 杭州数强网络科技有限公司 | 一种多源异构电商大数据的分布式高速缓存机制 |
CN107330095A (zh) * | 2017-07-04 | 2017-11-07 | 郑州云海信息技术有限公司 | 一种访问管理方法及装置 |
CN108073706B (zh) * | 2017-12-20 | 2022-02-22 | 北京四方继保自动化股份有限公司 | 一种仿真系统历史库纵向数据横向化展示的方法 |
CN109344122B (zh) * | 2018-10-15 | 2020-05-15 | 中山大学 | 一种基于文件预创策略的分布式元数据管理方法及系统 |
CN111800486B (zh) * | 2020-06-22 | 2021-09-17 | 山东大学 | 一种云边协同的资源调度方法及系统 |
CN112076464B (zh) * | 2020-09-04 | 2022-06-21 | 腾讯科技(深圳)有限公司 | 一种数据请求处理方法、装置、计算机设备及存储介质 |
CN113342837B (zh) * | 2021-08-06 | 2021-11-09 | 北京金山云网络技术有限公司 | 数据发送方法、装置、电子设备和计算机可读介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1559041A (zh) * | 2001-09-26 | 2004-12-29 | Emc | 在计算机系统之间共享对象 |
CN101241501A (zh) * | 2008-02-25 | 2008-08-13 | 浪潮电子信息产业股份有限公司 | 适用于高速缓存代理服务器体系结构的文件系统构建方法 |
CN101556557A (zh) * | 2009-05-14 | 2009-10-14 | 浙江大学 | 一种基于对象存储设备的对象文件组织方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8812451B2 (en) * | 2009-03-11 | 2014-08-19 | Microsoft Corporation | Programming model for synchronizing browser caches across devices and web services |
-
2011
- 2011-12-15 CN CN201110420272.3A patent/CN102523285B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1559041A (zh) * | 2001-09-26 | 2004-12-29 | Emc | 在计算机系统之间共享对象 |
CN101241501A (zh) * | 2008-02-25 | 2008-08-13 | 浪潮电子信息产业股份有限公司 | 适用于高速缓存代理服务器体系结构的文件系统构建方法 |
CN101556557A (zh) * | 2009-05-14 | 2009-10-14 | 浙江大学 | 一种基于对象存储设备的对象文件组织方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102523285A (zh) | 2012-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102523285B (zh) | 一种基于对象分布式文件系统的存储缓存方法 | |
CN102521405B (zh) | 支持高速加载的海量结构化数据存储、查询方法和系统 | |
CN102521406B (zh) | 海量结构化数据复杂查询任务的分布式查询方法和系统 | |
CN102855239B (zh) | 一种分布式地理文件系统 | |
CN102629941B (zh) | 云计算系统中虚拟机镜像缓存的方法 | |
US9609060B2 (en) | Distributed storage system and method | |
CN100505762C (zh) | 适用于对象网络存储的分布式多级缓存系统 | |
CN104050249B (zh) | 分布式查询引擎系统和方法及元数据服务器 | |
CN101169785A (zh) | 集群数据库系统的动态负载均衡方法 | |
CN104050250B (zh) | 一种分布式键-值查询方法和查询引擎系统 | |
CN102546751B (zh) | 一种分布式文件系统分级元数据缓存控制方法 | |
US9015131B2 (en) | Information management method, and computer for providing information | |
CN103312791B (zh) | 物联网异构数据存储方法及系统 | |
CN109783438A (zh) | 基于librados的分布式NFS系统及其构建方法 | |
CN104935648A (zh) | 一种高性价比的cdn系统及文件预推、分片缓存的方法 | |
CN103338242B (zh) | 一种基于多级缓存的混合云存储系统和方法 | |
CN106021445A (zh) | 一种加载缓存数据的方法及装置 | |
CN102439580A (zh) | 用于网络加速以及对高速缓存文件系统进行高效索引编制的系统及方法 | |
CN102332027A (zh) | 一种基于Hadoop的海量非独立小文件关联存储方法 | |
CN110188080A (zh) | 基于客户端高效缓存的远程文件数据访问性能优化方法 | |
CN106919654A (zh) | 一种基于Nginx的高可用MySQL数据库的实现方法 | |
CN107368608A (zh) | 基于arc替换算法的hdfs小文件缓存管理方法 | |
CN107179878A (zh) | 基于应用优化的数据存储的方法和装置 | |
CN101404649B (zh) | 一种基于cache的数据处理系统及其方法 | |
CN108540510B (zh) | 一种云主机创建方法、装置及云服务系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |