CN114443583A - 一种碎片空间整理方法、装置、设备及存储介质 - Google Patents
一种碎片空间整理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114443583A CN114443583A CN202111617278.XA CN202111617278A CN114443583A CN 114443583 A CN114443583 A CN 114443583A CN 202111617278 A CN202111617278 A CN 202111617278A CN 114443583 A CN114443583 A CN 114443583A
- Authority
- CN
- China
- Prior art keywords
- storage block
- data
- file
- storage
- 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
Links
Images
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/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/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/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- 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)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种碎片空间整理方法、装置、设备及存储介质,涉及大数据技术领域,用于在同等底层持久化存储空间的情况下存储更多数量的文件,以及在不停止其它应用的情况下保证文件数据的一致性和安全性。该方法包括:对具有碎片空间的第一存储块进行有效数据合并,且将合并后的数据存储至第二存储块中,更新所述第二存储块对应的第一文件索引集合;其中,所述有效数据为所述第一存储块中被文件索引引用的数据,所述第一文件索引集合中包含所述第二存储块中存储的各个数据各自对应的文件索引;若确定当前时刻所述第一存储块不被文件索引引用,则删除所述第一存储块。
Description
技术领域
本申请涉及大数据技术领域,提供一种碎片空间整理方法、装置、设备及存储介质。
背景技术
随着大数据时代的发展,文件数量越来越多,基于索引式的分布式文件系统是大数据时代存储海量文件的典型分布式存储应用之一,其具有高可用、可扩展以及数据安全的特点,且基本上会将文件的文件索引存储在分布式数据库中,而文件内容存储在分布式块存储系统中。基于此,为了保证文件删除操作的效率,通常情况下,采用“只删除文件索引”的方式来保证文件删除操作的效率,即删除分布式数据库中的文件索引,而文件内容仍保留在分布式块存储系统中。但是,这种方式导致了底层存储块中充斥着碎片化空间,进而,在这种方式下要提升基于索引式的分布式文件系统的存储容量,就需要提升文件内容数据共享的分布式块存储系统的预置存储空间,从而,使得浪费了底层存储空间,造成用户使用成本急剧增加。此外,现有的基于索引式的分布式文件系统的整理碎片空间的工具在运行时,需要停止相应分布式文件系统上的其他应用才能保证文件数据的一致性和安全性。
发明内容
本申请实施例提供一种碎片空间整理方法、装置、设备及存储介质,用于在同等底层持久化存储空间的情况下存储更多数量的文件,以及在不停止其它应用的情况下保证文件数据的一致性和安全性。
一方面,提供一种碎片空间整理方法,应用于分布式文件系统中,所述方法包括:
对具有碎片空间的第一存储块进行有效数据合并,且将合并后的数据存储至第二存储块中,更新所述第二存储块对应的第一文件索引集合;其中,所述有效数据为所述第一存储块中被文件索引引用的数据,所述第一文件索引集合中包含所述第二存储块中存储的各个数据各自对应的文件索引;
若确定当前时刻所述第一存储块不被文件索引引用,则删除所述第一存储块。
可见,在本申请实施例中,由于会对具有碎片空间的存储块进行有效数据合并,且将合并后的数据存储至第二存储块中,因此,可以同等底层持久化存储空间的情况下存储更多数量的文件。且,由于可以删除当前时刻不被文件索引引用的存储块,因此,可以确保在没有其他应用修改该存储块对应的文件索引的情况下,可以删除充斥了碎片空间的存储块,以保证碎片空间整理工具与其他运行在基于索引式的分布式文件系统上的应用同时运行时,文件数据的一致性和安全性。
在一种可能的实施方式中,在对所述第一存储块进行有效数据合并之前,所述方法还包括:
定时对所述分布式文件系统进行扫描,获取预设数量的存储块标识;
对每一存储块标识对应的第三存储块的有效数据占比进行计算,确定所述有效数据占比是否小于设定的占比阈值;
若确定小于设定的占比阈值,则确定所述第三存储块为具有碎片空间的存储块。
在一种可能的实施方式中,在确定所述第三存储块为具有碎片空间的存储块之后,所述方法还包括:
对所述第三存储块的存储块标识进行标记;
将被标记后的所述第三存储块的存储块标识放入阻塞队列中;
确定所述阻塞队列中的存储块标识数量是否达到预设的数量阈值;
若未达到预设的数量阈值,则继续对所述分布式文件系统中具有碎片空间的第一存储块进行标记。
在一种可能的实施方式中,在对所述第一存储块进行有效数据合并,且将合并后的数据存储至第二存储块中,更新所述第二存储块对应的第一文件索引集合之前,所述方法还包括:
从所述阻塞队列中获取所述第三存储块的存储块标识;
根据所述第三存储块的存储块标识,获取所述第三存储块对应的第二文件索引集合;其中,所述第二文件索引集合中包含所述第三存储块中存储的各个数据各自对应的文件索引。
一方面,提供一种碎片空间整理装置,应用于分布式文件系统中,所述装置包括:
数据合并单元,用于对具有碎片空间的第一存储块进行有效数据合并,且将合并后的数据存储至第二存储块中,更新所述第二存储块对应的第一文件索引集合;其中,所述有效数据为所述第一存储块中被文件索引引用的数据,所述第一文件索引集合中包含所述第二存储块中存储的各个数据各自对应的文件索引;
存储块删除单元,用于若确定当前时刻所述第一存储块不被文件索引引用,则删除所述第一存储块。
在一种可能的实施方式中,所述装置还包括碎片空间确定单元,其中,所述碎片空间确定单元,用于:
定时对所述分布式文件系统进行扫描,获取预设数量的存储块标识;
对每一存储块标识对应的第三存储块的有效数据占比进行计算,确定所述有效数据占比是否小于设定的占比阈值;
若确定小于设定的占比阈值,则确定所述第三存储块为具有碎片空间的存储块。
在一种可能的实施方式中,所述装置还包括碎片空间标记单元,其中,所述碎片空间标记单元,用于:
对所述第三存储块的存储块标识进行标记;
将被标记后的所述第三存储块的存储块标识放入阻塞队列中;
确定所述阻塞队列中的存储块标识数量是否达到预设的数量阈值;
若未达到预设的数量阈值,则继续对所述索引式分布式文件系统中具有碎片空间的第一存储块进行标记。
在一种可能的实施方式中,所述装置还包括文件索引集合获取单元,其中,所述文件索引集合获取单元,用于:
从所述阻塞队列中获取所述第三存储块的存储块标识;
根据所述第三存储块的存储块标识,获取所述第三存储块对应的第二文件索引集合;其中,所述第二文件索引集合中包含所述第三存储块中存储的各个数据各自对应的文件索引。
一方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方面所述的方法的步骤。
一方面,提供一种计算机存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述方面所述的方法的步骤。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种应用场景示意图;
图2为本申请实施例提供的碎片空间整理的总体框架示意图;
图3为本申请实施例提供的碎片空间整理方法的一种流程示意图;
图4为本申请实施例提供的具有碎片空间的第一存储块的一种示意图;
图5为本申请实施例提供的确定碎片空间的一种流程示意图;
图6为本申请实施例提供的标记碎片空间的一种流程示意图;
图7为本申请实施例提供的获取文件索引的一种流程示意图;
图8为本申请实施例提供的一种碎片空间整理装置;
图9为本申请实施例提供的计算机设备的一种结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。此外,本申请技术方案中,对数据的采集、传播、使用等,均符合国家相关法律法规要求。
目前,为了保证文件删除操作的效率,通常情况下,采用“只删除文件索引”的方式来保证文件删除操作的效率,即删除分布式数据库中的文件索引,而文件内容仍保留在分布式块存储系统中。但是,这种方式导致了底层存储块中充斥着碎片化空间,进而,在这种方式下要提升基于索引式的分布式文件系统的存储容量,就需要提升文件内容数据共享的分布式块存储系统的预置存储空间,从而,使得浪费了底层存储空间,造成用户使用成本急剧增加。此外,现有的基于索引式的分布式文件系统的整理碎片空间的工具在运行时,需要停止相应分布式文件系统上的其他应用才能保证文件数据的一致性。
基于此,本申请实施例中,设计了一种应用于分布式文件系统中的碎片空间整理方法,在该方法中,可以对具有碎片空间的第一存储块进行有效数据合并,且将合并后的数据存储至第二存储块中,以及更新第二存储块对应的第一文件索引集合;进而,若确定当前时刻第一存储块不被文件索引引用,则删除第一存储块。可见,在本申请实施例中,由于会对具有碎片空间的存储块进行有效数据合并,且将合并后的数据存储至第二存储块中,因此,可以同等底层持久化存储空间的情况下存储更多数量的文件。且,由于可以删除当前时刻不被文件索引引用的存储块,因此,可以确保在没有其他应用修改该存储块对应的文件索引的情况下,可以删除充斥了碎片空间的存储块,以保证碎片空间整理工具与其他运行在基于索引式的分布式文件系统上的应用同时运行时,文件数据的一致性和安全性。
本申请实施例的技术方案可以应用于任何可能的碎片空间整理场景中。如图1所示,为本申请实施例提供的一种应用场景示意图。该碎片空间整理的应用场景可以包括用户终端10与碎片空间整理设备11。
用户终端10可以为能够接收用户进行碎片空间整理等相关操作的设备,例如可以为手机、个人计算机(personal computer,PC)以及笔记本电脑等。
碎片空间整理设备11可以是为碎片空间整理过程提供数据存储与数据计算的服务器,其可以是独立的物理服务器,也可以是多个物理服务器构成的数据库集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器,但并不局限于此。该碎片空间整理设备11可以包括一个或多个处理器101、存储器102以及与其他设备交互的I/O接口103等。此外,碎片空间整理设备11还可以配置数据库104,数据库104可以用于存储本申请实施例提供的方案中涉及到的有效数据以及文件索引等对应的数据。其中,碎片空间整理设备11的存储器102中可以存储本申请实施例提供的基于以太坊的碎片空间整理方法的程序指令,这些程序指令被处理器101执行时能够用以实现本申请实施例提供的基于以太坊的碎片空间整理方法的步骤,以在同等底层持久化存储空间的情况下存储更多数量的文件,以及在不停止其它应用的情况下保证文件数据的一致性。
在一种可能的实施方式中,当碎片空间整理设备11通过I/O接口103检测到用户在用户终端10上进行的碎片空间整理操作时,例如,点击用户终端10上安装的整理碎片空间的工具,进入碎片空间整理页面,并在该碎片空间整理页面中点击“确定整理碎片空间”,进而,碎片空间整理设备11的处理器101会运行存储器102中存储的碎片空间整理方法的程序指令,从而,对分布式文件系统的分布式数据库进行碎片空间整理,以在同等底层持久化存储空间的情况下存储更多数量的文件,以及在不停止其它应用的情况下保证文件数据的一致性。且在程序指令执行过程中所涉及的有效数据以及文件索引等对应的数据会被存储于数据库104中。
如图2所示,为本申请实施例提供的碎片空间整理的总体框架示意图,其中,该总体框架20可以由基于索引式的分布式文件系统201、存储块标记功能模块202、阻塞队列203以及碎片空间整理功能模块304构成。
其中,基于索引式的分布式文件系统201中存储有各个存储块的文件索引;存储块标记功能模块202用于将具有碎片空间的存储块的存储块标记待整理碎片空间存储块;碎片空间整理功能模块304用于对待整理碎片空间存储块进行碎片空间整理。
在一种可能的实施方式中,当定时采用随机过滤器从基于索引式的分布式文件系统201中读取到存储块的文件索引之后,存储块标记功能模块202可以对该文件索引对应的存储块进行碎片空间判定,并在确定该文件索引对应的存储块具有碎片空间时,将该存储块的存储块标识待整理碎片空间存储块,进而,将该被标记的存储块标识写入阻塞队列203中,进而,碎片空间整理功能模块304可以阻塞队列203中读取该被标记的存储块标识,且对该被标记的存储块标识的存储块进行碎片空间整理,此外,碎片空间整理功能模块304还可以将基于索引式的分布式文件系统201中的存入了合并后的有效数据的存储块进行文件索引进行更新。
当然,本申请实施例提供的方法并不限用于图1所示的应用场景中,还可以用于其他可能的应用场景,本申请实施例并不进行限制。对于图1所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。下面,将结合附图对本申请实施例的方法进行介绍。
如3所示,为本申请实施例提供的碎片空间整理方法的一种流程示意图,该方法可以通过图1中碎片空间整理设备11执行,本申请实施例对此不做限制,该方法的流程介绍如下。
步骤301:对具有碎片空间的第一存储块进行有效数据合并,且将合并后的数据存储至第二存储块中,更新第二存储块对应的第一文件索引集合。
在本申请实施例中,有效数据可以为第一存储块中被文件索引引用的数据,第一文件索引集合中可以包含第二存储块中存储的各个数据各自对应的文件索引。
在实际应用时,假设第一存储块和第二存储块均为存储文件索引的存储块,其中,该第一存储块具有碎片空间,如4所示,为本申请实施例提供的具有碎片空间的第一存储块的一种示意图,该第一存储块的地址2、地址3、地址6、地址8等地址上对应存储的文件索引已被删除,因此,在该第一存储块表现出具有碎片空间的现象,基于此,为了使在同等底层持久化存储空间的情况下可以存储更多数量的文件,在本申请实施例中,可以将该具有碎片空间的第一存储块进行有效数据合并,即,将图3中第一存储块的地址1、地址5、地址7、地址9以及地址n等地址上对应的能够被文件索引引用的数据进行合并,且将该合并后的数据存储至第二存储块中,由于合并后的数据在第二存储块中的文件索引的存储块标识,及其在第二存储块中的起始位置,相较于第一存储块来说,是会发生变化的,因此,在将合并后的数据存储至第二存储块之后,需要更新第二存储块对应的第一文件索引集合。
步骤302:若确定当前时刻第一存储块不被文件索引引用,则删除第一存储块。
在本申请实施例中,由于第一存储块中的数据已经被存储至第二存储块中的,因此,该第一存储块相当于多余的存储块,因此,为了同等底层持久化存储空间的情况下存储更多数量的文件,便可以将该第一存储块进行删除,但是,为了保证碎片空间整理工具与其他运行在基于索引式的分布式文件系统上的应用同时运行时,文件数据的一致性,因此,在本申请实施例中,可以采用Lazy Delete机制来删除充斥了碎片空间的存储块,具体的,若确定当前时刻第一存储块不被文件索引引用,即,在当前时刻没有其他应用对该第一存储块进行并发读写操作,因此,看可以对该充斥了碎片空间的第一存储块进行删除。
在一种可能的实施方式中,在对第一存储块进行有效数据合并之前,还需要确定该第一存储块是否为具有空间碎片的存储块,如5所示,为本申请实施例提供的确定碎片空间的一种流程示意图,该方法可以通过图1中碎片空间整理设备11执行,本申请实施例对此不做限制,该流程的具体介绍如下。
步骤501:定时对分布式文件系统进行扫描,获取预设数量的存储块标识。
在本申请实施例中,假设碎片空间整理工具使用“生产者消费者模式”来进行碎片空间整理,其中,生产者线程可以定时对基于索引式的分布式文件系统扫描,且生产者与消费者之间可以通过阻塞队列传递存储块标识,进而,在扫描之后,生产者可以采用随机过滤器从文件索引存储系统中随机获取文件索引数据集,进而,可以从该文件索引数据集中获取文件索引引用的存储块,而这些获取的存储块就可以作为待整理碎片空间的存储块的候选存储块集合,该候选集合的容量可以由用户指定,在实际应用时,可以将存储块的存储块标识作为key,引用该存储块的文件索引集合作为value,并存入Map中。那么,在获取到候选存储块集合中的各个存储块之后,便可以获得待相应的预设数量的存储块标识了。例如,每5分钟对该分布式文件系统进行一次扫描,每次扫描可以随机获取一个包含10个存储块的候选存储块集合,即,可以每次扫描可以随机获取到10个存储块标识。
步骤502:对每一存储块标识对应的第三存储块的有效数据占比进行计算,确定有效数据占比是否小于设定的占比阈值。
为了合理利用资源,在申请实施例中,假设存储块的有数据占比达到预设的占比阈值时,才能将该存储块作为具有碎片空间的存储块,进而,在获取到预设数量的存储块标识之后,可以对Map中的所有存储块按顺序进顺序标记,以便于后续进行处理,文件索引引用的数据是有效数据,使用“文件索引引用的数据量与存储块的实际数据量之比”的方式,按照标记依次对每一存储块标识对应的第三存储块的有效数据占比进行计算,并确定每一存储块标识对应的第三存储块的有效数据占比是否小于设定的占比阈值。
步骤503:若确定小于设定的占比阈值,则确定第三存储块为具有碎片空间的存储块。
在本申请实施例中,若是第三存储块的有效数据占比小于设定的占比阈值,那么,则确定该第三存储块为具有碎片空间的存储块,例如,当第三存储块的有效数据占比小于50%,则确定该第三存储块为具有碎片空间的存储块。当然了,若是该第三存储块的有效数据占比不小于设定的占比阈值,那么,则确定该第三存储块不为具有碎片空间的存储块。
在一种可能的实施方式中,在确定第三存储块为具有碎片空间的存储块之后,还需要确定候选存储块集合的各个存储块是否均已确定完毕,如6所示,为本申请实施例提供的标记碎片空间的一种流程示意图,该方法可以通过图1中碎片空间整理设备11执行,本申请实施例对此不做限制,该流程的具体介绍如下。
步骤601:对第三存储块的存储块标识进行标记。
在确定第三存储块为具有碎片空间的存储块之后,可以将该第三存储块标记为待整理碎片空间存储块。
步骤602:将被标记后的第三存储块的存储块标识放入阻塞队列中。
在本申请实施例中,由于生产者与消费者之间通过阻塞队列传递存储块标识,因此,可以将被标记后的第三存储块的存储块标识放入阻塞队列中,以便于后续进行碎片空间整理。
步骤603:确定阻塞队列中的存储块标识数量是否达到预设的数量阈值。
在本申请实施例中,每一次处理待整理碎片空间存储块的数量有限,因此,在将被标记后的第三存储块的存储块标识放入阻塞队列中之后,还需要确定阻塞队列中的存储块标识数量是否达到预设的数量阈值,即是否达到单次任务处理的上限。
步骤604:若未达到预设的数量阈值,则继续对索引式分布式文件系统中具有碎片空间的第一存储块进行标记。
在本申请实施例中,若确定阻塞队列中的存储块标识数量未达到预设的数量阈值,则需要继续对该基于索引式的分布式文件系统中具有碎片空间的第一存储块进行标记。当然了,若是达到了预设的数量阈值,则可以直接对该阻塞队列中的各个存储块标识各自对应的存储块进行碎片空间整理。
在一种可能的实施方式中,在将具有碎片空间的存储块的存储块标识存储至阻塞队列之后,在进行空间碎片整理时,则需要获得到该阻塞队列的各个存储块标识各自对应的文件索引集合,才能进一步具体对碎片空间进行整理,如7所示,为本申请实施例提供的获取文件索引的一种流程示意图,该方法可以通过图1中碎片空间整理设备11执行,本申请实施例对此不做限制,该流程的具体介绍如下。
步骤701:从阻塞队列中获取第三存储块的存储块标识。
步骤702:根据第三存储块的存储块标识,获取第三存储块对应的第二文件索引集合。
在本申请实施例中,该第二文件索引集合中可以包含第三存储块中存储的各个数据各自对应的文件索引。
综上所述,在本申请实施例中,由于会对具有碎片空间的存储块进行有效数据合并,且将合并后的数据存储至第二存储块中,因此,可以同等底层持久化存储空间的情况下存储更多数量的文件。且,由于可以删除当前时刻不被文件索引引用的存储块,因此,可以确保在没有其他应用修改该存储块对应的文件索引的情况下,可以删除充斥了碎片空间的存储块,以保证碎片空间整理工具与其他运行在基于索引式的分布式文件系统上的应用同时运行时,文件数据的一致性和安全性。此外,在基于索引式的分布式文件系统集群中的任意安装了文件系统客户端的主机上,都可以应用本申请中的碎片空间整理方法。且单次任务处理的存储块数量是可配置的。
如图8所示,基于同一发明构思,本申请实施例提供一种碎片空间整理装置,应用于分布式文件系统中,该装置80包括:
数据合并单元801,用于对具有碎片空间的第一存储块进行有效数据合并,且将合并后的数据存储至第二存储块中,更新第二存储块对应的第一文件索引集合;其中,有效数据为第一存储块中被文件索引引用的数据,第一文件索引集合中包含第二存储块中存储的各个数据各自对应的文件索引;
存储块删除单元802,用于若确定当前时刻第一存储块不被文件索引引用,则删除第一存储块。
在一种可能的实施方式中,该装置80还包括碎片空间确定单元803,其中,碎片空间确定单元803,用于:
定时对分布式文件系统进行扫描,获取预设数量的存储块标识;
对每一存储块标识对应的第三存储块的有效数据占比进行计算,确定有效数据占比是否小于设定的占比阈值;
若确定小于设定的占比阈值,则确定第三存储块为具有碎片空间的存储块。
在一种可能的实施方式中,该装置80还包括碎片空间标记单元804,其中,碎片空间标记单元804元,用于:
对第三存储块的存储块标识进行标记;
将被标记后的第三存储块的存储块标识放入阻塞队列中;
确定阻塞队列中的存储块标识数量是否达到预设的数量阈值;
若未达到预设的数量阈值,则继续对索引式分布式文件系统中具有碎片空间的第一存储块进行标记。
在一种可能的实施方式中,该装置还包括文件索引集合获取单元805,其中,文件索引集合获取单元805,用于:
从阻塞队列中获取第三存储块的存储块标识;
根据第三存储块的存储块标识,获取第三存储块对应的第二文件索引集合;其中,第二文件索引集合中包含第三存储块中存储的各个数据各自对应的文件索引。
该装置可以用于执行图2~图7所示的实施例中所述的方法,因此,对于该装置的各功能单元所能够实现的功能等可参考图2~图7所示的实施例的描述,不多赘述。需要说明的是,图8中的虚线框示出的功能单元为该装置的非必要功能单元。
请参见图9,基于同一技术构思,本申请实施例还提供了一种计算机设备90,可以包括存储器901和处理器902。
所述存储器901,用于存储处理器902执行的计算机程序。存储器901可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据计算机设备的使用所创建的数据等。处理器902,可以是一个中央处理单元(central processing unit,CPU),或者为数字处理单元等等。本申请实施例中不限定上述存储器901和处理器902之间的具体连接介质。本申请实施例在图9中以存储器901和处理器902之间通过总线903连接,总线903在图9中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线903可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器901可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器901也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器901是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器901可以是上述存储器的组合。
处理器902,用于调用所述存储器901中存储的计算机程序时执行如图2~图7所示的实施例中设备所执行的方法。
在一些可能的实施方式中,本申请提供的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的方法中的步骤,例如,所述计算机设备可以执行如图2~图7所示的实施例中所述的方法。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种碎片空间整理方法,其特征在于,应用于分布式文件系统中,所述方法包括:
对具有碎片空间的第一存储块进行有效数据合并,且将合并后的数据存储至第二存储块中,更新所述第二存储块对应的第一文件索引集合;其中,所述有效数据为所述第一存储块中被文件索引引用的数据,所述第一文件索引集合中包含所述第二存储块中存储的各个数据各自对应的文件索引;
若确定当前时刻所述第一存储块不被文件索引引用,则删除所述第一存储块。
2.如权利要求1所述的方法,其特征在于,在对所述第一存储块进行有效数据合并之前,所述方法还包括:
定时对所述分布式文件系统进行扫描,获取预设数量的存储块标识;
对每一存储块标识对应的第三存储块的有效数据占比进行计算,确定所述有效数据占比是否小于设定的占比阈值;
若确定小于设定的占比阈值,则确定所述第三存储块为具有碎片空间的存储块。
3.如权利要求2所述的方法,其特征在于,在确定所述第三存储块为具有碎片空间的存储块之后,所述方法还包括:
对所述第三存储块的存储块标识进行标记;
将被标记后的所述第三存储块的存储块标识放入阻塞队列中;
确定所述阻塞队列中的存储块标识数量是否达到预设的数量阈值;
若未达到预设的数量阈值,则继续对所述分布式文件系统中具有碎片空间的第一存储块进行标记。
4.如权利要求3所述的方法,其特征在于,在对所述第一存储块进行有效数据合并,且将合并后的数据存储至第二存储块中,更新所述第二存储块对应的第一文件索引集合之前,所述方法还包括:
从所述阻塞队列中获取所述第三存储块的存储块标识;
根据所述第三存储块的存储块标识,获取所述第三存储块对应的第二文件索引集合;其中,所述第二文件索引集合中包含所述第三存储块中存储的各个数据各自对应的文件索引。
5.一种碎片空间整理装置,其特征在于,应用于分布式文件系统中,所述装置包括:
数据合并单元,用于对具有碎片空间的第一存储块进行有效数据合并,且将合并后的数据存储至第二存储块中,更新所述第二存储块对应的第一文件索引集合;其中,所述有效数据为所述第一存储块中被文件索引引用的数据,所述第一文件索引集合中包含所述第二存储块中存储的各个数据各自对应的文件索引;
存储块删除单元,用于若确定当前时刻所述第一存储块不被文件索引引用,则删除所述第一存储块。
6.如权利要求5所述的装置,其特征在于,所述装置还包括碎片空间确定单元,其中,所述碎片空间确定单元,用于:
定时对所述分布式文件系统进行扫描,获取预设数量的存储块标识;
对每一存储块标识对应的第三存储块的有效数据占比进行计算,确定所述有效数据占比是否小于设定的占比阈值;
若确定小于设定的占比阈值,则确定所述第三存储块为具有碎片空间的存储块。
7.如权利要求6所述的装置,其特征在于,所述装置还包括碎片空间标记单元,其中,所述碎片空间标记单元,用于:
对所述第三存储块的存储块标识进行标记;
将被标记后的所述第三存储块的存储块标识放入阻塞队列中;
确定所述阻塞队列中的存储块标识数量是否达到预设的数量阈值;
若未达到预设的数量阈值,则继续对所述索引式分布式文件系统中具有碎片空间的第一存储块进行标记。
8.如权利要求7所述的装置,其特征在于,所述装置还包括文件索引集合获取单元,其中,所述文件索引集合获取单元,用于:
从所述阻塞队列中获取所述第三存储块的存储块标识;
根据所述第三存储块的存储块标识,获取所述第三存储块对应的第二文件索引集合;其中,所述第二文件索引集合中包含所述第三存储块中存储的各个数据各自对应的文件索引。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,
所述处理器执行所述计算机程序时实现权利要求1-4任一项所述方法的步骤。
10.一种计算机存储介质,其上存储有计算机程序指令,其特征在于,
该计算机程序指令被处理器执行时实现权利要求1-4任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111617278.XA CN114443583A (zh) | 2021-12-27 | 2021-12-27 | 一种碎片空间整理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111617278.XA CN114443583A (zh) | 2021-12-27 | 2021-12-27 | 一种碎片空间整理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114443583A true CN114443583A (zh) | 2022-05-06 |
Family
ID=81366477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111617278.XA Pending CN114443583A (zh) | 2021-12-27 | 2021-12-27 | 一种碎片空间整理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114443583A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116225339A (zh) * | 2023-03-14 | 2023-06-06 | 大庆市壹零零壹数据服务有限公司 | 一种基于物联网的计算机信息存储分析系统及方法 |
-
2021
- 2021-12-27 CN CN202111617278.XA patent/CN114443583A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116225339A (zh) * | 2023-03-14 | 2023-06-06 | 大庆市壹零零壹数据服务有限公司 | 一种基于物联网的计算机信息存储分析系统及方法 |
CN116225339B (zh) * | 2023-03-14 | 2023-12-12 | 北京兴汉网际股份有限公司 | 一种基于物联网的计算机信息存储分析系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10019459B1 (en) | Distributed deduplication in a distributed system of hybrid storage and compute nodes | |
US10289315B2 (en) | Managing I/O operations of large data objects in a cache memory device by dividing into chunks | |
CN110018998B (zh) | 一种文件管理方法、系统及电子设备和存储介质 | |
US10102211B2 (en) | Systems and methods for multi-threaded shadow migration | |
US9442694B1 (en) | Method for storing a dataset | |
CN110347651A (zh) | 基于云存储的数据同步方法、装置、设备及存储介质 | |
CN109766318B (zh) | 文件读取方法及装置 | |
CN110399096B (zh) | 分布式文件系统元数据缓存重删的方法、装置以及设备 | |
CN111857539B (zh) | 用于管理存储系统的方法、设备和计算机可读介质 | |
CN113961510B (zh) | 一种文件处理方法、装置、设备及存储介质 | |
CN114667506A (zh) | 多物理功能非易失性存储器设备的管理 | |
CN116578746A (zh) | 对象去重方法及装置 | |
CN110352410B (zh) | 跟踪索引节点的访问模式以及预提取索引节点 | |
CN112463058A (zh) | 一种碎片数据整理方法、装置及存储节点 | |
CN111736915A (zh) | 云主机实例硬件加速设备的管理方法、装置、设备及介质 | |
CN115114232A (zh) | 一种历史版本对象列举方法、装置及其介质 | |
CN109388651B (zh) | 一种数据处理方法和装置 | |
CN112306957A (zh) | 获取索引节点号的方法、装置、计算设备和存储介质 | |
CN114443583A (zh) | 一种碎片空间整理方法、装置、设备及存储介质 | |
CN114610680A (zh) | 分布式文件系统元数据管理方法、装置、设备及存储介质 | |
US8818970B2 (en) | Partitioning a directory while accessing the directory | |
CN112965939A (zh) | 一种文件合并方法、装置和设备 | |
CN115934354A (zh) | 在线存储方法和装置 | |
US20230188162A1 (en) | Quantum data compression | |
CN115129789A (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 |