文件清理方法、装置、计算机设备以及存储介质与流程

文档序号:34263822发布日期:2023-05-25 05:34阅读:25来源:国知局
文件清理方法、装置、计算机设备以及存储介质与流程

本技术涉及数据管理,更具体地,涉及一种文件清理方法、装置、计算机设备以及存储介质。


背景技术:

1、快照用于记录某一时刻数据湖中数据的静态状态,随着数据湖中的数据不断被写入,新的快照不断被创建,快照所引用的文件数量也逐渐增加,为减少大量文件对数据查找和存储所产生的负担,计算机设备通常会定期对快照以及快照所引用的文件进行清理。但计算机设备只能保留最近连续数量的快照,难以满足用户对数据保留的实际需求。


技术实现思路

1、鉴于上述问题,本技术提出了一种文件清理方法、装置、计算机设备以及存储介质,以实现减少文件数量提高文件查询性能的同时,自定义保留部分历史数据的效果。

2、第一方面,本技术实施例提供了一种文件清理方法,所述方法包括:获取数据湖中待保留的第一快照以及第二快照,所述第二快照的生成时间位于所述第一快照的生成时间之后,所述数据湖中还包括生成时间位于所述第一快照的生成时间与所述第二快照的生成时间之间的多个目标快照;基于所述多个目标快照中至少一个目标快照引用的清单文件,对所述第二快照引用的清单文件以及所述第二快照引用的清单文件所引用的数据文件进行更新,以使更新后的第二快照不引用所述多个目标快照引用的目标清单文件,所述目标清单文件为不被所述第一快照引用的清单文件;删除所述多个目标快照、所述多个目标快照引用的目标清单文件、所述目标清单文件引用的数据文件。

3、在一些实施方式中,所述多个目标快照中至少一个目标快照包括:所述多个目标快照中与所述第二快照的生成时间最接近的目标快照。由于参考快照的生成时间与第二快照的生成时间最接近,因此通过参考快照引用的清单文件所引用的列表文件,可以直接快速地遍历位于第一快照与第二快照之间所有目标快照引用的清单文件所引用的数据文件,能够在文件更新时提高文件清理效率,避免无用重复的文件读取操作。

4、在一些实施方式中,所述基于所述多个目标快照中至少一个目标快照引用的清单文件,对所述第二快照引用的清单文件以及所述第二快照引用的清单文件所引用的数据文件进行更新,包括:若所述目标清单文件所引用的数据文件中存在待删除数据,则从所述第一快照引用的清单文件中确定参考清单文件,所述参考清单文件引用的数据文件中包括所述目标数据,所述待删除数据用于表征对所述第一快照引用的清单文件所引用的数据文件中的目标数据进行删除;基于所述参考清单文件以及所述目标清单文件,对所述第二快照引用的清单文件以及所述第二快照引用的清单文件所引用的数据文件进行更新,更新后的所述第二快照引用的清单文件不包括所述参考清单文件以及所述目标清单文件。

5、在一些实施方式中,所述基于所述参考清单文件以及所述目标清单文件,对所述第二快照引用的清单文件以及所述第二快照引用的清单文件所引用的数据文件进行更新,包括:将所述参考清单文件引用的数据文件中除所述目标数据以外的数据,以及每个所述目标清单文件引用的数据文件中除待删除数据以外的数据,合并至第一清单文件引用的数据文件中,所述第二快照引用的所有清单文件按照时间从先到后的顺序排列,所述第一清单文件为所述第二快照引用的清单文件中位于所述目标清单文件之后的第一个清单文件;删除所述第二快照与所述目标清单文件以及所述参考清单文件之间的引用关系。

6、在一些实施方式中,所述将所述参考清单文件引用的数据文件中除所述目标数据以外的数据,以及每个所述目标清单文件引用的数据文件中的数据,合并至第一清单文件引用的数据文件中,包括:确定所述第二快照引用的清单文件中,位于所述目标清单文件之后的第一个清单文件作为所述第一清单文件;确定所述第一清单文件引用的数据文件中的第一数据文件,所述第一清单文件引用的所有数据文件按照时间从先到后顺序排列,所述第一数据文件为所述第一清单文件引用的数据文件中的第一个数据文件;将所述参考清单文件引用的数据文件中除所述目标数据以外的数据,以及每个所述目标清单文件引用的数据文件中的数据,合并至所述第一数据文件中。

7、在一些实施方式中,所述若所述目标清单文件所引用的数据文件中存在待删除数据,则从所述第一快照引用的清单文件中确定参考清单文件,包括:若所述目标清单文件所引用的数据文件中存在所述待删除数据,则确定所述待删除数据对应的目标数据;基于所述目标数据,确定所述第一快照引用的清单文件中的所述参考清单文件,所述参考清单文件引用的数据文件中包括所述目标数据。

8、在一些实施方式中,所述基于所述多个目标快照中至少一个目标快照引用的清单文件,对所述第二快照引用的清单文件以及所述第二快照引用的清单文件所引用的数据文件进行更新,包括:若所述目标清单文件所引用的数据文件中不存在待删除数据,则将所述目标清单文件引用的数据文件中的数据合并至第一清单文件所引用的数据文件中,所述第二快照引用的所有清单文件按照时间从先到后的顺序排列,所述第一清单文件为所述第二快照引用的清单文件中位于所述目标清单文件之后的第一个清单文件,所述待删除数据用于表征对所述第一快照引用的清单文件所引用的数据文件中的目标数据进行删除;删除所述第二快照与所述目标清单文件之间的引用关系。

9、在一些实施方式中,在所述获取数据湖中待保留的第一快照以及第二快照之后,包括:获取生成时间位于所述第一快照的生成时间之前的第三快照;将所述第三快照引用的清单文件所引用的数据文件中的数据合并至第二清单文件中,所述第一快照引用的所有清单文件按照时间从先到后的顺序排列,所述第二清单文件为所述第一快照引用的清单文件中位于所述第三快照引用的清单文件之后的第一个清单文件。

10、第二方面,本技术实施例提供了一种文件清理装置,所述装置包括:快照确定模块、数据更新模块、文件删除模块,其中,所述快照确定模块用于获取数据湖中待保留的第一快照以及第二快照,所述第二快照的生成时间位于所述第一快照的生成时间之后,所述数据湖中还包括生成时间位于所述第一快照的生成时间与所述第二快照的生成时间之间的多个目标快照;所述数据更新模块用于基于所述多个目标快照中至少一个目标快照引用的清单文件,对所述第二快照引用的清单文件以及所述第二快照引用的清单文件所引用的数据文件进行更新,以使更新后的第二快照不引用所述多个目标快照引用的目标清单文件,所述目标清单文件为不被所述第一快照引用的清单文件;所述文件删除模块用于删除所述多个目标快照、所述多个目标快照引用的目标清单文件、所述目标清单文件引用的数据文件。

11、第三方面,本技术实施例提供了一种计算机设备,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述第一方面提供的文件清理方法。

12、第四方面,本技术实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述第一方面提供的文件清理方法。

13、第五方面,本技术实施例提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述第一方面提供的文件清理方法。

14、本技术提供的方案,通过获取数据湖中待保留的第一快照以及第二快照;基于所述多个目标快照中至少一个目标快照引用的清单文件,对所述第二快照引用的清单文件以及所述第二快照引用的清单文件所引用的数据文件进行更新;删除所述多个目标快照、所述多个目标快照引用的目标清单文件、所述目标清单文件引用的数据文件。在基于待删除的多个目标快照及其引用的清单文件和清单文件引用的数据文件,对第二快照进行更新后,删除位于第一快照与第二快照之间的多个目标快照以及多个目标快照引用的清单文件和清单文件引用的数据文件,实现了减少文件数量提高文件查询性能的同时,自定义保留部分历史数据的效果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1