System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据处理,特别涉及一种针对ceph对象的定期删除方法、装置及设备。
技术介绍
1、分布式对象存储系统包括多个存储节点,可以将待存储的数据映射至一组不同存储节点的对象存储设备(object-based storage device,osd)上。然而,随着云计算、大数据、物联网的发展,分布式对象存储系统需要存储的数据量快速增长,并且许多数据间存在重复内容,这就导致分布式系统中存储的对象中存在冗余或者重复数据,进而会造成分布式系统的存储空间浪费。
2、因而现有技术还有待改进和提高。
技术实现思路
1、本申请要解决的技术问题在于,针对现有技术的不足,提供一种针对ceph对象的定期删除方法、装置及设备。
2、为了解决上述技术问题,本申请实施例第一方面提供了一种针对ceph对象的定期删除方法,其中,所述的针对ceph对象的定期删除方法具体包括:
3、读取分布式对象存储系统中的osd存储的各ceph对象的hash值;
4、当检测到具有相同hash值的至少两个ceph对象时,在至少两个ceph对象中选取一个目标ceph对象,并读取所述目标ceph对象的存储位置;
5、为至少两个ceph对象中除目标ceph对象外的各参考ceph对象构建记录有所述存储位置的预设对象,并将各参考ceph对象删除。
6、所述的针对ceph对象的定期删除方法,其中,所述在至少两个ceph对象中选取一个目标ceph对象具体包括:
7
8、根据所述存储时间在至少两个ceph对象选取最早存储的ceph对象作为目标ceph对象。
9、所述的针对ceph对象的定期删除方法,其中,所述为至少两个ceph对象中除目标ceph对象外的各参考ceph对象构建记录有所述存储位置的预设对象具体包括:
10、对于至少两个ceph对象中除目标ceph对象外的各参考ceph对象,为所述参考ceph对象创建空对象;
11、将所述存储位置记录于所述空对象内,以得到预设对象。
12、所述的针对ceph对象的定期删除方法,其中,所述当检测到具有相同hash值的至少两个ceph对象时,在至少两个ceph对象中选取一个目标ceph对象,并读取所述目标ceph对象的存储位置之后,所述方法还包括:
13、为所述目标ceph对象构建重删计数器;
14、读取参考ceph对象的对象数量,将所述对象数量配置于所述重删计数器。
15、所述的针对ceph对象的定期删除方法,其中,所述方法还包括:
16、当osd中的预设对象被删除时,基于所述预设对象记录的存储位置查找所述目标ceph对象,并将查找到的目标ceph对象的重删计数器减1。
17、所述的针对ceph对象的定期删除方法,其中,所述方法还包括:
18、当分布式对象存储系统中的目标ceph对象被删除时,读取所有记录有所述目标ceph对象的存储地址的预设对象;
19、在读取到的所有预设对象中选取一个候选对象,将所述目标ceph对象的对象内容存储至所述候选对象,以得到新的目标ceph对象;
20、将所有预设对象中除候选对象外的各预设对象记录的存储地址修改为所述候选对象的存储地址。
21、所述的针对ceph对象的定期删除方法,其中,所述读取分布式对象存储系统中的osd存储的各ceph对象的hash值具体为:
22、通过mgr进程在预定时间读取bulefs中的rocksdb记录的对象hash值,以得到各ceph对象的hash值。
23、本申请实施例第二方面提供了一种针对ceph对象的定期删除装置,所述的针对ceph对象的定期删除装置具体包括:
24、读取模块,用于读取分布式对象存储系统中的osd存储的各ceph对象的hash值;
25、选取模块,用于当检测到具有相同hash值的至少两个ceph对象时,在至少两个ceph对象中选取一个目标ceph对象,并读取所述目标ceph对象的存储位置;
26、构建模块,用于为至少两个ceph对象中除目标ceph对象外的各参考ceph对象构建记录有所述存储位置的预设对象,并将各参考ceph对象删除。本申请实施例第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任一所述的针对ceph对象的定期删除方法中的步骤。
27、本申请实施例第四方面提供了一种终端设备,其包括:处理器和存储器;
28、所述存储器上存储有可被所述处理器执行的计算机可读程序;
29、所述处理器执行所述计算机可读程序时实现如上任一所述的针对ceph对象的定期删除方法中的步骤。
30、有益效果:与现有技术相比,本申请实施例提供了一种针对ceph对象的定期删除方法、装置及设备,方法包括读取分布式对象存储系统中的osd存储的各ceph对象的hash值;当检测到具有相同hash值的至少两个ceph对象时,在至少两个ceph对象中选取一个目标ceph对象,并读取所述目标ceph对象的存储位置;为至少两个ceph对象中除目标ceph对象外的各参考ceph对象构建记录有所述存储位置的预设对象,并将各参考ceph对象删除。本申请实施例通过定时搜索分布式对象存储系统中的具有相同对象内容的ceph对象,然后通过采用记录有目标ceph对象的存储地址的预设对象来替换参考ceph对象,这样在保证各参考ceph对象可以被使用的情况,减少了分布式对象存储系统中的重复数据,提高了分布式对象存储系统的空间利用率。
本文档来自技高网...【技术保护点】
1.一种针对Ceph对象的定期删除方法,其特征在于,所述的针对Ceph对象的定期删除方法具体包括:
2.根据权利要求1所述的针对Ceph对象的定期删除方法,其特征在于,所述在至少两个Ceph对象中选取一个目标Ceph对象具体包括:
3.根据权利要求1所述的针对Ceph对象的定期删除方法,其特征在于,所述为至少两个Ceph对象中除目标Ceph对象外的各参考Ceph对象构建记录有所述存储位置的预设对象具体包括:
4.根据权利要求1所述的针对Ceph对象的定期删除方法,其特征在于,所述当检测到具有相同HASH值的至少两个Ceph对象时,在至少两个Ceph对象中选取一个目标Ceph对象,并读取所述目标Ceph对象的存储位置之后,所述方法还包括:
5.根据权利要求4所述的针对Ceph对象的定期删除方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的针对Ceph对象的定期删除方法,其特征在于,所述方法还包括:
7.根据权利要求1所述的针对Ceph对象的定期删除方法,其特征在于,所述读取分布式对象存储系统中的OSD
8.一种针对Ceph对象的定期删除装置,其特征在于,所述的针对Ceph对象的定期删除装置具体包括:
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-7任意一项所述的针对Ceph对象的定期删除方法中的步骤。
10.一种终端设备,其特征在于,包括:处理器和存储器;
...【技术特征摘要】
1.一种针对ceph对象的定期删除方法,其特征在于,所述的针对ceph对象的定期删除方法具体包括:
2.根据权利要求1所述的针对ceph对象的定期删除方法,其特征在于,所述在至少两个ceph对象中选取一个目标ceph对象具体包括:
3.根据权利要求1所述的针对ceph对象的定期删除方法,其特征在于,所述为至少两个ceph对象中除目标ceph对象外的各参考ceph对象构建记录有所述存储位置的预设对象具体包括:
4.根据权利要求1所述的针对ceph对象的定期删除方法,其特征在于,所述当检测到具有相同hash值的至少两个ceph对象时,在至少两个ceph对象中选取一个目标ceph对象,并读取所述目标ceph对象的存储位置之后,所述方法还包括:
5.根据权利要求4所述的针...
【专利技术属性】
技术研发人员:刘江,胡玉晟,吴燕松,
申请(专利权)人:柏域信息科技上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。