一种基于crushmap结构的OSD选取方法及装置制造方法及图纸

技术编号:16873954 阅读:49 留言:0更新日期:2017-12-23 11:51
本发明专利技术公开了一种crushmap组织结构,包括:目标root节点,与所述目标root节点连接的中间节点层,与所述中间节点层中最后一层节点层的每个节点连接的磁盘组,所述磁盘组包括存储有OSD的至少两个磁盘;可见,通过增加crushmap组织结构的层次深度以及划分OSD的磁盘组,从而构造多层次的crushmap组织结构,利用该crushmap组织结构选取对象分布的OSD,避免了对选定节点下的所有的OSD进行计算,极大的降低了选取OSD的计算量,减少了系统计算资源的开销,方便了系统性能提升和集群扩展。

A method and device for selecting OSD based on crushmap structure

The invention discloses a crushmap structure, including: root node, the intermediate node layer is connected with the target root nodes, each node of the last layer of the disk group node layer and the intermediate node layer connection, the disk group comprises at least two OSD storage disk; visible. By increasing the crushmap structure depth and disk group division of OSD, crushmap to construct multi-level organizational structure, the organizational structure of crushmap selected objects distribution OSD, to avoid the selected node under all OSD calculation, greatly reduces the computation of OSD is selected, reduces the system computing resources overhead, convenient to improve system performance and cluster expansion.

【技术实现步骤摘要】
一种基于crushmap结构的OSD选取方法及装置
本专利技术涉及文件存储领域,特别涉及一种基于crushmap结构的OSD选取方法及装置。
技术介绍
在分布式文件系统中,每个文件的数据被分成多个对象,这些对象通过crush(controlledReplicationUnderScalableHashing,伪随机数据分布算法)算法将其映射分布到OSD。利用crush算法分布对象到OSD的过程中,需要根据crushmap组织结构,对当前选择的节点层内的所有节点进行相关运算,将运算结果中的最大值作为该步选择的节点;接下来对该节点下的子节点进行相同的选择,直到选择到OSD为止。利用现有的crushmap结构,选择对象分布的OSD时进行的运算次数过大,例如,现有的crushmap结构具有与根节点连接的100个节点,每个节点下具有包含36个OSD的磁盘,则选择分布对象的OSD需要进行136次运算,造成系统计算资源大量开销,阻碍了系统性能提升和集群扩展。因此,如何解决选择对象分布的OSD的运算次数过大的问题,以减少系统计算资源的开销是本领域技术人员需要解决的问题。
技术实现思路
本专利技术的目的在于提供一种基于crushmap结构的OSD选取方法及装置,解决了选择对象分布的OSD的运算次数过大的问题,减少了系统计算资源的开销。为实现上述目的,本专利技术实施例提供了如下技术方案:一方面,本专利技术实施例提供了一种crushmap组织结构,包括:目标root节点;与所述目标root节点连接的中间节点层,所述中间节点层包括至少一层节点层;与所述中间节点层中最后一层节点层的每个节点连接的磁盘组,所述磁盘组包括存储有OSD的至少两个磁盘。优选的,所述中间节点层包括第一节点层和第二节点层,其中,所述目标root节点与所述第一节点层的每个节点相连,所述第一节点层的每个节点与所述第二节点层中唯一对应的节点组相连。另一方面,本专利技术实施例提供了一种基于crushmap结构的OSD选取方法,包括:确定目标root节点;从与所述目标root节点连接的中间节点层中确定目标节点;其中,所述中间节点层包括至少一层节点层;从与所述目标节点连接的磁盘组中选取目标磁盘;从所述目标磁盘中选取目标OSD。优选的,若所述中间节点层包括两层节点层,则所述从与所述目标root节点连接的中间节点层中确定目标节点,包括:对所述中间节点层的第一节点层的每个节点进行第一运算,利用所述第一运算结果对所述第一节点层的每个节点进行第二运算,选取所述第二运算的最大值对应的节点为第一目标节点;对所述第一目标节点连接的第二节点层的节点组的每个节点进行第三运算,利用所述第三运算结果对所述第二节点层的每个节点进行第四运算,选取所述第四运算的最大值对应的节点为第二目标节点,则将所述第二目标节点作为所述目标节点。优选的,所述从与所述目标节点连接的磁盘组中选取目标磁盘,包括:对所述磁盘组中的每个磁盘进行第五运算,利用所述第五运算结果对每个磁盘进行第六运算,选取所述第六运算的最大值对应的磁盘为目标磁盘。优选的,所述从所述目标磁盘中选取目标OSD,包括:对所述目标磁盘中的每个OSD进行第七运算,利用所述第七运算结果对每个OSD进行第八运算,选取所述第八运算的最大值对应的OSD为目标OSD。另一方面,本专利技术实施例提供了一种基于crushmap结构的OSD选取装置,包括:目标root节点确定模块,用于确定目标root节点;目标节点确定模块,用于从与所述目标root节点确定模块得到的所述目标root节点连接的中间节点层中确定目标节点;其中,所述中间节点层包括至少一层节点层;目标磁盘选取模块,用于从与所述目标节点确定模块得到的目标节点连接的磁盘组中选取目标磁盘;目标OSD选取模块,用于从所述目标磁盘选取模块得到的所述目标磁盘中选取目标OSD。优选的,所述目标节点确定模块包括:第一目标节点选取单元,用于对所述中间节点层的第一节点层的每个节点进行第一运算,利用所述第一运算结果对所述第一节点层的每个节点进行第二运算,选取所述第二运算的最大值对应的节点为第一目标节点;第二目标节点选取单元,用于对所述第一目标节点选取单元得到的所述第一目标节点连接的第二节点层的节点组的每个节点进行第三运算,利用所述第三运算结果对所述第二节点层的每个节点进行第四运算,选取所述第四运算的最大值对应的节点为第二目标节点,则将所述第二目标节点作为所述目标节点。优选的,所述目标磁盘选取模块包括:目标磁盘选取单元,用于对所述磁盘组中的每个磁盘进行第五运算,利用所述第五运算结果对每个磁盘进行第六运算,选取所述第六运算的最大值对应的磁盘为目标磁盘。优选的,所述目标OSD选取模块包括:目标OSD选取单元,用于对所述目标磁盘中的每个OSD进行第七运算,利用所述第七运算结果对每个OSD进行第八运算,选取所述第八运算的最大值对应的OSD为目标OSD。可见,本专利技术实施例提供的一种crushmap结构,通过增加crushmap的节点层的层次深度以及划分OSD的磁盘组,从而构造多层次的crushmap组织结构,利用crushmap组织结构选取对象分布的OSD,避免了对选定节点下所有的OSD进行计算,极大的降低了选取OSD的计算量,减少了系统计算资源的开销,方便了系统性能提升和集群扩展;本专利技术还公开了一种基于crushmap结构的OSD选取装置,同样能实现上述技术效果。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图选得其他的附图。图1为本专利技术实施例公开的一种crushmap组织结构示意图;图2为本专利技术实施例公开的一种基于crushmap结构的OSD选取方法流程示意图;图3为本专利技术实施例公开的另一种基于crushmap结构的OSD选取方法流程示意图;图4为本专利技术实施例公开的一种基于crushmap结构的OSD选取装置示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所选得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例公开了一种基于crushmap结构的OSD选取方法及装置,解决了选择对象分布的OSD的运算次数过大的问题,减少了系统计算资源的开销。参见图1,本专利技术实施例提供的一种crushmap组织结构,包括:目标root节点10,与目标root节点10连接的中间节点层20,与中间节点层20中最后一层节点层的每个节点连接的磁盘组30,磁盘组30包括存储有OSD的至少两个磁盘40;其中,中间节点层20包括至少一层节点层。具体的,本实施例中,目标root节点10为根节点,中间节点层20可以包括一层或多层节点层;每一节点层包括多个节点,在此节点数量不作限定。其中,中间节点层20的第一层节点层的每个节点都与目标root节点10连接,其中,该与中间节点层20中的最后一层的每个节点连接的磁盘组本文档来自技高网...
一种基于crushmap结构的OSD选取方法及装置

【技术保护点】
一种crushmap组织结构,其特征在于,包括:目标root节点;与所述目标root节点连接的中间节点层,所述中间节点层包括至少一层节点层;与所述中间节点层中最后一层节点层的每个节点连接的磁盘组,所述磁盘组包括存储有OSD的至少两个磁盘。

【技术特征摘要】
1.一种crushmap组织结构,其特征在于,包括:目标root节点;与所述目标root节点连接的中间节点层,所述中间节点层包括至少一层节点层;与所述中间节点层中最后一层节点层的每个节点连接的磁盘组,所述磁盘组包括存储有OSD的至少两个磁盘。2.根据权利要求1所述的crushmap组织结构,其特征在于,所述中间节点层包括第一节点层和第二节点层,其中,所述目标root节点与所述第一节点层的每个节点相连,所述第一节点层的每个节点与所述第二节点层中唯一对应的节点组相连。3.一种基于crushmap组织结构的OSD选取方法,其特征在于,包括:确定目标root节点;从与所述目标root节点连接的中间节点层中确定目标节点;其中,所述中间节点层包括至少一层节点层;从与所述目标节点连接的磁盘组中选取目标磁盘;从所述目标磁盘中选取目标OSD。4.根据权利要求3所述的基于crushmap组织结构的选取OSD的方法,其特征在于,若所述中间节点层包括两层节点层,则所述从与所述目标root节点连接的中间节点层中确定目标节点,包括:对所述中间节点层的第一节点层的每个节点进行第一运算,利用所述第一运算结果对所述第一节点层的每个节点进行第二运算,选取所述第二运算的最大值对应的节点为第一目标节点;对所述第一目标节点连接的第二节点层的节点组的每个节点进行第三运算,利用所述第三运算结果对所述第二节点层的每个节点进行第四运算,选取所述第四运算的最大值对应的节点为第二目标节点,则将所述第二目标节点作为所述目标节点。5.根据权利要求4所述的基于crushmap组织结构的选取OSD的方法,其特征在于,所述从与所述目标节点连接的磁盘组中选取目标磁盘,包括:对所述磁盘组中的每个磁盘进行第五运算,利用所述第五运算结果对每个磁盘进行第六运算,选取所述第六运算的最大值对应的磁盘为目标磁盘。6.根据权利要求5所述的crushmap组织结构的选取OSD的方法,其特征在于,所述从所述目标磁盘中选取目标OSD,包括:对所...

【专利技术属性】
技术研发人员:王曙光
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1