技术摘要:
本发明实施例公开了一种对象存储平台以及对象操作方法、装置和服务器。其中,该平台包括:至少一个代理服务端、外部数据库和内部存储端,外部数据库存储有将第一类对象聚合到第二类对象后,第一类对象和第二类对象之间的聚合映射关系,内部存储端上分配有第二类对象的 全部
背景技术:
随着多媒体资源(如图片、音视频等)的逐渐增加,当前开源的Ceph文件系统对于 不同大小下的对象,会存在相应的存储和操作需求,而Ceph文件系统所支持的最小操作粒 度为特定大小下的对象,此时对于数据量高于该最小操作粒度的对象,Ceph文件系统能够 准确无误地执行相应的迁移或转换等操作,而对于数据量低于该最小操作粒度的对象, Ceph文件系统在执行迁移或转换等操作时可能会存在丢失数据的风险,从而影响对象操作 的准确性。 目前,Ceph文件系统针对数据量低于最小操作粒度的对象,会利用该对象在预设 omap格式下的元数据信息,在Ceph文件系统的底层对象存储系统Rados层来存储多个对象 的元数据,从而聚合成一个数据量高于最小操作粒度的对象,但omap格式下的元数据的存 储结构不够灵活,使得聚合后的对象操作性能较差。
技术实现要素:
本发明实施例提供了一种对象存储平台以及对象操作方法、装置和服务器,优化 第一类对象的存储结构,提高第一类对象存储的准确性。 第一方面,本发明实施例提供了一种对象存储平台,该平台包括:至少一个代理服 务端、外部数据库和内部存储端,所述外部数据库存储有将第一类对象聚合到第二类对象 后,第一类对象和第二类对象之间的聚合映射关系,所述内部存储端上分配有所述第二类 对象的总体聚合空间,所述第二类对象的总体聚合空间内存储该第二类对象所聚合的各个 第一类对象的内容数据,所述第一类对象为操作粒度无法支持对象完整操作的对象,所述 第二类对象为操作粒度支持对象完整操作,且用于聚合所述第一类对象的容器;其中, 所述代理服务端如果接收到所述第一类对象的操作请求,则对应更新该操作请求 在所述外部数据库和所述内部存储端下指向的存储信息。 第二方面,本发明实施例提供了一种对象操作方法,应用于第一方面中提供的对 象存储平台中,该方法包括: 如果接收到第一类对象的操作请求,则对应更新所述操作请求在外部数据库和内 部存储端下指向的存储信息; 实时检测第二类对象的聚合空洞空间,对所述聚合空洞空间超出预设空洞阈值的 第二类对象所聚合的各个有效第一类对象重新执行相应的写入操作,并删除该第二类对象 在外部数据库和内部存储端下关联的存储信息; 其中,所述外部数据库存储有将第一类对象聚合到第二类对象后,第一类对象和 第二类对象之间的聚合映射关系,所述内部存储端上分配有所述第二类对象的总体聚合空 6 CN 111581157 A 说 明 书 2/19 页 间,所述第二类对象的总体聚合空间内存储该第二类对象所聚合的各个第一类对象的内容 数据,所述第一类对象为操作粒度无法支持对象完整操作的对象,所述第二类对象为操作 粒度支持对象完整操作,且用于聚合所述第一类对象的容器。 第三方面,本发明实施例提供了一种对象操作装置,设置于第一方面中提供的对 象存储平台中,该装置包括: 第一类对象操作模块,用于如果接收到第一类对象的操作请求,则对应更新所述 操作请求在外部数据库和内部存储端下指向的存储信息; 第二类对象回收模块,用于实时检测第二类对象的聚合空洞空间,对所述聚合空 洞空间超出预设空洞阈值的第二类对象所聚合的各个有效第一类对象重新执行相应的写 入操作,并删除该第二类对象在外部数据库和内部存储端下关联的存储信息; 其中,所述外部数据库存储有将第一类对象聚合到第二类对象后,第一类对象和 第二类对象之间的聚合映射关系,所述内部存储端上分配有所述第二类对象的总体聚合空 间,所述第二类对象的总体聚合空间内存储所述第二类对象所聚合的各个第一类对象的内 容数据,所述第一类对象为操作粒度无法支持对象完整操作的对象,所述第二类对象为操 作粒度支持对象完整操作,且用于聚合所述第一类对象的容器。 第四方面,本发明实施例提供了一种服务器,该服务器包括: 一个或多个处理器; 存储装置,用于存储一个或多个程序; 当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理 器实现本发明任意实施例所述的对象操作方法。 第五方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程 序,该程序被处理器执行时实现本发明任意实施例所述的对象操作方法。 本发明实施例提供的一种对象存储平台以及对象操作方法、装置和服务器,需要 将第一类对象聚合到第二类对象时,直接在外部数据库中存储第一类对象和第二类对象之 间的聚合映射关系,并在内部存储端上为第二类对象所分配的总体聚合空间内直接存储该 第二类对象所聚合的各个第一类对象的内容数据,此时第一类对象下的聚合映射关系和自 身的内容数据能够实现分区存储,从而优化第一类对象的存储结构,使得第一类对象的聚 合存储能够兼容内部存储端的原有存储设计,无需为了适应第一类对象和第二类对象之间 的聚合映射关系的存储结构而更改内部存储端的原有存储结构,同时代理服务端能够根据 第一类对象的操作请求,对应更新该操作请求在外部数据库和内部存储端下指向的存储信 息,实现外部数据库和内部存储端下存储信息随着第一类对象操作的动态更新,从而提高 第一类对象存储的准确性,同时回收服务端能够及时回收已经删除的第一类对象在所聚合 的第二类对象中的存储空间,保证第二类对象的总体聚合空间的完全使用,避免第二类对 象的总体聚合空间内已删除第一类对象占用的存储空间浪费。 附图说明 通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它 特征、目的和优点将会变得更明显: 图1为本发明实施例一提供的一种对象存储平台的原理架构图; 7 CN 111581157 A 说 明 书 3/19 页 图2为本发明实施例二提供的一种对象存储平台的结构示意图; 图3为本发明实施例三提供的一种对象存储平台的结构示意图; 图4为本发明实施例四提供的一种对象操作方法的流程图; 图5为本发明实施例五提供的一种对象操作装置的结构示意图; 图6为本发明实施例六提供的一种服务器的结构示意图。