CN106897440A - 一种分布式文件系统文件读写处理方法 - Google Patents
一种分布式文件系统文件读写处理方法 Download PDFInfo
- Publication number
- CN106897440A CN106897440A CN201710113816.9A CN201710113816A CN106897440A CN 106897440 A CN106897440 A CN 106897440A CN 201710113816 A CN201710113816 A CN 201710113816A CN 106897440 A CN106897440 A CN 106897440A
- Authority
- CN
- China
- Prior art keywords
- client
- write
- mds
- data
- additional
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1724—Details of de-fragmentation performed by the file system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种分布式文件系统文件读写处理方法,多个客户端对文件进行写入前,每个客户端分别向MDS申请对文件的写权限,并且每个客户端标示申请修改写权限或追加写权限,MDS授权客户端直读和直写权限;客户端将追加写或者修改写方式异步发送给MDS;MDS统计客户端读写方式,重新给客户端授权写缓存或者读缓存。将文件写权限拆分成粒度更小的追加写和修改写,针对只有追加写的情况授权给客户端写缓存权限,提高数据处理效率。
Description
技术领域
本发明涉及分布式文件领域,尤其涉及一种分布式文件系统文件读写处理方法。
背景技术
随着计算机技术的快速发展,各种形式的信息数据量越来越大,根据行业情况不同,对数据的读写方式差异很大,在现有的文件读写权限控制下,如果多个客户端同时对一个文件进行读写,则只能采用直写和直读的方法,数据处理效率低下。
发明内容
为了克服上述现有技术中的不足,本发明提供一种分布式文件系统文件读写处理方法,方法包括:
多个客户端对文件进行写入前,每个客户端分别向MDS申请对文件的写权限,并且每个客户端标示申请修改写权限或追加写权限;
MDS接收所有客户端发送的读写权限申请,并对每个客户端申请的修改写权限或追加写权限给予授权;
MDS实时统计所有客户端的读写权限。
优选地,当某一文件被多个客户端同时使用,且只有一个客户端对所述文件进行追加写时,MDS授权该客户端写缓存权限,同时授权其他的客户端读缓存权限。
优选地,当客户端向MDS申请由追加写权限变更为修改写权限时,MDS通知该客户端释放追加写缓存权限,同时将缓存数据储存到后端存储设备。
优选地,当客户端向MDS申请由修改写权限变更为追加写权限时,MDS通知该客户端释放修改写缓存权限,同时将缓存数据储存到后端存储设备。
优选地,当客户端获得追加写权限后,进行追加写数据时,先将写入数据缓存在第一缓存中;
第一缓存数据压缩模块根据预设的压缩量将第一缓存中多个数据进行组合压缩,形成压缩数据块;
第一缓存数据压缩模块针对压缩数据块中的每个数据对应生成一元数据,元数据记录压缩前后的每个数据处于第一缓存中的位置;
将压缩数据块以及与压缩数据块相对应的元数据下发给第二缓存;
第二缓存保存压缩数据块和元数据;
当客户端的追加写权限被收回,或者客户端的追加写操作完成时,第二缓存将保存的压缩数据块和元数据保存到客户端的存储设备。
优选地,预设的压缩量的获取方式包括:第一缓存数据处理模块在第一缓存随机抽取N个数据,N为非零的自然数,对抽取的数据进行组合压缩,组合压缩后计算出N个数据的平均MD5值,将该值作为预设压缩量。
优选地,客户端申请到修改写权限或追加写权限后,客户端在客户端配额数据结构中设置预留缓存空位;预留缓存空位获取MDS分配的分配缓存空间;
MDS将总储存配额拆分为以固定大小为基本单位的单位存储空间,MDS统一分配和使用单位存储空间;
当客户端获取到修改写权限或追加写权限,且向MDS申请单位存储空间时,MDS根据客户端的申请分配单位存储空间;
客户端得到单位存储空间后,将MDS分配的单位存储空间计入用户配额数据结构中的预留缓存空位上。
优选地,客户端修改写或追加写操作时,将修改写或追加写的数据储存至预留缓存空位的单位存储空间内,当预授权空间内的单位存储空间容量不足时,向MDS发出申请,申请分配单位存储空间;
MDS根据所述客户端的申请再分配一单位存储空间;
客户端得到单位存储空间后,将MDS分配的单位存储空间计入用户配额数据结构中的预留缓存空位内,并与在先分配的单位存储空间统一使用。
从以上技术方案可以看出,本发明具有以下优点:
多个客户端对文件进行写入前,每个客户端分别向MDS申请对文件的写权限,并且每个客户端标示申请修改写权限或追加写权限,MDS授权客户端直读和直写权限;客户端将追加写或者修改写方式异步发送给MDS;MDS统计客户端读写方式,重新给客户端授权写缓存或者读缓存。将文件写权限拆分成粒度更小的追加写和修改写,针对只有追加写的情况授权给客户端写缓存权限,提高数据处理效率。
附图说明
为了更清楚地说明本发明的技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为分布式文件系统文件读写处理方法的流程图;
图2为分布式文件系统文件读写处理方法实施例示意图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将运用具体的实施例及附图,对本发明保护的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本专利中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利保护的范围。
本实施例提供一种分布式文件系统文件读写处理方法,如图1、图2所示,方法包括:
S1:多个客户端对文件进行写入前,每个客户端分别向MDS申请对文件的写权限,并且每个客户端标示申请修改写权限或追加写权限;
S2:MDS接收所有客户端发送的读写权限申请,并对每个客户端申请的修改写权限或追加写权限给予授权;
S3:MDS实时统计所有客户端的读写权限。
具体的,客户端打开文件,MDS授权所有客户端直读和直写权限;客户端将追加写或者修改写方式异步发送给MDS;MDS统计客户端读写方式,重新给客户端授权写缓存或者读缓存。
本实施例中,当某一文件被多个客户端同时使用,且只有一个客户端对所述文件进行追加写时,MDS授权该客户端写缓存权限,同时授权其他的客户端读缓存权限。
本实施例中,当客户端向MDS申请由追加写权限变更为修改写权限时,MDS通知该客户端释放追加写缓存权限,同时将缓存数据储存到后端存储设备。
本实施例中,当客户端向MDS申请由修改写权限变更为追加写权限时,MDS通知该客户端释放修改写缓存权限,同时将缓存数据储存到后端存储设备。
本实施例中,当客户端获得追加写权限后,进行追加写数据时,先将写入数据缓存在第一缓存中;
第一缓存数据压缩模块根据预设的压缩量将第一缓存中多个数据进行组合压缩,形成压缩数据块;
第一缓存数据压缩模块针对压缩数据块中的每个数据对应生成一元数据,元数据记录压缩前后的每个数据处于第一缓存中的位置;
将压缩数据块以及与压缩数据块相对应的元数据下发给第二缓存;
第二缓存保存压缩数据块和元数据;
当客户端的追加写权限被收回,或者客户端的追加写操作完成时,第二缓存将保存的压缩数据块和元数据保存到客户端的存储设备。
预设的压缩量的获取方式包括:第一缓存数据处理模块在第一缓存随机抽取N个数据,N为非零的自然数,对抽取的数据进行组合压缩,组合压缩后计算出N个数据的平均MD5值,将该值作为预设压缩量。
这样,客户端追加写对缓存的数据进行实时压缩,可以事先预设数据的压缩量,保证压缩效果。并且在数据储存至存储设备之前先对写入数据进行了压缩,节约了存储设备空间。
本实施例中,客户端申请到修改写权限或追加写权限后,客户端在客户端配额数据结构中设置预留缓存空位;预留缓存空位获取MDS分配的分配缓存空间;
MDS将总储存配额拆分为以固定大小为基本单位的单位存储空间,MDS统一分配和使用单位存储空间;
当客户端获取到修改写权限或追加写权限,且向MDS申请单位存储空间时,MDS根据客户端的申请分配单位存储空间;
客户端得到单位存储空间后,将MDS分配的单位存储空间计入用户配额数据结构中的预留缓存空位上。
其中,客户端修改写或追加写操作时,将修改写或追加写的数据储存至预留缓存空位的单位存储空间内,当预授权空间内的单位存储空间容量不足时,向MDS发出申请,申请分配单位存储空间;
MDS根据所述客户端的申请再分配一单位存储空间;
客户端得到单位存储空间后,将MDS分配的单位存储空间计入用户配额数据结构中的预留缓存空位内,并与在先分配的单位存储空间统一使用。
在客户端与MDS同步目录配额信息,有效地避免了多客户端同时修改写或追加写配额超额的状况。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种分布式文件系统文件读写处理方法,其特征在于,方法包括:
多个客户端对文件进行写入前,每个客户端分别向MDS申请对文件的写权限,并且每个客户端标示申请修改写权限或追加写权限;
MDS接收所有客户端发送的读写权限申请,并对每个客户端申请的修改写权限或追加写权限给予授权;
MDS实时统计所有客户端的读写权限。
2.根据权利要求1所述的分布式文件系统文件读写处理方法,其特征在于,
当某一文件被多个客户端同时使用,且只有一个客户端对所述文件进行追加写时,MDS授权该客户端写缓存权限,同时授权其他的客户端读缓存权限。
3.根据权利要求1所述的分布式文件系统文件读写处理方法,其特征在于,
当客户端向MDS申请由追加写权限变更为修改写权限时,MDS通知该客户端释放追加写缓存权限,同时将缓存数据储存到后端存储设备。
4.根据权利要求1所述的分布式文件系统文件读写处理方法,其特征在于,
当客户端向MDS申请由修改写权限变更为追加写权限时,MDS通知该客户端释放修改写缓存权限,同时将缓存数据储存到后端存储设备。
5.根据权利要求1所述的分布式文件系统文件读写处理方法,其特征在于,
当客户端获得追加写权限后,进行追加写数据时,先将写入数据缓存在第一缓存中;
第一缓存数据压缩模块根据预设的压缩量将第一缓存中多个数据进行组合压缩,形成压缩数据块;
第一缓存数据压缩模块针对压缩数据块中的每个数据对应生成一元数据,元数据记录压缩前后的每个数据处于第一缓存中的位置;
将压缩数据块以及与压缩数据块相对应的元数据下发给第二缓存;
第二缓存保存压缩数据块和元数据;
当客户端的追加写权限被收回,或者客户端的追加写操作完成时,第二缓存将保存的压缩数据块和元数据保存到客户端的存储设备。
6.根据权利要求5所述的分布式文件系统文件读写处理方法,其特征在于,
预设的压缩量的获取方式包括:第一缓存数据处理模块在第一缓存随机抽取N个数据,N为非零的自然数,对抽取的数据进行组合压缩,组合压缩后计算出N个数据的平均MD5值,将该值作为预设压缩量。
7.根据权利要求1所述的分布式文件系统文件读写处理方法,其特征在于,
客户端申请到修改写权限或追加写权限后,客户端在客户端配额数据结构中设置预留缓存空位;预留缓存空位获取MDS分配的分配缓存空间;
MDS将总储存配额拆分为以固定大小为基本单位的单位存储空间,MDS统一分配和使用单位存储空间;
当客户端获取到修改写权限或追加写权限,且向MDS申请单位存储空间时,MDS根据客户端的申请分配单位存储空间;
客户端得到单位存储空间后,将MDS分配的单位存储空间计入用户配额数据结构中的预留缓存空位上。
8.根据权利要求7所述的分布式文件系统文件读写处理方法,其特征在于,
客户端修改写或追加写操作时,将修改写或追加写的数据储存至预留缓存空位的单位存储空间内,当预授权空间内的单位存储空间容量不足时,向MDS发出申请,申请分配单位存储空间;
MDS根据所述客户端的申请再分配一单位存储空间;
客户端得到单位存储空间后,将MDS分配的单位存储空间计入用户配额数据结构中的预留缓存空位内,并与在先分配的单位存储空间统一使用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710113816.9A CN106897440B (zh) | 2017-02-28 | 2017-02-28 | 一种分布式文件系统文件读写处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710113816.9A CN106897440B (zh) | 2017-02-28 | 2017-02-28 | 一种分布式文件系统文件读写处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106897440A true CN106897440A (zh) | 2017-06-27 |
CN106897440B CN106897440B (zh) | 2020-06-26 |
Family
ID=59185139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710113816.9A Active CN106897440B (zh) | 2017-02-28 | 2017-02-28 | 一种分布式文件系统文件读写处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106897440B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107678981A (zh) * | 2017-08-24 | 2018-02-09 | 北京盛和大地数据科技有限公司 | 数据处理方法及装置 |
CN108595109A (zh) * | 2017-12-29 | 2018-09-28 | 郑州云海信息技术有限公司 | 一种基于Ceph分布式存储系统的多客户端写的方法 |
CN109284274A (zh) * | 2018-11-29 | 2019-01-29 | 郑州云海信息技术有限公司 | 一种基于分布式文件系统的配置异步预分配实现方法 |
CN112817765A (zh) * | 2021-02-08 | 2021-05-18 | 北京同有飞骥科技股份有限公司 | 基于预授权的分布式对象存储桶配额管理方法及系统 |
CN113568881A (zh) * | 2021-06-11 | 2021-10-29 | 济南浪潮数据技术有限公司 | 一种实现读写共享的方法、系统、设备及介质 |
CN113590560A (zh) * | 2021-06-29 | 2021-11-02 | 济南浪潮数据技术有限公司 | 一种分布式系统的缓存优化方法、系统、设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101382953A (zh) * | 2008-09-19 | 2009-03-11 | 中兴通讯股份有限公司 | 在用户空间访问文件系统的接口系统与文件读、写方法 |
CN102752381A (zh) * | 2012-06-28 | 2012-10-24 | 北京邮电大学 | 一种应用于分布式存储的多活动副本机制及其存取方法 |
US20130073522A1 (en) * | 2010-10-27 | 2013-03-21 | Huawei Technologies Co., Ltd. | Method and device for processing files of distributed file system |
CN103179185A (zh) * | 2012-12-25 | 2013-06-26 | 中国科学院计算技术研究所 | 一种分布式文件系统客户端缓存中文件创建方法及其系统 |
CN104021137A (zh) * | 2014-04-21 | 2014-09-03 | 中国科学院计算技术研究所 | 一种基于目录授权的客户端本地开闭文件的方法及系统 |
CN104133882A (zh) * | 2014-07-28 | 2014-11-05 | 四川大学 | 一种基于hdfs的小文件处理方法 |
-
2017
- 2017-02-28 CN CN201710113816.9A patent/CN106897440B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101382953A (zh) * | 2008-09-19 | 2009-03-11 | 中兴通讯股份有限公司 | 在用户空间访问文件系统的接口系统与文件读、写方法 |
US20130073522A1 (en) * | 2010-10-27 | 2013-03-21 | Huawei Technologies Co., Ltd. | Method and device for processing files of distributed file system |
CN102752381A (zh) * | 2012-06-28 | 2012-10-24 | 北京邮电大学 | 一种应用于分布式存储的多活动副本机制及其存取方法 |
CN103179185A (zh) * | 2012-12-25 | 2013-06-26 | 中国科学院计算技术研究所 | 一种分布式文件系统客户端缓存中文件创建方法及其系统 |
CN104021137A (zh) * | 2014-04-21 | 2014-09-03 | 中国科学院计算技术研究所 | 一种基于目录授权的客户端本地开闭文件的方法及系统 |
CN104133882A (zh) * | 2014-07-28 | 2014-11-05 | 四川大学 | 一种基于hdfs的小文件处理方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107678981A (zh) * | 2017-08-24 | 2018-02-09 | 北京盛和大地数据科技有限公司 | 数据处理方法及装置 |
CN108595109A (zh) * | 2017-12-29 | 2018-09-28 | 郑州云海信息技术有限公司 | 一种基于Ceph分布式存储系统的多客户端写的方法 |
CN108595109B (zh) * | 2017-12-29 | 2021-06-29 | 郑州云海信息技术有限公司 | 一种基于Ceph分布式存储系统的多客户端写的方法 |
CN109284274A (zh) * | 2018-11-29 | 2019-01-29 | 郑州云海信息技术有限公司 | 一种基于分布式文件系统的配置异步预分配实现方法 |
CN109284274B (zh) * | 2018-11-29 | 2021-09-28 | 郑州云海信息技术有限公司 | 一种基于分布式文件系统的配置异步预分配实现方法 |
CN112817765A (zh) * | 2021-02-08 | 2021-05-18 | 北京同有飞骥科技股份有限公司 | 基于预授权的分布式对象存储桶配额管理方法及系统 |
CN112817765B (zh) * | 2021-02-08 | 2024-06-04 | 北京同有飞骥科技股份有限公司 | 基于预授权的分布式对象存储桶配额管理方法及系统 |
CN113568881A (zh) * | 2021-06-11 | 2021-10-29 | 济南浪潮数据技术有限公司 | 一种实现读写共享的方法、系统、设备及介质 |
CN113590560A (zh) * | 2021-06-29 | 2021-11-02 | 济南浪潮数据技术有限公司 | 一种分布式系统的缓存优化方法、系统、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106897440B (zh) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106897440A (zh) | 一种分布式文件系统文件读写处理方法 | |
CN105205014B (zh) | 一种数据存储方法和装置 | |
US20170286294A1 (en) | Apparatus, system and method for caching compressed data | |
Yim et al. | A flash compression layer for smartmedia card systems | |
US7236992B2 (en) | Storage system | |
CN107436725A (zh) | 一种数据写、读方法、装置及分布式对象存储集群 | |
CN103902467B (zh) | 压缩内存访问控制方法、装置及系统 | |
CN106406753B (zh) | 一种数据存储方法及数据存储装置 | |
CN106776759A (zh) | 分布式文件系统的小文件预读方法及系统 | |
CN104967807B (zh) | 一种缓存方法和装置 | |
CN102521330A (zh) | 一种桌面虚拟化环境下的镜像分布式存储方法 | |
CN106610790A (zh) | 一种重复数据删除方法及装置 | |
CN107608631A (zh) | 一种数据文件存储方法、装置、设备以及存储介质 | |
Ji et al. | Lightweight data compression for mobile flash storage | |
CN107533752A (zh) | 用于图形处理的基于表面格式的自适应存储器地址扫描 | |
CN109542329B (zh) | 日志写入方法、存储管理设备及系统 | |
CN109343797A (zh) | 一种缓存数据的传输方法、系统及相关组件 | |
CN106062662A (zh) | 用于在dram存储器系统中提供省电的静态图像显示刷新的系统和方法 | |
CN108351833A (zh) | 用来压缩密码元数据以用于存储器加密的技术 | |
CN101937321A (zh) | 一种实现混合缓存的方法和装置 | |
WO2024152517A1 (zh) | 系统级芯片的内存访问方法、装置及电子设备 | |
CN115809028B (zh) | 一种缓存数据替换方法、装置、图形处理系统及电子设备 | |
CN106575273A (zh) | 用于扩展片上系统的存储器的系统和方法 | |
CN106775462A (zh) | 一种读写过程中减少内存拷贝的方法和装置 | |
CN103645873B (zh) | 一种在趋势曲线系统中实现高效数据缓存的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |