数据处理方法、设备、存储介质及程序产品技术

技术编号:29583044 阅读:13 留言:0更新日期:2021-08-06 19:40
本申请实施例提供一种数据处理方法、设备、存储介质及程序产品。在本申请实施例中,可确定当前使用的数据集和回收的垃圾数据未被删除的历史回收轮次;并在历史回收轮次回收的历史垃圾数据不再被使用的情况下,根据当前使用的数据集和历史回收轮次回收的历史垃圾数据,从历史垃圾数据中确定待恢复数据,并将待恢复数据恢复至存储系统以及删除历史垃圾数据,不仅实现了无锁垃圾数据回收,而且通过延迟历史垃圾数据删除,可解决无锁垃圾回收方法带来的误删除问题。

【技术实现步骤摘要】
数据处理方法、设备、存储介质及程序产品
本申请涉及数据存储
,尤其涉及数据处理方法、设备、存储介质及程序产品。
技术介绍
随着数字信息的爆炸式增长,备份系统中的数据随之增大,数据的存储管理越加复杂。数据去重技术的采用,优化了存储效率,却带来了数据删除过程中产生的数据垃圾问题。如何清理这些存储垃圾是备份系统中亟需解决的重要技术问题。
技术实现思路
本申请的多个方面提供一种数据处理方法、设备、存储介质及程序产品,用以实现数据垃圾回收。本申请实施例提供一种数据处理方法,包括:确定当前使用的第一数据集;确定回收的垃圾数据未被删除的历史回收轮次;在所述历史回收轮次回收的历史垃圾数据不再被使用的情况下,根据所述第一数据集,从所述历史垃圾数据中确定待恢复数据;将所述待恢复数据恢复至存储系统;并删除所述历史垃圾数据。本申请实施例还提供一种计算机设备,包括:存储器和处理器;其中,所述存储器,用于存储计算机程序和存储系统;所述处理器耦合至所述存储器,用于执行所述计算机程序以用于执行上述数据处理方法中的步骤。本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行上述数据处理方法中的步骤。本申请实施例还提供一种计算机程序产品,包括:计算机程序;所述计算机程序被处理器执行用于实现上述数据处理方法。在本申请实施例中,可确定当前使用的数据集和回收的垃圾数据未被删除的历史回收轮次;并在历史回收轮次回收的历史垃圾数据不再被使用的情况下,根据当前使用的数据集和历史回收轮次回收的历史垃圾数据,从历史垃圾数据中确定待恢复数据,并将待恢复数据恢复至存储系统以及删除历史垃圾数据,不仅实现了无锁垃圾数据回收,而且通过延迟历史垃圾数据删除,可解决无锁垃圾回收方法带来的误删除问题。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1a和图1b为本申请实施例提供的数据处理方法的流程示意图;图2为本申请实施例提供的GC操作和上传操作的时间线示意图;图3为本申请实施例提供的计算机设备的结构示意图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。随着数字信息的爆炸式增长,云存储应用而生。用户可将本地数据上传至云盘、网盘等备份系统中进行数据存储。备份系统中的数据随之增大,数据的存储管理越加复杂。数据去重技术的采用,优化了存储效率。其中,数据去重技术是一种数据缩减技术,通常用于基于磁盘的备份系统,旨在减少存储系统中使用的存储容量。它的工作方式是在某个时间周期内查找不同文件中不同位置的重复可变大小数据块。重复的数据块用指示符取代。垃圾回收(GarbageCollection,GC)则是清除数据去重技术删除的数据中不再引用的数据。例如,假设数据去重技术删除的数据为数据集R,垃圾回收(GC)则是删除数据集R中不再引用的数据。相应地,垃圾数据则是指数据去重技术删除的数据中不再引用的数据。对于有锁垃圾回收机制来说,需要在有锁垃圾回收执行期间,停止文件备份服务。即在有锁GC执行期间,用户无法将数据继续上传至备份系统,影响备份服务的质量。另一方面,针对一些需要持续备份的场景,有锁GC方法并不适用。例如,增量备份场景需要持续数据备份或数据高频率备份,有锁GC不适用于增量备份场景。基于上述技术问题,本申请实施例提供一种无锁GC方法。在本申请实施例中,为了实现垃圾数据回收,可确定当前使用的数据集和回收的垃圾数据未被删除的历史回收轮次;并在历史回收轮次回收的历史垃圾数据不再被使用的情况下,根据当前使用的数据集和历史回收轮次回收的历史垃圾数据,从历史垃圾数据中确定待恢复数据,并将待恢复数据恢复至存储系统以及删除历史垃圾数据,不仅实现了无锁垃圾数据回收,而且通过延迟历史垃圾数据删除的方法,解决无锁垃圾回收方法带来的误删除问题。以下结合附图,详细说明本申请各实施例提供的技术方案。应注意到:相同的标号在下面的附图以及实施例中表示同一物体,因此,一旦某一物体在一个附图或实施例中被定义,则在随后的附图和实施例中不需要对其进行进一步讨论。图1a为本申请实施例提供的数据处理方法的流程示意图。如图1a所示,该方法包括:101、确定当前使用的数据集。102、确定回收的垃圾数据未被删除的历史回收轮次。103、在历史回收轮次关联的时间信息满足设定条件的情况下,根据当前使用的数据集及历史回收轮次回收的历史垃圾数据,从历史垃圾数据中确定待恢复数据。104、将待恢复数据恢复至存储系统。105、删除历史回收轮次回收的历史垃圾数据。在本实施例中,为了节约存储系统的存储空间,可对存储系统存储的数据进行重复数据删除。存储系统可为云存储系统,在一些实施例中可称为备份系统,主要用于存储用户上传的数据,如云盘数据备份等。回收轮次是指垃圾回收(GC)轮次。GC的目的是删除数据去重技术删除的数据中不再引用的数据。在本实施例中,为了实现垃圾数据回收,在步骤101中,可获取当前使用的数据集An。当前使用的数据集An为当前GC轮次使用的数据集,具体是指存储系统在当前使用的数据集,即存储系统中去重后的数据形成的数据集。其中,当前GC轮次可为第n次;n≥2,且为正整数。例如,在一些实施例中,在重复数据删除过程中,可将存储系统存储的数据进行分块,得到数据块(chunk)。数据块的大小可根据实际需求进行灵活设置。存储系统中不同文件之间可以数据块为单位进行重复数据块删除,实现重复数据删除。存储系统当前使用的数据集即为重复数据删除后的数据块形成的数据集。例如,对于文件X来说,可分为数据块X1、X2和X3;对于文件Y来说,可分为数据块Y1和Y2。其中,数据块X1和数据块Y1为重复数据块。存储系统可记录文件X实际使用的数据块为数据块X1、X2和X3;文件Y实际使用的数据库为数据块X1和Y2。基于此,存储系统当前使用的数据集为数据块X1、X2和X3以及数据块Y2。基于上述分析,可确定存储系统记录的实际使用数据的标识对应的数据为当前使用的数据;当前使用的数据形成数据集An。例如,可确定存储系统记录的实际使用的数据库标识(chunk-id)对应的数据块为当前使用的数据块,并确定当前使用的数据块形成的数据集为当前使用的数据集An。进一步,本实施例提供的垃圾数据回收方法为无锁GC方法。无锁GC方法在垃圾数据回收过程中,不影响针对存储系统的上传操作,因此,本实施例提供本文档来自技高网...

【技术保护点】
1.一种数据处理方法,其特征在于,包括:/n确定当前使用的第一数据集;/n确定回收的垃圾数据未被删除的历史回收轮次;/n在所述历史回收轮次回收的历史垃圾数据不再被使用的情况下,根据所述第一数据集,从所述历史垃圾数据中确定待恢复数据;/n将所述待恢复数据恢复至存储系统;并删除所述历史垃圾数据。/n

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:
确定当前使用的第一数据集;
确定回收的垃圾数据未被删除的历史回收轮次;
在所述历史回收轮次回收的历史垃圾数据不再被使用的情况下,根据所述第一数据集,从所述历史垃圾数据中确定待恢复数据;
将所述待恢复数据恢复至存储系统;并删除所述历史垃圾数据。


2.根据权利要求1所述的方法,其特征在于,所述根据所述第一数据集,从所述历史垃圾数据中确定待恢复数据,包括:
从所述历史垃圾数据中,获取属于所述第一数据集的数据,作为所述待恢复数据。


3.根据权利要求1所述的方法,其特征在于,所述将所述待恢复数据恢复至存储系统,包括:
将所述待恢复数据从垃圾回收文件中恢复至所述存储系统;
所述删除所述历史垃圾数据,包括:
从所述垃圾回收文件中删除所述历史垃圾数据。


4.根据权利要求1所述的方法,其特征在于,还包括:
确定所述存储系统当前存储的第二数据集;
根据所述第一数据集和所述第二数据集,确定当前回收轮次回收的垃圾数据;
将所述当前回收轮次回收的垃圾数据迁移至垃圾回收文件。


5.根据权利要求4所述的方法,其特征在于,所述根据所述第一数据集和所述第二数据集,确定当前回收轮次对应的垃圾数据,包括:
从所述第二数据集中,获取不属于所述第一数据集的数据,作为所述当前回收轮次回收的垃圾数据。


6.根据权利要求1所述的方法,其特征在于,还包括:

【专利技术属性】
技术研发人员:贾志威
申请(专利权)人:阿里巴巴新加坡控股有限公司
类型:发明
国别省市:新加坡;SG

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

1