分布式存储系统中处理对象的元数据的方法及装置制造方法及图纸

技术编号:20272581 阅读:25 留言:0更新日期:2019-02-02 03:41
一种分布式存储系统中处理对象的元数据的方法及装置,涉及存储技术领域,能够解决对象的元数据的分布不均匀的问题。这里分布式存储系统的桶包括至少两个逻辑子桶,至少两个逻辑子桶映射到的分区不同,至少两个逻辑子桶中的第一逻辑子桶映射到第一分区,分布式存储系统的索引节点管理第一分区。该方法为:分布式存储系统的服务节点接收包括桶的名称以及第一对象的名称的IO操作;服务节点根据桶的名称以及第一对象的名称,从桶中选择第一逻辑子桶;服务节点根据第一逻辑子桶与第一分区的映射关系,向索引节点发送包括第一逻辑子桶的名称和第一对象的名称的处理请求,处理请求用于请求在第一分区中处理第一对象的元数据。

【技术实现步骤摘要】
分布式存储系统中处理对象的元数据的方法及装置
本专利技术实施例涉及存储
,尤其涉及一种分布式存储系统中处理对象的元数据的方法及装置。
技术介绍
在分布式存储系统中,服务节点根据对象的标识所包括的片键值(ShardKey)确定该对象的元数据归属分区(即确定将对象的元数据写入哪一分区),进而使得管理该分区的索引节点对该对象的元数据进行管理。一般的,片键值包括桶的名称以及对象的名称。这样,在键值为顺序排列的场景中,分布式存储系统中某一桶内的对象的元数据总是归属于一个分区中,造成分区热点,且该桶内的对象的元数据的分布不均匀。即使后续分布式存储系统中分区的数量变大,也依旧无法解决对象的元数据的分布不均匀的问题。
技术实现思路
本申请提供一种分布式存储系统中处理对象的元数据的方法及装置,能够解决对象的元数据的分布不均匀的问题。为达到上述目的,本申请采用如下技术方案:第一方面,提供一种分布式存储系统中处理对象的元数据的方法,该分布式存储系统的桶包括至少两个逻辑子桶,该至少两个逻辑子桶映射到的分区不同,至少两个逻辑子桶中的第一逻辑子桶映射到第一分区,分布式存储系统中的索引节点用于管理第一分区。具体的,该方法为:分布式存储系统中的服务节点在接收到包括桶的名称以及第一对象的名称的输入输出(input/output,IO)操作后,根据桶的名称以及第一对象的名称,从桶中选择第一逻辑子桶,并根据第一逻辑子桶与第一分区的映射关系,向索引节点发送包括第一逻辑子桶的名称和第一对象的名称的处理请求,该处理请求用于请求在第一分区中处理第一对象的元数据。本申请提供的方法中,在桶与分区之间引入了逻辑子桶的概念,一个桶包括至少两个逻辑子桶,且每个逻辑子桶映射到不同的分区,这样,服务节点可将一个桶中的不同对象的元数据散列到不同的逻辑子桶,进而写入不同的分区,有效的提高了同一桶中不同对象的元数据的分布的均匀性,避免了分区热点的出现。可选的,在本申请的一种可能的实现方式中,上述服务节点根据桶的名称以及第一对象的名称,从桶中选择第一逻辑子桶的方法为:服务节点根据桶的名称,确定桶;服务节点根据第一对象的名称、桶中逻辑子桶的数量、桶中逻辑子桶号的起始编号以及分布式存储系统的初始的分区的数量,确定第一逻辑子桶的编号。服务节点在确定出第一逻辑子桶的编号后,即可根据该编号从至少两个逻辑子桶中选取出第一逻辑子桶。进一步地,在根据第一逻辑子桶与第一分区的映射关系,向索引节点发送处理请求之前,服务节点还生成包括第一逻辑子桶的名称,这里,第一逻辑子桶的名称包括第一逻辑子桶的编号以及桶的名称。一个桶包括至少两个逻辑子桶,在桶中所述至少两个逻辑子桶可以采用编号进行区分。由于分布式存储系统可能包括至少两个桶,因此,对于每个逻辑子桶而言,该逻辑子桶的名称需要采用其归属的桶的名称以及该逻辑子桶的编号表示。可选的,在本申请的另一种可能的实现方式中,在接收输入输出IO操作之前,服务节点还建立桶,并根据桶的性能指标,确定该桶中逻辑子桶的数量,以及根据分布式存储系统的初始的分区的数量和随机数,确定桶中逻辑子桶的起始编号。可选的,在本申请的另一种可能的实现方式中,本申请中分布式存储系统的初始的分区的数量不小于2。在初始的分区的数量不小于2的情况下,有效的提升了该分布式存储系统的初始性能。第二方面,提供一种服务节点,应用于分布式存储系统,该分布式存储系统还包括索引节点。该分布式存储系统的桶包括至少两个逻辑子桶,至少两个逻辑子桶映射到的分区不同,至少两个逻辑子桶中的第一逻辑子桶映射到第一分区,索引节点用于管理第一分区。本申请提供的服务节点包括接收单元、处理单元和发送单元。具体的,上述接收单元,用于接收IO操作,该IO操作包括桶的名称以及第一对象的名称。上述处理单元,用于根据桶的名称以及第一对象的名称,从桶中选择第一逻辑子桶。上述发送单元,用于根据第一逻辑子桶与第一分区的映射关系,向上述索引节点发送处理请求,该处理请求包括第一逻辑子桶的名称和第一对象的名称,该处理请求用于请求在第一分区中处理第一对象的元数据。可选的,在本申请的一种可能的实现方式中,上述处理单元,具体用于根据桶的名称,确定桶,以及根据第一对象的名称、桶中逻辑子桶的数量、桶中逻辑子桶号的起始编号以及分布式存储系统的初始的分区的数量,确定第一逻辑子桶的编号。此外,上述处理单元,还用于在上述发送单元根据第一逻辑子桶与第一分区的映射关系,向索引节点发送处理请求之前,生成包括第一逻辑子桶的编号以及桶的名称的第一逻辑子桶的名称。可选的,在本申请的另一种可能的实现方式中,上述处理单元,还用于在上述接收单元接收输入输出IO操作之前,建立桶,以及根据桶的性能指标,确定桶中逻辑子桶的数量,以及根据分布式存储系统的初始的分区的数量以及随机数,确定桶中逻辑子桶的起始编号。可选的,在本申请的另一种可能的实现方式中,分布式存储系统的初始的分区的数量不小于2。第三方面,提供一种服务节点,该服务节点包括:一个或多个处理器和存储器。存储器与上述一个或多个处理器连接。存储器用于存储计算机指令,当一个或多个处理器执行该计算机指令时,服务节点执行如上述第一方面及其任意一种可能的实现方式中任意之一所述的方法。第四方面,提供一种包含指令的计算机程序产品,该计算机程序产品包括计算机指令,当上述第三方面所述的服务节点的处理器执行计算机指令时,使得所述服务节点执行如上述第一方面及其任意一种可能的实现方式中任意之一所述的方法。第五方面,提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机指令,当上述第三方面所述的服务节点的处理器执行计算机指令时,使得所述服务节点执行如上述第一方面及其任意一种可能的实现方式中任意之一所述的方法。在本申请中,上述服务节点的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本申请类似,属于本申请权利要求及其等同技术的范围之内。本申请中第二方面到第五方面及其各种实现方式的具体描述,可以参考第一方面及其各种实现方式中的详细描述;并且,第二方面到第五方面及其各种实现方式的有益效果,可以参考第一方面及其各种实现方式中的有益效果分析,此处不再赘述。本申请的这些方面或其他方面在以下的描述中会更加简明易懂。附图说明图1为本专利技术实施例中分区的示意图;图2为本专利技术实施例中分布式存储系统的结构示意图一;图3为本专利技术实施例中分布式存储系统的结构示意图二;图4为本专利技术实施例中服务节点的硬件结构示意图;图5为本专利技术实施例中处理对象的元数据的方法的流程示意图;图6为本专利技术实施例中服务节点的结构示意图一;图7为本专利技术实施例提种服务节点的结构示意图二。具体实施方式本专利技术实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于限定特定顺序。在本专利技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本专利技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。分布式存储系统包括多个服务器。一般的,根据服本文档来自技高网...

【技术保护点】
1.一种分布式存储系统中处理对象的元数据的方法,所述分布式存储系统包括服务节点和索引节点,其特征在于,所述分布式存储系统的桶包括至少两个逻辑子桶,所述至少两个逻辑子桶映射到的分区不同,所述至少两个逻辑子桶中的第一逻辑子桶映射到第一分区,所述索引节点用于管理所述第一分区;所述方法包括:所述服务节点接收输入输出IO操作,所述IO操作包括所述桶的名称以及第一对象的名称;所述服务节点根据所述桶的名称以及所述第一对象的名称,从所述桶中选择所述第一逻辑子桶;所述服务节点根据所述第一逻辑子桶与所述第一分区的映射关系,向所述索引节点发送处理请求,所述处理请求包括所述第一逻辑子桶的名称和所述第一对象的名称,所述处理请求用于请求在所述第一分区中处理所述第一对象的元数据。

【技术特征摘要】
1.一种分布式存储系统中处理对象的元数据的方法,所述分布式存储系统包括服务节点和索引节点,其特征在于,所述分布式存储系统的桶包括至少两个逻辑子桶,所述至少两个逻辑子桶映射到的分区不同,所述至少两个逻辑子桶中的第一逻辑子桶映射到第一分区,所述索引节点用于管理所述第一分区;所述方法包括:所述服务节点接收输入输出IO操作,所述IO操作包括所述桶的名称以及第一对象的名称;所述服务节点根据所述桶的名称以及所述第一对象的名称,从所述桶中选择所述第一逻辑子桶;所述服务节点根据所述第一逻辑子桶与所述第一分区的映射关系,向所述索引节点发送处理请求,所述处理请求包括所述第一逻辑子桶的名称和所述第一对象的名称,所述处理请求用于请求在所述第一分区中处理所述第一对象的元数据。2.根据权利要求1所述的方法,其特征在于,所述服务节点根据所述桶的名称以及所述第一对象的名称,从所述桶中选择所述第一逻辑子桶,具体包括:所述服务节点根据所述桶的名称,确定所述桶;所述服务节点根据所述第一对象的名称、所述桶中逻辑子桶的数量、所述桶中逻辑子桶号的起始编号以及所述分布式存储系统的初始的分区的数量,确定所述第一逻辑子桶的编号;所述服务节点根据所述第一逻辑子桶与所述第一分区的映射关系,向所述索引节点发送处理请求之前,所述方法还包括:所述服务节点生成所述第一逻辑子桶的名称;其中,所述第一逻辑子桶的名称包括所述第一逻辑子桶的编号以及所述桶的名称。3.根据权利要求1或2所述的方法,其特征在于,所述服务节点接收IO操作之前,所述方法还包括:所述服务节点建立所述桶;所述服务节点根据所述桶的性能指标,确定所述桶中逻辑子桶的数量;所述服务节点根据所述分布式存储系统的初始的分区的数量以及随机数,确定所述桶中逻辑子桶的起始编号。4.根据权利要求3所述的方法,其特征在于,所述分布式存储系统的初始的分区的数量不小于2。5.一种服务节点,其特征在于,应用于分布式存储系统,所述分布式存储系统还包括索引节点,所述分布式存储系统的桶包括至少两个逻辑子桶,所述至少两个逻辑子桶映射到的分区不同,所述至少两个逻辑子桶中的第一逻辑子桶映射到第一分区,所述索引节点用于管理所述第一分区...

【专利技术属性】
技术研发人员:谢晓芹李坤
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1