CN102024018A - 一种分布式文件系统中垃圾元数据的在线回收方法 - Google Patents
一种分布式文件系统中垃圾元数据的在线回收方法 Download PDFInfo
- Publication number
- CN102024018A CN102024018A CN2010105365314A CN201010536531A CN102024018A CN 102024018 A CN102024018 A CN 102024018A CN 2010105365314 A CN2010105365314 A CN 2010105365314A CN 201010536531 A CN201010536531 A CN 201010536531A CN 102024018 A CN102024018 A CN 102024018A
- Authority
- CN
- China
- Prior art keywords
- node
- file
- metadata
- catalogue
- rubbish
- 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
Images
Abstract
本发明了公开一种分布式文件系统中垃圾元数据的在线回收方法。该方法通过多路搜索树对元数据在本地文件系统上的存储结构进行快照,在处理删除义件或目录动作时,不去同步清理垃圾索引节点,而是将描述索引节点文件的树节点及其所有祖先节点置上标志。当垃圾索引节点数量达到一个阈值时,唤醒异步回收线程,该线程遍历多路搜索树,通过垃圾标志位确定节点或其子节点是否存在垃圾元数据,然后做进一步垃圾清理工作。该发明可以在基本不影响分布式文件系统对外提供服务的情况下,去回收文件系统运行中产生的无效元数据,从而节省元数据服务器上的存储资源,减轻元数据服务器访问本地文件系统时的负载。
Description
技术领域
本发明涉及分布式文件系统文件管理,具体涉及一种分布式文件系统中垃圾元数据的在线回收方法。
背景技术
分布式文件系统中,高效的元数据管理方法是决定其整体性能的一个重要因素。现代分布式文件系统的元数据管理一般都是基于本地文件系统之上,这样可以降低开发、调试以及维护的成本。对于存储海量文件和目录的分布式文件系统来说,其元数据的量是非常巨大的,为了提高访存效率,通常将元数据按照节点号分组后,存于分级目录中,如图1所示。图中所示的树状结构最底层节点代表存储元数据的索引节点文件,一个文件中存储多个索引节点的数据,这些索引节点的节点号是连续的。
在使用基于本地文件系统元数据管理的分布式文件系统中,删除文件和目录时,如何清理废弃的元数据是一个比较重要的问题。如果同步清理存储于索引节点文件中的元数据信息,则需要多次系统调用甚至访问磁盘的开销,影响元数据模块处理请求的效率;如果不去从磁盘上删除这些废弃的元数据,则系统中会留下大量的垃圾元数据,时间久了之后,不仅会浪费本地文件系统的存储空间,而且随着存储元数据的目录下子目录或文件的增多,会严重影响本地文件系统查找的效率。
目前,部分分布式文件系统所采取的垃圾回收方式以离线回收方式为主,即将该元数据标志为垃圾元数据,以后由系统管理员采用专门的整理工具进行清理。这种方式的优点在于比较简单,但需要关闭集群,这会带来很大的不便。最近备受关注的GoogleFS采用了在线垃圾回收机制,他们的做法是当删除一个文件或目录时,将该文件或目录重新命名,以后定期检查整个名字空间,找出需要删除的目录项,进行垃圾回收。这种方法需要扫描整个名字空间,当名字空间中的子项比较多时,会比较浪费CPU资源,在此期间,其他的服务处理将会受到影响。
发明内容
本发明旨在公开一种分布式文件系统中垃圾元数据的回收方式,目的是为了在不影响分布式文件系统对外提供服务的情况下,去回收文件系统运行中产生的垃圾元数据,以回收元数据服务器上的存储资源,减轻元数据服务器访问本地文件系统时的负载。
1、一种分布式文件系统中垃圾元数据的在线回收方法,包括如下步骤:
A、索引节点采用64位无符号整数进行编号,从0开始,分配索引节点号时,逐渐累加,每32K个索引节点元数据存放于同一文件,所有的索引节点文件在磁盘上按照节点编号采用两级树状结构目录进行存放;
B、索引节点文件存储的目录结构组织成一个多路搜索树,树的每个非叶子节点表征一个子目录,而叶子节点则代表索引节点文件,每个树节点用特定的数据结构来表述;当删除文件或目录时,首先在叶子节点数据结构中将索引节点文件中对应的索引节点置无效,然后置位叶子节点的垃圾存在标志,同时置位该叶子节点所有祖先节点的垃圾存在标志;发明中用全局变量记录目前系统中无效索引节点数目,每进行一次删除操作,则增加计数,如果计数达到一个预定的门限,则唤醒垃圾处理线程;
C、垃圾处理线程被唤醒后,从多路搜索树的根节点开始遍历搜索树:如果节点的垃圾标志被置位,则表示该节点之下的子树有垃圾元数据存在,需要继续处理;如果节点的垃圾标志没有被置位,则表示该子树下面所有的叶子节点不存在垃圾元数据,跳过整个子树,去处理其兄弟节点;
D、对于有垃圾标志的叶子节点,垃圾回收处理分为两种情况:
第一种情况,该索引节点文件中不存在有效的索引节点,直接删除文件;
第二种情况,该索引文件中尚存在有效的索引节点,需要将有效的索引节点拷贝到一个临时的文件中去,形成带有空洞的文件,删除原文件,然后将临时的文件重命名为该索引节点文件名;
E、存放元数据文件的目录的垃圾回收,是在处理完元数据文件之后进行的,当处理完一个目录下的所有元数据文件后,检查该目录下的有效目录项数目是否为0,如果为0,则表示该目录已空,可以删除,处理完一个目录后,再去处理它的其他兄弟节点,当所有兄弟节点都处理完毕后,检查其父目录的有效目录项的数目,如果为0,删除父目录。
本发明可以在基本不影响分布式文件系统对外提供服务的情况下,去回收文件系统运行中产生的无效元数据,从而节省元数据服务器上的存储资源,减轻元数据服务器访问本地文件系统时的负载。
附图说明
图1是本发明索引节点存储结构
具体实施方式
(1)索引节点采用64位无符号整数进行编号,从0开始,分配索引节点号时,逐渐累加。由于64位无符号整数能表达的数字范围非常巨大,假定一秒钟创建10000个索引节点,则64为无符号数全部用完需要约58494243年,所以可以近似认为,索引节点号是无限多的。发明中将每32K个索引节点元数据存放于同一个文件,所有的索引节点文件在磁盘上按照节点编号采用两级树状结构目录进行存放。
(2)将索引节点文件存储的目录结构按照图1组织成为一个多路搜索树,树的每个非叶子节点表征一个子目录,而叶子节点则代表索引节点文件,每个树节点用特定的数据结构来表述。当删除文件或目录时,首先在叶子节点数据结构中将索引节点文件中对应的索引节点置无效,然后置位叶子节点的垃圾存在标志,同时置位该叶子节点所有祖先节点的垃圾存在标志。发明中用全局变量记录目前系统中无效索引节点数目,每进行一次删除操作,则增加计数,如果计数达到一个预定的门限,则唤醒垃圾处理线程。
(3)垃圾处理线程被唤醒后,从多路搜索树的根节点开始遍历搜索树:如果节点的垃圾标志被置位,则表示该节点之下的子树有垃圾元数据存在,需要继续处理;如果节点的垃圾标志没有被置位,则表示该子树下面所有的叶子节点不存在垃圾元数据,跳过整个子树,去处理其兄弟节点。
(4)对于有垃圾标志的叶子节点,垃圾回收处理分为两种情况:
第一种情况,该索引节点文件中不存在有效的索引节点。由于前文已经提到,本实施中索引节点号是依次累加,不会重复使用的,所以该文件不会再被访问到,因而文件可以被直接删除;
第二种情况,该索引文件中尚存在有效的索引节点。对于这种情况,需要将有效的索引节点拷贝到一个临时的文件中去,删除原文件,然后将临时的文件重命名为该索引节点文件名。这样做的目的是使新的索引节点文件形成文件空洞,释放无效索引节点所占用的磁盘空间。
(5)对于非叶子节点,即存放元数据文件的目录,同样需要进行垃圾回收,主要是由于一个目录下的目录项数目较多时,会影响检索速率。为了提高目录项的检索效率,当一个存储元数据文件的目录为空时,即可将其删除,这样可以减少其父目录的目录项数目。
存放元数据文件的目录的垃圾回收,是在处理完元数据文件之后进行的。当处理完一个目录下的所有元数据文件后,检查该目录下的有效目录项数目是否为0,如果为0,则表示该目录已空,可以删除。处理完一个目录后,再去处理它的其他兄弟节点,当所有兄弟节点都处理完毕后,检查其父目录的有效目录项的数目,如果为0,删除父目录。这样,一次扫描完毕后,即完成对可将当前文件系统中所有垃圾元数据的回收。
Claims (1)
1.一种分布式文件系统中垃圾元数据的在线回收方法,其特征在于:包括如下步骤:
A、索引节点采用64位无符号整数进行编号,从0开始,分配索引节点号时,逐渐累加,每32K个索引节点元数据存放于同一文件,所有的索引节点文件在磁盘上按照节点编号采用两级树状结构目录进行存放;
B、索引节点文件存储的目录结构组织成一个多路搜索树,树的每个非叶子节点表征一个子目录,而叶子节点则代表索引节点文件,每个树节点用特定的数据结构来表述;当删除文件或目录时,首先在叶子节点数据结构中将索引节点文件中对应的索引节点置无效,然后置位叶子节点的垃圾存在标志,同时置位该叶子节点所有祖先节点的垃圾存在标志;发明中用全局变量记录目前系统中无效索引节点数目,每进行一次删除操作,则增加计数,如果计数达到一个预定的门限,则唤醒垃圾处理线程;
C、垃圾处理线程被唤醒后,从多路搜索树的根节点开始遍历搜索树:如果节点的垃圾标志被置位,则表示该节点之下的子树有垃圾元数据存在,需要继续处理;如果节点的垃圾标志没有被置位,则表示该子树下面所有的叶子节点不存在垃圾元数据,跳过整个子树,去处理其兄弟节点;
D、对于有垃圾标志的叶子节点,垃圾回收处理分为两种情况:
第一种情况,该索引节点文件中不存在有效的索引节点,直接删除文件;
第二种情况,该索引文件中尚存在有效的索引节点,需要将有效的索引节点拷贝到一个临时的文件中去,形成带有空洞的文件,删除原文件,然后将临时的文件重命名为该索引节点文件名;
E、存放元数据文件的目录的垃圾回收,是在处理完元数据文件之后进行的,当处理完一个目录下的所有元数据文件后,检查该目录下的有效目录项数目是否为0,如果为0,则表示该目录已空,可以删除,处理完一个目录后,再去处理它的其他兄弟节点,当所有兄弟节点都处理完毕后,检查其父目录的有效目录项的数目,如果为0,删除父目录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010536531 CN102024018B (zh) | 2010-11-04 | 2010-11-04 | 一种分布式文件系统中垃圾元数据的在线回收方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010536531 CN102024018B (zh) | 2010-11-04 | 2010-11-04 | 一种分布式文件系统中垃圾元数据的在线回收方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102024018A true CN102024018A (zh) | 2011-04-20 |
CN102024018B CN102024018B (zh) | 2013-03-13 |
Family
ID=43865316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010536531 Active CN102024018B (zh) | 2010-11-04 | 2010-11-04 | 一种分布式文件系统中垃圾元数据的在线回收方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102024018B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678715A (zh) * | 2013-12-31 | 2014-03-26 | 无锡城市云计算中心有限公司 | 一种分布式文件系统中支持快照的元数据信息管理方法 |
CN106446044A (zh) * | 2016-08-31 | 2017-02-22 | 北京小米移动软件有限公司 | 存储空间回收方法及装置 |
TWI576703B (zh) * | 2015-03-27 | 2017-04-01 | 宏碁股份有限公司 | 電子裝置及其資料暫存方法 |
CN106886610A (zh) * | 2017-04-11 | 2017-06-23 | 广东浪潮大数据研究有限公司 | 一种分布式文件系统的文件管理方法及装置 |
CN107203643A (zh) * | 2017-06-20 | 2017-09-26 | 郑州云海信息技术有限公司 | 一种删除文件的方法及系统 |
CN107943718A (zh) * | 2017-12-07 | 2018-04-20 | 网宿科技股份有限公司 | 一种清理缓存文件的方法和装置 |
CN108090128A (zh) * | 2017-11-16 | 2018-05-29 | 北京奇艺世纪科技有限公司 | 一种合并存储空间回收方法、装置及电子设备 |
CN108108467A (zh) * | 2017-12-29 | 2018-06-01 | 北京奇虎科技有限公司 | 数据删除方法及装置 |
CN108897569A (zh) * | 2018-05-30 | 2018-11-27 | 福建天晴在线互动科技有限公司 | iOS工程无用文件的清理方法及计算机可读存储介质 |
CN110569219A (zh) * | 2019-09-02 | 2019-12-13 | 深信服科技股份有限公司 | 分片垃圾处理方法、用户设备、存储介质及装置 |
CN110851398A (zh) * | 2018-08-20 | 2020-02-28 | 阿里巴巴集团控股有限公司 | 垃圾数据的回收处理方法、装置及电子设备 |
CN111400255A (zh) * | 2019-09-26 | 2020-07-10 | 杭州海康威视系统技术有限公司 | 数据清理方法、装置及设备、存储介质 |
WO2020215223A1 (zh) * | 2019-04-23 | 2020-10-29 | 华为技术有限公司 | 分布式存储系统和分布式存储系统中垃圾回收方法 |
CN112685378A (zh) * | 2019-10-17 | 2021-04-20 | 伊姆西Ip控股有限责任公司 | 用于垃圾回收的方法、设备和计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6996590B2 (en) * | 2002-05-25 | 2006-02-07 | International Business Machines Corporation | Method and system for the garbage collection of shared data |
CN101281458A (zh) * | 2008-05-14 | 2008-10-08 | 华为技术有限公司 | 一种垃圾回收的装置、系统及方法 |
US20090112953A1 (en) * | 2007-10-30 | 2009-04-30 | Eric Lawrence Barsness | Enhanced garbage collection in a multi-node environment |
CN101697168A (zh) * | 2009-10-22 | 2010-04-21 | 中国科学技术大学 | 一种分布式文件系统动态元数据管理方法及系统 |
-
2010
- 2010-11-04 CN CN 201010536531 patent/CN102024018B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6996590B2 (en) * | 2002-05-25 | 2006-02-07 | International Business Machines Corporation | Method and system for the garbage collection of shared data |
US20090112953A1 (en) * | 2007-10-30 | 2009-04-30 | Eric Lawrence Barsness | Enhanced garbage collection in a multi-node environment |
CN101281458A (zh) * | 2008-05-14 | 2008-10-08 | 华为技术有限公司 | 一种垃圾回收的装置、系统及方法 |
CN101697168A (zh) * | 2009-10-22 | 2010-04-21 | 中国科学技术大学 | 一种分布式文件系统动态元数据管理方法及系统 |
Non-Patent Citations (1)
Title |
---|
吴俊敏等: ""弱一致性模型下的分布式垃圾回收算法RRD GC"", 《小型微型计算机系统》 * |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678715B (zh) * | 2013-12-31 | 2017-06-23 | 无锡城市云计算中心有限公司 | 一种分布式文件系统中支持快照的元数据信息管理方法 |
CN103678715A (zh) * | 2013-12-31 | 2014-03-26 | 无锡城市云计算中心有限公司 | 一种分布式文件系统中支持快照的元数据信息管理方法 |
US9836468B2 (en) | 2015-03-27 | 2017-12-05 | Acer Incorporated | Electronic apparatus and method for temporarily storing data thereof |
TWI576703B (zh) * | 2015-03-27 | 2017-04-01 | 宏碁股份有限公司 | 電子裝置及其資料暫存方法 |
CN106446044B (zh) * | 2016-08-31 | 2020-08-11 | 北京小米移动软件有限公司 | 存储空间回收方法及装置 |
CN106446044A (zh) * | 2016-08-31 | 2017-02-22 | 北京小米移动软件有限公司 | 存储空间回收方法及装置 |
CN106886610A (zh) * | 2017-04-11 | 2017-06-23 | 广东浪潮大数据研究有限公司 | 一种分布式文件系统的文件管理方法及装置 |
CN107203643A (zh) * | 2017-06-20 | 2017-09-26 | 郑州云海信息技术有限公司 | 一种删除文件的方法及系统 |
CN108090128A (zh) * | 2017-11-16 | 2018-05-29 | 北京奇艺世纪科技有限公司 | 一种合并存储空间回收方法、装置及电子设备 |
CN108090128B (zh) * | 2017-11-16 | 2021-11-26 | 北京奇艺世纪科技有限公司 | 一种合并存储空间回收方法、装置及电子设备 |
CN107943718A (zh) * | 2017-12-07 | 2018-04-20 | 网宿科技股份有限公司 | 一种清理缓存文件的方法和装置 |
CN107943718B (zh) * | 2017-12-07 | 2021-09-14 | 网宿科技股份有限公司 | 一种清理缓存文件的方法和装置 |
CN108108467A (zh) * | 2017-12-29 | 2018-06-01 | 北京奇虎科技有限公司 | 数据删除方法及装置 |
CN108108467B (zh) * | 2017-12-29 | 2021-08-20 | 北京奇虎科技有限公司 | 数据删除方法及装置 |
CN108897569A (zh) * | 2018-05-30 | 2018-11-27 | 福建天晴在线互动科技有限公司 | iOS工程无用文件的清理方法及计算机可读存储介质 |
CN110851398A (zh) * | 2018-08-20 | 2020-02-28 | 阿里巴巴集团控股有限公司 | 垃圾数据的回收处理方法、装置及电子设备 |
CN110851398B (zh) * | 2018-08-20 | 2023-05-09 | 阿里巴巴集团控股有限公司 | 垃圾数据的回收处理方法、装置及电子设备 |
WO2020215223A1 (zh) * | 2019-04-23 | 2020-10-29 | 华为技术有限公司 | 分布式存储系统和分布式存储系统中垃圾回收方法 |
CN110569219A (zh) * | 2019-09-02 | 2019-12-13 | 深信服科技股份有限公司 | 分片垃圾处理方法、用户设备、存储介质及装置 |
CN110569219B (zh) * | 2019-09-02 | 2023-05-12 | 深信服科技股份有限公司 | 分片垃圾处理方法、用户设备、存储介质及装置 |
CN111400255A (zh) * | 2019-09-26 | 2020-07-10 | 杭州海康威视系统技术有限公司 | 数据清理方法、装置及设备、存储介质 |
CN111400255B (zh) * | 2019-09-26 | 2023-04-28 | 杭州海康威视系统技术有限公司 | 数据清理方法、装置及设备、存储介质 |
CN112685378A (zh) * | 2019-10-17 | 2021-04-20 | 伊姆西Ip控股有限责任公司 | 用于垃圾回收的方法、设备和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102024018B (zh) | 2013-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102024018B (zh) | 一种分布式文件系统中垃圾元数据的在线回收方法 | |
CN102222085B (zh) | 一种基于相似性与局部性结合的重复数据删除方法 | |
US8392376B2 (en) | System and method for scalable reference management in a deduplication based storage system | |
US7856437B2 (en) | Storing nodes representing respective chunks of files in a data store | |
CN102339315B (zh) | 一种广告数据的索引更新方法和系统 | |
US20100146213A1 (en) | Data Cache Processing Method, System And Data Cache Apparatus | |
US7769792B1 (en) | Low overhead thread synchronization system and method for garbage collecting stale data in a document repository without interrupting concurrent querying | |
CN102169507A (zh) | 一种分布式实时搜索引擎 | |
CN103473296A (zh) | 一种适用于云计算的回收站机制及其系统 | |
CN103098035A (zh) | 存储系统 | |
WO2017069646A1 (en) | Method and device for determination of garbage collector thread number and activity management in log-structured file systems | |
CN112131140B (zh) | 基于ssd的支持高效存储空间管理的键值分离存储方法 | |
CN104933169A (zh) | 基于热点文件优先的文件系统碎片整理方法 | |
CN109063192A (zh) | 一种高性能海量文件存储系统工作方法 | |
CN112148217B (zh) | 全闪存储系统的重删元数据的缓存方法、装置及介质 | |
CN1845093A (zh) | 一种属性可扩展的对象文件系统 | |
Kesavan et al. | Algorithms and Data Structures for Efficient Free Space Reclamation in {WAFL} | |
CN108446187B (zh) | 数据备份方法及数据还原方法 | |
Carniel et al. | A generic and efficient framework for flash-aware spatial indexing | |
CN108153741B (zh) | 基于多语言高效数据采集方法、计算机程序 | |
CN108959614A (zh) | 一种快照管理方法、系统、装置、设备及可读存储介质 | |
CN103488645A (zh) | 一种用于物联网数据更新的结构设计方法 | |
Gupta et al. | A Framework for hierarchical clustering based indexing in search engines | |
KR20080061501A (ko) | 웹 페이지 관리를 위한 웹 아카이브 시스템 및 방법 | |
CN116089599B (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220801 Address after: 100193 No. 36 Building, No. 8 Hospital, Wangxi Road, Haidian District, Beijing Patentee after: Dawning Information Industry (Beijing) Co.,Ltd. Patentee after: DAWNING INFORMATION INDUSTRY Co.,Ltd. Address before: 100084 Beijing Haidian District City Mill Street No. 64 Patentee before: Dawning Information Industry (Beijing) Co.,Ltd. |
|
TR01 | Transfer of patent right |