对象存储方法和装置、存储介质及电子设备与流程

文档序号:41380367发布日期:2025-03-21 15:35阅读:12来源:国知局
对象存储方法和装置、存储介质及电子设备与流程

本技术实施例涉及存储,具体而言,涉及一种对象存储方法和装置、存储介质及电子设备。


背景技术:

1、分布式对象存储是专为非结构化数据提供的可大规模扩展且经济高效的存储方案。随着互联网的不断发展、5g的到来和使用,非结构化数据不断呈现爆炸式增长,此外企业也希望将各种类型的数据存储越来越长的时间,以便更深入地研究分析。在对象存储中存储桶是逻辑上存放非结构化用户数据的容器,一个存储桶只能绑定一个放置策略placement,并对应一组存储池。对于同一种前端业务产生数据的类别可能不同,有的是需要频繁访问的热点数据,有的数据访问频率稍低,而有的数据则是用于备份。同一个桶中不同存储类别的数据目前无法有效区分,所以数据分层应运而生,它提出了存储类的概念,将存储类与数据池(存储池包括数据池)对应,一个对象策略中可以有多个存储类,用户可以给不同的数据(即对象)指定不同的存储类让这些数据存进不同的数据池中。

2、在分布式对象存储的具体存储过程中,如果一个对象被赋予了存储类,则会直接根据存储类将该对象存储到数据池中,如果一个对象没有被赋予存储类,则会将该对象存储到分级池中,经过分级池将该对象存储到数据池中。

3、由于hdd比ssd便宜,目前市场上分布式对象存储大部分使用的是混闪环境分级池由ssd介质的盘组成的,数据池是由hdd介质的盘组成的,ssd(固态硬盘)和hdd(机械硬盘)在读写数据速度上存在显著差异,ssd的读写速度远快于hdd所以分级池的读写速度比数据池快很多,因此,在有存储类的小对象会被直接存进hdd数据池中的情况下,会导致小对象的写性能会降低特别多。

4、此外,hdd介质的盘申请存储空间的时候最小是16k,ssd介质的盘申请存储空间的时候最小是4k,也就是说当上传一个4k的小对象,如果这个对象要存进hdd数据池中时他占用的空间大小为16k,如果这个对象进入ssd分级池,那么他占用的空间大小为4k、所以如果小对象直接进数据池,会导致存储空间的浪费。

5、综上,相关技术中,存在混闪环境下,存在存储类的小对象会被直接存储到数据池中,存储效果差的问题。

6、针对相关技术中,混闪环境下,存在存储类的小对象会被直接存储到数据池中,存储效果差的问题,尚未得到有效解决。


技术实现思路

1、本技术实施例提供了一种对象存储方法和装置、存储介质及电子设备,以至少解决相关技术中混闪环境下,存在存储类的小对象会被直接存储到数据池中,存储效果差的问题。

2、根据本技术的一个实施例,提供了一种对象存储方法,应用于存储设备,所述存储设备包括存储桶,所述存储桶分别连接到多个数据池和分级池,所述分级池连接到所述多个数据池,包括:在确定通过所述存储桶接收到的第一对象的数据大小小于第一值的情况下,将所述第一对象存储到所述分级池中;在确定所述分级池中的数据容量达到第二值的情况下,根据所述分级池中的第二对象对应的存储类将所述第二对象存储到所述多个数据池中,其中,所述第二对象包括:存储到所述分级池中的所述第一对象,所述第二值大于所述第一值。

3、在一个示例性实施例中,将所述第一对象存储到所述分级池中之前,所述方法还包括:确定通过所述存储桶接收到的第一对象的数据大小;在所述数据大小大于或等于所述第一值的情况下,将所述第一对象存储到所述多个数据池中。

4、在一个示例性实施例中,根据所述分级池中的第二对象对应的存储类将所述第二对象存储到所述多个数据池中,包括:确定所述第二对象是否具有第一存储类,其中,所述第一存储类是所述第二对象被发送到所述存储设备的情况下被指定的存储类;在所述第二对象具有所述第一存储类的情况下,通过所述第一存储类将所述第二对象存储到所述多个数据池中;在所述第二对象不具有所述第一存储类的情况下,确定所述存储桶是否启用了第一规则,其中,所述第一规则是用于指示将所述第二对象与所述多个数据池进行匹配的匹配规则;在所述存储桶启用了所述第一规则的情况下,通过所述第一规则将所述第二对象存储到所述多个数据池;在所述存储桶未启用所述第一规则的情况下,确定所述存储桶是否启用了第二规则;在所述第二规则启用的情况下,通过所述第二规则基于述多个数据池分别对应的状态信息将所述第二对象存储到所述多个数据池中。

5、在一个示例性实施例中,通过所述第一规则将所述第二对象存储到所述多个数据池,包括:确定所述匹配规则为任一数据池配置的匹配条件,其中,所述匹配条件包括以下至少之一:所述任一数据池允许存储的第三对象的对象前缀、所述第三对象的对象大小、所述第三对象的对象后缀;将满足所述匹配条件的第二对象存储到所述任一数据池中。

6、在一个示例性实施例中,通过所述第二规则基于述多个数据池分别对应的状态信息将所述第二对象存储到所述多个数据池中,包括:获取当前时刻所述多个数据池分别对应的所述状态信息,其中,所述当前时刻是第四对象需要从所述分级池中被存储到所述多个数据池中的时刻,所述第四对象是所述第二对象中的任一对象,其中,所述状态信息包括:每个数据池的创建时间、所述每个数据池的剩余容量、所述剩余容量占所述每个数据池的容量的剩余容量比例;将所述第四对象存储到状态信息满足所述第二规则的目标数据池中,以将述第二对象存储到所述多个数据池中,其中,所述第二规则包括以下至少之一:创建时间最早、剩余容量最大、剩余容量比例最高。

7、在一个示例性实施例中,根据所述分级池中的第二对象对应的存储类将所述第二对象存储到所述多个数据池中,包括:在确定所述存储桶启用了第三规则的情况下,按照所述第三规则将所述第二对象聚合为第五对象,其中,所述第五对象的数据大小对应的第三值大于所述第一值;将所述第五对象存储到所述多个数据池中。

8、在一个示例性实施例中,按照所述第三规则将所述第二对象聚合为第五对象之后,所述方法还包括:确定所述第五对象对应的第二对象中被删除的第六对象相对于所述第五对象对应的第二对象的占比;在所述占比满足第一阈值的情况下,删除所述第五对象;在所述占比大于或等于第二阈值的情况下,重新聚合所述第五对象对应的第二对象中除了被删除的所述第六对象之外的第七对象,其中,所述第二阈值小于所述第一阈值。

9、根据本技术的另一个实施例,提供了一种对象存储装置,应用于存储设备,所述存储设备包括存储桶,所述存储桶分别连接到多个数据池和分级池,所述分级池连接到所述多个数据池,包括:第一存储模块,用于在确定通过所述存储桶接收到的第一对象的数据大小小于第一值的情况下,将所述第一对象存储到所述分级池中;第二存储模块,用于在确定所述分级池中的数据容量达到第二值的情况下,根据所述分级池中的第二对象对应的存储类将所述第二对象存储到所述多个数据池中,其中,所述第二对象包括:存储到所述分级池中的所述第一对象,所述第二值大于所述第一值。

10、根据本技术的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

11、根据本技术的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

12、根据本技术的又一个实施例,还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任一项方法实施例中的步骤。

13、通过本技术,提供了一种对象存储方法,应用于存储设备,所述存储设备包括存储桶,所述存储桶分别连接到多个数据池和分级池,所述分级池连接到所述多个数据池;该方法在确定通过所述存储桶接收到的第一对象的数据大小小于第一值的情况下,将所述第一对象存储到所述分级池中;在确定所述分级池中的数据容量达到第二值的情况下,根据所述分级池中的第二对象对应的存储类将所述第二对象存储到所述多个数据池中,其中,所述第二对象包括:存储到所述分级池中的所述第一对象,所述第二值大于所述第一值。因此,可以解决相关技术中,混闪环境下,存在存储类的小对象(相当于数据大小小于第一值的第一对象)会被直接存储到数据池中,存储效果差的问题。提高了对存在存储类的小对象的存储效果。

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