CN112764663B - 云存储空间的空间管理方法、装置和***、电子设备以及计算机可读存储介质 - Google Patents
云存储空间的空间管理方法、装置和***、电子设备以及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112764663B CN112764663B CN201911001767.5A CN201911001767A CN112764663B CN 112764663 B CN112764663 B CN 112764663B CN 201911001767 A CN201911001767 A CN 201911001767A CN 112764663 B CN112764663 B CN 112764663B
- Authority
- CN
- China
- Prior art keywords
- file
- snapshot
- data
- reference count
- 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.)
- Active
Links
- 238000007726 management method Methods 0.000 title claims abstract description 82
- 238000000034 method Methods 0.000 claims abstract description 15
- 230000008859 change Effects 0.000 claims description 48
- 238000011084 recovery Methods 0.000 claims description 30
- 238000004364 calculation method Methods 0.000 claims description 19
- 238000004064 recycling Methods 0.000 claims description 19
- 238000004891 communication Methods 0.000 description 18
- 238000005516 engineering process Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000005236 sound signal Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
- G06F3/0641—De-duplication techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种云存储空间的空间管理方法、装置和***、电子设备以及计算机可读存储介质。该方法包括:将存储数据中的各数据块的快照引用状态写入中间记录文件;根据中间记录文件,更新存储数据的引用计数文件;根据与快照对应的云盘对数据块的引用情况,更新所述引用计数文件中的被引用次数;根据所述引用计数文件,计算所述存储数据的存储空间的垃圾比。本发明实施例通过使用中间记录文件来记录数据块的快照引用状态,从而能够更新存储数据的引用计数文件,通过采用引用计数,来判断数据块的被引用次数,当有快照增加或删除时,只需对相应数据块的引用计数进行加减操作,因此,不会随着快照数量增加而增大垃圾回收时的计算资源用量。
Description
技术领域
本发明涉及云计算技术领域,尤其涉及一种云存储空间的空间管理方法、装置和***、电子设备以及计算机可读存储介质。
背景技术
在云计算技术领域中,为了充分利用数据的存储空间,会针对云盘数据进行垃圾回收,即,回收无用数据所占用的存储空间。通常的做法是,把有用的数据从旧的数据文件中读出,写到新的数据文件中,并修改索引将指向旧的数据文件的引用重新指向新的数据文件,然后删除旧的数据文件,以释放存储空间。
在现有技术中,采用云盘和快照分离的方式进行垃圾回收,通过位图来记录快照所对应的数据文件中的每一个数据块是否被引用,并保存位图信息到持久化文件中。然后,定期扫描云盘的索引,将云盘对数据的引用与快照位图进行合并,以更新快照位图。从而可以根据快照位图中对数据块的标记,来定位并数据文件中的有用数据。
但是,当某个快照被删除时,需要扫描剩余所有快照的索引,来确定被删除快照所对应的数据文件中的数据块是否被其它快照所引用。而随着快照数量的增加,扫描所有快照的索引会耗费大量计算资源。
发明内容
本发明实施例提供一种云存储空间的空间管理方法、装置和***、电子设备以及计算机可读存储介质,以解决现有技术中垃圾回收时计算资源耗费量大的缺陷。
为达到上述目的,本发明实施例提供了一种云存储空间的空间管理方法,包括:
将存储数据中的各数据块的快照引用状态写入中间记录文件;
根据所述中间记录文件,更新所述存储数据的引用计数文件,所述引用计数文件中记录有各数据块的被引用次数;
根据与所述快照对应的云盘对所述数据块的引用情况,更新所述引用计数文件中的被引用次数;
根据所述引用计数文件,计算所述存储数据的存储空间的垃圾比。
本发明实施例还提供了一种云存储空间的空间管理方法,包括:
获取中间记录文件和引用计数文件,所述中间记录文件用于记录存储数据中的各数据块的快照引用状态,所述引用计数文件中记录有各数据块的被引用次数;
根据所述中间记录文件,更新所述引用计数文件中的被引用次数;
根据与所述快照对应的云盘对所述数据块的引用情况,更新所述引用计数文件中的被引用次数;
根据所述引用计数文件,计算所述存储数据的存储空间的垃圾比;
根据所述垃圾比,进行空间回收。
本发明实施例还提供了一种云存储空间的空间管理装置,包括:
写入模块,用于将存储数据中的各数据块的快照引用状态写入中间记录文件;
第一更新模块,用于根据所述中间记录文件,更新所述存储数据的引用计数文件,所述引用计数文件中记录有各数据块的被引用次数;
第二更新模块,用于根据与所述快照对应的云盘对所述数据块的引用情况,更新所述引用计数文件中的被引用次数;
第一计算模块,用于根据所述引用计数文件,计算所述存储数据的存储空间的垃圾比。
本发明实施例还提供了一种云存储空间的空间管理装置,包括:
获取模块,用于获取中间记录文件和引用计数文件,所述中间记录文件用于记录存储数据中的各数据块的快照引用状态,所述引用计数文件中记录有各数据块的被引用次数;
第三更新模块,用于根据所述中间记录文件,更新所述引用计数文件中的被引用次数;
第四更新模块,用于根据与所述快照对应的云盘对所述数据块的引用情况,更新所述引用计数文件中的被引用次数;
第二计算模块,用于根据所述引用计数文件,计算所述存储数据的存储空间的垃圾比;
回收模块,用于根据所述垃圾比,进行空间回收。
本发明实施例还提供了一种云存储空间的空间管理***,包括:
数据处理节点,用于将存储数据中的各数据块的快照引用状态写入中间记录文件,根据所述中间记录文件,更新所述存储数据的引用计数文件,根据与所述快照对应的云盘对所述数据块的引用情况,更新所述引用计数文件中的被引用次数,根据所述引用计数文件,计算所述存储数据的存储空间的垃圾比,其中,所述引用计数文件中记录有各数据块的被引用次数;
管理节点,用于根据所述数据处理节点计算出的存储空间的垃圾比,选择需要进行空间回收的存储空间,生成空间回收任务;
空间回收节点,用于根据所述管理节点生成的空间回收任务,获取中间记录文件和引用计数文件,根据所述中间记录文件,更新所述引用计数文件中的被引用次数,根据与所述快照对应的云盘对所述数据块的引用情况,更新所述引用计数文件中的被引用次数,根据所述引用计数文件,计算所述存储数据的存储空间的垃圾比,并根据所述垃圾比,进行空间回收。
本发明实施例还提供了一种电子设备,包括:
存储器,用于存储程序;
处理器,用于运行所述存储器中存储的所述程序,以用于:
将存储数据中的各数据块的快照引用状态写入中间记录文件;
根据所述中间记录文件,更新所述存储数据的引用计数文件,所述引用计数文件中记录有各数据块的被引用次数;
根据与所述快照对应的云盘对所述数据块的引用情况,更新所述引用计数文件中的被引用次数;
根据所述引用计数文件,计算所述存储数据的存储空间的垃圾比。
本发明实施例还提供了一种电子设备,包括:
存储器,用于存储程序;
处理器,用于运行所述存储器中存储的所述程序,以用于:
获取中间记录文件和引用计数文件,所述中间记录文件用于记录存储数据中的各数据块的快照引用状态,所述引用计数文件中记录有各数据块的被引用次数;
根据所述中间记录文件,更新所述引用计数文件中的被引用次数;
根据与所述快照对应的云盘对所述数据块的引用情况,更新所述引用计数文件中的被引用次数;
根据所述引用计数文件,计算所述存储数据的存储空间的垃圾比;
根据所述垃圾比,进行空间回收。
本发明实施例还提供了一种计算机可读存储介质,在所述计算机可读存储介质上存储有指令,所述指令包括:
将存储数据中的各数据块的快照引用状态写入中间记录文件;
根据所述中间记录文件,更新所述存储数据的引用计数文件,所述引用计数文件中记录有各数据块的被引用次数;
根据与所述快照对应的云盘对所述数据块的引用情况,更新所述引用计数文件中的被引用次数;
根据所述引用计数文件,计算所述存储数据的存储空间的垃圾比。
本发明实施例还提供了一种计算机可读存储介质,在所述计算机可读存储介质上存储有指令,所述指令包括:
获取中间记录文件和引用计数文件,所述中间记录文件用于记录存储数据中的各数据块的快照引用状态,所述引用计数文件中记录有各数据块的被引用次数;
根据所述中间记录文件,更新所述引用计数文件中的被引用次数;
根据与所述快照对应的云盘对所述数据块的引用情况,更新所述引用计数文件中的被引用次数;
根据所述引用计数文件,计算所述存储数据的存储空间的垃圾比;
根据所述垃圾比,进行空间回收。
本发明实施例提供的云存储空间的空间管理方法、装置和***、电子设备以及计算机可读存储介质,通过使用中间记录文件来记录数据块的快照引用状态,从而能够根据该中间记录文件来更新存储数据的引用计数文件,通过采用引用计数,来判断数据块的被引用次数,当有快照增加或删除时,只需对相应数据块的引用计数进行加减操作,因此,不会随着快照数量增加而增大垃圾回收时的计算资源用量。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例提供的云存储空间的空间管理***的应用场景示意图;
图2为本发明提供的云存储空间的空间管理方法一个实施例的流程图;
图3为本发明提供的云存储空间的空间管理方法另一个实施例的流程图;
图4为本发明提供的云存储空间的空间管理方法又一个实施例的流程图;
图5为本发明提供的云存储空间的空间管理方法再一个实施例的流程图;
图6为本发明提供的云存储空间的空间管理装置一个实施例的结构示意图;
图7为本发明提供的云存储空间的空间管理装置另一个实施例的结构示意图;
图8为本发明提供的电子设备一个实施例的结构示意图;
图9为本发明提供的电子设备另一个实施例的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在现有技术中,一般通过位图来记录快照所对应的数据文件中的每一个数据块是否被引用。但是,当云盘对应的某个快照被删除时,需要扫描该云盘对应的剩余所有快照的索引,来确定被删除快照所对应的数据文件中的数据块是否被其它快照所引用。而随着快照数量的增加,扫描所有快照的索引会耗费大量计算资源。因此,本申请提出了一种云存储空间的空间管理方案,其主要原理是:在引用数据块的快照发生变换时,额外使用中间记录文件,用于记录数据块的快照引用状态,在中间记录文件累积到一定大小后,能够根据该中间记录文件来更新存储数据的引用计数文件。利用这样的中间记录文件,通过采用引用计数,不仅可以知道一个数据块是否被引用,而且还能够知道一个数据块被多少个快照所引用,当有一个快照删除时,只需扫描该快照的索引,并对相应数据块的引用计数进行减一操作即可,因此,不会随着快照数量增加而增大垃圾回收时的计算资源用量。
上述实施例是对本发明实施例的技术原理的说明,下面通过多个实施例来进一步对本发明实施例具体技术方案进行详细描述。
实施例一
图1为本发明实施例提供的云存储空间的空间管理***的应用场景示意图,图1所示的结构仅仅是本发明的技术方案可以应用的云存储空间的空间管理***的示例之一。如图1所示,该云存储空间的空间管理***包括:数据处理节点、管理节点和空间回收节点。
其中,数据处理节点用于将存储数据中的各数据块的快照引用状态写入中间记录文件,根据该中间记录文件,更新存储数据的引用计数文件,根据与快照对应的云盘对数据块的引用情况,更新引用计数文件中的被引用次数,根据引用计数文件,计算存储数据的存储空间的垃圾比,其中,引用计数文件中记录有各数据块的被引用次数;管理节点用于根据数据处理节点计算出的存储空间的垃圾比,选择需要进行空间回收的存储空间,生成空间回收任务;空间回收节点用于根据管理节点生成的空间回收任务,获取中间记录文件和引用计数文件,根据中间记录文件,更新引用计数文件中的被引用次数,根据与快照对应的云盘对数据块的引用情况,更新引用计数文件中的被引用次数,根据引用计数文件,计算存储数据的存储空间的垃圾比,并根据垃圾比,进行空间回收。
在本发明实施例中,当存储数据中的数据块被快照引用,或者引用数据块的快照被删除时,数据处理节点将相应的快照引用状态写入中间记录文件。具体地,数据处理节点可以根据快照的变化信息生成引用条目,该引用条目中至少包括数据块的标识信息和快照的引用变化标识信息,当快照被删除时,标识计数减一,当快照增加时,标识计数加一。例如,可以采用<文件号,数据块索引,连续块的数目,加引用>或<文件号,数据块索引,连续块的数目,减引用>的格式记录引用条目。其中,“文件号”、“数据块索引”和“连续快的数据”为数据块的标识信息;“加引用”和“减引用”为引用变化标识信息。另外,多个快照被删除或者增加时,也可以合并引用条目后再写入中间记录文件。
然后,在中间记录文件累积到一定大小时,或者定时地,数据处理节点根据该中间记录文件更新引用计数文件。本发明实施例中引用计数文件的更新采用先追加到中间记录文件的方式,待中间记录文件积累到一定量后,批量更新引用计数文件,充分利用了引用计数文件一次整体写入或删除的特性,实现低代价的顺序写入,做到对***其他任务影响最小。
在本发明实施例中,可以采用分区合并的方式将多个存储数据的数据块的被引用次数记入同一个引用计数文件,从而缓解小文件太多对***带来的压力。在更新引用计数文件时,数据处理节点可以将当前的中间记录文件和引用计数文件都载入到内存中进行更新,即,将中间记录文件中的引用条目一条一条应用到引用计数文件中,然后存储新生成的引用计数文件,并删除旧的引用计数文件和已经应用完的中间记录文件。
然后,在计算存储空间的垃圾比时,数据处理节点将与快照对应的云盘本身对数据块的引用情况,与上述引用计数文件中进行合并,更新数据块的被引用次数。最后,根据最终的引用计数文件,计算存储数据的存储空间的垃圾比。具体地,数据处理节点可以首先根据引用计数文件中各数据块的被引用次数,计算存储数据的第一使用率,即,被引用次数不为零的数据块的比率;然后,根据云盘的索引文件的变化,计算存储数据的第二使用率;最后,根据计算出的第一使用率和第二使用率,计算存储空间的垃圾比,即,存储空间中存储的被引用次数为零的数据块与全部数据块的个数之比,该存储空间可以为存储多个存储数据的空间。通过定期合并云盘本身和快照对存储数据的引用,使得多份快照和云盘可以共享存储数据,而不必担心随着快照数量的增加而使得空间回收的代价越来越高。
然后,数据处理节点将计算出的当前的垃圾比上报到管理节点。管理节点则根据数据处理节点上报的垃圾比,选择需要进行空间回收的存储空间,生成空间回收任务,并向空间回收节点发起回收任务。
在本发明实施例中,空间回收节点在接收到管理节点发起的回收任务后,为了确保所采用的垃圾比的准确性,需要再次进行垃圾比的计算,也就是说,针对数据处理节点上报垃圾比之后至当前时刻所产生的被引用次数的变化重新计算垃圾比。即,获取当前存在的中间记录文件和引用计数文件,并针对当前存在的中间记录文件更新当前的引用计数文件,以及根据当前的云盘的引用情况更新相应数据块的被引用次数。空间回收节点计算出最终的垃圾比,并选择垃圾比最高的文件进行数据搬移,从而完成空间回收。
然后,空间回收节点将回收结果返回至管理节点,由管理节点将该回收结果导入到数据处理节点,从而完成本次的存储数据的存储空间的空间回收。
本发明实施例提供的云存储空间的空间管理***,通过使用中间记录文件来记录数据块的快照引用状态,从而能够根据该中间记录文件来更新存储数据的引用计数文件,通过采用引用计数,来判断数据块的被引用次数,当有快照增加或删除时,只需遍历该快照的索引文件,以对相应数据块的引用计数进行加减操作,提高了处理效率,同时,不会随着快照数量增加而增大垃圾回收时的计算资源用量。
实施例二
图2为本发明提供的云存储空间的空间管理方法一个实施例的流程图,该方法的执行主体可以为上述云存储空间的空间管理***中的数据处理节点,也可以为具有存储空间的空间管理能力的各种服务器,也可以为集成在这些设备上的装置或芯片。如图3所示,该云存储空间的空间管理方法包括如下步骤:
S201,将存储数据中的各数据块的快照引用状态写入中间记录文件。
在本发明实施例中,当存储数据中的数据块被快照引用,或者引用数据块的快照被删除时,数据处理节点将相应的快照引用状态写入中间记录文件。
S202,根据中间记录文件,更新存储数据的引用计数文件。
在本发明实施例中,引用计数文件中记录有各数据块的被引用次数。在中间记录文件累积到一定大小时,或者定时地,数据处理节点根据该中间记录文件更新引用计数文件。本发明实施例中引用计数文件的更新采用先追加到中间记录文件的方式,待中间记录文件积累到一定量后,批量更新引用计数文件,充分利用了引用计数文件一次整体写入或删除的特性,实现低代价的顺序写入,做到对***其他任务影响最小。
S203,根据与快照对应的云盘对数据块的引用情况,更新引用计数文件中的被引用次数。
S204,根据引用计数文件,计算存储数据的存储空间的垃圾比。
在本发明实施例中,在计算存储空间的垃圾比之前,数据处理节点将与快照对应的云盘本身对数据块的引用情况,与上述引用计数文件中进行合并,更新数据块的被引用次数。最后,根据最终的引用计数文件,计算存储数据的存储空间的垃圾比。
本发明实施例提供的云存储空间的空间管理方法,通过使用中间记录文件来记录数据块的快照引用状态,从而能够根据该中间记录文件来更新存储数据的引用计数文件,通过采用引用计数,来判断数据块的被引用次数,当有快照增加或删除时,只需对相应数据块的引用计数进行加减操作,因此,不会随着快照数量增加而增大垃圾回收时的计算资源用量。
实施例三
图3为本发明提供的云存储空间的空间管理方法另一个实施例的流程图。如图3所示,在上述图2所示实施例的基础上,本发明实施例提供的云存储空间的空间管理方法可以包括如下步骤:
S301,根据引用数据块的快照的变化信息,生成引用条目。
S302,将引用条目写入中间记录文件。
在本发明实施例中,根据快照的变化信息生成的引用条目中至少包括数据块的标识信息和快照的引用变化标识信息,其中,快照被删除时,引用变化标识信息用于标识计数减一,快照增加时,引用变化标识用于标识计数加一。例如,可以采用<文件号,数据块索引,连续块的数目,加引用>或<文件号,数据块索引,连续块的数目,减引用>的格式记录引用条目。其中,“文件号”、“数据块索引”和“连续快的数据”为数据块的标识信息;“加引用”和“减引用”为引用变化标识信息。另外,多个快照被删除或者增加时,也可以合并引用条目后再写入中间记录文件。
S303,将中间记录文件与当前的引用计数文件复制到内存。
S304,在内存中,根据中间记录文件中的引用条目,修改引用计数文件。
S305,存储修改后的引用计数文件,并删除中间记录文件和当前的引用计数文件。
在本发明实施例中,可以采用分区合并的方式将多个存储数据的数据块的被引用次数记入同一个引用计数文件,从而缓解小文件太多对***带来的压力。在更新引用计数文件时,数据处理节点可以将当前的中间记录文件和引用计数文件都载入到内存中进行更新,即,将中间记录文件中的引用条目一条一条应用到引用计数文件中,然后存储新生成的引用计数文件,并删除旧的引用计数文件和已经应用完的中间记录文件。
S306,根据与快照对应的云盘对数据块的引用情况,更新引用计数文件中的被引用次数。
S307,根据引用计数文件,计算存储数据的第一使用率。
S308,根据云盘的索引文件的变化,计算存储数据的第二使用率。
S309,根据第一使用率和第二使用率,计算存储空间的垃圾比。
在本发明实施例中,在根据引用计数文件计算垃圾比时,数据处理节点可以首先根据引用计数文件中各数据块的被引用次数,计算存储数据的第一使用率,即,被引用次数不为零的数据块的比率;然后,根据云盘的索引文件的变化,计算出存储数据的第二使用率;最后,根据计算出的第一使用率和第二使用率,计算存储空间的垃圾比,即,计算存储空间中存储的被引用次数为零的数据块与全部数据块的个数之比,该存储空间可以为存储多个存储数据的空间。通过定期合并云盘本身和快照对存储数据的引用,使得多份快照和云盘可以共享存储数据,而不必担心随着快照数量的增加而使得空间回收的代价越来越高。
本发明实施例提供的云存储空间的空间管理方法,通过使用中间记录文件来记录数据块的快照引用状态,从而能够根据该中间记录文件来更新存储数据的引用计数文件,通过采用引用计数,来判断数据块的被引用次数,当有快照增加或删除时,只需遍历该快照的索引文件,以对相应数据块的引用计数进行加减操作,提高了处理效率,同时,不会随着快照数量增加而增大垃圾回收时的计算资源用量。
实施例四
图4为本发明提供的云存储空间的空间管理方法又一个实施例的流程图,该方法的执行主体可以为上述云存储空间的空间管理***中的空间回收节点,也可以为具有存储空间的空间管理能力的各种服务器,也可以为集成在这些设备上的装置或芯片。如图4所示,该云存储空间的空间管理方法包括如下步骤:
S401,获取中间记录文件和引用计数文件。
在本发明实施例中,中间记录文件用于记录存储数据中的各数据块的快照引用状态,引用计数文件中记录有各数据块的被引用次数。空间回收节点在接收到管理节点发起的回收任务后,为了确保所采用的垃圾比的准确性,需要再次进行垃圾比的计算,也就是说,针对数据处理节点上报垃圾比之后至当前时刻所产生的被引用次数的变化重新计算垃圾比。因此,空间回收节点需要获取当前存在的中间记录文件和引用计数文件。
S402,根据中间记录文件,更新引用计数文件中的被引用次数。
S403,根据与快照对应的云盘对数据块的引用情况,更新引用计数文件中的被引用次数。
在本发明实施例中,空间回收节点获取到当前存在的中间记录文件和引用计数文件后,针对当前存在的中间记录文件更新当前的引用计数文件,并根据当前的云盘的引用情况更新相应数据块的被引用次数。
S404,根据引用计数文件,计算存储数据的存储空间的垃圾比。
S405,根据垃圾比,进行空间回收。
在本发明实施例中,空间回收节点根据最新的引用计数文件计算出最终的垃圾比,并选择垃圾比最高的文件进行数据搬移,从而完成空间回收。
本发明实施例提供的云存储空间的空间管理方法,通过使用中间记录文件来记录数据块的快照引用状态,从而能够根据该中间记录文件来更新存储数据的引用计数文件,通过采用引用计数,来判断数据块的被引用次数,当有快照增加或删除时,只需对相应数据块的引用计数进行加减操作,因此,在进行垃圾回收时,不会随着快照数量增加而增大计算资源用量。
实施例五
图5为本发明提供的云存储空间的空间管理方法再一个实施例的流程图。如图5所示,在上述图4所示实施例的基础上,本发明实施例提供的云存储空间的空间管理方法可以包括如下步骤:
S501,获取中间记录文件和引用计数文件。
S502,将中间记录文件与当前引的用计数文件复制到内存。
S503,在内存中,根据中间记录文件中的引用条目,修改引用计数文件中的被引用次数。
S504,存储修改后的引用计数文件,并删除中间记录文件和当前的引用计数文件。
在本发明实施例中,在更新引用计数文件时,空间回收节点可以将当前的中间记录文件和引用计数文件都载入到内存中进行更新,即,将中间记录文件中的引用条目一条一条应用到引用计数文件中,然后存储新生成的引用计数文件,并删除旧的引用计数文件和已经应用完的中间记录文件。
S505,根据与快照对应的云盘对数据块的引用情况,更新引用计数文件中的被引用次数。
S506,根据引用计数文件,计算存储数据的存储空间的垃圾比。
在本发明实施例中,存储数据的存储空间的垃圾比为存储数据中的被引用次数为零的数据块与全部数据块的个数之比。
S507,选取垃圾比最高的存储空间作为待回收空间。
S508,将待回收空间中的被引用次数为非零的数据块写入新的存储空间,并重定向索引。
S509,删除待回收空间中的存储数据。
在本发明实施例中,在进行空间回收时,空间回收节点可以选取垃圾比最高的存储空间作为待回收空间,然后,针对待回收空间,将其中被引用次数为非零的数据块写入新的存储空间,并修改云盘的索引使原来指向旧的存储数据的引用指向新的存储数据,最后,删除待回收空间中的存储数据。
本发明实施例提供的云存储空间的空间管理方法,通过使用中间记录文件来记录数据块的快照引用状态,从而能够根据该中间记录文件来更新存储数据的引用计数文件,通过采用引用计数,来判断数据块的被引用次数,当有快照增加或删除时,只需对相应数据块的引用计数进行加减操作,因此,在进行垃圾回收时,不会随着快照数量增加而增大计算资源用量。
实施例六
图6为本发明提供的云存储空间的空间管理装置一个实施例的结构示意图,可用于执行如图2和图3所示的方法步骤。如图6所示,该云存储空间的空间管理装置包括:写入模块61、第一更新模块62、第二更新模块63和第一计算模块64。
其中,写入模块61用于将存储数据中的各数据块的快照引用状态写入中间记录文件;第一更新模块62用于根据写入模块61所形成的中间记录文件,更新存储数据的引用计数文件,该引用计数文件中记录有各数据块的被引用次数;第二更新模块63用于根据与快照对应的云盘对数据块的引用情况,更新第一更新模块62更新后的引用计数文件中的被引用次数;第一计算模块64用于根据第二更新模块63更新后的引用计数文件,计算存储数据的存储空间的垃圾比。
进一步地,在本发明实施例提供的云存储空间的空间管理装置中,写入模块61可以包括:条目生成单元611和条目写入单元612。
其中,条目生成单元611可以用于根据引用数据块的快照的变化信息,生成引用条目,该引用条目包括数据块的标识信息和快照的引用变化标识信息,其中,快照被删除时,引用变化标识信息用于标识计数减一,快照增加时,引用变化标识用于标识计数加一;条目写入单元612可以用于将条目生成单元611生成的引用条目写入中间记录文件。
更进一步地,在本发明实施例提供的云存储空间的空间管理装置中,第一更新模块62可以包括:第一复制单元621、第一处理单元622和第二处理单元623。
其中,第一复制单元621可以用于将写入模块61所形成的中间记录文件与当前的引用计数文件复制到内存;第一处理单元622可以用于在内存中,根据中间记录文件中的引用条目,修改引用计数文件;第二处理单元623可以用于存储修改后的引用计数文件,并删除中间记录文件和当前的引用计数文件。
再进一步地,在本发明实施例提供的云存储空间的空间管理装置中,第一计算模块64可以包括:第一计算单元641、第二计算单元642和第三计算单元643。
其中,第一计算单元641可以用于根据第二更新模块63更新后的引用计数文件,计算存储数据的第一使用率;第二计算单元642可以用于根据云盘的索引文件的变化,计算存储数据的第二使用率;第三计算单元643可以用于根据第一计算单元641计算出的第一使用率和第二计算单元642计算出的第二使用率,计算存储空间的垃圾比。其中,存储空间的垃圾比为存储存储空间中存储的被引用次数为零的数据块与全部数据块的个数之比。
本发明实施例中各模块的功能详见上述方法实施例中的具体描述,在此不再赘述。
本发明实施例提供的云存储空间的空间管理装置,通过使用中间记录文件来记录数据块的快照引用状态,从而能够根据该中间记录文件来更新存储数据的引用计数文件,通过采用引用计数,来判断数据块的被引用次数,当有快照增加或删除时,只需遍历该快照的索引文件,以对相应数据块的引用计数进行加减操作,提高了处理效率,同时,不会随着快照数量增加而增大垃圾回收时的计算资源用量。
实施例七
图7为本发明提供的云存储空间的空间管理装置另一个实施例的结构示意图,可用于执行如图4和图5所示的方法步骤。如图7所示,该云存储空间的空间管理装置包括:获取模块71、第三更新模块72、第四更新模块73、第二计算模块74和回收模块75。
其中,获取模块71用于获取中间记录文件和引用计数文件,该中间记录文件用于记录存储数据中的各数据块的快照引用状态,该引用计数文件中记录有各数据块的被引用次数;第三更新模块72用于根据中间记录文件,更新引用计数文件中的被引用次数;第四更新模块73用于根据与快照对应的云盘对所述数据块的引用情况,更新引用计数文件中的被引用次数;第二计算模块74用于根据引用计数文件,计算存储数据的存储空间的垃圾比;回收模块75用于根据垃圾比,进行空间回收。
进一步地,在本发明实施例提供的云存储空间的空间管理装置中,第三更新模块72可以包括:第二复制单元721、第三处理单元722和第四处理单元723。
其中,第二复制单元721可以用于将获取模块71获取到的中间记录文件与当前引的用计数文件复制到内存;第三处理单元722可以用于在内存中根据中间记录文件中的引用条目,修改引用计数文件中的被引用次数;第四处理单元723可以用于存储第三处理单元722修改后的引用计数文件,并删除中间记录文件和上述当前的引用计数文件。
另外,在本发明实施例中,第二计算模块74计算出的存储数据的存储空间的垃圾比为该存储数据中的被引用次数为零的数据块与全部数据块的个数之比。
更进一步地,在本发明实施例提供的云存储空间的空间管理装置中,回收模块75可以包括:选取单元751、第五处理单元752和第六处理单元753。
其中,选取单元751可以用于选取垃圾比最高的存储空间作为待回收空间;第五处理单元752可以用于将选取单元751选取出的待回收空间中的被引用次数为非零的数据块写入新的存储空间,并重定向索引;第六处理单元753可以用于删除选取单元751选取出的待回收空间中的存储数据。
本发明实施例中各模块的功能详见上述方法实施例中的具体描述,在此不再赘述。
本发明实施例提供的云存储空间的空间管理装置,通过使用中间记录文件来记录数据块的快照引用状态,从而能够根据该中间记录文件来更新存储数据的引用计数文件,通过采用引用计数,来判断数据块的被引用次数,当有快照增加或删除时,只需对相应数据块的引用计数进行加减操作,因此,在进行垃圾回收时,不会随着快照数量增加而增大计算资源用量。
实施例八
以上描述了云存储空间的空间管理装置的内部功能和结构,该装置可实现为一种电子设备。图8为本发明提供的电子设备一个实施例的结构示意图。如图8所示,该电子设备包括存储器81和处理器82。
存储器81,用于存储程序。除上述程序之外,存储器81还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器81可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器82,不仅仅局限于中央处理器(CPU),还可能为图形处理器(GPU)、现场可编辑门阵列(FPGA)、嵌入式神经网络处理器(NPU)或人工智能(AI)芯片等处理芯片。处理器82,与存储器81耦合,执行存储器81所存储的程序,以用于:
将存储数据中的各数据块的快照引用状态写入中间记录文件;
根据中间记录文件,更新存储数据的引用计数文件,引用计数文件中记录有各数据块的被引用次数;
根据与快照对应的云盘对数据块的引用情况,更新引用计数文件中的被引用次数;
根据引用计数文件,计算存储数据的存储空间的垃圾比。
进一步,如图8所示,电子设备还可以包括:通信组件83、电源组件84、音频组件85、显示器86等其它组件。图8中仅示意性给出部分组件,并不意味着电子设备只包括图8所示组件。
通信组件83被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件83经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件83还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件84,为电子设备的各种组件提供电力。电源组件84可以包括电源管理***,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件85被配置为输出和/或输入音频信号。例如,音频组件85包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器81或经由通信组件83发送。在一些实施例中,音频组件85还包括一个扬声器,用于输出音频信号。
显示器86包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
实施例九
以上描述了云存储空间的空间管理装置的内部功能和结构,该装置可实现为一种电子设备。图9为本发明提供的电子设备另一个实施例的结构示意图。如图9所示,该电子设备包括存储器91和处理器92。
存储器91,用于存储程序。除上述程序之外,存储器91还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器91可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器92,不仅仅局限于中央处理器(CPU),还可能为图形处理器(GPU)、现场可编辑门阵列(FPGA)、嵌入式神经网络处理器(NPU)或人工智能(AI)芯片等处理芯片。处理器92,与存储器91耦合,执行存储器91所存储的程序,以用于:
获取中间记录文件和引用计数文件,中间记录文件用于记录存储数据中的各数据块的快照引用状态,引用计数文件中记录有各数据块的被引用次数;
根据中间记录文件,更新引用计数文件中的被引用次数;
根据与快照对应的云盘对数据块的引用情况,更新引用计数文件中的被引用次数;
根据引用计数文件,计算存储数据的存储空间的垃圾比;
根据垃圾比,进行空间回收。
进一步,如图9所示,电子设备还可以包括:通信组件93、电源组件94、音频组件95、显示器96等其它组件。图9中仅示意性给出部分组件,并不意味着电子设备只包括图9所示组件。
通信组件93被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件93经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件93还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件94,为电子设备的各种组件提供电力。电源组件94可以包括电源管理***,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件95被配置为输出和/或输入音频信号。例如,音频组件95包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器91或经由通信组件93发送。在一些实施例中,音频组件95还包括一个扬声器,用于输出音频信号。
显示器96包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (21)
1.一种云存储空间的空间管理方法,其特征在于,包括:
将存储数据中的各数据块的快照引用状态写入中间记录文件;所述中间记录文件包括引用条目,所述引用条目是根据引用所述数据块的快照的变化信息生成的;所述引用条目包括所述数据块的标识信息和所述快照的引用变化标识信息;
根据所述中间记录文件,更新所述存储数据的引用计数文件,所述引用计数文件中记录有各数据块的被引用次数;
根据与所述快照对应的云盘对所述数据块的引用情况,更新所述引用计数文件中的被引用次数;
根据所述引用计数文件,计算所述存储数据的存储空间的垃圾比;
所述根据所述引用计数文件,计算所述存储数据的存储空间的垃圾比,包括:
根据所述引用计数文件,计算所述存储数据的第一使用率;
根据所述云盘的索引文件的变化,计算所述存储数据的第二使用率;
根据所述第一使用率和所述第二使用率,计算所述存储空间的垃圾比。
2.根据权利要求1所述的云存储空间的空间管理方法,其特征在于,所述将存储数据中的各数据块的快照引用状态写入中间记录文件,包括:
快照被删除时,所述引用变化标识信息用于标识计数减一,快照增加时,所述引用变化标识用于标识计数加一;
将所述引用条目写入所述中间记录文件。
3.根据权利要求2所述的云存储空间的空间管理方法,其特征在于,所述根据所述中间记录文件,更新所述存储数据的引用计数文件,包括:
将所述中间记录文件与当前的引用计数文件复制到内存;
在内存中,根据所述中间记录文件中的引用条目,修改所述引用计数文件;
存储修改后的引用计数文件,并删除所述中间记录文件和所述当前的引用计数文件。
4.根据权利要求1所述的云存储空间的空间管理方法,其特征在于,所述存储空间的垃圾比为所述存储空间中存储的被引用次数为零的数据块与全部数据块的个数之比。
5.一种云存储空间的空间管理方法,其特征在于,包括:
获取中间记录文件和引用计数文件,所述中间记录文件用于记录存储数据中的各数据块的快照引用状态,所述引用计数文件中记录有各数据块的被引用次数;所述中间记录文件包括引用条目,所述引用条目是根据引用所述数据块的快照的变化信息生成的;所述引用条目包括所述数据块的标识信息和所述快照的引用变化标识信息;
根据所述中间记录文件,更新所述引用计数文件中的被引用次数;
根据与所述快照对应的云盘对所述数据块的引用情况,更新所述引用计数文件中的被引用次数;
根据所述引用计数文件,计算所述存储数据的存储空间的垃圾比;
根据所述垃圾比,进行空间回收;
所述根据所述引用计数文件,计算所述存储数据的存储空间的垃圾比,包括:
根据所述引用计数文件,计算所述存储数据的第一使用率;
根据所述云盘的索引文件的变化,计算所述存储数据的第二使用率;
根据所述第一使用率和所述第二使用率,计算所述存储空间的垃圾比。
6.根据权利要求5所述的云存储空间的空间管理方法,其特征在于,所述根据所述中间记录文件,更新所述引用计数文件中的被引用次数,包括:
将所述中间记录文件与当前引的用计数文件复制到内存;
在内存中,根据所述中间记录文件中的引用条目,修改所述引用计数文件中的被引用次数;
存储修改后的引用计数文件,并删除所述中间记录文件和所述当前的引用计数文件。
7.根据权利要求5所述的云存储空间的空间管理方法,其特征在于,所述存储数据的存储空间的垃圾比为所述存储数据中的被引用次数为零的数据块与全部数据块的个数之比。
8.根据权利要求5至7中任一权利要求所述的云存储空间的空间管理方法,其特征在于,所述根据所述垃圾比,进行空间回收,包括:
选取垃圾比最高的所述存储空间作为待回收空间;
将所述待回收空间中的被引用次数为非零的数据块写入新的存储空间,并重定向索引;
删除所述待回收空间中的存储数据。
9.一种云存储空间的空间管理装置,其特征在于,包括:
写入模块,用于将存储数据中的各数据块的快照引用状态写入中间记录文件;所述中间记录文件包括引用条目,所述引用条目是根据引用所述数据块的快照的变化信息生成的;所述引用条目包括所述数据块的标识信息和所述快照的引用变化标识信息;
第一更新模块,用于根据所述中间记录文件,更新所述存储数据的引用计数文件,所述引用计数文件中记录有各数据块的被引用次数;
第二更新模块,用于根据与所述快照对应的云盘对所述数据块的引用情况,更新所述引用计数文件中的被引用次数;
第一计算模块,用于根据所述引用计数文件,计算所述存储数据的存储空间的垃圾比;
所述第一计算模块包括:
第一计算单元,用于根据所述引用计数文件,计算所述存储数据的第一使用率;
第二计算单元,用于根据所述云盘的索引文件的变化,计算所述存储数据的第二使用率;
第三计算单元,用于根据所述第一使用率和所述第二使用率,计算所述存储空间的垃圾比。
10.根据权利要求9所述的云存储空间的空间管理装置,其特征在于,所述写入模块包括:
条目生成单元,用于快照被删除时,所述引用变化标识信息用于标识计数减一,快照增加时,所述引用变化标识用于标识计数加一;
条目写入单元,用于将所述引用条目写入所述中间记录文件。
11.根据权利要求10所述的云存储空间的空间管理装置,其特征在于,所述第一更新模块包括:
第一复制单元,用于将所述中间记录文件与当前的引用计数文件复制到内存;
第一处理单元,用于在内存中,根据所述中间记录文件中的引用条目,修改所述引用计数文件;
第二处理单元,用于存储修改后的引用计数文件,并删除所述中间记录文件和所述当前的引用计数文件。
12.根据权利要求9所述的云存储空间的空间管理装置,其特征在于,所述存储空间的垃圾比为所述存储存储空间中存储的被引用次数为零的数据块与全部数据块的个数之比。
13.一种云存储空间的空间管理装置,其特征在于,包括:
获取模块,用于获取中间记录文件和引用计数文件,所述中间记录文件用于记录存储数据中的各数据块的快照引用状态,所述引用计数文件中记录有各数据块的被引用次数;所述中间记录文件包括引用条目,所述引用条目是根据引用所述数据块的快照的变化信息生成的;所述引用条目包括所述数据块的标识信息和所述快照的引用变化标识信息;
第三更新模块,用于根据所述中间记录文件,更新所述引用计数文件中的被引用次数;
第四更新模块,用于根据与所述快照对应的云盘对所述数据块的引用情况,更新所述引用计数文件中的被引用次数;
第二计算模块,用于根据所述引用计数文件,计算所述存储数据的存储空间的垃圾比;
回收模块,用于根据所述垃圾比,进行空间回收;
所述第二计算模块包括:
第一计算单元,用于根据所述引用计数文件,计算所述存储数据的第一使用率;
第二计算单元,用于根据所述云盘的索引文件的变化,计算所述存储数据的第二使用率;
第三计算单元,用于根据所述第一使用率和所述第二使用率,计算所述存储空间的垃圾比。
14.根据权利要求13所述的云存储空间的空间管理装置,其特征在于,所述第三更新模块包括:
第二复制单元,用于将所述中间记录文件与当前引的用计数文件复制到内存;
第三处理单元,用于在内存中,根据所述中间记录文件中的引用条目,修改所述引用计数文件中的被引用次数;
第四处理单元,用于存储修改后的引用计数文件,并删除所述中间记录文件和所述当前的引用计数文件。
15.根据权利要求13所述的云存储空间的空间管理装置,其特征在于,所述存储数据的存储空间的垃圾比为所述存储数据中的被引用次数为零的数据块与全部数据块的个数之比。
16.根据权利要求13至15中任一权利要求所述的云存储空间的空间管理装置,其特征在于,所述回收模块包括:
选取单元,用于选取垃圾比最高的所述存储空间作为待回收空间;
第五处理单元,用于将所述待回收空间中的被引用次数为非零的数据块写入新的存储空间,并重定向索引;
第六处理单元,用于删除所述待回收空间中的存储数据。
17.一种云存储空间的空间管理***,其特征在于,包括:
数据处理节点,用于将存储数据中的各数据块的快照引用状态写入中间记录文件,根据所述中间记录文件,更新所述存储数据的引用计数文件,根据与所述快照对应的云盘对所述数据块的引用情况,更新所述引用计数文件中的被引用次数,根据所述引用计数文件,计算所述存储数据的存储空间的垃圾比,其中,所述引用计数文件中记录有各数据块的被引用次数;所述中间记录文件包括引用条目,所述引用条目是根据引用所述数据块的快照的变化信息生成的;所述引用条目包括所述数据块的标识信息和所述快照的引用变化标识信息;
管理节点,用于根据所述数据处理节点计算出的存储空间的垃圾比,选择需要进行空间回收的存储空间,生成空间回收任务;
空间回收节点,用于根据所述管理节点生成的空间回收任务,获取中间记录文件和引用计数文件,根据所述中间记录文件,更新所述引用计数文件中的被引用次数,根据与所述快照对应的云盘对所述数据块的引用情况,更新所述引用计数文件中的被引用次数,根据所述引用计数文件,计算所述存储数据的存储空间的垃圾比,并根据所述垃圾比,进行空间回收;
所述根据所述引用计数文件,计算所述存储数据的存储空间的垃圾比,包括:
根据所述引用计数文件,计算所述存储数据的第一使用率;
根据所述云盘的索引文件的变化,计算所述存储数据的第二使用率;
根据所述第一使用率和所述第二使用率,计算所述存储空间的垃圾比。
18.一种电子设备,其特征在于,包括:
存储器,用于存储程序;
处理器,用于运行所述存储器中存储的所述程序,以用于:
将存储数据中的各数据块的快照引用状态写入中间记录文件;所述中间记录文件包括引用条目,所述引用条目是根据引用所述数据块的快照的变化信息生成的;所述引用条目包括所述数据块的标识信息和所述快照的引用变化标识信息;
根据所述中间记录文件,更新所述存储数据的引用计数文件,所述引用计数文件中记录有各数据块的被引用次数;
根据与所述快照对应的云盘对所述数据块的引用情况,更新所述引用计数文件中的被引用次数;
根据所述引用计数文件,计算所述存储数据的存储空间的垃圾比;
所述根据所述引用计数文件,计算所述存储数据的存储空间的垃圾比,包括:
根据所述引用计数文件,计算所述存储数据的第一使用率;
根据所述云盘的索引文件的变化,计算所述存储数据的第二使用率;
根据所述第一使用率和所述第二使用率,计算所述存储空间的垃圾比。
19.一种电子设备,其特征在于,包括:
存储器,用于存储程序;
处理器,用于运行所述存储器中存储的所述程序,以用于:
获取中间记录文件和引用计数文件,所述中间记录文件用于记录存储数据中的各数据块的快照引用状态,所述引用计数文件中记录有各数据块的被引用次数;所述中间记录文件包括引用条目,所述引用条目是根据引用所述数据块的快照的变化信息生成的;所述引用条目包括所述数据块的标识信息和所述快照的引用变化标识信息;
根据所述中间记录文件,更新所述引用计数文件中的被引用次数;
根据与所述快照对应的云盘对所述数据块的引用情况,更新所述引用计数文件中的被引用次数;
根据所述引用计数文件,计算所述存储数据的存储空间的垃圾比;
根据所述垃圾比,进行空间回收;
所述根据所述引用计数文件,计算所述存储数据的存储空间的垃圾比,包括:
根据所述引用计数文件,计算所述存储数据的第一使用率;
根据所述云盘的索引文件的变化,计算所述存储数据的第二使用率;
根据所述第一使用率和所述第二使用率,计算所述存储空间的垃圾比。
20.一种计算机可读存储介质,在所述计算机可读存储介质上存储有指令,所述指令包括:
将存储数据中的各数据块的快照引用状态写入中间记录文件;所述中间记录文件包括引用条目,所述引用条目是根据引用所述数据块的快照的变化信息生成的;所述引用条目包括所述数据块的标识信息和所述快照的引用变化标识信息;
根据所述中间记录文件,更新所述存储数据的引用计数文件,所述引用计数文件中记录有各数据块的被引用次数;
根据与所述快照对应的云盘对所述数据块的引用情况,更新所述引用计数文件中的被引用次数;
根据所述引用计数文件,计算所述存储数据的存储空间的垃圾比;
所述根据所述引用计数文件,计算所述存储数据的存储空间的垃圾比,包括:
根据所述引用计数文件,计算所述存储数据的第一使用率;
根据所述云盘的索引文件的变化,计算所述存储数据的第二使用率;
根据所述第一使用率和所述第二使用率,计算所述存储空间的垃圾比。
21.一种计算机可读存储介质,在所述计算机可读存储介质上存储有指令,所述指令包括:
获取中间记录文件和引用计数文件,所述中间记录文件用于记录存储数据中的各数据块的快照引用状态,所述引用计数文件中记录有各数据块的被引用次数;所述中间记录文件包括引用条目,所述引用条目是根据引用所述数据块的快照的变化信息生成的;所述引用条目包括所述数据块的标识信息和所述快照的引用变化标识信息;
根据所述中间记录文件,更新所述引用计数文件中的被引用次数;
根据与所述快照对应的云盘对所述数据块的引用情况,更新所述引用计数文件中的被引用次数;
根据所述引用计数文件,计算所述存储数据的存储空间的垃圾比;
根据所述垃圾比,进行空间回收;
所述根据所述引用计数文件,计算所述存储数据的存储空间的垃圾比,包括:
根据所述引用计数文件,计算所述存储数据的第一使用率;
根据所述云盘的索引文件的变化,计算所述存储数据的第二使用率;
根据所述第一使用率和所述第二使用率,计算所述存储空间的垃圾比。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911001767.5A CN112764663B (zh) | 2019-10-21 | 2019-10-21 | 云存储空间的空间管理方法、装置和***、电子设备以及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911001767.5A CN112764663B (zh) | 2019-10-21 | 2019-10-21 | 云存储空间的空间管理方法、装置和***、电子设备以及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112764663A CN112764663A (zh) | 2021-05-07 |
CN112764663B true CN112764663B (zh) | 2024-04-12 |
Family
ID=75691702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911001767.5A Active CN112764663B (zh) | 2019-10-21 | 2019-10-21 | 云存储空间的空间管理方法、装置和***、电子设备以及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112764663B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113312002A (zh) * | 2021-06-11 | 2021-08-27 | 北京百度网讯科技有限公司 | 数据处理的方法、装置、设备和介质 |
CN114281791B (zh) * | 2022-03-07 | 2022-07-22 | 阿里云计算有限公司 | 数据访问方法、***、设备及存储介质 |
CN114780502B (zh) * | 2022-05-17 | 2022-09-16 | 中国人民大学 | 基于压缩数据直接计算的数据库方法、***、设备和介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9852149B1 (en) * | 2010-05-03 | 2017-12-26 | Panzura, Inc. | Transferring and caching a cloud file in a distributed filesystem |
CN108459898A (zh) * | 2017-02-20 | 2018-08-28 | 阿里巴巴集团控股有限公司 | 一种资源回收方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10789223B2 (en) * | 2016-03-24 | 2020-09-29 | Microsoft Technology Licensing, Llc | Hybrid garbage collection in a distributed storage system |
JP2019036130A (ja) * | 2017-08-16 | 2019-03-07 | 富士通株式会社 | ストレージ制御装置、及びプログラム |
JP2019057172A (ja) * | 2017-09-21 | 2019-04-11 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
-
2019
- 2019-10-21 CN CN201911001767.5A patent/CN112764663B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9852149B1 (en) * | 2010-05-03 | 2017-12-26 | Panzura, Inc. | Transferring and caching a cloud file in a distributed filesystem |
CN108459898A (zh) * | 2017-02-20 | 2018-08-28 | 阿里巴巴集团控股有限公司 | 一种资源回收方法及装置 |
Non-Patent Citations (2)
Title |
---|
基于O/R映射的对象持久层框架的设计及辅助开发工具的实现;郑琨;中国优秀硕士学位论文全文数据库(第12期);全文 * |
基于重复数据删除技术的存储***分析;朱江;冀鸣;杨志成;张嘉贤;曹雄;;信息***工程(04);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112764663A (zh) | 2021-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112764663B (zh) | 云存储空间的空间管理方法、装置和***、电子设备以及计算机可读存储介质 | |
US10229006B1 (en) | Providing continuous data protection on a storage array configured to generate snapshots | |
CN108572789B (zh) | 磁盘存储方法和装置、消息推送方法和装置及电子设备 | |
CN105204959A (zh) | 恢复ext文件***中已删除文件的方法及装置 | |
EP3579111A1 (en) | Flash file system and data management method thereof | |
CN108932286B (zh) | 一种数据查询方法及装置 | |
CN110945486B (zh) | 一种存储碎片管理方法及终端 | |
CN111104063A (zh) | 一种数据存储方法、装置及电子设备和存储介质 | |
CN103886059A (zh) | 文件的清理方法及装置 | |
CN110554999A (zh) | 基于日志式文件***和闪存设备的冷热属性识别和分离方法、装置以及相关产品 | |
CN111177143B (zh) | 键值数据存储方法、装置、存储介质与电子设备 | |
CN102929980A (zh) | 一种文件夹清理方法及装置 | |
CN103677674A (zh) | 一种数据处理方法及装置 | |
CN114996173B (zh) | 一种管理存储设备写操作的方法和装置 | |
CN106484691B (zh) | 移动终端的数据存储方法和装置 | |
CN110851398B (zh) | 垃圾数据的回收处理方法、装置及电子设备 | |
CN113127438B (zh) | 用于存储数据的方法、装置、服务器和介质 | |
US20190073270A1 (en) | Creating Snapshots Of A Storage Volume In A Distributed Storage System | |
CN114428589B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN113672162A (zh) | 数据存储方法、装置及设备 | |
CN112486979B (zh) | 数据处理方法、装置和***、电子设备以及计算机可读存储介质 | |
CN104951253A (zh) | 一种内存容量处理的方法及移动终端 | |
CN113420191B (zh) | 数据存储方法和装置、数据查询方法和装置、数据结构、电子设备及计算机可读存储介质 | |
CN111831472B (zh) | 快照创建方法和装置以及电子设备 | |
CN110018985B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |