本发明涉及数据存储,尤其涉及一种存储空间的垃圾回收方法、装置、设备及存储介质。
背景技术:
1、追加写(append only)机制是一种存储数据的方法,它在数据被写入时只允许追加操作,而不允许修改或删除之前已经写入的数据。
2、数据的最小管理单元通常是指计算机系统中用于分配和管理内存的最小单元。在许多计算机体系结构和操作系统中,最小的管理单元是字节(byte)。字节是计算机内存中存储数据的基本单位,每个字节可以存储8个二进制位(bit)。
3、目前追加写机制下,数据最小管理单元过大,会导致垃圾回收时需要搬移的数据过多,数据最小管理单元过小,会导致元数据本身的量过多,制定好一个合适的数据最小管理单元大小后,通过前端直接删除回收提前释放空间,可以提前回收部分空间,但是会导致盘上空间碎片化严重,使后续写入性能下降。
4、因此,如何减少存储空间整体数据搬移量,且避免数据空间碎片化,是目前亟需解决的技术问题。
技术实现思路
1、本发明主要目的在于提供一种存储空间的垃圾回收方法、装置、设备及存储介质,在不增加额外的元数据量的前提下减少整体数据搬移量,提升了存储空间的利用率,并且有效避免垃圾回收之后存储空间碎片化。
2、第一方面,本申请提供了一种存储空间的垃圾回收方法,其中该方法包括步骤:
3、对存储空间进行拆分,得到多个等量的存储单元;
4、基于所述存储空间中设置的最小写入单元的标签,分别独立地判断每个所述存储单元内各自的垃圾量是否超过阈值;
5、当垃圾量超过阈值时,以所述存储单元为单位,将所述存储单元内待使用数据进行搬移,并对搬移后的所述存储单元进行垃圾回收。
6、结合上述第一方面,作为一种可选的实现方式,将存储空间中最小写入单元标记为bit,以生成bitmap信息表;
7、通过所述bitmap信息表,识别每个独立的所述存储单元内最小写入单元的垃圾状态,并统计所述最小写入单元为垃圾状态的数量;
8、当所述存储单元内最小写入单元为垃圾状态的数量大于预设垃圾数量时,判断所述存储单元内的垃圾量超过阈值;
9、当所述存储单元内最小写入单元为垃圾状态的数量小于预设垃圾数量时,判断所述存储单元内的垃圾量未超过阈值。
10、结合上述第一方面,作为一种可选的实现方式,当识别所述存储单元内最小写入单元bit为1,判断所述最小写入单元为垃圾状态;
11、当识别所述存储单元内最小写入单元bit为0,判断所述最小写入单元为非垃圾状态。
12、结合上述第一方面,作为一种可选的实现方式,当判断独立的所述存储单元为满垃圾量时,直接独立的所述存储单元进行垃圾回收。
13、结合上述第一方面,作为一种可选的实现方式,基于bitmap信息表,确定所述存储单元内待使用数据,并以所述存储单元为单位,将所述存储单元内待使用数据搬移至新位置;
14、将搬移至新位置后的所述存储单元进行垃圾回收,以回收利用所述存储单元。
15、结合上述第一方面,作为一种可选的实现方式,当独立的所述存储单元内的垃圾量未否超过阈值时,保留所述存储单元内的垃圾量,并对所述存储单元的垃圾量进行实时判断。
16、结合上述第一方面,作为一种可选的实现方式,对预设的存储空间进行等量分割,得到多个等量的存储空间;
17、其中根据预设的存储空间与等量分割的个数之间的比值,确定所述存储空间的大小。
18、第二方面,本申请提供了一种存储空间的垃圾回收装置,该装置包括:
19、拆分模块,其用于对存储空间进行拆分,得到多个等量的存储单元;
20、判断模块,其用于基于所述存储空间中设置的最小写入单元的标签,分别独立地判断每个所述存储单元内各自的垃圾量是否超过阈值;
21、处理模块,其用于当垃圾量超过阈值时,以所述存储单元为单位,将所述存储单元内待使用数据进行搬移,并对搬移后的所述存储单元进行垃圾回收。
22、第三方面,本申请还提供了一种电子设备,所述电子设备包括:处理器;存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现第一方面任一项所述的方法。
23、第四方面,本申请还提供了一种计算机可读存储介质,其存储有计算机程序指令,当所述计算机程序指令被计算机执行时,使计算机执行第一方面任一项所述的方法。
24、本申请提供的一种存储空间的垃圾回收方法、装置、设备及存储介质,其中该方法包括步骤:对存储空间进行拆分,得到多个等量的存储单元;基于所述存储空间中设置的最小写入单元的标签,分别独立地判断每个所述存储单元内各自的垃圾量是否超过阈值;当垃圾量超过阈值时,以所述存储单元为单位,将所述存储单元内待使用数据进行搬移,并对搬移后的所述存储单元进行垃圾回收。本申请在不增加额外的元数据量的前提下减少整体数据搬移量,提升了存储空间的利用率,并且有效避免垃圾回收之后存储空间碎片化。
25、应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
1.一种存储空间的垃圾回收方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述存储空间中设置的最小写入单元的标签,分别独立地判断每个所述存储单元内各自的垃圾量是否超过阈值,包括:
3.根据权利要求2所述的方法,其特征在于,所述识别每个独立的所述存储单元内最小写入单元的垃圾状态,包括:
4.根据权利要求1所述的方法,其特征在于,还包括:
5.根据权利要求1所述的方法,其特征在于,所述当垃圾量超过阈值时,以所述存储单元为单位,将所述存储单元内待使用数据进行搬移,并对搬移后的所述存储单元进行垃圾回收,包括:
6.根据权利要求1所述的方法,其特征在于,还包括:
7.根据权利要求1所述的方法,其特征在于,所述对存储空间进行拆分,得到多个等量的存储单元,包括:
8.一种存储空间的垃圾回收装置,其特征在于,包括:
9.一种电子设备,其特征在于,所述电子设备,包括:
10.一种计算机可读存储介质,其特征在于,其存储有计算机程序指令,当所述计算机程序指令被计算机执行时,使计算机执行根据权利要求1至7中任一项所述的方法。