CN107908751A - 一种分布式文件系统目录级配额的优化方法 - Google Patents
一种分布式文件系统目录级配额的优化方法 Download PDFInfo
- Publication number
- CN107908751A CN107908751A CN201711148455.8A CN201711148455A CN107908751A CN 107908751 A CN107908751 A CN 107908751A CN 201711148455 A CN201711148455 A CN 201711148455A CN 107908751 A CN107908751 A CN 107908751A
- Authority
- CN
- China
- Prior art keywords
- dictionary
- renewal
- quota
- file
- document
- 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/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/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
一种分布式文件系统目录级配额的优化方法,涉及文件系统。创建两个配额更新操作字典,其中一个是当前活跃字典,另一个是非活跃字典,字典的键是文件的inode号,值是对这个文件的更新量;当一个文件被修改时,在当前活跃字典中查找该文件,若找到,则把这次的修改带来的变化量加到更新量上;否则在字典中增加该文件并记录更新量;当前活跃字典的更新操作数量达到预订的阀值,或者时间超过给定的超时值时,把当前活跃字典提交给存储介质,并切换活跃字典和非活跃字典;在系统接到提交后,把字典中的更新操作一次性写入存储介质。
Description
技术领域
本发明涉及文件系统,尤其是涉及一种分布式文件系统目录级配额的优化方法。
背景技术
在文件系统中,配额(quota)指的是系统管理员针对某个用户或者目录设定的空间使用上限。为了实现配额,文件系统一般需要记录用户或者目录当前的使用量,对于每个写操作,文件系统需要对当前使用量进行更新。
对于目录限额,每次更新都需要更新从当前目录到根目录的配额信息,每次更新都需要加锁、写存储介质、解锁。况且,对一个分布式文件系统,元数据更新往往需要通过网络传输数据。因此,频繁的更新元数据会极大地影响分布式文件系统的性能。
中国专利CN105677789A公开一种分布式文件系统的目录容量管理方法及系统,该方法包括:客户端在检测到对目标文件的写操作时生成所述目标文件所属目录的已用目录容量大小的更新请求,并将所述更新请求发送至服务端;所述服务端在收到所述更新请求时,遍历所述目标文件所属目录下的所有文件(而不是直接使用目录iNode大小),得到当前已用目录容量大小,并将所述当前已用目录容量大小反馈至所述客户端。可见,该发明有效实现了及时更新目录容量大小,进而提高配额准确性的目的。
中国专利CN106210026A公开一种分布式文件系统多客户端目录配额精度的控制方法及系统,该方法包括:针对分布式文件系统确定一个预设目录配额精度值;检测元数据服务端的目录配额的可用容量;当所述目录配额的可用容量小于所述预设目录配额精度值时,获取操作目录的客户端的数量;利用所述目录配额的可用容量和所述客户端的数量,将所述可用容量进行分解,并将分解后的配额分配给所述客户端使用。该申请提供的一种分布式文件系统多客户端目录配额精度的控制方法及系统,能够保证多客户端场景下的目录配额精度,同时不影响客户端的性能。
中国专利CN106326013A公开一种分布式文件系统的磁盘配额管理系统,包括:元数据服务器和N个客户端;其中,元数据服务器包括:信息记录模块,用于记录所有客户端上的磁盘配额信息,得到相应的全局配额信息;配额管理模块,用于当任一客户端的磁盘配额信息发生变化,则获取该客户端发送的相应的配额信息变更请求,并将配额信息变更请求发送至信息记录模块,以利用配额信息变更请求,对全局配额信息进行相应地更新。该申请的技术方案能够让元数据服务器及时地获知当前分布式文件系统的所有客户端中最新的磁盘配额信息,由此可实现对分布式文件系统中的磁盘配额进行统一管理的目的。相应的,该申请还相应公开了一种分布式文件系统的磁盘配额管理方法。
中国专利CN106484834A公开一种分布式文件系统用户配额数据保存方法,包括:当检测到用户配额数据变化时,记录一条Journal事件保存用户配额数据变化的增量数据;当系统启动或重启时,读取所述Journal事件,并利用replay方法恢复用户配额数据;其中,所述replay方法包括利用所述增量数据恢复用户配额数据的程序;该方法保证用户配额数据安全性,可以满足用户对用户配额数据安全性要求较高的应用场景;该发明还公开了分布式文件系统用户配额数据保存系统及服务器,具有上述有益效果。
发明内容
本发明的目的在于提供可有效减少存储介质层面元数据的更新,能够提高系统性能的一种分布式文件系统目录级配额的优化方法。
本发明包括以下步骤:
1)创建两个配额更新操作字典,其中一个是当前活跃字典,另一个是非活跃字典,字典的键(key)是文件的inode号,值(value)是对这个文件的更新量;
2)当一个文件被修改时,在当前活跃字典中查找该文件,若找到,则把这次的修改带来的变化量加到更新量上;否则在字典中增加该文件并记录更新量;
3)当前活跃字典的更新操作数量达到预订的阀值,或者时间超过给定的超时值时,把当前活跃字典提交给存储介质,并切换活跃字典和非活跃字典;
4)在系统接到提交后,把字典中的更新操作一次性写入存储介质。
本发明主要方法如下:
1)合并对同一个文件的更新操作:当一个文件首次被改动时,用户很有可能会对它再次修改,这是数据的局部性原理,因而有机会把对一个文件的多次修改所导致的多个元数据更新操作合并成一个更新操作;将对同一文件的多次操作缓存并合并为一次操作,将降低对文件系统配额的更新操作数量。
2)批处理多个更新操作的具体方法如下:创建更新操作缓存字典,用于记录对系统做出的更新操作,当元数据更新操作的数量达到预设的阀值后再去真正地写数据,一次性处理多个更新,从而减少网络传输的次数。
3)为确保更新操作的连续性不被打断,系统中将同时创建两个缓存字典:其中,当一个缓存、聚集当前的元数据操作时,另一个处于不可修改状态;当缓存角色的字典切换成不可修改角色时,之前汇集的元数据修改一次性写入存储介质,原先不可修改的字典则变为可修改状态,承接汇聚当前的元数据修改;两个字典交替工作,可以保证缓存字典向系统输出更新操作记录时,由另一个字典承接记录更新操作的工作,确保记录更新的稳定性。
本发明针对现有技术存在的问题,提供了一种采用双字典的方法,有效减少存储介质层面元数据的更新,从而能够提高系统性能。
在分布式文件系统中,需要对文件配额进行管理,以限制文件可以占用的空间大小,在企业化应用场景中,遇到系统故障或误操作导致文件空间被占满时,会影响整个文件系统的正常工作,造成文件系统的崩溃、停机。
文件系统配额管理功能提供了准确管理可用空间的方法。通过配额,管理员可以单个目录、多个目录、单个用户、多个用户的可用空间。合理地为各种应用分配空间,避免出现某些用户过度使用资源,而令文件系统不可用的风险。
在分布式文件系统目录配额的处理上,现有技术主要是使用特定文件来保存文件目录配额数据。每次进行文件修改操作时,都会同时更新文件目录配额数据。为了保证文件系统数据可靠性,在进行文件目录配额更新操作时,每次更新都需要加锁、写存储介质、解锁,对硬盘介质形成大量的读写操作。加锁、写入、解锁形成一个操作闭环,每一个更新配额的操作都要经历一次专业的操作闭环,而一次操作喂完成时,新的操作只能等待上一操作完成后才能启动,造成了整个系统的功能中断与延迟情况较为明显。同时在分布式文件系统下,各节点之间需要互相交换配额更新数据,大量的操作数据传输也可能会造成网络堵塞,这对存储数据全部均依赖网络传输的分布式文件系统而言,是影响系统整体性能的一个重要障碍。
附图说明
图1为现有的分布式文件系统目录级配额流程图。
图2为本发明实施例的流程图。
具体实施方式
图1为现有的分布式文件系统目录级配额流程图,1)文件更新需求;2)分布式文件系统发出配额更新信号;3)更新元数据中的配额数据,分配空间;4)新数据写入。
图2为本发明实施例的流程图,1)文件更新需求;2)在字典1中记录更新数据;3)当字典1中的数据未达到预设值时,继续记录更新数据;4)当字典1中的数据达到预设值时,切换字典,由字典2承担记录更新数据的工作,字典1启动配额信息更新动作,分配空间;5)新数据写入。
现有技术主要针对原有配额更新机制过于繁琐的弊端,通过将多次更新缓存累计至一定量后,一次性进行配额更新操作,大大减少了配额更新操作的操作量。与传统方法相比,本发明的方法可以在保证配额更新信息有效、可靠的前提下,以较低的频率实现同等工作量的配额更新操作,优化了整体系统的配额更新流程。
另外,现有技术在配额关闭期间,不进行配额的检查,也不能进行配额的更新。这样,在配额关闭期间,新建的文件、新写入的数据以及删除的数据都不会被更新到配额统计数据中。在配额开启期间,对于新建的配额项,若想令其生效,现有技术的做法是:需要管理员关闭配额功能,再行打开,进而触发整文件系统的扫描。因为,对于新建配额项来说,其当前已使用的空间和文件数是未记录的。通过扫描,才能统计出该配额项已使用的空间和文件数。由此,才能保证配额的检查和更新是准确的。
而本发明采用双字典设计来解决配额更新操作中的新数据写入问题,其原理如下:系统中存在2个字典,其中一个处于被激活状态,记录配额的更新信息,当更新信息量累计到预设值时,该字典进入锁定状态,同时启动配额更新操作;与此同时,另一字典从休眠状态转换为启动状态,开始记录系统中新的配额更新信息,等待信息量积累到预设值后更新入系统中,2个字典的设计完美的解决了原有配额更新方式中,配额锁定时新增配额信息无法被处理的问题。
Claims (4)
1.一种分布式文件系统目录级配额的优化方法,其特征在于包括以下步骤:
1)创建两个配额更新操作字典,其中一个是当前活跃字典,另一个是非活跃字典,字典的键是文件的inode号,值是对这个文件的更新量;
2)当一个文件被修改时,在当前活跃字典中查找该文件,若找到,则把这次的修改带来的变化量加到更新量上;否则在字典中增加该文件并记录更新量;
3)当前活跃字典的更新操作数量达到预订的阀值,或者时间超过给定的超时值时,把当前活跃字典提交给存储介质,并切换活跃字典和非活跃字典;
4)在系统接到提交后,把字典中的更新操作一次性写入存储介质。
2.如权利要求1所述一种分布式文件系统目录级配额的优化方法,其特征在于合并对同一个文件的更新操作:当一个文件首次被改动时,用户会对它再次修改,因而有机会把对一个文件的多次修改所导致的多个元数据更新操作合并成一个更新操作;将对同一文件的多次操作缓存并合并为一次操作,将降低对文件系统配额的更新操作数量。
3.如权利要求1所述一种分布式文件系统目录级配额的优化方法,其特征在于批处理多个更新操作的具体方法如下:创建更新操作缓存字典,用于记录对系统做出的更新操作,当元数据更新操作的数量达到预设的阀值后再去真正地写数据,一次性处理多个更新,从而减少网络传输的次数。
4.如权利要求1所述一种分布式文件系统目录级配额的优化方法,其特征在于为确保更新操作的连续性不被打断,系统中将同时创建两个缓存字典:其中,当一个缓存、聚集当前的元数据操作时,另一个处于不可修改状态;当缓存角色的字典切换成不可修改角色时,之前汇集的元数据修改一次性写入存储介质,原先不可修改的字典则变为可修改状态,承接汇聚当前的元数据修改;两个字典交替工作,保证缓存字典向系统输出更新操作记录时,由另一个字典承接记录更新操作的工作,确保记录更新的稳定性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711148455.8A CN107908751A (zh) | 2017-11-17 | 2017-11-17 | 一种分布式文件系统目录级配额的优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711148455.8A CN107908751A (zh) | 2017-11-17 | 2017-11-17 | 一种分布式文件系统目录级配额的优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107908751A true CN107908751A (zh) | 2018-04-13 |
Family
ID=61846223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711148455.8A Pending CN107908751A (zh) | 2017-11-17 | 2017-11-17 | 一种分布式文件系统目录级配额的优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107908751A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102426553A (zh) * | 2011-11-11 | 2012-04-25 | 中国科学技术大学 | 基于双缓存预读的向用户传输数据的方法和装置 |
CN103559231A (zh) * | 2013-10-23 | 2014-02-05 | 华为技术有限公司 | 一种文件系统配额管理方法、装置及系统 |
CN104049918A (zh) * | 2014-07-03 | 2014-09-17 | 浪潮集团有限公司 | 一种双控存储服务器的缓存管理方法 |
US20170249304A1 (en) * | 2016-02-29 | 2017-08-31 | Red Hat, Inc. | File system quota versioning |
-
2017
- 2017-11-17 CN CN201711148455.8A patent/CN107908751A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102426553A (zh) * | 2011-11-11 | 2012-04-25 | 中国科学技术大学 | 基于双缓存预读的向用户传输数据的方法和装置 |
CN103559231A (zh) * | 2013-10-23 | 2014-02-05 | 华为技术有限公司 | 一种文件系统配额管理方法、装置及系统 |
CN104049918A (zh) * | 2014-07-03 | 2014-09-17 | 浪潮集团有限公司 | 一种双控存储服务器的缓存管理方法 |
US20170249304A1 (en) * | 2016-02-29 | 2017-08-31 | Red Hat, Inc. | File system quota versioning |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9990372B2 (en) | Managing the level of consistency for a file in a distributed filesystem | |
US9613048B2 (en) | Sending interim notifications to a client of a distributed filesystem | |
US8756199B2 (en) | File level hierarchical storage management system, method, and apparatus | |
US9043637B2 (en) | Failure recovery method in information processing system and information processing system | |
US9460106B2 (en) | Data synchronization among file storages using stub files | |
US8392479B1 (en) | Method and apparatus for optimizing storage space allocation for computer data | |
US7818287B2 (en) | Storage management system and method and program | |
US8209498B2 (en) | Method and system for transferring duplicate files in hierarchical storage management system | |
JP5918244B2 (ja) | フォールトトレラントデータベース管理システムにおいてクエリ結果を統合するシステム及び方法 | |
US20070226320A1 (en) | Device, System and Method for Storage and Access of Computer Files | |
US20060047931A1 (en) | Method and program for creating a snapshot, and storage system | |
US8135763B1 (en) | Apparatus and method for maintaining a file system index | |
US20130212070A1 (en) | Management apparatus and management method for hierarchical storage system | |
JP2013545162A5 (zh) | ||
GB2439578A (en) | Virtual file system with links between data streams | |
US8527470B2 (en) | Recovery point data view formation with generation of a recovery view and a coalesce policy | |
CN114281762B (zh) | 一种日志存储加速方法、装置、设备及介质 | |
US20200133782A1 (en) | Restoring a directory to a state prior to a past synchronization event | |
CN116467275A (zh) | 共享远程存储方法、装置、系统、电子设备及存储介质 | |
CN107908751A (zh) | 一种分布式文件系统目录级配额的优化方法 | |
US11899625B2 (en) | Systems and methods for replication time estimation in a data deduplication system | |
US20220391296A1 (en) | Exchanging extended attributes between different cluster sites in a clustered filesystem environment | |
US20030004920A1 (en) | Method, system, and program for providing data to an application program from a file in a file system | |
US10942898B2 (en) | System and method for a persistent hierarchical work manager | |
CN111444179B (zh) | 数据处理方法、装置、存储介质及服务器 |
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: 20180413 |
|
RJ01 | Rejection of invention patent application after publication |