CN117951094A - 存储空间的回收方法、文件系统、介质和计算设备 - Google Patents

存储空间的回收方法、文件系统、介质和计算设备 Download PDF

Info

Publication number
CN117951094A
CN117951094A CN202410125296.3A CN202410125296A CN117951094A CN 117951094 A CN117951094 A CN 117951094A CN 202410125296 A CN202410125296 A CN 202410125296A CN 117951094 A CN117951094 A CN 117951094A
Authority
CN
China
Prior art keywords
data block
data
file
service
space
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
Application number
CN202410125296.3A
Other languages
English (en)
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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202410125296.3A priority Critical patent/CN117951094A/zh
Publication of CN117951094A publication Critical patent/CN117951094A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明的实施方式提供了一种存储空间的回收方法、文件系统、介质和计算设备,该方法应用于包括数据服务和元数据服务的文件系统,文件系统对应的存储空间包括至少一个数据块,包括:元数据服务获取被标记为已删除的索引节点,并基于索引节点确定用于存储索引节点对应的待删除文件的目标数据块的可回收空间大小;元数据服务将各个数据块的可回收空间大小上报至数据服务;数据服务根据各个数据块的可回收空间大小和数据块大小确定各个数据块的可回收空间占比,根据各个数据块的可回收空间占比从至少一个数据块中确定出待回收数据块,并通知元数据服务对待回收数据块进行空间回收处理;元数据服务根据通知,对待回收数据块进行空间回收处理。

Description

存储空间的回收方法、文件系统、介质和计算设备
技术领域
本发明的实施方式涉及计算机技术领域,更具体地,本发明的实施方式涉及一种存储空间的回收方法、文件系统、介质和计算设备。
背景技术
本部分旨在为本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
随着大数据和人工智能等技术领域的迅速发展,数据量呈现爆炸式增长,对用于存储数据的文件系统的需求也不断上升。
文件系统是计算机操作系统中用于组织和管理文件的一种机制或软件,它提供了一种结构化的方法来存储、访问和管理计算机上的文件和目录。文件系统基于存储介质(例如:硬盘、闪存等)将数据组织成文件,并将这些文件组织成层次结构的目录,每个文件都有一个唯一的名称和相关的属性,如大小、创建日期、权限等。
文件系统以文件为单位进行读写操作。在将文件写入文件系统以存储文件时,需要为文件分配存储空间,而在将文件从文件系统中删除时,则需要回收文件所占用的存储空间。在实际应用中,如何实现文件系统中存储空间的回收,也就成为了备受关注的问题。
发明内容
在本上下文中,本发明的实施方式期望提供一种存储空间的回收方法、文件系统、介质和计算设备。
在本发明实施方式的第一方面中,提供了一种存储空间的回收方法,所述方法应用于文件系统;所述文件系统包括数据服务和元数据服务,所述数据服务用于管理所述文件系统中存储的文件,所述元数据服务用于管理所述文件的元数据;所述文件系统对应的存储空间包括至少一个数据块;所述方法包括:
所述元数据服务获取被标记为已删除的索引节点,并基于所述索引节点确定目标数据块的可回收空间大小;其中,所述目标数据块为用于存储所述索引节点对应的待删除文件的数据块;所述索引节点由客户端响应于所述待删除文件对应的文件删除请求而标记为已删除;
所述元数据服务将各个数据块的可回收空间大小上报至所述数据服务;
所述数据服务根据各个数据块的可回收空间大小和数据块大小确定各个数据块的可回收空间占比,根据各个数据块的可回收空间占比从所述至少一个数据块中确定出待回收数据块,并通知所述元数据服务对所述待回收数据块进行空间回收处理;
所述元数据服务根据所述通知,对所述待回收数据块进行空间回收处理。
在本发明实施方式的第二方面中,提供了一种文件系统;所述文件系统包括数据服务和元数据服务,所述数据服务用于管理所述文件系统中存储的文件,所述元数据服务用于管理所述文件的元数据;所述文件系统对应的存储空间包括至少一个数据块;其中:
所述元数据服务获取被标记为已删除的索引节点,并基于所述索引节点确定目标数据块的可回收空间大小;其中,所述目标数据块为用于存储所述索引节点对应的待删除文件的数据块;所述索引节点由客户端响应于所述待删除文件对应的文件删除请求而标记为已删除;
所述元数据服务将各个数据块的可回收空间大小上报至所述数据服务;
所述数据服务根据各个数据块的可回收空间大小和数据块大小确定各个数据块的可回收空间占比,根据各个数据块的可回收空间占比从所述至少一个数据块中确定出待回收数据块,并通知所述元数据服务对所述待回收数据块进行空间回收处理;
所述元数据服务根据所述通知,对所述待回收数据块进行空间回收处理。
在本发明实施方式的第三方面中,提供了一种介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法。
在本发明实施方式的第四方面中,提供了一种计算设备,包括:
处理器;
用于存储处理器可执行程序的存储器;
其中,所述处理器通过运行所述可执行程序以实现上述任一方法。
根据本发明的实施方式,在获取到待删除文件对应的文件删除请求时,可以先将待删除文件对应的索引节点标记为已删除,后续可以根据被标记为已删除的索引节点确定用于存储待删除文件的数据块的可回收空间大小,从而可以统计得到各个数据块的可回收空间大小,并根据各个数据块的可回收空间大小相对于数据块大小的占比决策是否对某个数据块进行空间回收处理,由此实现了针对作为文件系统对应的存储空间的数据块的异步回收,不仅可以缩短在删除文件时用户的等待时长,提升用户体验,而且可以满足在用户发起文件删除请求后将待删除的文件保留一段时间的需求。此外,由于一个索引节点对应的文件可能分布在多个数据块中,以数据块为粒度,统计各个数据块的可回收空间大小,并根据各个数据块的可回收空间大小相对于数据块大小的占比决策是否对某个数据块进行空间回收处理,可以减少在删除文件时对数据块的读写权限的持有次数。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性地示出了根据本发明实施方式的一种文件系统的架构示意图;
图2示意性地示出了根据本发明实施方式的一种文件系统对应的存储空间的示意图;
图3示意性地示出了根据本发明实施方式的一种存储空间的回收方法的流程图;
图4示意性地示出了根据本发明实施方式的一种介质的示意图;
图5示意性地示出了根据本发明实施方式的一种文件系统的框图;
图6示意性地示出了根据本发明实施方式的一种计算设备的示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本发明可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种存储空间的回收方法、文件系统、介质和计算设备。
在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
文件系统可以采用块存储来管理数据。块存储是一种以块(block)为单位来管理数据的存储方式。块是一组连续的固定大小的存储单元,通常是4kB、8kB或16kB等大小。块存储通常用于高性能存储系统、分布式存储系统和云存储系统中。
在采用块存储的文件系统中,文件被分割成至少一个固定大小的数据块,并将这些数据块存储在存储介质上。文件系统利用块地址来记录文件的布局和位置信息,以便快速定位和访问文件数据。通过块存储,文件系统可以将文件数据分散存储在不同的数据块中,以提高存储效率和读写性能。当应用程序需要读取或写入文件时,文件系统会根据文件的逻辑地址映射到所对应的块地址,然后通过块存储的接口进行数据的读写操作。文件系统还负责管理块的分配和释放,以及记录文件与数据块之间的映射关系。
当然,一些特殊的文件系统可能采用其他存储方式,例如:日志结构文件系统和对象存储文件系统等。这些文件系统根据具体的设计目标和应用场景选择不同的存储方式。
参考图1,图1示意性地示出了根据本发明实施方式的一种文件系统的架构示意图。
如图1所示,一个文件系统可以由多个客户端(例如:应用程序)共享;客户端可以将被组织成文件的数据写入文件系统中的数据服务(fs-data service)进行存储,并将文件元数据写入文件系统中的元数据服务(fs-meta service)进行存储。
在实际应用中,文件元数据即为描述文件的数据。文件系统通常需要记录两类元数据:dentry(directory entry,目录项)和inode(index node,索引节点)。
目录项是文件系统中的一个数据结构,用于表示文件或目录的名称和与之相关联的元数据。当用户通过客户端访问文件系统中存储的一个文件或目录时,可以根据路径名查找相应的目录项。目录项以层次结构的方式组织,形成文件系统的目录树。
索引节点是文件系统中的另一个数据结构,用于表示文件本身的元数据,包括文件的权限、所有者、大小、时间戳等信息以及指向文件实际对应的数据块(即用于存储文件的数据块)的指针。每个文件在文件系统中都有一个唯一的索引节点来标识和管理它。索引节点通过索引节点号(inode number)来进行标识和访问。
当用户通过客户端访问文件系统中存储的一个文件时,可以首先通过路径名查找所对应的目录项,然后从目录项中获取到所指向的索引节点。通过索引节点,可以获取到文件的具体信息,如文件的大小、权限等,并使用索引节点中的指针来定位文件实际对应的数据块,以及读取文件的实际数据。
参考图2,图2示意性地示出了根据本发明实施方式的一种文件系统对应的存储空间的示意图。
在实际应用中,文件系统对应的存储空间可以是文件系统的存储介质中的存储空间,例如:作为文件系统中的数据服务的持久化层的存储介质中的存储空间。
对于采用块存储的文件系统而言,该文件系统对应的存储空间被划分为多个连续的等长的区域,作为多个大小相同的数据块。每个数据块中的每固定大小(例如:4kB)的存储空间可以进一步地作为一个数据区域;每个数据块中的头部存储空间可以用于记录这个数据块中的数据区域的占用情况。
在数据块中,如果一个数据区域被分配给了待存储文件,使得文件被写入这个数据区域进行存储,则可以认为这个数据区域被占用;否则,可以认为这个数据区域未被占用。
一个数据块中的数据区域的占用情况可以通过位图(bitmap)来表示。位图是一种常见的数据结构,由多个位(bit)组成,每个位表示所对应的数据区域的占用情况。例如,假设一个数据块的大小为8kB,并假设这个数据块中的每4kB的存储空间作为一个数据区域,则这个数据块一共包括0~4kB、4kB~8kB这2个数据区域,这个数据块的位图也就包括2个位,其中第一个位表示0~4kB这个数据区域的占用情况,第二个位表示4kB~8kB这个数据区域的占用情况。通常,位为1表示所对应的数据区域被占用,位为0表示所对应的数据区域未被占用。
一个文件可以由多个数据块组成,这些数据块的信息(通常以extent-*表示)会被记录在文件的索引节点中。具体地,一个文件的实际数据可以分布在多个数据块中的多个数据区域中;也即,不同的文件的实际数据可能分布在不同的数据块中,也可能分布在同一个数据块中的不同的数据区域中。
文件系统以文件为单位进行读写操作。在将文件写入文件系统以存储文件时,需要为文件分配存储空间,而在将文件从文件系统中删除时,则需要回收文件所占用的存储空间。对于采用块存储的文件系统而言,在将文件从该文件系统中删除时,涉及的就是用于存储文件的数据块的回收。
相关技术中,在针对文件系统进行存储空间的回收时,通常采用的是存储空间的同步回收的方式。
具体地,当用户通过客户端发起删除采用块存储的文件系统中存储的一个文件的请求时,首先,客户端可以从元数据服务中获取这个文件的索引节点;然后,客户端可以根据这个文件的索引节点确定这个文件实际对应的数据块,并加载该数据块的位图;再然后,客户端可以进一步地根据这个文件的索引节点确定这个文件的实际数据在该数据块中的区域占用信息,并根据该区域占用信息在数据服务中更新该数据块的位图,以将该位图中用于存储这个文件的实际数据的数据区域对应的位,由表示该数据区域被占用更新为表示该数据区域未被占用;最后,客户端可以在元数据服务中删除这个文件的索引节点。由此,即可实现从该文件系统中删除这个文件。
然而,一方面,在大数据和人工智能等大规模数据的应用场景下,一次文件删除操作涉及的文件数量可能非常庞大,而上述存储空间的同步回收的方式中每个文件的删除都需要通过元数据服务和数据服务之间的多次交互才能完成,因此在删除文件时用户的等待时长较长,用户体验较差。
另一方面,在某些特定的应用场景下,可能需要在用户发起文件删除请求后将待删除的文件保留一段时间,但是上述存储空间的同步回收的方式无法满足这样的需求。
本发明提出了一种用于存储空间的回收的技术方案,在该技术方案中,对于所对应的存储空间包括至少一个数据块的文件系统而言,该文件系统中的元数据服务可以获取由客户端响应于待删除文件对应的文件删除请求而标记为已删除的索引节点,并基于该索引节点确定用于存储待删除文件的目标数据块的可回收空间大小,从而可以统计得到各个数据块的可回收空间大小,并将各个数据块的可回收空间大小上报至该文件系统中的数据服务,数据服务可以根据各个数据块的可回收空间大小和数据块大小确定各个数据块的可回收空间占比,从而可以根据各个数据块的可回收空间占比从中确定出待回收数据块,并通知元数据服务,使得元数据服务可以根据该通知,对待回收数据块进行空间回收处理。
采用上述方式,在获取到待删除文件对应的文件删除请求时,可以先将待删除文件对应的索引节点标记为已删除,后续可以根据被标记为已删除的索引节点确定用于存储待删除文件的数据块的可回收空间大小,从而可以统计得到各个数据块的可回收空间大小,并根据各个数据块的可回收空间大小相对于数据块大小的占比决策是否对某个数据块进行空间回收处理,由此实现了针对作为文件系统对应的存储空间的数据块的异步回收,不仅可以缩短在删除文件时用户的等待时长,提升用户体验,而且可以满足在用户发起文件删除请求后将待删除的文件保留一段时间的需求。此外,由于一个索引节点对应的文件可能分布在多个数据块中,以数据块为粒度,统计各个数据块的可回收空间大小,并根据各个数据块的可回收空间大小相对于数据块大小的占比决策是否对某个数据块进行空间回收处理,可以减少在删除文件时对数据块的读写权限的持有次数。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
示例性方法
下面结合图1和图2,参考图3来描述根据本发明示例性实施方式的用于存储空间的回收的方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
参考图3,图3示意性地示出了根据本发明实施方式的一种存储空间的回收方法的流程图。
在本实施例中,上述存储空间的回收方法可以应用于如图1和图2所示的文件系统。也即,该文件系统可以包括数据服务和元数据服务;其中,该数据服务可以用于管理该文件系统中存储的文件,该元数据服务可以用于管理该文件系统中存储的文件的元数据。并且,该文件系统对应的存储空间可以包括至少一个数据块;例如,该文件系统可以是采用块存储的文件系统。
上述存储空间的回收方法具体可以包括以下步骤:
步骤301:所述元数据服务获取被标记为已删除的索引节点,并基于所述索引节点确定目标数据块的可回收空间大小;其中,所述目标数据块为用于存储所述索引节点对应的待删除文件的数据块;所述索引节点由客户端响应于所述待删除文件对应的文件删除请求而标记为已删除。
在本实施例中,用户在需要删除上述文件系统中存储的一个文件(可称之为待删除文件)时,可以通过客户端发起删除待删除文件的请求,即通过客户端发起待删除文件对应的文件删除请求。
上述客户端可以响应于上述文件删除请求,在上述元数据服务中将上述待删除文件的索引节点标记为已删除。具体地,客户端可以先从元数据服务中获取待删除文件的索引节点,并将待删除文件的索引节点标记为已删除,再将被标记为已删除的索引节点更新到元数据服务中。
在一些实施例中,可以在索引节点中使用一个标志位来表示该索引节点是否已删除;例如,可以使用nlink标志位来表示索引节点是否已删除。nlink是文件系统中的一个标志位或属性,用于表示文件的链接数。每个文件都有一个链接数,它指示了该文件在文件系统中被多少个目录引用。链接数的增加和减少反映了文件引用的变化,从而影响文件的存在和删除;通常,当链接数为0时,文件系统可以安全地删除文件。
需要说明的是,在待删除文件的索引节点被标记为已删除后,即可认为实现了从上述文件系统中删除了待删除文件,从而使用户无需等待对用于存储待删除文件的数据块进行空间回收处理,例如:在上述数据服务中更新用于存储待删除文件的数据块中的数据区域的占用情况以及从上述元数据服务中删除待删除文件的索引节点。
上述元数据服务可以获取被标记为已删除的索引节点。如前所述,客户端可以在元数据服务中将待删除文件的索引节点标记为已删除。对于获取到的被标记为已删除的索引节点对应的待删除文件而言,元数据服务可以基于该索引节点确定用于存储待删除文件的数据块(可称之为目标数据块)的可回收空间大小。其中,一个目标数据块的可回收空间大小可以是待删除文件的实际数据在这个目标数据块中占用的存储空间的大小。
在一些实施例中,上述元数据服务可以按照预设的时间周期(可称之为第一时间周期),定期获取被标记为已删除的索引节点,并针对获取到的被标记为已删除的索引节点对应的待删除文件,基于该索引节点确定用于存储待删除文件的目标数据块的可回收空间大小。
需要说明的是,上述元数据服务在一个第一时间周期内获取到的被标记为已删除的索引节点,即为在这个第一时间周期内由客户端标记为已删除的索引节点。
例如,假设上述第一时间周期为5分钟,则上述元数据服务可以在第5分钟,获取由客户端在第0分钟~第5分钟这个时间段内标记为已删除的索引节点;在第10分钟,获取由客户端在第5分钟~第10分钟这个时间段内标记为已删除的索引节点;以此类推。
上述元数据服务在一个第一时间周期内获取到的被标记为已删除的索引节点可以有多个。如果元数据服务获取到了多个被标记为已删除的索引节点,那么这多个索引节点对应的待删除文件就有多个,用于存储这多个待删除文件的数据块也可以有多个。元数据服务可以将这多个数据块分别作为目标数据块,基于这多个索引节点确定每个目标数据块的可回收空间大小。其中,一个目标数据块的可回收空间大小可以是这多个待删除文件分别在这个目标数据块中占用的存储空间的大小之和。
例如,假设元数据服务获取到了索引节点1和索引节点2这2个被标记为已删除的索引节点,其中,索引节点1为待删除文件1的索引节点,索引节点2为待删除文件2的索引节点,数据块1用于存储待删除文件1和待删除文件2,数据块2仅用于存储待删除文件2,待删除文件1在数据块1中占用的存储空间的大小为4kB,待删除文件2在数据块1和数据块2中占用的存储空间的大小分别为4kB和4kB,则此时数据块1和数据块2可以分别作为目标数据块,数据块1的可回收空间大小为8kB(4kB+4kB=8kB),数据块2的可回收空间大小为4kB。
在一些实施例中,在基于获取到的被标记为已删除的索引节点确定相应的目标数据块的可回收空间大小的同时,还可以存储各个目标数据块与其中存储的文件的索引节点的关联关系。
例如,假设元数据服务获取到了索引节点1和索引节点2这2个被标记为已删除的索引节点,其中,索引节点1为待删除文件1的索引节点,索引节点2为待删除文件2的索引节点,数据块1用于存储待删除文件1和待删除文件2,数据块2仅用于存储待删除文件2,则此时数据块1和数据块2可以分别作为目标数据块,从而可以存储数据块1与索引节点1的关联关系、数据块1与索引节点2的关联关系,以及数据块2与索引节点2的关联关系。
通过存储各个目标数据块与其中存储的文件的索引节点的关联关系,使得后续在对待回收数据块进行空间回收处理时,可以根据该关联关系较为容易地确定与待回收数据块关联的索引节点,从而可以基于该索引节点对待回收数据块进行空间回收处理。
步骤302:所述元数据服务将各个数据块的可回收空间大小上报至所述数据服务。
在本实施例中,上述元数据服务可以通过上述步骤301确定上述文件系统对应的存储空间中的各个数据块的可回收空间大小。
需要说明的是,在上述文件系统的运行过程中,上述元数据服务可以多次获取被标记为已删除的索引节点;例如,可以按照上述第一时间周期定期获取被标记为已删除的索引节点。元数据服务每次基于获取到的被标记为已删除的索引节点确定的相应的目标数据块的可回收空间大小,可以在已经统计到的各个数据块的可回收空间大小的基础上进行累加。
例如,假设文件系统对应的存储空间包括数据块1和数据块2,数据块1用于存储待删除文件1和待删除文件2,数据块2用于存储待删除文件2和待删除文件3,待删除文件1在数据块1中占用的存储空间的大小为4kB,待删除文件2在数据块1和数据块2中占用的存储空间的大小分别为4kB和4kB,待删除文件3在数据块2中占用的存储空间为4kB;进一步地,假设元数据服务在第一次时获取到了索引节点1和索引节点2这2个被标记为已删除的索引节点,其中,索引节点1为待删除文件1的索引节点,索引节点2为待删除文件2的索引节点,则此时数据块1的可回收空间大小为8kB,数据块2的可回收空间大小为4kB,再假设元数据服务在第二次时获取到了索引节点3这个被标记为已删除的索引节点,其中,索引节点3为待删除文件3的索引节点,则此时数据块1的可回收空间大小为8kB,数据块2的可回收空间大小也为8kB。
上述元数据服务在确定了上述文件系统对应的存储空间中的各个数据块的可回收空间大小的情况下,可以将各个数据块的可回收空间大小上报至上述数据服务。
需要说明的是,上述元数据服务在将各个数据块的可回收空间大小上报至上述数据服务后,可以清除已经统计到的各个数据块的可回收空间大小,并重新统计各个数据块的可回收空间大小。
在一些实施例中,上述元数据服务可以按照预设的时间周期(可称之为第二时间周期),定期将上述文件系统对应的存储空间中的各个数据块的可回收空间大小上报至上述数据服务。
例如,假设上述第二时间周期为10分钟,则上述元数据服务可以在第10分钟,将在第0分钟~第10分钟这个时间段内统计到的各个数据块的可回收空间大小上报至上述数据服务;在第20分钟,将在第10分钟~第20分钟这个时间段内统计到的各个数据块的可回收空间大小上报至数据服务;以此类推。
在实际应用中,上述第一时间周期与上述第二时间周期可以相同,也可以不同,本发明对此不作特殊限制。
步骤303:所述数据服务根据各个数据块的可回收空间大小和数据块大小确定各个数据块的可回收空间占比,根据各个数据块的可回收空间占比从所述至少一个数据块中确定出待回收数据块,并通知所述元数据服务对所述待回收数据块进行空间回收处理。
在本实施例中,上述数据服务可以获取到上述元数据服务上报的、上述文件系统对应的存储空间中的各个数据块的可回收空间大小,并且可以获取到各个数据块的数据块大小(即数据块的实际大小)。在这种情况下,数据服务可以根据各个数据块的可回收空间大小和数据块大小,确定各个数据块的可回收空间占比。其中,一个数据块的可回收空间占比可以是这个数据块的可回收空间大小与这个数据块的数据块大小的比值。
上述数据服务在确定了上述文件系统对应的存储空间中的各个数据块的可回收空间占比的情况下,可以根据各个数据块的可回收空间占比,从该文件系统对应的存储空间中的至少一个数据块中,确定出一个或多个数据块(可称之为待回收数据块),并通知上述元数据服务对待回收数据块进行空间回收处理。
在一些实施例中,如果一个数据块的可回收空间占比较大,则说明这个数据块中由于存储了较多待删除文件的实际数据,而导致可用区域较少,因此应当尽快对这个数据块进行空间回收处理,以便于后续重新将这个数据块分配给需要存储的文件,从而保证文件系统的存储性能。
基于此,上述数据服务在根据各个数据块的可回收空间占比从上述至少一个数据块中确定出待回收数据块时,具体可以根据各个数据块的可回收空间占比,从这至少一个数据块中确定出可回收空间占比最大且超过预设的阈值的数据块,作为待回收数据块。
例如,假设上述阈值为80%,并假设有数据块1、数据块2和数据块3这3个数据块,其中,数据块1的可回收空间占比为50%,数据块2的可回收空间占比为80%,数据块3的可回收空间占比为90%,则由于数据块3的可回收空间占比最大且超过80%,就可以从这3个数据块中确定出数据块3,作为待回收数据块。
又例如,假设上述阈值为80%,并假设有数据块1、数据块2和数据块3这3个数据块,其中,数据块1的可回收空间占比为50%,数据块2的可回收空间占比为60%,数据块3的可回收空间占比为75%,则由于这3个数据块的可回收空间占比都没有超过80%,就不会从这3个数据块中确定出待回收数据块。
在实际应用中,上述阈值可以由技术人员根据实际需求预先设置,也可以是文件系统默认的缺省值,本发明对此不作特殊限制。
在一些实施例中,对数据块进行空间回收处理,通常意味着需要对数据块进行读写操作,例如:读取并更新数据块中存储的用于记录数据块中的数据区域的占用情况。
在实际应用中,各个数据块的读写权限通常由上述数据服务管理。因此,上述数据服务在通知上述元数据服务对上述待回收数据块进行空间回收处理时,具体可以为元数据服务开放待回收数据块的读写权限。
相应地,上述元数据服务在对上述待回收数据块的空间回收处理完成之后,可以将待回收数据块的空间回收处理完成的状态上报至上述数据服务,从而使数据服务可以根据该状态,从元数据服务收回待回收数据块的读写权限。
在一些实施例中,上述数据服务为了实现针对各个数据块的读写权限的管理,可以对各个数据块的读写权限的归属方(具体可以是归属方的标识)进行存储。需要说明的是,这种存储可以是持久化存储。
在这种情况下,上述数据服务在为上述元数据服务开放上述待回收数据块的读写权限的同时,还可以将所存储的待回收数据块的读写权限的归属方更新为元数据服务。
相应地,上述数据服务在从上述元数据服务收回上述待回收数据块的读写权限时,就可以将所存储的待回收数据块的读写权限的归属方更新为数据服务本身。
由于上述数据服务存储了各个数据块的读写权限的归属方,在数据服务发生中断并重启之后,就可以先加载所存储的各个数据块的读写权限的归属方,再启动数据服务本身,从而保证数据服务可以获取到各个数据块的读写权限的归属方。
也即,上述数据服务可以根据数据块的可回收空间大小占比,决策数据块的读写权限的归属方,这种方式相较于使用分布式锁,可以在一定程度上提升读写性能。
步骤304:所述元数据服务根据所述通知,对所述待回收数据块进行空间回收处理。
在本实施例中,由于上述数据服务可以通知上述元数据服务对待回收数据块进行空间回收处理,就使得元数据服务可以根据该通知,对待回收数据块进行空间回收处理。
在一些实施例中,如前所述,不仅可以基于获取到的被标记为已删除的索引节点确定相应的目标数据块的可回收空间大小的同时,还可以存储各个目标数据块与其中存储的文件的索引节点的关联关系。
在这种情况下,在对上述待回收数据块进行空间回收处理时,具体可以根据所存储的上述关联关系,确定与待回收数据块关联的索引节点(可称之为目标索引节点),并基于目标索引节点对待回收数据块进行空间回收处理。
由于与一个数据块关联的索引节点就是这个数据块中存储的文件的索引节点,而索引节点可以表示文件本身的元数据,通过目标索引节点就可以确定目标索引节点对应的待删除文件在待回收数据块中占用的数据区域,从而便于对数据块进行空间回收处理。
在一些实施例中,一个数据块可以包括至少一个数据区域,这个数据块中的部分存储空间(例如:头部存储空间)可以用于记录这个数据块中的数据区域的占用情况(可称之为区域占用信息);其中,一个数据块的区域占用信息可以包括各个数据区域对应的指示信息,一个数据区域对应的指示信息可以用于指示这个数据区域是否被占用。
在这种情况下,在基于上述目标索引节点对上述待回收数据块进行空间时,具体可以先基于目标索引节点,确定目标索引节点对应的文件在待回收数据块中占用的数据区域,再在待回收数据块的区域占用信息中,将该文件在待回收数据块中占用的数据区域对应的指示信息更新为指示数据区域未被占用。
在一个数据块中,通过区域占用信息来记录这个数据块中的数据区域的占用情况,实现了针对数据块的分区域管理,便于管理数据块中存储的文件,使得为待存储文件分配数据块中的数据区域、释放数据块中用于待删除文件的数据区域较为容易。
在一些实施例中,如前所述,可以根据所存储的各个目标数据块与其中存储的文件的索引节点的关联关系,确定与待回收数据块关联的目标索引节点,并先基于目标索引节点,确定目标索引节点对应的文件在待回收数据块中占用的数据区域,再在待回收数据块的区域占用信息中,将该文件在待回收数据块中占用的数据区域对应的指示信息更新为指示数据区域未被占用。
而在针对上述待回收数据块的区域占用信息的更新完成之后,如果不及时删除上述目标索引节点中用于指示目标索引节点对应的文件在待回收数据块中占用的数据区域的信息(例如:extent-*),那么在上述元数据服务发生中断并重启之后,可能出现该数据区域被再次回收的情况,从而导致数据不一致的错误。
因此,在上述待回收数据块的区域占用信息中,将上述目标索引节点对应的文件在待回收数据块中占用的数据区域对应的指示信息更新为指示数据区域未被占用之前,可以先在目标索引节点中删除用于指示目标索引节点对应的文件在待回收数据块中占用的数据区域的信息。
具体地,可以针对上述目标索引节点对应的文件在上述待回收数据块中占用的数据区域中的任意一个数据区域,先在目标索引节点中删除用于指示这个数据区域的信息,再在待回收数据块的区域占用信息中将这个数据区域对应的指示信息更新为指示这个数据区域未被占用。
在一些实施例中,上述区域占用信息的数据结构可以是位图。
在上述用于存储空间的回收的技术方案中,对于所对应的存储空间包括至少一个数据块的文件系统而言,该文件系统中的元数据服务可以获取由客户端响应于待删除文件对应的文件删除请求而标记为已删除的索引节点,并基于该索引节点确定用于存储待删除文件的目标数据块的可回收空间大小,从而可以统计得到各个数据块的可回收空间大小,并将各个数据块的可回收空间大小上报至该文件系统中的数据服务,数据服务可以根据各个数据块的可回收空间大小和数据块大小确定各个数据块的可回收空间占比,从而可以根据各个数据块的可回收空间占比从中确定出待回收数据块,并通知元数据服务,使得元数据服务可以根据该通知,对待回收数据块进行空间回收处理。
采用上述方式,在获取到待删除文件对应的文件删除请求时,可以先将待删除文件对应的索引节点标记为已删除,后续可以根据被标记为已删除的索引节点确定用于存储待删除文件的数据块的可回收空间大小,从而可以统计得到各个数据块的可回收空间大小,并根据各个数据块的可回收空间大小相对于数据块大小的占比决策是否对某个数据块进行空间回收处理,由此实现了针对作为文件系统对应的存储空间的数据块的异步回收,不仅可以缩短在删除文件时用户的等待时长,提升用户体验,而且可以满足在用户发起文件删除请求后将待删除的文件保留一段时间的需求。此外,由于一个索引节点对应的文件可能分布在多个数据块中,以数据块为粒度,统计各个数据块的可回收空间大小,并根据各个数据块的可回收空间大小相对于数据块大小的占比决策是否对某个数据块进行空间回收处理,可以减少在删除文件时对数据块的读写权限的持有次数。
示例性介质
在介绍了本发明示例性实施方式的方法之后,接下来,参考图4对本发明示例性实施方式的、用于存储空间的回收的介质进行说明。
在本示例性实施方式中,可以通过程序产品实现上述方法,如可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
该程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。
可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RE等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如C语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
示例性系统
在介绍了本发明示例性实施方式的介质之后,接下来,参考图5对本发明示例性实施方式的、用于存储空间的回收的系统进行说明。
下述系统中各个单元/模块的功能和作用的实现过程具体参见上述方法中的对应步骤的实现过程,在此不再赘述。对于系统实施例而言,其基本对应于方法实施例,因此相关之处参见方法实施例的部分说明即可。
参考图5,图5示意性地示出了根据本发明实施方式的一种文件系统。
所述文件系统包括数据服务501和元数据服务502,所述数据服务用于管理所述文件系统中存储的文件,所述元数据服务用于管理所述文件的元数据;所述文件系统对应的存储空间包括至少一个数据块;其中:
所述元数据服务获取被标记为已删除的索引节点,并基于所述索引节点确定目标数据块的可回收空间大小;其中,所述目标数据块为用于存储所述索引节点对应的待删除文件的数据块;所述索引节点由客户端响应于所述待删除文件对应的文件删除请求而标记为已删除;
所述元数据服务将各个数据块的可回收空间大小上报至所述数据服务;
所述数据服务根据各个数据块的可回收空间大小和数据块大小确定各个数据块的可回收空间占比,根据各个数据块的可回收空间占比从所述至少一个数据块中确定出待回收数据块,并通知所述元数据服务对所述待回收数据块进行空间回收处理;
所述元数据服务根据所述通知,对所述待回收数据块进行空间回收处理。
在一些实施例中,所述获取被标记为已删除的索引节点,并基于所述索引节点确定目标数据块中的可回收空间的大小,包括:
按照预设的第一时间周期,定期获取被标记为已删除的索引节点,并基于所述索引节点确定目标数据块中的可回收空间的大小。
在一些实施例中,所述将各个数据块的可回收空间大小上报至所述数据服务,包括:
按照预设的第二时间周期,定期将各个数据块的可回收空间大小上报至所述数据服务。
在一些实施例中,所述根据各个数据块的可回收空间占比从所述至少一个数据块中确定出待回收数据块,包括:
根据各个数据块的可回收空间占比,从所述至少一个数据块中确定出可回收空间占比最大且超过预设的阈值的数据块,作为待回收数据块。
在一些实施例中,所述基于所述索引节点确定目标数据块的可回收空间大小,包括:
基于所述索引节点确定目标数据块的可回收空间大小,并存储各个目标数据块与其中存储的文件的索引节点的关联关系。
在一些实施例中,所述对所述待回收数据块进行空间回收处理,包括:
根据所述关联关系,确定与所述待回收数据块关联的目标索引节点;
基于所述目标索引节点对所述待回收数据块进行空间回收处理。
在一些实施例中,所述数据块包括至少一个数据区域;所述数据块中还存储了所述数据块的区域占用信息;所述区域占用信息包括各个数据区域对应的指示信息;所述指示信息用于指示数据区域是否被占用;
所述基于所述目标索引节点对所述待回收数据块进行空间回收处理,包括:
基于所述目标索引节点,确定所述目标索引节点对应的文件在所述待回收数据块中占用的数据区域;
在所述待回收数据块的区域占用信息中,将所述文件在所述待回收数据块中占用的数据区域对应的指示信息更新为指示数据区域未被占用。
在一些实施例中,在所述待回收数据块的区域占用信息中,将所述文件在所述待回收数据块中占用的数据区域对应的指示信息更新为指示数据区域未被占用之前,所述方法还包括:
在所述目标索引节点中删除用于指示所述目标索引节点对应的文件在所述待回收数据块中占用的数据区域的信息。
在一些实施例中,所述区域占用信息的数据结构为位图。
在一些实施例中,所述通知所述元数据服务对所述待回收数据块进行空间回收处理,包括:
为所述元数据服务开放所述待回收数据块的读写权限;
其中:
所述元数据服务在对所述待回收数据块的空间回收处理完成后,将所述待回收数据块的空间回收处理完成的状态上报至所述数据服务;
所述数据服务根据所述状态,从所述元数据服务收回所述待回收数据块的读写权限。
在一些实施例中,所述数据服务还存储了各个数据块的读写权限的归属方;
所述为所述元数据服务开放所述待回收数据块的读写权限,包括:
为所述元数据服务开放所述待回收数据块的读写权限,并将所存储的所述待回收数据块的读写权限的归属方更新为所述元数据服务;
所述从所述元数据服务收回所述待回收数据块的读写权限,包括:
将所存储的所述待回收数据块的读写权限的归属方更新为所述数据服务。
示例性计算设备
在介绍了本发明示例性实施方式的方法、介质和系统之后,接下来,参考图6对本发明示例性实施方式的、用于存储空间的回收的计算设备进行说明。
图6显示的计算设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,计算设备600以通用计算设备的形式表现。计算设备600的组件可以包括但不限于:上述至少一个处理单元601、上述至少一个存储单元602,连接不同系统组件(包括处理单元601和存储单元602)的总线603。
总线603包括数据总线、控制总线和地址总线。
存储单元602可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)6021和/或高速缓存存储器6022,可以进一步包括非易失性存储器形式的可读介质,例如只读存储器(ROM)6023。
存储单元602还可以包括具有一组(至少一个)程序模块6024的程序/实用工具6025,这样的程序模块6024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算设备600也可以与一个或多个外部设备604(例如键盘、指向设备等)通信。
这种通信可以通过输入/输出(I/O)接口605进行。并且,计算设备600还可以通过网络适配器606与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图6所示,网络适配器606通过总线603与计算设备600的其它模块通信。应当理解,尽管图中未示出,可以结合计算设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了文件系统的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

Claims (10)

1.一种存储空间的回收方法,所述方法应用于文件系统;所述文件系统包括数据服务和元数据服务,所述数据服务用于管理所述文件系统中存储的文件,所述元数据服务用于管理所述文件的元数据;所述文件系统对应的存储空间包括至少一个数据块;所述方法包括:
所述元数据服务获取被标记为已删除的索引节点,并基于所述索引节点确定目标数据块的可回收空间大小;其中,所述目标数据块为用于存储所述索引节点对应的待删除文件的数据块;所述索引节点由客户端响应于所述待删除文件对应的文件删除请求而标记为已删除;
所述元数据服务将各个数据块的可回收空间大小上报至所述数据服务;
所述数据服务根据各个数据块的可回收空间大小和数据块大小确定各个数据块的可回收空间占比,根据各个数据块的可回收空间占比从所述至少一个数据块中确定出待回收数据块,并通知所述元数据服务对所述待回收数据块进行空间回收处理;
所述元数据服务根据所述通知,对所述待回收数据块进行空间回收处理。
2.根据权利要求1所述的方法,所述基于所述索引节点确定目标数据块的可回收空间大小,包括:
基于所述索引节点确定目标数据块的可回收空间大小,并存储各个目标数据块与其中存储的文件的索引节点的关联关系。
3.根据权利要求2所述的方法,所述对所述待回收数据块进行空间回收处理,包括:
根据所述关联关系,确定与所述待回收数据块关联的目标索引节点;
基于所述目标索引节点对所述待回收数据块进行空间回收处理。
4.根据权利要求3所述的方法,所述数据块包括至少一个数据区域;所述数据块中还存储了所述数据块的区域占用信息;所述区域占用信息包括各个数据区域对应的指示信息;所述指示信息用于指示数据区域是否被占用;
所述基于所述目标索引节点对所述待回收数据块进行空间回收处理,包括:
基于所述目标索引节点,确定所述目标索引节点对应的文件在所述待回收数据块中占用的数据区域;
在所述待回收数据块的区域占用信息中,将所述文件在所述待回收数据块中占用的数据区域对应的指示信息更新为指示数据区域未被占用。
5.根据权利要求4所述的方法,在所述待回收数据块的区域占用信息中,将所述文件在所述待回收数据块中占用的数据区域对应的指示信息更新为指示数据区域未被占用之前,所述方法还包括:
在所述目标索引节点中删除用于指示所述目标索引节点对应的文件在所述待回收数据块中占用的数据区域的信息。
6.根据权利要求1所述的方法,所述通知所述元数据服务对所述待回收数据块进行空间回收处理,包括:
为所述元数据服务开放所述待回收数据块的读写权限;
所述方法还包括:
所述元数据服务在对所述待回收数据块的空间回收处理完成后,将所述待回收数据块的空间回收处理完成的状态上报至所述数据服务;
所述数据服务根据所述状态,从所述元数据服务收回所述待回收数据块的读写权限。
7.根据权利要求6所述的方法,所述数据服务还存储了各个数据块的读写权限的归属方;
所述为所述元数据服务开放所述待回收数据块的读写权限,包括:
为所述元数据服务开放所述待回收数据块的读写权限,并将所存储的所述待回收数据块的读写权限的归属方更新为所述元数据服务;
所述从所述元数据服务收回所述待回收数据块的读写权限,包括:
将所存储的所述待回收数据块的读写权限的归属方更新为所述数据服务。
8.一种文件系统;所述文件系统包括数据服务和元数据服务,所述数据服务用于管理所述文件系统中存储的文件,所述元数据服务用于管理所述文件的元数据;所述文件系统对应的存储空间包括至少一个数据块;其中:
所述元数据服务获取被标记为已删除的索引节点,并基于所述索引节点确定目标数据块的可回收空间大小;其中,所述目标数据块为用于存储所述索引节点对应的待删除文件的数据块;所述索引节点由客户端响应于所述待删除文件对应的文件删除请求而标记为已删除;
所述元数据服务将各个数据块的可回收空间大小上报至所述数据服务;
所述数据服务根据各个数据块的可回收空间大小和数据块大小确定各个数据块的可回收空间占比,根据各个数据块的可回收空间占比从所述至少一个数据块中确定出待回收数据块,并通知所述元数据服务对所述待回收数据块进行空间回收处理;
所述元数据服务根据所述通知,对所述待回收数据块进行空间回收处理。
9.一种介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的方法。
10.一种计算设备,包括:
处理器;
用于存储处理器可执行程序的存储器;
其中,所述处理器通过运行所述可执行程序以实现如权利要求1至7中任一项所述的方法。
CN202410125296.3A 2024-01-29 2024-01-29 存储空间的回收方法、文件系统、介质和计算设备 Pending CN117951094A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410125296.3A CN117951094A (zh) 2024-01-29 2024-01-29 存储空间的回收方法、文件系统、介质和计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410125296.3A CN117951094A (zh) 2024-01-29 2024-01-29 存储空间的回收方法、文件系统、介质和计算设备

Publications (1)

Publication Number Publication Date
CN117951094A true CN117951094A (zh) 2024-04-30

Family

ID=90791917

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410125296.3A Pending CN117951094A (zh) 2024-01-29 2024-01-29 存储空间的回收方法、文件系统、介质和计算设备

Country Status (1)

Country Link
CN (1) CN117951094A (zh)

Similar Documents

Publication Publication Date Title
US8055864B2 (en) Efficient hierarchical storage management of a file system with snapshots
US8965850B2 (en) Method of and system for merging, storing and retrieving incremental backup data
US9043334B2 (en) Method and system for accessing files on a storage system
US7711916B2 (en) Storing information on storage devices having different performance capabilities with a storage system
CN107180092B (zh) 一种文件系统的控制方法、装置及终端
CN110018998B (zh) 一种文件管理方法、系统及电子设备和存储介质
US11093387B1 (en) Garbage collection based on transmission object models
US20090077087A1 (en) Access controller that controls access to files by using access control list
KR20040053142A (ko) 대형 파일들의 효율적 관리
WO2016079629A1 (en) Optimizing database deduplication
CN113568582B (zh) 数据管理方法、装置和存储设备
CN111177143B (zh) 键值数据存储方法、装置、存储介质与电子设备
US20220188267A1 (en) Embedded reference counts for file clones
CN113448938A (zh) 数据处理方法、装置、电子设备及存储介质
KR20090063733A (ko) 다중 복제를 지원하는 분산 파일 시스템에서 데이터 서버의복구 방법 및 그에 적당한 메타데이터 스토리지 및 저장방법
CN117687970B (zh) 一种元数据检索方法、装置及电子设备和存储介质
CN114153394A (zh) 一种数据存储管理方法、装置及设备
CN116324732A (zh) 数据存储卷恢复管理
CN111444114A (zh) 一种非易失性内存中数据的处理方法、装置及系统
CN111930684A (zh) 基于hdfs的小文件处理方法、装置、设备及存储介质
CN115328859A (zh) 一种元数据访问方法、装置、设备及介质
CN115964350A (zh) 一种文件系统管理模型及系统
CN117951094A (zh) 存储空间的回收方法、文件系统、介质和计算设备
US11645333B1 (en) Garbage collection integrated with physical file verification
CN112860628A (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