垃圾数据的回收处理方法、装置及电子设备制造方法及图纸

技术编号:23445588 阅读:16 留言:0更新日期:2020-02-28 19:50
本发明专利技术实施例提供了一种垃圾数据的回收处理方法、装置及电子设备,方法包括:获取设备段中处于共享状态的至少一个第一数据文件;获取第一数据文件对应的第一索引文件以及与第一数据文件具有共享关系的至少一个第二数据文件对应的第二索引文件;根据所述第一索引文件和所述第二索引文件,确定所述第一数据文件中的垃圾数据块,并执行第一垃圾回收处理。本发明专利技术实施例的垃圾数据的回收处理的技术方案,能够实现在数据共享状态下的垃圾回收,在确定垃圾数据块的过程中,充分考虑共享数据块的直接和间接的数据引用关系,以准确地确定出垃圾数据块,并进一步执行垃圾回收处理。

Garbage data recycling and processing methods, devices and electronic equipment

【技术实现步骤摘要】
垃圾数据的回收处理方法、装置及电子设备
本申请涉及一种垃圾数据的回收处理方法、装置及电子设备,属于计算机

技术介绍
在当前的存储产品中,在写入数据时基本上都不采用覆盖写(overwrite)的方式,而是把新的数据存储在新的位置。这样带来的好处就是写入的性能会更好,写入的可用性更高,也不容易出现数据错误。但是,这种写入方式会带来一个额外的负担就是,对老旧数据的垃圾回收。当存在共享重复数据的情况时,垃圾数据的识别和回收就更加复杂了。
技术实现思路
本专利技术实施例提供一种垃圾数据的回收处理方法、装置及电子设备,以解决存在数据文件被共享的情况下的垃圾回收。为了实现上述目的,本专利技术实施例提供了一种垃圾数据的回收处理方法,包括:获取设备段中处于共享状态的至少一个第一数据文件;获取所述第一数据文件对应的第一索引文件以及与所述第一数据文件具有共享关系的至少一个第二数据文件对应的第二索引文件;根据所述第一索引文件和所述第二索引文件,确定所述第一数据文件中的垃圾数据块,并执行第一垃圾回收处理。本专利技术实施例还提供了一种垃圾数据的回收处理方法,包括:获取设备段中的至少一个已有数据文件中的至少一个有效数据块,使用所述有效数据块生成至少一个新数据文件,所述有效数据块为所述数据文件中垃圾数据块以外的数据块;根据所述已有数据文件对应的已有索引文件和所述新数据文件,生成与该新数据文件对应的新索引文件;使用所述新数据文件和所述新索引文件替换所述已有数据文件和已有索引文件。本专利技术实施例还提供了一种垃圾数据的回收处理装置,包括:第一获取模块,用于获取设备段中处于共享状态的至少一个第一数据文件;第二获取模块,用于获取所述第一数据文件对应的第一索引文件以及与所述第一数据文件具有共享关系的至少一个第二数据文件对应的第二索引文件;第一垃圾数据块确定模块,用于根据所述第一索引文件和所述第二索引文件,确定所述第一数据文件中的垃圾数据块;第一垃圾回收处理模块,用于执行第一垃圾回收处理。本专利技术实施例又提供了一种垃圾数据的回收处理装置,包括:数据文件生成模块,用于获取设备段中的至少一个已有数据文件中的至少一个有效数据块,使用所述有效数据块生成至少一个新数据文件,所述有效数据块为所述数据文件中垃圾数据块以外的数据块;索引文件生成模块,用于根据所述已有数据文件对应的已有索引文件和所述新数据文件,生成与该新数据文件对应的新索引文件;文件替换模块,用于使用所述新数据文件和所述新索引文件替换所述已有数据文件和已有索引文件。本专利技术实施例还提供了一种电子设备,包括:存储器,用于存储程序;处理器,耦合至所述存储器,用于执行所述程序,以用于如下处理:获取设备段中处于共享状态的至少一个第一数据文件;获取所述第一数据文件对应的第一索引文件以及与所述第一数据文件具有共享关系的至少一个第二数据文件对应的第二索引文件;根据所述第一索引文件和所述第二索引文件,确定所述第一数据文件中的垃圾数据块,并执行第一垃圾回收处理。本专利技术实施例还提供了又一种电子设备,包括:存储器,用于存储程序;处理器,耦合至所述存储器,用于执行所述程序,以用于如下处理:获取设备段中的至少一个已有数据文件中的至少一个有效数据块,使用所述有效数据块生成至少一个新数据文件,所述有效数据块为所述数据文件中垃圾数据块以外的数据块;根据所述已有数据文件对应的已有索引文件和所述新数据文件,生成与该新数据文件对应的新索引文件;使用所述新数据文件和所述新索引文件替换所述已有数据文件和已有索引文件。本专利技术实施例的垃圾数据的回收处理的技术方案,能够实现在数据共享状态下的垃圾回收,在确定垃圾数据块的过程中,充分考虑共享数据块的直接和间接的数据引用关系,以准确地确定出垃圾数据块,并进一步执行垃圾回收处理。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明图1为本专利技术实施例的LSBD的设备的数据结构示意图。图2为本专利技术实施例的LSBD设备的快照设备结构示意图。图3为本专利技术实施例的LSBD设备的克隆设备结构示意图图4为本专利技术实施例的垃圾数据块的示意图之一。图5为本专利技术实施例的垃圾数据块的示意图之二。图6为本专利技术实施例的垃圾数据块的示意图之三。图7为本专利技术实施例的垃圾回收处理的过程示意图之一。图8为本专利技术实施例的垃圾回收处理的过程示意图之二。图9为本专利技术实施例的垃圾回收处理的过程示意图之三。图10为本专利技术实施例的垃圾数据的回收处理方法的流程示意图之一。图11为本专利技术实施例的垃圾数据的回收处理方法的流程示意图之二。图12为本专利技术实施例的垃圾数据的回收处理方法的流程示意图之三。图13为本专利技术实施例的垃圾数据的回收处理方法的流程示意图之四。图14为本专利技术实施例的垃圾数据的回收处理方法的流程示意图之五。图15为本专利技术实施例的垃圾数据的回收处理装置的结构示意图之一。图16为本专利技术实施例的垃圾数据的回收处理装置的结构示意图之二。图17为本专利技术实施例的垃圾数据的回收处理装置的结构示意图之三。图18为本专利技术实施例的电子设备的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。本专利技术实施例的整体描述关于垃圾数据的说明在LSBD架构下,采用日志文件(logfile)来构建虚拟机磁盘设备,日志文件是一种只能被追加写而不能覆盖写的一种的分布式系统文件,日志结构块结构设备是一种虚拟块设备,该设备也是基于日志文件而构造的。正因为日志文件是只能被追加写而不能覆盖写,所以才会产生较多的垃圾文件。例如,当数据更新时,新的数据会写在另一个地方,并调整逻辑地址与物理地址的对应关系,指向新的数据,而原来的数据就成了垃圾数据。如图1所示,其为本专利技术实施例的LSBD的设备的数据结构示意图,在LSBD设备中,设备被切分成多个设备段(Devicesegment),每个设备段由Indexfile(索引文件)、datafile(数据文件)和Txnfile(修改事务日志文件,图中未示出)组成,这些文件都采用的是分布式文件的日志文件(logfile)格式,即只能追加写,不能覆盖写。下面分别介绍一下各个文件的主要内容:索引文件:负责记录DeviceLBARange(设备逻辑地址区间)和dat本文档来自技高网...

【技术保护点】
1.一种垃圾数据的回收处理方法,其中,包括:/n获取设备段中处于共享状态的至少一个第一数据文件;/n获取所述第一数据文件对应的第一索引文件以及与所述第一数据文件具有共享关系的至少一个第二数据文件对应的第二索引文件;/n根据所述第一索引文件和所述第二索引文件,确定所述第一数据文件中的垃圾数据块,并执行第一垃圾回收处理。/n

【技术特征摘要】
1.一种垃圾数据的回收处理方法,其中,包括:
获取设备段中处于共享状态的至少一个第一数据文件;
获取所述第一数据文件对应的第一索引文件以及与所述第一数据文件具有共享关系的至少一个第二数据文件对应的第二索引文件;
根据所述第一索引文件和所述第二索引文件,确定所述第一数据文件中的垃圾数据块,并执行第一垃圾回收处理。


2.根据权利要求所述的方法,其中,所述获取所述第一数据文件对应的第一索引文件以及与所述第一数据文件具有共享关系的至少一个第二数据文件对应的第二索引文件进一步包括:
获取所述第一数据文件的第一文件名称,并根据该第一文件名称获取对应的文件ID;
获取共享该文件ID的全部第二数据文件的第二文件名称;
根据所述第二文件名称确定全部第二数据文件所在的一个或多个设备段,并从该一个或多个设备段中获取全部第二数据文件对应的全部第二索引文件。


3.根据权利要求2所述的方法,其中,所述根据所述第一索引文件和所述第二索引文件,确定所述第一数据文件中的垃圾数据块进一步包括:
根据所述第一索引文件和所述第二索引文件,对所述第一数据文件和全部所述第二数据文件中的被引用的数据块和没有被引用的数据块进行标记;
如果在所述第一数据文件存在没有被引用的第一数据块,并且在全部第二数据文件中与该第一数据块具有共享关系的第二数据块均没有被引用,或者在全部第二数据文件中,不存在与该第一数据块具有共享关系的第二数据块,则将该第一数据块确定为垃圾数据块。


4.根据权利要求1所述的方法,其中,在执行第一垃圾回收处理之前还包括:
根据所述垃圾数据块的数据总量和所述第一数据文件的物理数据总量计算第一垃圾数据比例;
判断所述第一垃圾数据比例是否大于共享垃圾回收指标,如果大于,则针对所述第一数据文件执行所述第一垃圾回收处理。


5.根据权利要求4所述的方法,其中,还包括:
获取所述第一数据文件对应的逻辑数据总量;
根据所述物理数据总量与所述逻辑数据总量的比值,对用于非共享数据文件的静态垃圾回收指标进行修正,生成所述共享垃圾回收指标。


6.根据权利要求1所述的方法,其中,执行第一垃圾回收处理进一步包括:
获取所述至少一个第一数据文件中所述垃圾数据块以外的至少一个有效数据块,使用所述有效数据块生成至少一个第三数据文件;
根据所述第一索引文件和所述第三数据文件,生成第三索引文件;
使用所述第三数据文件和所述第三索引文件替换所述第一数据文件和所述第一索引文件。


7.根据权利要求6所述的方法,其中,所述执行第一垃圾回收处理还包括:
将所述第三数据文件存入热点缓存中,以用于在对所述第二数据文件执行垃圾处理时使用。


8.根据权利要求4所述的方法,其中,还包括:
在执行快照处理和/或克隆处理和/或垃圾回收处理的过程中,在所述第一数据文件的属性值中,记录所述第一数据文件的逻辑数据总量;
所述获取所述第一数据文件对应的逻辑数据总量包括:
从所述第一数据文件的属性值中获取所述逻辑数据总量。


9.根据权利要求1所述的方法,其中,还包括:
获取所述设备段中处于非共享状态的至少一个第四数据文件;
根据与所述第四数据文件对应的第四索引文件,确定所述第四数据文件中的垃圾数据块,并执行第二垃圾回收处理。


10.根据权利要求9所述的方法,其中,在执行第二垃圾回收处理之前还包括:
根据第四数据文件中的所述垃圾数据块的数据总量和所述第四数据文件的物理数据总量计算第二垃圾数据比例;
判断所述第二垃圾数据比例是否大于静态垃圾回收指标,如果是,则执行所述第二垃圾回收处理。


11.根据权利要求9所述的方法,其中,所述执行第二垃圾回收处理进一步包括:
获取所述第四数据文件中垃圾数据块以外的至少一个有效数据块,使用所述有效数据块生成至少一个第五数据文件;
根据与所述第四数据文件对应的第四索引文件和所述第五数据文件,生成第五索引文件;
使用所述第五数据文件和所述第五索引文件替换所述第四数据文件和所述第四索引文件。


12.一种垃圾数据的回收处理方法,其中,包括:
获取设备段中的至少一个已有数据文件中的至少一个有效数据块,使用所述有效数据块生成至少一个新数据文件,所述有效数据块为所述数据文件中垃圾数据块以外的数据块;
根据所述已有数据文件对应的已有索引文件和所述新数据文件,生成与该新数据文件对应的新索引文件;
使用所述新数据文件和所述新索引文件替换所述已有数据文件和已有索引文件。


13.一种垃圾数据的回收处理装置,其中,包括:
第一获取模块,用于获取设备段中处于共享状态的至少一个第一数据文件;
第二获取模块,用于获取所述第一数据文件对应的第一索引文件以及与所述第一数据文件具有共享关系的至少一个第二数据文件对应的第二索引文件;
第一垃圾数据块确定模块,用于根据所述第一索引文件和所述第二索引文件,确定所述第一数据文件中的垃圾数据块;
第一垃圾回收处理模块,用于执行第一垃圾回收处理。


14.根据权利要求13所述的装置,其中,所述获取所述第一数据文件对应的第一索引文件以及...

【专利技术属性】
技术研发人员:佘海斌
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1