CN114968111A - 一种数据删除方法、装置、设备和计算机可读存储介质 - Google Patents
一种数据删除方法、装置、设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN114968111A CN114968111A CN202210606581.8A CN202210606581A CN114968111A CN 114968111 A CN114968111 A CN 114968111A CN 202210606581 A CN202210606581 A CN 202210606581A CN 114968111 A CN114968111 A CN 114968111A
- Authority
- CN
- China
- Prior art keywords
- deleted
- time
- deletion
- value pair
- key
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012217 deletion Methods 0.000 claims abstract description 122
- 230000037430 deletion Effects 0.000 claims abstract description 122
- 239000012634 fragment Substances 0.000 claims abstract description 62
- 238000012795 verification Methods 0.000 claims description 48
- 230000014759 maintenance of location Effects 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004064 recycling Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
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/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file 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/0643—Management of files
-
- 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]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02W—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO WASTEWATER TREATMENT OR WASTE MANAGEMENT
- Y02W90/00—Enabling technologies or technologies with a potential or indirect contribution to greenhouse gas [GHG] emissions mitigation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据删除方法、装置、设备和计算机可读存储介质,涉及到期删除领域,该方法包括:当对象存储桶内对象移动至回收站,建立对象存储桶的索引分片;通过omap键值对将对象的对象信息和删除时间保存至索引分片,其中,omap键值对中的key包括删除时间和对象名,key按照删除时间排序;根据删除时间确定待删除对象,并删除待删除对象和对应的omap键值对。当对象删除,为对象存储桶建立索引分片,以omap键值对的方式将对象的对象信息和删除时间保存在索引分片中,key包括对象的删除时间和对象名,且key按照删除时间进行排序,根据对象的删除时间确定待删除对象,无需遍历回收站内所有的对象,减少遍历操作。
Description
技术领域
本申请涉及到期删除领域,特别是涉及一种数据删除方法、装置、设备和计算机可读存储介质。
背景技术
分布式的对象存储适用于图片、视频等非结构化数据的存储,具有SAN(StorageArea Network and SAN Protocols,存储区域网络及其协议)高速直接访问磁盘以及NAS(Network Attached Storage,网络附属存储)分布式共享的特点,提供了具有高性能、高可靠性、跨平台以及安全的数据共享的存储体系结构。随着互联网非结构化数据越来越大,分布式对象存储得到广泛的发展与应用。
用户临时删除的文档资料会存放在回收站中,回收站中的文档资料是可以恢复的。目前对象存储中实现回收站功能时主要通过多版本或者桶内创建隐藏目录的方式实现,对于借助多版本的方式,回收站内的对象即历史版本对象,通过对桶设置历史版本到期时间的生命周期策略来实现回收站对象的到期删除;对于桶内创建隐藏目录的方式,通过设置以回收站目录作为前缀的到期删除生命周期策略。即,目前用户只能通过对象生命周期删除对象,通过生命周期线程扫描桶回收站所有对象,查看对象加入回收站的时间和当前时间进行对比,检测回收站对象是否过期,如果过期则删除该对象。由于要遍历桶回收站内所有对象,会造成对索引池大量的查询操作,严重影响集群元数据池性能。
因此如何解决上述技术问题应是本领域技术人员重点关注的。
发明内容
本申请的目的是提供一种数据删除方法、装置、设备和计算机可读存储介质,以减少查询操作,提高***稳定性。
为解决上述技术问题,本申请提供一种数据删除方法,包括:
当对象存储桶内对象移动至回收站,建立所述对象存储桶的索引分片;
通过omap键值对将所述对象的对象信息和删除时间保存至所述索引分片,其中,所述omap键值对中的key包括所述删除时间和对象名,所述key按照所述删除时间排序;
根据所述删除时间确定待删除对象,并删除所述待删除对象和对应的所述omap键值对。
可选的,所述根据所述删除时间确定待删除对象,并删除所述待删除对象和对应的所述omap键值对包括:
获取所述回收站内所述对象的保留时间以及当前时间;
根据所述当前时间和所述保留时间确定所述回收站内所述对象的过期时间节点;
利用线程遍历所述索引分片上位于所述过期时间节点之前的所述key;
删除与经过遍历的所述key对应的所述待删除对象和所述omap键值对。
可选的,所述线程的扫描周期为分钟级。
可选的,所述删除与经过遍历的所述key对应的所述待删除对象和所述omap键值对之前,还包括:
判断所述索引分片中的验证信息与头对象中的目标验证信息是否一致,所述验证信息位于所述omap键值对中value的对象元数据中,所述目标验证信息位于头对象的元数据中,所述验证信息与经过遍历的所述key对应;
若所述验证信息与所述目标验证信息一致,则执行删除与经过遍历的所述key对应的所述待删除对象和所述omap键值对的步骤。
可选的,所述获取所述回收站内所述对象的保留时间包括:
获取桶元数据;
根据所述桶元数据确定所述保留时间。
可选的,所述根据所述删除时间确定待删除对象,并删除所述待删除对象和对应的所述omap键值对包括:
获取所述待删除对象的所述对象名和桶名称;
根据所述对象名和所述桶名称确定所述待删除对象位于头对象中的所述删除时间;
根据位于头对象中的所述删除时间确定所述索引分片中对应的目标删除时间;
删除所述待删除对象和与所述目标删除时间对应的所述omap键值对。
可选的,所述根据所述对象名和所述桶名称确定所述待删除对象位于头对象中的所述删除时间包括:
根据所述对象名和所述桶名称确定所述头对象;
根据所述头对象确定所述对象的元数据;
根据所述元数据确定位于所述头对象中的所述删除时间。
可选的,当多个回收站同时删除对象时,所述建立所述对象存储桶的索引分片包括:
建立与每个所述对象存储桶对应的所述索引分片。
本申请还提供一种数据删除装置,包括:
建立模块,用于当对象存储桶内对象移动至回收站,建立所述对象存储桶的索引分片;
保存模块,用于通过omap键值对将所述对象的对象信息和删除时间保存至所述索引分片,其中,所述omap键值对中的key包括所述删除时间和对象名,所述key按照所述删除时间排序;
删除模块,用于根据所述删除时间确定待删除对象,并删除所述待删除对象和对应的所述omap键值对。
本申请还提供一种数据删除设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任一种所述数据删除方法的步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种所述数据删除方法的步骤。
本申请所提供的一种数据删除方法,包括:当对象存储桶内对象移动至回收站,建立所述对象存储桶的索引分片;通过omap键值对将所述对象的对象信息和删除时间保存至所述索引分片,其中,所述omap键值对中的key包括所述删除时间和对象名,所述key按照所述删除时间排序;根据所述删除时间确定待删除对象,并删除所述待删除对象和对应的所述omap键值对。
可见,本申请中的数据删除方法在对象存储桶内对象移动至回收站时,为对象存储桶建立索引分片,以omap键值对的方式将对象的对象信息和删除时间保存在索引分片中,omap键值对中的key包括对象的删除时间和对象名,并且key按照删除时间进行排序,然后根据对象的删除时间确定待删除对象,将待删除对象和与之对应的omap键值对一起删除,无需遍历回收站内所有的对象,减少了大量元数据池的遍历操作,降低了元数据池的压力,从而减少集群IO,提高***稳定性。
此外,本申请还提供一种具有上述优点的装置、设备和计算机可读存储介质。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种数据删除方法的流程图;
图2为本申请实施例所提供的一种进行自动删除操作的流程图;
图3为本申请实施例所提供的另一种进行自动删除操作的流程图;
图4为本申请实施例所提供的一种进行手动删除操作的流程图;
图5为本申请实施例提供的数据删除装置的结构框图;
图6为本申请实施例提供的数据删除设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
正如背景技术部分所述,目前用户只能通过对象生命周期删除对象,通过生命周期线程扫描桶回收站所有对象,查看对象加入回收站的时间和当前时间进行对比,检测回收站对象是否过期,如果过期则删除该对象。由于要遍历桶回收站内所有对象,会造成对索引池大量的查询操作,严重影响集群元数据池性能。
有鉴于此,本申请提供了一种数据删除方法,请参考图1,该方法包括:
步骤S101:当对象存储桶内对象移动至回收站,建立所述对象存储桶的索引分片。
对象存储(Object-based Storage,简称OBS)是一种将数据作为对象进行管理的计算机数据存储体系结构,与其他存储体系结构(例如将数据作为文件层级管理的文件***)以及将数据作为块和扇区内的块进行管理的块存储相对。每个对象通常包括数据本身,可变数量的元数据和全局唯一标识符。
对象存储桶是OBS中存储对象的容器。对象存储提供了基于桶和对象的扁平化存储方式,桶中的所有对象都处于同一逻辑层级,去除了文件***中的多层级树形目录结构。每个桶都有自己的存储类别、访问权限、所属区域等属性,用户可以在不同区域创建不同存储类别和访问权限的桶,并配置更多高级属性来满足不同场景的存储诉求。
当对象存储桶内的对象移动至回收站,即对象被删除放入回收站内。一个对象存储桶对应一个索引分片,索引分片用于记录对象存储桶内对象以及对象的相关信息。索引分片建立在元数据池中。
步骤S102:通过omap键值对将所述对象的对象信息和删除时间保存至所述索引分片,其中,所述omap键值对中的key包括所述删除时间和对象名,所述key按照所述删除时间排序。
对象信息包括对象名、对象元数据,对象名与对象一一对应。omap键值对包括key(关键字)和value(关键字的值),key包括删除时间和对象名,value包括对象元数据。key中以时间作为前缀,key按照删除时间排序包括,按照删除时间正序排序,或者按照删除时间倒序排序,具体可自行设置,本申请中不进行具体限定。其中,删除时间即对象移动至回收站的时间。
步骤S103:根据所述删除时间确定待删除对象,并删除所述待删除对象和对应的所述omap键值对。
对象保存在数据池中,索引分片上记录着数据池内对象的相关信息,在进行删除时将数据池内的对象和索引分片上对应的信息一同删除,从而保证数据池和索引分片保持一致。具体的删除操作包括手动删除和自动删除,下面分别进行介绍。
自动删除对象和omap键值对操作:
请参考图2,所述根据所述删除时间确定待删除对象,并删除所述待删除对象和对应的所述omap键值对包括:
步骤S201:获取所述回收站内所述对象的保留时间以及当前时间。
保留时间即回收站内的对象可以在回收站内保存的时间,超过保留时间时对象即过期,没有超过保留时间,对象可以继续在回收站内保存。当前时间即当前的时间节点。
所述获取所述回收站内所述对象的保留时间包括:
获取桶元数据;
根据所述桶元数据确定所述保留时间。
桶元数据中包括对象的保留时间,所以得到桶元数据后即可得到对象的保留时间。
步骤S202:根据所述当前时间和所述保留时间确定所述回收站内所述对象的过期时间节点。
利用当前时间减去保留时间即回收站内对象的过期时间节点,过期时间节点之前移动至回收站内的对象均已过期失效,需要进行删除;过期时间节点之后移动至回收站内的对象仍然保存在回收站内,不需要进行删除操作。例如,假设回收站内对象的保留时间为七天,当前时间为5月29日上午8点,则过期时间节点为5月22日上午8点,也即在5月22日上午8点之前移动至回收站内的对象均过期失效,都需要删除,在5月22日上午8点之后移动至回收站内的对象继续保留。
步骤S203:利用线程遍历所述索引分片上位于所述过期时间节点之前的所述key。
key是按照时间顺序进行排布的,所以线程在进行遍历的时候无需对所有的key全部进行遍历,只需要对删除时间在过期时间节点之前的key进行遍历即可,遍历结束的标记即为过期时间节点,从而减少大量不必要的遍历操作。
现有技术中对回收站内对象的生命周期以天为执行周期,所以到期时间只能以天为单位,为了实现对回收站内对象的更精细的周期管理,在本申请的一个实施例中,所述线程的扫描周期为分钟级,可以实现小时级别的回收站对象生命周期管理,满足用户更细粒度的需求,例如,线程的扫描周期可以为10分钟,或者20分钟等,具体可自行设置。相应的,回收站内对象保留时间可以为几个小时。例如,假设回收站内对象的保留时间为5小时,当前时间为5月29日上午8点,则过期时间节点为5月29日凌晨3点,也即在5月29日凌晨3点之前移动至回收站内的对象均过期失效,都需要删除,在5月29日凌晨3点之后移动至回收站内的对象继续保留。
步骤S204:删除与经过遍历的所述key对应的所述待删除对象和所述omap键值对。
key包括删除时间和对象名,通过经过遍历的key中的对象名即可确定待删除对象,然后将待删除对象从数据池中进行删除,将索引分片上经过遍历的key所在的omap键值对删除,索引分片上记录的对象的信息与数据池中的对象保持一致。
在进行自动删除对象和omap键值对时,请参考图3,在本申请的一个实施例中,所述根据所述删除时间确定待删除对象,并删除所述待删除对象和对应的所述omap键值对包括:
步骤S301:获取所述回收站内所述对象的保留时间以及当前时间。
步骤S302:根据所述当前时间和所述保留时间确定所述回收站内所述对象的过期时间节点。
步骤S303:利用线程遍历所述索引分片上位于所述过期时间节点之前的所述key。
步骤S304:判断所述索引分片中的验证信息与头对象中的目标验证信息是否一致,所述验证信息位于所述omap键值对中value的对象元数据中,所述目标验证信息位于头对象的元数据中,所述验证信息与经过遍历的所述key对应。
头对象中记录有对象的元数据,元数据中对象的验证信息称为目标验证信息,omap键值对包括一个key和一个value,value中包括对象的验证信息,也即每一个key对应一个验证信息,每一个对象名对应一个验证信息。
需要说明的是,本申请中对验证信息的具体类别不做限定,可自行选择。例如,验证信息可以为标签tag,或者MD5指纹信息等。
步骤S305:若所述验证信息与所述目标验证信息一致,则执行删除与经过遍历的所述key对应的所述待删除对象和所述omap键值对的步骤。
步骤S306:删除与经过遍历的所述key对应的所述待删除对象和所述omap键值对。
步骤S307:当验证信息与目标验证信息不一致,停止删除操作。
需要指出的是,步骤S301、步骤S302、步骤S303、步骤S306请参考上述步骤S201、步骤S202、步骤S203、步骤S204,此处不再详细赘述。
本实施例中在删除待删除对象和omap键值对之前,通过对索引分片中的验证信息与头对象中的目标验证信息是否一致进行验证,只有两者一致时,才进行删除操作,可以避免回收站内的对象被误删。
手动删除对象和omap键值对操作:
请参考图4,所述根据所述删除时间确定待删除对象,并删除所述待删除对象和对应的所述omap键值对包括:
步骤S401:获取所述待删除对象的所述对象名和桶名称。
桶名称也即桶的ID,桶名称是唯一的,通过对象名和桶名称可以确定保存在数据池中的待删除对象。
步骤S402:根据所述对象名和所述桶名称确定所述待删除对象位于头对象中的所述删除时间。
头对象中包括对象名、桶名称、对象元数据,对象元数据记录在头对象的xattr中。
作为一种可实施方式,所述根据所述对象名和所述桶名称确定所述待删除对象位于头对象中的所述删除时间包括:
步骤S4021:根据所述对象名和所述桶名称确定所述头对象;
步骤S4022:根据所述头对象确定所述对象的元数据;
步骤S4023:根据所述元数据确定位于所述头对象中的所述删除时间。
头对象中对象元数据和value中的对象元数据并不完全一样,头对象中对象元数据包括对象的删除时间、自定义的一些元数据、对象属性信息、manifest(记录对象的尾对象)、访问控制信息等;value中的对象元数据包括对象的大小等。
步骤S403:根据位于头对象中的所述删除时间确定所述索引分片中对应的目标删除时间。
头对象中的对象元数据和omap键值对的key中均包括对象的删除时间,所以在得到头对象的对象元数据中的删除时间即可找到omap键值对中对应的目标删除时间。
步骤S404:删除所述待删除对象和与所述目标删除时间对应的所述omap键值对。
找到omap键值对中对应的目标删除时间,也即找到对应的key,从而得到待删除对象对应的对象名,根据对象名将待删除对象删除,并根据目标删除时间删除对应的omap键值对,索引分片上记录的对象的信息与数据池中的对象保持一致。
本申请中的数据删除方法在对象存储桶内对象移动至回收站时,为对象存储桶建立索引分片,以omap键值对的方式将对象的对象信息和删除时间保存在索引分片中,omap键值对中的key包括对象的删除时间和对象名,并且key按照删除时间进行排序,然后根据对象的删除时间确定待删除对象,将待删除对象和与之对应的omap键值对一起删除,无需遍历回收站内所有的对象,减少了大量元数据池的遍历操作,降低了元数据池的压力,从而减少集群IO,提高***稳定性。
在上述任一实施例的基础上,在本申请的一个实施例中,当多个回收站同时删除对象时,所述建立所述对象存储桶的索引分片包括:
建立与每个所述对象存储桶对应的所述索引分片。
对象存储桶与索引分片一一对应,每个回收站内的对象的删除方法相同,具体可参考上文的阐述,本实施例中的删除线程可以支持对多桶同时进行操作,支持更高的并发性和更短的执行周期,支持小时级别的到期删除管理。
下面以一具体情况对本申请中的数据删除方法进行阐述。
步骤1、删除对象存储桶内对象时,将对象存储桶内对象移动到回收站,在元数据池中新建对象存储桶对应的索引分片。
步骤2、将对象信息(对象名和对象元数据)映射到索引分片上,索引分片上使用omap键值对存储对象信息,omap key为删除时间+对象名,value为对象元数据信息,用于遍历回收站对象以及删除时检验对象使用。通过key以时间作为前缀的方式实现索引记录按照时间进行排序的目的。
步骤3、手动删除:根据对象名和桶名称,获取头对象信息,查看对象移动至回收站的时间,根据该时间得到在回收站索引分片的key,同时删除对象和索引信息;
自动删除:获取桶元数据信息,查看回收站内对象保留时间,计算出何时加入回收站的对象已经失效。回收站对象删除线程以计算出的时间作为遍历时的结束标记,扫描该对象存储桶回收站索引分片上对象,得到已经失效的回收站对象,对比索引中的验证信息和对象元数据信息是否一致,如果一致,则对该对象执行删除操作,同时删除该索引记录,如果不一致,不进行删除。
下面对本申请实施例提供的数据删除装置进行介绍,下文描述的数据删除装置与上文描述的数据删除方法可相互对应参照。
图5为本申请实施例提供的数据删除装置的结构框图,参照图5数据删除装置可以包括:
建立模块100,用于当对象存储桶内对象移动至回收站,建立所述对象存储桶的索引分片;
保存模块200,用于通过omap键值对将所述对象的对象信息和删除时间保存至所述索引分片,其中,所述omap键值对中的key包括所述删除时间和对象名,所述key按照所述删除时间排序;
删除模块300,用于根据所述删除时间确定待删除对象,并删除所述待删除对象和对应的所述omap键值对。
本实施例的数据删除装置用于实现前述的数据删除方法,因此数据删除装置中的具体实施方式可见前文中的数据删除方法的实施例部分,例如,建立模块100,保存模块200,删除模块300,分别用于实现上述数据删除方法中步骤S101,S102,S103,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。
本申请中的数据删除装置在对象存储桶内对象移动至回收站时,为对象存储桶建立索引分片,以omap键值对的方式将对象的对象信息和删除时间保存在索引分片中,omap键值对中的key包括对象的删除时间和对象名,并且key按照删除时间进行排序,然后根据对象的删除时间确定待删除对象,将待删除对象和与之对应的omap键值对一起删除,无需遍历回收站内所有的对象,减少了大量元数据池的遍历操作,降低了元数据池的压力,从而减少集群IO,提高***稳定性。
可选的,在进行自动删除操作时,删除模块300包括:
第一获取单元,用于获取所述回收站内所述对象的保留时间以及当前时间;
第一确定单元,用于根据所述当前时间和所述保留时间确定所述回收站内所述对象的过期时间节点;
遍历单元,用于利用线程遍历所述索引分片上位于所述过期时间节点之前的所述key;
第一删除单元,用于删除与经过遍历的所述key对应的所述待删除对象和所述omap键值对。
可选的,遍历单元在利用线程遍历所述索引分片上位于所述过期时间节点之前的所述key时,所述线程的扫描周期为分钟级。
现有技术中对回收站内对象的生命周期以天为执行周期,所以到期时间只能以天为单位,本实施例中程的扫描周期为分钟级,可以实现小时级别的回收站对象生命周期管理,满足用户更细粒度的需求。例如,线程的扫描周期可以为10分钟,或者20分钟等,具体可自行设置。相应的,回收站内对象保留时间可以为几个小时。例如,假设回收站内对象的保留时间为5小时,当前时间为5月29日上午8点,则过期时间节点为5月29日凌晨3点,也即在5月29日凌晨3点之前移动至回收站内的对象均过期失效,都需要删除,在5月29日凌晨3点之后移动至回收站内的对象继续保留。
可选的,在本申请的一个实施例中,删除模块300还包括:
判断单元,用于判断所述索引分片中的验证信息与头对象中的目标验证信息是否一致,所述验证信息位于所述omap键值对中value的对象元数据中,所述目标验证信息位于头对象的元数据中,所述验证信息与经过遍历的所述key对应;
执行单元,用于若所述验证信息与所述目标验证信息一致,则执行删除与经过遍历的所述key对应的所述待删除对象和所述omap键值对的步骤;
停止单元,用于当验证信息与目标验证信息不一致,停止删除操作。
本实施例中在删除待删除对象和omap键值对之前,通过对索引分片中的验证信息与头对象中的目标验证信息是否一致进行验证,只有两者一致时,才进行删除操作,可以避免回收站内的对象被误删。
可选的,第一获取单元包括:
获取子单元,用于获取桶元数据;
第一确定子单元,用于根据所述桶元数据确定所述保留时间。
可选的,在进行手动删除操作时,删除模块300包括:
第二获取单元,用于获取所述待删除对象的所述对象名和桶名称;
第二确定单元,用于根据所述对象名和所述桶名称确定所述待删除对象位于头对象中的所述删除时间;
第三确定单元,用于根据位于头对象中的所述删除时间确定所述索引分片中对应的目标删除时间;
第二删除单元,用于删除所述待删除对象和与所述目标删除时间对应的所述omap键值对。
可选的,第二确定单元包括:
第二确定子单元,用于根据所述对象名和所述桶名称确定所述头对象;
第三确定子单元,用于根据所述头对象确定所述对象的元数据;
第四确定子单元,用于根据所述元数据确定位于所述头对象中的所述删除时间。
可选的,当多个回收站同时删除对象时,建立模块100具体用于建立与每个所述对象存储桶对应的所述索引分片。
对象存储桶与索引分片一一对应,每个回收站内的对象的删除方法相同,具体可参考上文的阐述,本实施例中的删除线程可以支持对多桶同时进行操作,支持更高的并发性和更短的执行周期,支持小时级别的到期删除管理。
下面对本申请实施例提供的数据删除设备进行介绍,下文描述的数据删除设备与上文描述的数据删除方法可相互对应参照。
图6为本申请实施例提供的数据删除设备的结构框图,一种数据删除设备,包括:
存储器11,用于存储计算机程序;
处理器12,用于执行所述计算机程序时实现上述任一实施例所述数据删除方法的步骤。
本申请中的数据删除设备在对象存储桶内对象移动至回收站时,为对象存储桶建立索引分片,以omap键值对的方式将对象的对象信息和删除时间保存在索引分片中,omap键值对中的key包括对象的删除时间和对象名,并且key按照删除时间进行排序,然后根据对象的删除时间确定待删除对象,将待删除对象和与之对应的omap键值对一起删除,无需遍历回收站内所有的对象,减少了大量元数据池的遍历操作,降低了元数据池的压力,从而减少集群IO,提高***稳定性。
下面对本申请实施例提供的计算机可读存储介质进行介绍,下文描述的计算机可读存储介质与上文描述的数据删除方法可相互对应参照。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述数据删除方法的步骤。
本申请中的计算机可读存储介质在对象存储桶内对象移动至回收站时,为对象存储桶建立索引分片,以omap键值对的方式将对象的对象信息和删除时间保存在索引分片中,omap键值对中的key包括对象的删除时间和对象名,并且key按照删除时间进行排序,然后根据对象的删除时间确定待删除对象,将待删除对象和与之对应的omap键值对一起删除,无需遍历回收站内所有的对象,减少了大量元数据池的遍历操作,降低了元数据池的压力,从而减少集群IO,提高***稳定性。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的数据删除方法、装置、设备和计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (11)
1.一种数据删除方法,其特征在于,包括:
当对象存储桶内对象移动至回收站,建立所述对象存储桶的索引分片;
通过omap键值对将所述对象的对象信息和删除时间保存至所述索引分片,其中,所述omap键值对中的key包括所述删除时间和对象名,所述key按照所述删除时间排序;
根据所述删除时间确定待删除对象,并删除所述待删除对象和对应的所述omap键值对。
2.如权利要求1所述的数据删除方法,其特征在于,所述根据所述删除时间确定待删除对象,并删除所述待删除对象和对应的所述omap键值对包括:
获取所述回收站内所述对象的保留时间以及当前时间;
根据所述当前时间和所述保留时间确定所述回收站内所述对象的过期时间节点;
利用线程遍历所述索引分片上位于所述过期时间节点之前的所述key;
删除与经过遍历的所述key对应的所述待删除对象和所述omap键值对。
3.如权利要求2所述的数据删除方法,其特征在于,所述线程的扫描周期为分钟级。
4.如权利要求2所述的数据删除方法,其特征在于,所述删除与经过遍历的所述key对应的所述待删除对象和所述omap键值对之前,还包括:
判断所述索引分片中的验证信息与头对象中的目标验证信息是否一致,所述验证信息位于所述omap键值对中value的对象元数据中,所述目标验证信息位于头对象的元数据中,所述验证信息与经过遍历的所述key对应;
若所述验证信息与所述目标验证信息一致,则执行删除与经过遍历的所述key对应的所述待删除对象和所述omap键值对的步骤。
5.如权利要求2所述的数据删除方法,其特征在于,所述获取所述回收站内所述对象的保留时间包括:
获取桶元数据;
根据所述桶元数据确定所述保留时间。
6.如权利要求1所述的数据删除方法,其特征在于,所述根据所述删除时间确定待删除对象,并删除所述待删除对象和对应的所述omap键值对包括:
获取所述待删除对象的所述对象名和桶名称;
根据所述对象名和所述桶名称确定所述待删除对象位于头对象中的所述删除时间;
根据位于头对象中的所述删除时间确定所述索引分片中对应的目标删除时间;
删除所述待删除对象和与所述目标删除时间对应的所述omap键值对。
7.如权利要求6所述的数据删除方法,其特征在于,所述根据所述对象名和所述桶名称确定所述待删除对象位于头对象中的所述删除时间包括:
根据所述对象名和所述桶名称确定所述头对象;
根据所述头对象确定所述对象的元数据;
根据所述元数据确定位于所述头对象中的所述删除时间。
8.如权利要求1至7任一项所述的数据删除方法,其特征在于,当多个回收站同时删除对象时,所述建立所述对象存储桶的索引分片包括:
建立与每个所述对象存储桶对应的所述索引分片。
9.一种数据删除装置,其特征在于,包括:
建立模块,用于当对象存储桶内对象移动至回收站,建立所述对象存储桶的索引分片;
保存模块,用于通过omap键值对将所述对象的对象信息和删除时间保存至所述索引分片,其中,所述omap键值对中的key包括所述删除时间和对象名,所述key按照所述删除时间排序;
删除模块,用于根据所述删除时间确定待删除对象,并删除所述待删除对象和对应的所述omap键值对。
10.一种数据删除设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至8任一项所述数据删除方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述数据删除方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210606581.8A CN114968111A (zh) | 2022-05-31 | 2022-05-31 | 一种数据删除方法、装置、设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210606581.8A CN114968111A (zh) | 2022-05-31 | 2022-05-31 | 一种数据删除方法、装置、设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114968111A true CN114968111A (zh) | 2022-08-30 |
Family
ID=82958483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210606581.8A Pending CN114968111A (zh) | 2022-05-31 | 2022-05-31 | 一种数据删除方法、装置、设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114968111A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115934363A (zh) * | 2023-03-07 | 2023-04-07 | 苏州浪潮智能科技有限公司 | 分布式对象存储***清空桶的方法、***及装置 |
CN116089068A (zh) * | 2022-12-22 | 2023-05-09 | 博上(山东)网络科技有限公司 | 一种资源回收方法、***、设备及可读存储介质 |
-
2022
- 2022-05-31 CN CN202210606581.8A patent/CN114968111A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116089068A (zh) * | 2022-12-22 | 2023-05-09 | 博上(山东)网络科技有限公司 | 一种资源回收方法、***、设备及可读存储介质 |
CN115934363A (zh) * | 2023-03-07 | 2023-04-07 | 苏州浪潮智能科技有限公司 | 分布式对象存储***清空桶的方法、***及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2672719C2 (ru) | Журналируемое хранение без блокировок для нескольких способов доступа | |
US9183236B2 (en) | Low level object version tracking using non-volatile memory write generations | |
US8626717B2 (en) | Database backup and restore with integrated index reorganization | |
KR101084816B1 (ko) | 버저닝 기반 트리거를 위한 시스템 및 방법 | |
JP4117265B2 (ja) | ファイルシステムのバージョンを管理する方法およびシステム | |
CN114968111A (zh) | 一种数据删除方法、装置、设备和计算机可读存储介质 | |
US10013312B2 (en) | Method and system for a safe archiving of data | |
US7685165B2 (en) | Policy based resource management for legacy data | |
US11226934B2 (en) | Storage system garbage collection and defragmentation | |
US7769719B2 (en) | File system dump/restore by node numbering | |
CN107066349A (zh) | 一种集群文件***数据保护的方法及*** | |
US11841826B2 (en) | Embedded reference counts for file clones | |
US11822806B2 (en) | Using a secondary storage system to implement a hierarchical storage management plan | |
CN110008174A (zh) | 一种目录导出方法、***及相关装置 | |
CN102819570B (zh) | 一种数据访问方法、装置及*** | |
CN108959614A (zh) | 一种快照管理方法、***、装置、设备及可读存储介质 | |
CN114253950B (zh) | 管理数据库的方法和装置 | |
CN103645967A (zh) | 一种只读快照回滚方法及装置 | |
Zhang et al. | Bi-directional Log-Structured Merge Tree | |
Zhu | Research on data recovery technology based on YAFFS2 file system's hash linked list and time series analysis | |
US20230385304A1 (en) | Snapshots for distributed object-based datastores | |
CN117009439B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
US11100088B1 (en) | Bulk file verification | |
CN110851445B (zh) | 一种基于区块链技术的安全存储数据的方法 | |
CN118092800A (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 |