当前位置: 首页 > 专利查询>英特尔公司专利>正文

利用多级散列函数来确定存储地址的对象存储系统技术方案

技术编号:22295402 阅读:22 留言:0更新日期:2019-10-15 04:34
本发明专利技术涉及利用多级散列函数来确定存储地址的对象存储系统。描述了由对象存储系统中的分级硬件元件布置中的第一硬件元件执行的方法。该方法包括对对象存储系统的对象的名称执行散列。该名称是与该对象相关联的请求的一部分。该散列的结果是要标识在分级布置中直接在第一硬件元件下方的第二硬件元件。该请求要被发送给第二硬件元件以使该请求向前前进以由对象存储系统为其提供服务。

Object Storage System Using Multilevel Hash Function to Determine Storage Address

【技术实现步骤摘要】
利用多级散列函数来确定存储地址的对象存储系统
本专利技术的领域一般涉及计算科学,并且更具体地涉及利用多级散列函数来确定存储地址的对象存储系统。
技术介绍
随着云计算和高性能数据中心慢慢兴起为用于现代计算的基础设施环境,正在对大规模数据存储进行创新。一种特别的新兴存储方法,称为对象存储,其特征在于高度通用的输入命名空间,易于操作的分布式存储节点和对应的大规模存储容量。然而,当试图物理地构建实现实际的工作对象存储系统所需的硬件和/或软件时,可以观察到实践实现中出现的问题,从而得到了实践创新改进的机会。附图说明可以从结合附图的以下详细描述获得对本专利技术的更好理解,在附图中:图1示出了现有技术对象存储系统;图2示出了改进的对象存储系统;图3示出了由改进的对象存储系统执行的方法;图4示出了计算系统。具体实施方式对象存储系统的问题在于,由于从系统添加或删除存储节点而导致的数据对象的移动。此处,如图1中观察到的,对象存储系统100通常被实现有多个存储节点101,这些存储节点101通信耦合到网络102。每个存储节点包含一个或大量存储设备,其具有相关联的存储位置和对应的存储位置地址。当客户端提交对象以供存储在系统100中时,系统对客户端给予对象的名称(例如,对象的目录文件路径、分配给对象的唯一标识符等)执行散列操作。散列操作的输出本质上生成要将对象存储于其处的系统中的存储位置的地址。系统中的每个存储节点101被分配不同范围的对象存储位置地址。如果将新存储节点添加到系统或从系统中删除节点,则每个存储节点对象地址位置分配会改变,这需要将某些对象从其当前存储节点移动到新存储节点。图2示出了改进的对象存储系统设计200。根据图2的对象存储系统设计,该系统的架构采用节点树的形式,其中树的每个较高级节点纳入了其下方的较低级节点。树的最低级204对应于具有实际存储介质设备(例如,闪存驱动器、硬盘驱动器等)的叶节点。另外,每个节点级别前接针对该节点级别的专用散列函数,该散列函数标识特定对象基于其名称而要映射到的该节点级别处的特定节点。为简单起见,图2示出了具有仅三个节点级别201、202、203(以及因此的前接于其的三个散列函数211、212、213)的对象存储系统200。然而读者将理解的是,可以将额外的节点级别和对应的散列函数添加到图2的三级系统中。参考图2,当要在系统中存储新对象时,第一散列函数211确定要将该对象映射到最高级节点201中的哪个,并且通过网络204将对象发送给该节点。最高级节点201中的每一个节点包括第二散列函数212的实例。对象映射到的该特定最高级节点利用第二散列函数212对对象名称计算第二散列。该结果标识了对象映射到的下一较低级别202处的节点,并且通过网络将对象发送给该节点。下一较低级节点还包括第三散列函数213的实例。对象映射到的该特定下一较低级节点对对象名称计算第三散列。该结果标识了对象映射到的最低叶节点级别203处的节点。对象被发送给该叶节点并存储在其中。另外,对散列算法211、212、213中的每一个进行加权以具有一些偏差,或者散列算法211、212、213中的每一个将会另外以有意偏重的方式将对象分配给紧接的较低节点,如果对象存储系统的在该散列函数下方的结构同样被偏置或偏重的话。例如,如果第一紧接的较低节点比第二紧接的较低节点在其下方具有更多的存储容量和/或具有更多的I/O带宽,则供给第一和第二节点的散列函数将被构造为相比于第二节点将更多的对象映射到第一节点。此处,每个散列函数211、212、213被呈现有直接在其下方的存储系统结构的一些描述。该描述本质上描述了在其将对象映射到的每个节点处和/或下方的例如总存储容量、带宽容量、介质类型、处理器速度等。该描述可以是根据子节点描述自动地计算的。在另外的实施例中,监管员或监管功能可以推翻该自动描述设置以满足各种服务级别协议。在将对象映射到较高级节点的较高级散列算法的情况下,较高级节点的存储容量对应于其下方的叶节点的组合存储容量。因此,例如,Rack_1的存储容量对应于存储服务器节点SS_1_1至SS_1_N的组合存储容量。在各种实施例中,对直接在散列级别下方的节点中的一个或多个的性能能力的描述也可以称为“权重因子”。因此,每个散列级别211、212、213接收一个或多个权重值,所述权重值描述直接在其下方的存储系统节点的能力,使得它可以响应于直接在其下方的节点的能力中的任何偏重(如果存在这样的偏重的话)来对对象存储位置分配进行加权或偏置。在另外的实施例中,可以将种子值分配给对象存储系统的分级树中的每个节点。种子值是用于散列计算的经随机化的数。在各种实施例中,前述一个或多个权重因子被呈现为特定节点处的随机数发生器的(一个或多个)输入值。然后,随机数发生器为节点的散列函数生成种子值。以这种方式,树中的每个节点生成种子值,并然后使用种子值来用该节点接收的每个请求的对象名称执行散列,以确定该请求要被定向到的下一个较低节点。因此,在每个节点处生成的种子值包括某种随机性,因为它是从随机数发生器生成的(如果所有较低节点都是平等的,则应该将请求随机映射到较低节点)。因此,权重为种子值的随机性提供一些偏差,所述偏差导致散列函数在确定其要将请求映射到哪个较低节点时相比于一个节点(例如,具有较少的存储容量的节点)而偏爱另一节点(例如,具有较多的存储容量的节点)。在替换实施例中,可以将权重因子发送至集中位置(例如,保存对对象存储系统的分级树的理解的位置),该位置具有为系统的多个节点计算种子值的随机发生器。然后,该集中位置可以将适当的种子值发送给不同的节点以供其各自的散列函数合并。在实施例中,用其对应的对象名称、(一个或多个)输入权重因子和种子值来执行散列算法中的任何特定散列算法生成直接在该散列级别下方的所有节点的排名。然后,散列算法选择排名最高的节点作为应将对象映射到的节点(即,对象的所分配的存储位置落在被分配给所选节点的位置地址的范围内)。在各种实施例中,每个节点级别对应于整个对象存储解决方案中的不同硬件元件。图2的示例性系统中的最高节点级别201对应于存储服务器机架。此处,如本领域中已知的,机架通常被实现为具有搁架空间或以其他方式改装以安全地堆叠电子设备的一个或多个机柜。在对象存储系统的情况下,机架可以堆叠存储服务器,存储服务器例如是通过例如使服务器计算机的大多数/所有较高带宽I/O接口耦合到非易失性大容量存储设备(例如,固态驱动器(例如,闪存SDD)和/或硬盘驱动器)来加强存储的服务器。在图2的示例性系统中,在最高级节点201对应于不同机架的情况下,那么直接在特定机架/节点下方的紧接的较低级节点202中的每一个对应于堆叠在机架中的不同存储服务器。进而,图2中的特定存储服务器节点下方的每个叶节点对应于与特定服务器节点集成(例如,其耦合到服务器的高带宽I/O接口之一)的特定的非易失性大容量存储设备。从该示例中,随着对象存储系统按比例扩展和/或每个节点级别需要更加粒化的硬件边界,可以在最高级节点上方添加更高级的节点。例如,在扩展的情况下,如果图2中观察到的机架组和对应设备对应于第一数据中心内的设备组,并且然后系统被扩展为包括更多的数据中心,则可以将更高级的节点添加到图2中本文档来自技高网...

【技术保护点】
1.一种方法,包括:利用对象存储系统的第一硬件元件对对象的名称执行第一散列,对象的名称是与所述对象相关联的请求的一部分,第一散列的结果标识了在所述对象存储系统中的分级硬件元件布置中直接在第一硬件元件下方的第二硬件元件;将所述请求发送给第二硬件元件;以及利用第二硬件元件对所述对象的名称执行第二散列,第二散列的结果标识在所述分级布置中直接在第二硬件元件下方的第三硬件元件;以及将所述请求发送给第三硬件元件以使所述请求向前前进以由所述对象存储系统为其提供服务。

【技术特征摘要】
2018.03.29 US 15/9409611.一种方法,包括:利用对象存储系统的第一硬件元件对对象的名称执行第一散列,对象的名称是与所述对象相关联的请求的一部分,第一散列的结果标识了在所述对象存储系统中的分级硬件元件布置中直接在第一硬件元件下方的第二硬件元件;将所述请求发送给第二硬件元件;以及利用第二硬件元件对所述对象的名称执行第二散列,第二散列的结果标识在所述分级布置中直接在第二硬件元件下方的第三硬件元件;以及将所述请求发送给第三硬件元件以使所述请求向前前进以由所述对象存储系统为其提供服务。2.根据权利要求1所述的方法,还包括将所述对象存储在第三硬件元件中,第三硬件元件是大容量存储设备。3.根据权利要求1所述的方法,其中,第二和第三硬件元件中的一个是包括具有多个大容量存储设备的存储服务器。4.根据权利要求1所述的方法,其中,所述硬件元件中的一个是用于存储服务器机架的联网网关。5.根据权利要求1所述的方法,其中,第一散列并入了第一权重信息,第一权重信息描述了所述分级布置的直接在第一硬件元件下方的结构。6.根据权利要求5所述的方法,其中,第一散列并入了第二权重信息,第二权重信息描述了所述分级布置的直接在第二硬件元件下方的结构。7.根据权利要求6所述的方法,还包括:修改第一和第二权重信息以反映所述对象存储系统的在第二硬件元件下方的改变,其中,第一权重信息的改变小于第二权重信息的改变。8.根据权利要求1所述的方法,其中,第三硬件元件是要在其中对所述请求提供服务的大容量存储设备,并且所述方法还包括:响应于所述大容量存储设备暂时进入离线状态,将定向至所述大容量存储设备的请求排队在所述对象存储系统的未使用存储容量中;以及在所述大容量存储设备返回到在线状态之后,将所述请求重放到所述大容量存储设备。9.根据权利要求8所述的方法,其中,所述未使用的存储容量是所述大容量存储设备为其一部分的同一存储服务...

【专利技术属性】
技术研发人员:MJ库马尔AR查加姆雷迪
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1