CN106802950A - 一种分布式文件***小文件写缓存优化的方法 - Google Patents
一种分布式文件***小文件写缓存优化的方法 Download PDFInfo
- Publication number
- CN106802950A CN106802950A CN201710029014.XA CN201710029014A CN106802950A CN 106802950 A CN106802950 A CN 106802950A CN 201710029014 A CN201710029014 A CN 201710029014A CN 106802950 A CN106802950 A CN 106802950A
- Authority
- CN
- China
- Prior art keywords
- inode
- small documents
- file system
- caching
- 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.)
- Pending
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/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/1727—Details of free space management 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)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种分布式文件***小文件写缓存优化的方法,涉及计算机存储领域,具体方法如下:S1、挂载文件***,指定目录打开缓存功能;S2、将所写入的数据保存到客户端缓存;S3、缓存管理模块按照inode进行脏数据区分管理;S4、缓存刷新模块定期刷新脏数据到后端存储池。本发明通过目录布局,实现缓存功能的开关控制,以及子目录对缓存功能开关控制的继承;刷新inode操作由定时器触发,将同步刷新变成异步,并且可以实现批量刷新inode,刷新的数据内容与inode强相关,可以有效提高小文件写入效率;可以同时面向大文件与小文件的写入操作。
Description
技术领域
本发明涉及计算机存储领域,具体地说是一种分布式文件***小文件写缓存优化的方法。
背景技术
随着计算机技术的快速发展,各种形式的信息数据量越来越大,PB级别的海量数据存储变得越来越重要。传统意义的文件***已不能满足现有应用的大容量、高可靠性、高性能等要求,为满足这些新的要求,分布式文件***得到了广泛的重视。
现有的分布式文件***的研究主要分为元数据和实际数据存储分开管理,通过元数据与实际数据的隔离实现了分布式文件***的容量动态增减、性能现行扩展。
然而,电子商务、移动通信、传感器网络等各种应用产生的数据,不仅存储容量巨大,而且还具有数据类型繁多、数据大小变化大、流动快等显著特点,往往能够产生千万级、亿级甚至十亿、百亿级的海量小文件。
在进行大文件写入时,可以在客户端进行数据合并来提高刷新效率,而小文件内容则无法有效合并,因此急需发明一种小文件写入缓存优化的方法。
发明内容
本发明的技术任务是提供一种分布式文件***小文件写缓存优化的方法。
本发明的技术任务是按以下方式实现的,一种分布式文件***小文件写缓存优化的方法,具体方法步骤如下:
S1、挂载文件***,指定目录打开缓存功能;
S2、将所写入的数据保存到客户端缓存;
S3、缓存管理模块按照inode进行脏数据区分管理;
S4、缓存刷新模块定期刷新脏数据到后端存储池。
进一步,优选的方法为,所述的S3缓存管理模块按照inode进行脏数据区分管理的具体步骤为:
在客户端每个inode里面新增一个索引,用来管理属于当前inode的脏数据,在客户端进行小文件写入时将所写入的数据关联到新增的索引上面。
进一步,优选的方法为,所述的S4中缓存刷新的具体步骤为:
增加定时器,用于定期触发脏数据刷新操作;
在文件写入完成后关闭文件句柄,然后将待刷新inode放至任务队列,每一次只刷新特定数量的inode,刷新的数据内容必须是与inode相关联;以使得每一次刷新操作可以批量刷新inode的同时刷新与该inode关联的脏数据。
进一步,优选的方法为,所述的缓存功能的打开与关闭功能,以目录为操作的基本单位。
进一步,优选的方法为,所述的目录下的子目录继承了缓存功能的打开与关闭功能。
一种分布式文件***小文件写缓存优化的装置,包括客户端、缓存功能开启模块、缓存管理模块和缓存刷新模块;
其中客户端,客户端缓存用于保存写入的数据;
缓存功能开启模块,以目录为操作的基本单位,用于缓存功能的打开与关闭;
缓存管理模块,用于按照inode进行脏数据区分管理;
缓存刷新模块,用于实现批量刷新inode,刷新的数据内容与inode相关联。
进一步,优选的结构为,所述的缓存刷新模块包括定时器,用于批量inode的延迟刷新。
本发明是小文件写入时,将数据内容写入到缓存,并且关联到具体的inode;由定时器延迟刷新,每一次只刷新特定数量的inode,刷新的数据内容必须是与inode相关联。而且本发明的缓存功能是以目录为操作的基本单位,可以指定目录打开或者关闭该功能特性。
本发明的一种分布式文件***小文件写缓存优化的方法和现有技术相比,有益效果如下:
1、通过目录布局,实现缓存功能的开关控制,以及子目录对缓存功能开关控制的继承;
2、刷新inode操作由定时器触发,将同步刷新变成异步,并且可以实现批量刷新inode,刷新的数据内容与inode强相关,可以有效提高小文件写入效率;
3、可以同时面向大文件与小文件的写入操作。
附图说明
附图1为一种分布式文件***小文件写缓存优化的方法的流程示意图。
具体实施方式
实施例1:
本发明是文件***进行小文件写操作时,将所写入的数据保存到客户端缓存并且按照inode区分管理,然后由定时器定期将脏数据刷新到后端存储池,批量写入,批量刷新以提高小文件的写入效率。
一种分布式文件***小文件写缓存优化的方法,具体方法步骤如下:
S1、挂载文件***,指定目录打开缓存功能;所述的缓存功能的打开与关闭功能,以目录为操作的基本单位,而且子目录继承了缓存功能的打开与关闭功能。
S2、将所写入的数据保存到客户端缓存;
S3、缓存管理模块按照inode进行脏数据区分管理;在客户端每个inode里面新增一个索引,用来管理属于当前inode的脏数据,在客户端进行小文件写入时将所写入的数据关联到新增的索引上面。
S4、缓存刷新模块定期刷新脏数据到后端存储池。增加定时器,用于定期触发脏数据刷新操作;
在文件写入完成后关闭文件句柄,然后将待刷新inode放至任务队列,每一次只刷新特定数量的inode,刷新的数据内容必须是与inode相关联;以使得每一次刷新操作可以批量刷新inode的同时刷新与该inode关联的脏数据。
本发明还包括应用上述方法的装置,一种分布式文件***小文件写缓存优化的装置,包括客户端、缓存功能开启模块、缓存管理模块和缓存刷新模块;
其中客户端,客户端缓存用于保存写入的数据;
缓存功能开启模块,以目录为操作的基本单位,用于缓存功能的打开与关闭;
缓存管理模块,用于按照inode进行脏数据区分管理;
缓存刷新模块,用于实现批量刷新inode,刷新的数据内容与inode相关联。
进一步,优选的结构为,所述的缓存刷新模块包括定时器,用于批量inode的延迟刷新。
本发明文件***在进行小文件写入时,将所有的数据按照inode来分类管理,并且由定时器定期触发刷新操作,每一次刷新操作可以批量刷新inode,同时刷新与该inode相关的数据。
本发明通过目录布局,实现缓存功能的开关控制,以及子目录对缓存功能开关控制的继承;刷新inode操作由定时器触发,将同步刷新变成异步,并且可以实现批量刷新inode,刷新的数据内容与inode强相关,可以有效提高小文件写入效率;可以同时面向大文件与小文件的写入操作。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的几种具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
Claims (7)
1.一种分布式文件***小文件写缓存优化的方法,其特征在于,具体方法步骤如下:
S1、挂载文件***,指定目录打开缓存功能;
S2、将所写入的数据保存到客户端缓存;
S3、缓存管理模块按照inode进行脏数据区分管理;
S4、缓存刷新模块定期刷新脏数据到后端存储池。
2.根据权利要求1所述的一种分布式文件***小文件写缓存优化的方法,其特征在于,所述的S3缓存管理模块按照inode进行脏数据区分管理的具体步骤为:
在客户端每个inode里面新增一个索引,用来管理属于当前inode的脏数据,在客户端进行小文件写入时将所写入的数据关联到新增的索引上面。
3.根据权利要求1所述的一种分布式文件***小文件写缓存优化的方法,其特征在于,所述的S4中缓存刷新的具体步骤为:
增加定时器,用于定期触发脏数据刷新操作;
在文件写入完成后关闭文件句柄,然后将待刷新inode放至任务队列,每一次只刷新特定数量的inode,刷新的数据内容必须是与inode相关联;以使得每一次刷新操作可以批量刷新inode的同时刷新与该inode关联的脏数据。
4.根据权利要求1所述的一种分布式文件***小文件写缓存优化的方法,其特征在于,所述的缓存功能的打开与关闭功能,以目录为操作的基本单位。
5.根据权利要求4所述的一种分布式文件***小文件写缓存优化的方法,其特征在于,所述的目录下的子目录继承了缓存功能的打开与关闭功能。
6.一种分布式文件***小文件写缓存优化的装置,其特征在于,包括客户端、缓存功能开启模块、缓存管理模块和缓存刷新模块;
其中客户端,客户端缓存用于保存写入的数据;
缓存功能开启模块,以目录为操作的基本单位,用于缓存功能的打开与关闭;
缓存管理模块,用于按照inode进行脏数据区分管理;
缓存刷新模块,用于实现批量刷新inode,刷新的数据内容与inode相关联。
7.根据权利要求6所述的一种分布式文件***小文件写缓存优化的装置,其特征在于,所述的缓存刷新模块包括定时器,用于批量inode的延迟刷新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710029014.XA CN106802950A (zh) | 2017-01-16 | 2017-01-16 | 一种分布式文件***小文件写缓存优化的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710029014.XA CN106802950A (zh) | 2017-01-16 | 2017-01-16 | 一种分布式文件***小文件写缓存优化的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106802950A true CN106802950A (zh) | 2017-06-06 |
Family
ID=58985740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710029014.XA Pending CN106802950A (zh) | 2017-01-16 | 2017-01-16 | 一种分布式文件***小文件写缓存优化的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106802950A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107506447A (zh) * | 2017-08-25 | 2017-12-22 | 郑州云海信息技术有限公司 | 一种基于本地文件***的小文件读写方法及*** |
CN107729435A (zh) * | 2017-09-29 | 2018-02-23 | 郑州云海信息技术有限公司 | 分布式文件***任务分派的方法、装置、设备和存储介质 |
CN108089818A (zh) * | 2017-12-12 | 2018-05-29 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置及存储介质 |
CN109117387A (zh) * | 2018-08-16 | 2019-01-01 | 郑州云海信息技术有限公司 | 一种inode缓存空间的管理方法、***及相关组件 |
CN111078153A (zh) * | 2019-12-20 | 2020-04-28 | 同方知网(北京)技术有限公司 | 一种基于文件的分布式存储方法 |
CN111177090A (zh) * | 2020-01-14 | 2020-05-19 | 江苏鸿程大数据技术与应用研究院有限公司 | 一种基于子模优化算法的客户端缓存方法及*** |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040186861A1 (en) * | 2003-01-17 | 2004-09-23 | Phatak Shirish Hemant | Method and system for use of storage caching with a distributed file system |
CN102314334A (zh) * | 2010-06-30 | 2012-01-11 | 百度在线网络技术(北京)有限公司 | 一种用于缓存用户对应用程序输入的内容的方法和设备 |
CN102725752A (zh) * | 2011-10-20 | 2012-10-10 | 华为技术有限公司 | 处理脏数据的方法及装置 |
CN103744975A (zh) * | 2014-01-13 | 2014-04-23 | 锐达互动科技股份有限公司 | 基于分布式文件的高效缓存服务器 |
CN104113599A (zh) * | 2014-07-22 | 2014-10-22 | 北京星网锐捷网络技术有限公司 | 一种缓存方法、装置及代理服务器 |
CN104111804A (zh) * | 2014-06-27 | 2014-10-22 | 暨南大学 | 一种分布式文件*** |
CN105279267A (zh) * | 2015-10-23 | 2016-01-27 | 广州视睿电子科技有限公司 | 一种数据缓存方法和装置 |
-
2017
- 2017-01-16 CN CN201710029014.XA patent/CN106802950A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040186861A1 (en) * | 2003-01-17 | 2004-09-23 | Phatak Shirish Hemant | Method and system for use of storage caching with a distributed file system |
CN102314334A (zh) * | 2010-06-30 | 2012-01-11 | 百度在线网络技术(北京)有限公司 | 一种用于缓存用户对应用程序输入的内容的方法和设备 |
CN102725752A (zh) * | 2011-10-20 | 2012-10-10 | 华为技术有限公司 | 处理脏数据的方法及装置 |
CN103744975A (zh) * | 2014-01-13 | 2014-04-23 | 锐达互动科技股份有限公司 | 基于分布式文件的高效缓存服务器 |
CN104111804A (zh) * | 2014-06-27 | 2014-10-22 | 暨南大学 | 一种分布式文件*** |
CN104113599A (zh) * | 2014-07-22 | 2014-10-22 | 北京星网锐捷网络技术有限公司 | 一种缓存方法、装置及代理服务器 |
CN105279267A (zh) * | 2015-10-23 | 2016-01-27 | 广州视睿电子科技有限公司 | 一种数据缓存方法和装置 |
Non-Patent Citations (3)
Title |
---|
何弘,毛勇锋: "《无盘站与终端技术从入门到精通》", 31 January 2003 * |
杨占华: "《BIOS&注册表完全攻略 设置、优化、安全、排障、维护、个性化典型实例》", 30 April 2005 * |
王乐乐,李勇: "《计算机多媒体技术》", 30 September 2012 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107506447A (zh) * | 2017-08-25 | 2017-12-22 | 郑州云海信息技术有限公司 | 一种基于本地文件***的小文件读写方法及*** |
CN107729435A (zh) * | 2017-09-29 | 2018-02-23 | 郑州云海信息技术有限公司 | 分布式文件***任务分派的方法、装置、设备和存储介质 |
CN108089818A (zh) * | 2017-12-12 | 2018-05-29 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置及存储介质 |
CN108089818B (zh) * | 2017-12-12 | 2021-09-07 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置及存储介质 |
CN109117387A (zh) * | 2018-08-16 | 2019-01-01 | 郑州云海信息技术有限公司 | 一种inode缓存空间的管理方法、***及相关组件 |
CN109117387B (zh) * | 2018-08-16 | 2022-02-18 | 郑州云海信息技术有限公司 | 一种inode缓存空间的管理方法、***及相关组件 |
CN111078153A (zh) * | 2019-12-20 | 2020-04-28 | 同方知网(北京)技术有限公司 | 一种基于文件的分布式存储方法 |
CN111177090A (zh) * | 2020-01-14 | 2020-05-19 | 江苏鸿程大数据技术与应用研究院有限公司 | 一种基于子模优化算法的客户端缓存方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106802950A (zh) | 一种分布式文件***小文件写缓存优化的方法 | |
CN109977111A (zh) | 采用基于散列和基于树的键-值数据结构的数据管理*** | |
CN102843396B (zh) | 一种分布式缓存***中的数据写入及读取方法及装置 | |
EP2735978A1 (en) | Storage system and management method used for metadata of cluster file system | |
CN107368436B (zh) | 一种联合地址映射表的闪存冷热数据分离存储方法 | |
CN109416681A (zh) | 使用幽灵指纹进行工作负载优化的重复数据删除 | |
CN103885728A (zh) | 一种基于固态盘的磁盘缓存*** | |
CN106066890B (zh) | 一种分布式高性能数据库一体机*** | |
CN113821171B (zh) | 一种基于哈希表与lsm树的键值存储方法 | |
CN104408163A (zh) | 一种数据分级存储方法和装置 | |
CN107391391A (zh) | 在固态硬盘的ftl实现数据拷贝的方法、***及固态硬盘 | |
CN103916459A (zh) | 一种大数据归档存储*** | |
CN104616680A (zh) | 基于光盘存储的重复数据删除***及数据操作方法、装置 | |
CN104050057B (zh) | 一种历史感知的数据去重碎片消除方法与*** | |
CN103942301A (zh) | 一种面向多数据类型访问应用的分布式文件*** | |
US20150212744A1 (en) | Method and system of eviction stage population of a flash memory cache of a multilayer cache system | |
CN100580669C (zh) | 在Flash存储介质上的关于文件分配表的缓存实现方法 | |
CN102609335B (zh) | 一种实现写时复制保护元数据的装置及方法 | |
CN102650972B (zh) | 数据存储方法、装置及*** | |
CN107274923A (zh) | 一种提高固态硬盘中顺序读取流性能的方法及固态硬盘 | |
Lin et al. | Efficient sequential data migration scheme considering dying data for HDD/SSD hybrid storage systems | |
Carniel et al. | The performance relation of spatial indexing on hard disk drives and solid state drives. | |
CN102831181A (zh) | 缓存文件的目录刷新方法及采用该方法的代理缓存服务器 | |
CN108958657A (zh) | 一种数据存储方法、存储设备及存储*** | |
Kaplan et al. | Deduplication in resistive content addressable memory based solid state drive |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170606 |
|
RJ01 | Rejection of invention patent application after publication |