CN102546751B - 一种分布式文件系统分级元数据缓存控制方法 - Google Patents

一种分布式文件系统分级元数据缓存控制方法 Download PDF

Info

Publication number
CN102546751B
CN102546751B CN201110399430.1A CN201110399430A CN102546751B CN 102546751 B CN102546751 B CN 102546751B CN 201110399430 A CN201110399430 A CN 201110399430A CN 102546751 B CN102546751 B CN 102546751B
Authority
CN
China
Prior art keywords
client
metadata
cache
data server
meta data
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
Application number
CN201110399430.1A
Other languages
English (en)
Other versions
CN102546751A (zh
Inventor
王芳
冯丹
曾潘
张泉
吕文若
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201110399430.1A priority Critical patent/CN102546751B/zh
Publication of CN102546751A publication Critical patent/CN102546751A/zh
Application granted granted Critical
Publication of CN102546751B publication Critical patent/CN102546751B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种分布式文件系统分级元数据缓存控制方法,用于将不同的客户端缓存访问行为进行分级,其具体包括如下步骤:(1)元数据服务器端从客户端接收目录访问请求,并进行统计分析;(2)根据所述统计分析的结果进行判定,确定相应的元数据分级缓存策略;(3)根据确定的缓存策略进行反馈再判断,完成元数据缓存控制。本发明减少了高共享时回调的高昂代价,并同时提高了整个系统的元数据一致性和可靠性。

Description

一种分布式文件系统分级元数据缓存控制方法
技术领域
本发明属于计算机存储技术领域,具体涉及一种分布式文件系统分级元数据缓存控制方法。
背景技术
元数据是文件系统中最为重要的特征信息,常被称为“数据的数据”,分布式文件系统一般采取元数据服务器、数据服务器以及客户端的三方架构,从而将元数据和数据进行分离,实现高速的数据访问。其中优化元数据访问是提高并行文件系统性能的关键因素之一,因此在客户端建立元数据缓存可以有效减少访问元数据服务器带来的大量网络通信开销。
对于分布式文件系统,元数据管理是管理数据的关键。首先,元数据是最重要的系统数据。应用程序在访问一个文件的数据之前,首先需要定位数据的存储位置。在并行文件系统中用户在访问一个文件时,首先需要向元数据服务器发出请求,然后元数据服务器会将该文件的元数据信息返回给用户。用户在元数据信息中获得文件所在的数据服务器布局信息,从而可以和这些数据服务器建立连接。因此从系统稳定性和可靠性的角度而言,文件元数据的正确性和可靠性是至关重要的。其次,元数据文件的访问速度影响着整个文件系统的访问性能。在并行文件系统中,对元数据的访问时非常频繁的。用户对文件的任何操作都需要事先访问文件的元数据。
在客户端进行元数据缓存是提高元数据访问速度的重要方法。然而在并行文件系统中实现多个客户端之间元数据缓存的一致性是至关重要的。很多现有并行文件系统的缓存策略都是为了性能考虑牺牲了元数据的一致性,是弱一致性的缓存策略。为此,本发明提出了一种分布式文件系统分级元数据缓存策略,在保证缓存一致性的前提下,提高元数据服务的性能。
发明内容
本发明提出一种分布式文件系统分级元数据缓存方法,在元数据服务器端对客户端目录访问行为进行分析,根据反馈算法将缓存方案分别设置为全缓存方案、自适应租约缓存方案或者不缓存方案。本发明减少了高共享时回调的高昂代价,并同时提高了整个系统的元数据一致性和可靠性。
本发明的一种分布式文件系统分级元数据缓存控制方法,具体包括下述步骤:
(1)元数据服务器端从客户端接收目录访问请求,并进行统计分析;
(1.1)元数据服务器端使用红黑树来记录元数据,各个挂载点为红黑树的一个节点,每个节点使用hash冲突链来记录对应的元数据条目信息结构;其中元数据条目信息中针对各个客户端的访问行为维护了一个统计列表;
(1.2)当客户端发出针对某个目录进行访问的请求时,元数据服务器会查找到相应的元数据条目信息,根据其统计列表进行分析,从而制定相应的缓存策略;所述统计分析的结果分为客户端无共享、客户端低共享和客户端高共享,其中,
客户端无共享指不同的客户端在各自的工作目录下独享,既可能发生读,也可能发生写,互不干涉;或者不同的客户端在相同的目录下共享,95%(可以按照不同的实际应用进行预定义,下同)以上的访问都是以读的形式共享、创建或更新出现比例在5%以下;
客户端低共享指不同的客户端在相同的目录下共享,有5%到20%的元数据创建或更新请求,80%到95%以读的形式共享;
客户端高共享指不同的客户端在相同的目录下共享,有超过20%的元数据创建或更新请求,同时存在读共享。
(2)根据第(1)步统计分析的初步结果进行判定,确定相应元数据分级缓存策略:
(2.1)全缓存方案。由元数据服务器(MDS)端确定授予读缓存还是写缓存。相应的客户端可以一直持有该缓存直到其他客户端需要在同目录下面创建时才进行缓存的更新并刷回至服务器;
(2.3)自适应租约缓存方案。租约缓存是指获得租约的客户端可以在规定的期间内独享该缓存,其他客户端不得访问,步骤如下:
(2.3.1)客户端查到到对应的元数据缓存,对比元数据缓存上的租约到期时间戳和系统时间:
如果未到期且剩余50%以上的租约时间,则判定此缓存有效,完成元数据访问;
如果未到期且剩余50%以下的租约时间,则虽然此缓存有效,但是需要续约,增加其续约次数,续约时间长度为基础时间乘以该缓存的续约次数,其中客户端使用一个域lease_count来标识对某一缓存的续约次数;
如果已经过期,说明此缓存长期未被访问,将lease_count重置为1,即重置为新访问请求租约的情况;
(2.3.2)如果缓存可使用,则直接返回,如果需要续约则发送续约请求至元数据服务器;
(2.3.3)不缓存方案;
(3)根据具体的缓存方案进行反馈再判断,步骤如下:
(3.1)根据各个客户端的反馈信息更新元数据服务器的统计列表;
(3.2)如果某个客户端在反馈周期内所产生的回调次数超过了限定值,则证明相应的缓存方案失效,进行降级;
(3.3)如果某个客户端在反馈周期内所产生的网络通讯次数超过了限定值,则查看相应目录的共享状况,如果共享程度降低,则升级相应的缓存方案,否则保持现有的缓存方案。
本发明针对客户端目录访问的不同行为,分别制定了相应的元数据缓存方案,从而能够保证在满足元数据一致性的前提下针对不同应用场景实现高效的元数据读写访问。同时还提高了整个系统的一致性和可靠性。
附图说明
图1为元数据分级缓存的整体流程图。
图2为客户端共享访问的语义图。
图3为缓存输入输出关系图。
图4为自适应租约缓存流程图。
具体实施方式
下面结合实施例对本发明做进一步的详细说明。
如图1所示,本发明所提出的一种分布式文件系统分级元数据缓存策略是根据客户端访问目录的不同行为进行区分,分别制定了全缓存方案、自适应租约缓存方案、不缓存方案,而客户端会对相应的缓存方案进行反馈,从而实现缓存策略的自我调整。
具体实施步骤如下:
(1)元数据服务器端从客户端接收目录访问请求,并进行统计分析;
(1.1)元数据服务器端使用红黑树来记录元数据,各个挂载点为红黑树的一个节点,每个节点使用hash冲突链来记录对应的元数据条目信息结构;其中元数据条目信息中针对各个客户端的访问行为维护了一个统计列表;
本发明方法针对客户端访问目录行为的分类如图2所示,相应的情况有:无共享情况、低共享情况、高共享情况。
(1.2)当客户端发出针对某个目录进行访问的请求时,元数据服务器会查找到相应的元数据条目信息,根据其统计列表进行分析,从而制定相应的缓存策略;其中统计所得的情况分如下几种:
(1.2.1)不同的客户端在各自的工作目录下独享,既可能发生读,也可能发生写,互不干涉;
(1.2.2)不同的客户端在相同的目录下共享,绝大多数可能以读的形式共享、创建或更新较少发生;本实施例中,可以是95%以上的访问都是以读的形式共享,创建或更新在5%以下。
(1.2.3)不同的客户端在相同的目录下共享,有少数的元数据创建或更新请求,多数以读的形式共享;例如元数据创建或更新请求的比例为5%-20%,而80%-95%以读的形式共享。
(1.2.4)不同的客户端在相同的目录下共享,有很多元数据创建或更新请求,如有超过20%的访问为元数据创建或更新请求,同时存在读共享。
其中情况(1.2.1)和(1.2.2)属于无共享情况,(1.2.3)属于低共享情况,(1.2.4)数据高共享情况。
(2)根据第(1)步统计分析的初步结果进行判定,确定相应元数据分级缓存策略:
(2.1)全缓存方案。由元数据服务器(MDS)端确定授予读缓存还是写缓存。相应的客户端可以一直持有该缓存直到其他客户端需要在同目录下面创建时才进行缓存的刷回;
当系统中多个客户端独占各自的目录时,则MDS将分别授予这些客户端全缓存方案,即各个客户端可以一直保留相应的元数据缓存,直到发生了针对该份元数据发生了修改操作时才由MDS进行回调。(缓存的输入输出关系如图3所示)
(2.3)自适应租约缓存方案。租约缓存是指获得租约的客户端可以在规定的期间内独享该缓存,其他客户端不得访问。当系统中多个客户端共享同一份目录,而且这些客户端主要是针对该目录进行读操作,则MDS将授予这些客户端自适应租约缓存方案,自适应租约缓存方案的流程图如图4所示。在此种情况下,共享同个目录的各个客户端都会持有相应目录的元数据缓存,而该份缓存的有效期是由租约进行控制的,同时在客户端还维护了一个lease_count字段来控制每次租约申请的长度。当客户端访问元数据缓存时,会首先将当前时间与缓存租约时间戳进行比较。如果租约过期,则需要向MDS重新申请缓存;如果租约没有过期,则说明该份元数据缓存是有效的,可以继续使用,同时还需判断租约期是否小于50%选择是否提前进行续约。
自适应租约缓存方案具体步骤如下:
(2.3.1)客户端查到到对应的元数据缓存,对比元数据缓存上的租约到期时间戳和系统时间:
如果未到期且剩余50%以上的租约时间,则判定此缓存有效,完成元数据访问;
如果未到期且剩余50%以下的租约时间,则虽然此缓存有效,但是需要续约,增加其续约次数,续约时间长度为基础时间乘以该缓存的续约次数,其中客户端使用一个域lease_count来标识对某一缓存的续约次数;
如果已经过期,说明此缓存长期未被访问,将lease_count重置为1,即重置为新访问请求租约的情况;
(2.3.2)如果缓存可使用,则直接返回,如果需要续约则发送续约请求至元数据服务器;
(2.3.3)不缓存方案;
当系统中多个客户端会对同一目录频繁进行修改或者删除操作,则MDS将不会对各个客户端授予缓存,从而避免产生大量的回调开销。
(3)根据具体的缓存方案进行反馈再判断,步骤如下:
(3.1)根据各个客户端的反馈信息更新元数据服务器的统计列表;
(3.2)如果某个客户端在反馈周期内所产生的回调次数超过了限定值,则证明相应的缓存方案失效,进行降级;
(3.3)如果某个客户端在反馈周期内所产生的网络通讯次数超过了预设的限定值,则查看相应目录的共享状况,如果共享程度降低,则升级相应的缓存方案,否则保持现有的缓存方案。
MDS会针对各个客户端维护一个统计列表,用于记录相应的客户端缓存方案所造成的回调开销以及元数据的响应效率,并且会定期的对该列表进行分析。如果某个客户端在反馈周期内所产生的回调次数超过了限定值,则证明相应的缓存方案失效,进行降级;如果某个客户端在反馈周期内所产生的网络通讯次数超过了限定值,(限定值本领域技术人员可以根据实际需要具体选择,例如总IO请求数目的5%),则查看相应目录的共享状况,如果共享程度降低,则升级相应的缓存方案,否则保持现有的缓存方案。

Claims (4)

1.一种分布式文件系统分级元数据缓存控制方法,用于将不同的客户端缓存访问行为进行分级,其具体包括如下步骤:
⑴元数据服务器端从客户端接收目录访问请求,并进行统计分析;
⑵根据所述统计分析的结果进行判定,确定相应的元数据分级缓存策略;
⑶根据确定的缓存策略进行反馈再判断,完成元数据缓存控制;
其中,所述元数据服务器端进行统计分析的步骤如下:
(1.1)元数据服务器端使用红黑树来记录元数据,各个挂载点为红黑树的一个节点,每个节点使用hash冲突链来记录对应的元数据条目信息结构,其中元数据条目信息中针对各个客户端的访问行为维护一个统计列表;
(1.2)当客户端发出针对某个目录进行访问的请求时,元数据服务器查找到相应的元数据条目信息,根据其统计列表进行分析,获得统计分析结果。
2.根据权利要求1所述的一种分布式文件系统分级元数据缓存方法,其特征在于,所述统计分析的结果分为客户端无共享、客户端低共享和客户端高共享,其中,
客户端无共享指:不同的客户端在各自的工作目录下独享,既可能发生读,也可能发生写,互不干涉;或者不同的客户端在相同的目录下共享,95%以上的访问都是以读的形式共享;
客户端低共享指:不同的客户端在相同的目录下共享,有5%-20%的访问为元数据创建或更新请求;
客户端高共享指:不同的客户端在相同的目录下共享,有超过20%的访问为元数据创建或更新请求,同时存在读共享。
3.根据权利要求2所述的一种分布式文件系统分级元数据缓存方法,其特征在于,所述步骤(2)中,根据所述统计分析的结果确定分级缓存策略的具体过程为:
⑴若为无共享,则使用全缓存方案,即由元数据服务器端确定授予读缓存还是写缓存,相应的客户端一直持有该缓存直到其他客户端需要在同目录下面创建时才进行本地缓存的更新并刷回至服务器;
⑵若为低共享,则使用自适应的租约缓存方案,即获得租约的客户端可以在规定的期间内独享该缓存,其他客户端不得访问,其中获得租约是指元数据服务器将缓存的独享权利在一定时间内授予其中一个客户端,其他客户端在这段时间内不得访问此缓存;
⑶若为高共享,则使用不缓存方案,即不进行元数据缓存。
4.根据权利要求1-3之一所述的一种分布式文件系统分级元数据缓存方法,其特征在于,所述反馈再判断步骤具体为:
⑴针对客户端采取的缓存策略,维护一个反馈列表,用于统计在实施该缓存策略期间进行网络通讯以及回调的次数;
⑵向元数据服务器返回反馈信息,元数据服务器根据相应的反馈信息更新其统计列表来重新授予适当的缓存策略,具体过程如下:
①根据各个客户端的反馈信息更新元数据服务器的统计列表;如果任一个客户端在反馈周期内所产生的回调次数超过了预设的限定值,则证明相应的缓存方案失效,进行降级;
②如果任一个客户端在反馈周期内所产生的网络通讯次数超过了预设的限定值,则查看相应目录的共享状况,如果共享程度降低,则升级相应的缓存方案,否则保持现有的缓存方案。
CN201110399430.1A 2011-12-06 2011-12-06 一种分布式文件系统分级元数据缓存控制方法 Active CN102546751B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110399430.1A CN102546751B (zh) 2011-12-06 2011-12-06 一种分布式文件系统分级元数据缓存控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110399430.1A CN102546751B (zh) 2011-12-06 2011-12-06 一种分布式文件系统分级元数据缓存控制方法

Publications (2)

Publication Number Publication Date
CN102546751A CN102546751A (zh) 2012-07-04
CN102546751B true CN102546751B (zh) 2014-06-18

Family

ID=46352700

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110399430.1A Active CN102546751B (zh) 2011-12-06 2011-12-06 一种分布式文件系统分级元数据缓存控制方法

Country Status (1)

Country Link
CN (1) CN102546751B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103761275B (zh) * 2014-01-09 2018-04-13 广东浪潮大数据研究有限公司 一种分布式文件系统中元数据的管理方法
CN103714183B (zh) * 2014-01-10 2017-02-15 浪潮(北京)电子信息产业有限公司 一种元数据租约期限的动态获取方法和系统
CN104113587B (zh) * 2014-06-23 2017-08-01 华中科技大学 一种分布式文件系统客户端元数据缓存优化方法
CN104035807B (zh) * 2014-07-02 2017-04-12 电子科技大学 一种云存储系统的元数据缓存替换方法
CN106331001B (zh) * 2015-06-23 2019-06-18 华中科技大学 一种适合移动设备访问的云存储方法和系统
CN105512185B (zh) * 2015-11-24 2019-03-26 无锡江南计算技术研究所 一种基于作业时序缓存共享的方法
CN105577763A (zh) * 2015-12-16 2016-05-11 浪潮(北京)电子信息产业有限公司 一种动态副本一致性维护系统、方法及云存储平台
CN107516048B (zh) * 2016-06-16 2021-01-08 阿里巴巴集团控股有限公司 一种控制分布式文件系统中文件访问的方法与设备
CN106528866A (zh) * 2016-12-02 2017-03-22 郑州云海信息技术有限公司 一种更新元数据的方法、装置和系统
CN106708636B (zh) * 2016-12-29 2020-10-16 北京奇虎科技有限公司 基于集群的数据缓存方法及装置
CN106686113A (zh) * 2017-01-19 2017-05-17 郑州云海信息技术有限公司 一种分布式文件系统智能预读实现方法
CN107045530B (zh) * 2017-01-20 2019-07-26 华中科技大学 一种将对象存储系统实现为本地文件系统的方法
CN109474450B (zh) 2017-09-07 2021-11-30 华为技术有限公司 一种通信方法、相关设备和系统
CN108446356B (zh) * 2018-03-12 2023-08-29 上海哔哩哔哩科技有限公司 数据缓存方法、服务器及数据缓存系统
CN111125025B (zh) * 2019-12-23 2023-08-29 用友网络科技股份有限公司 元数据的存储系统、存储方法、调用方法、调用装置和可读存储介质
CN111177197B (zh) * 2019-12-26 2023-03-14 北京仁科互动网络技术有限公司 一种缓存处理方法及系统
CN114238419B (zh) * 2022-02-24 2022-06-10 北京仁科互动网络技术有限公司 基于多租户SaaS应用系统的数据缓存方法及装置
CN117112525A (zh) * 2023-08-21 2023-11-24 北京志凌海纳科技有限公司 分布式文件系统及分布式文件系统中维护文件一致性方法
CN117424864B (zh) * 2023-12-18 2024-02-27 南京奕泰微电子技术有限公司 一种用于交换机的队列数据管理系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1794207A (zh) * 2004-12-20 2006-06-28 国际商业机器公司 实现缓存一致性的方法和系统
CN101697168A (zh) * 2009-10-22 2010-04-21 中国科学技术大学 一种分布式文件系统动态元数据管理方法及系统
CN102055795A (zh) * 2010-11-04 2011-05-11 天津曙光计算机产业有限公司 一种分布式文件系统元数据管理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1794207A (zh) * 2004-12-20 2006-06-28 国际商业机器公司 实现缓存一致性的方法和系统
CN101697168A (zh) * 2009-10-22 2010-04-21 中国科学技术大学 一种分布式文件系统动态元数据管理方法及系统
CN102055795A (zh) * 2010-11-04 2011-05-11 天津曙光计算机产业有限公司 一种分布式文件系统元数据管理方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
"一种基于对象存储系统的元数据缓存实现方法";周功业等;《计算机科学》;20071015;第146-148页 *
"一种面向SaaS应用多级定制模型的缓存技术研究";孙明等;《计算机应用与软件》;20111130;第28卷(第11期);第49-51页 *
周功业等."一种基于对象存储系统的元数据缓存实现方法".《计算机科学》.2007,
孙明等."一种面向SaaS应用多级定制模型的缓存技术研究".《计算机应用与软件》.2011,第28卷(第11期),

Also Published As

Publication number Publication date
CN102546751A (zh) 2012-07-04

Similar Documents

Publication Publication Date Title
CN102546751B (zh) 一种分布式文件系统分级元数据缓存控制方法
US9400828B2 (en) Hierarchical chunking of objects in a distributed storage system
EP3669263B1 (en) Log-structured storage systems
EP3519974B1 (en) System and method for improvements to a content delivery network
EP3695303B1 (en) Log-structured storage systems
US7860993B2 (en) Streaming media content delivery system and method for delivering streaming content
US20150237113A1 (en) Method and system for file transmission
US9600558B2 (en) Grouping of objects in a distributed storage system based on journals and placement policies
CN101136911B (zh) 一种采用p2p技术下载文件的方法和p2p下载系统
EP3695304B1 (en) Log-structured storage systems
CN104243425A (zh) 一种在内容分发网络中进行内容管理的方法、装置及系统
CN102833293A (zh) P2sp网络中资源下载的方法及客户端
US20150205819A1 (en) Techniques for optimizing data flows in hybrid cloud storage systems
Hefeeda et al. Design and evaluation of a proxy cache for peer-to-peer traffic
CN107368608A (zh) 基于arc替换算法的hdfs小文件缓存管理方法
CN107818111A (zh) 一种缓存文件数据的方法、服务器及终端
Cao et al. Is-hbase: An in-storage computing optimized hbase with i/o offloading and self-adaptive caching in compute-storage disaggregated infrastructure
US11334424B2 (en) Streaming server statistics and predictive mitigation
US20230026912A1 (en) Systems and methods for storing content items in secondary storage
Akhtar et al. Hifi: A hierarchical filtering algorithm for caching of online video
Kuo et al. Resource-saving file management scheme for online video provisioning on content delivery networks
US11409796B1 (en) Generational databases for managing time series data
Chen et al. A greedy approach for caching in distributed data stores
WO2020172586A1 (en) Adaptive retrieval of objects from remote storage
DE112014000242T5 (de) Skalierbare digitale Videoaufzeichnungen auf Netzwerkbasis über eine Architektur auf Shard-Basis

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