Provided is a method for storing data in a distributed environment including a plurality of storage devices, including: receiving a request for storing the data; calculating a hash value by applying a hash calculation function to a value associated with the data; dividing the hash value into a plurality of weights, each weighting and a plurality of blocks. A block corresponds to a block; a block in the plurality of blocks is selected based on the weight; and the data is stored in a corresponding storage device corresponding to the selected block.
【技术实现步骤摘要】
混合数据查找方法相关申请的交叉引用本申请要求2017年3月1日递交的题为“HYBRIDDATALOOKUPMETHODS”的美国临时申请No.62/465,684的优先权和权益,其全部内容以引用方式并入于此。
根据本专利技术的实施例的一个或多个方面涉及分布式数据存储系统,并且更具体地涉及管理分布式环境中的数据(例如,通过使用键值固态驱动器(KVSSD))。
技术介绍
相关的分布式数据存储系统以不同的方式使用散列函数的输出来处理数据放置和缓存。相关技术文件系统使用基于信息节点(inode)的元数据来管理空间。这涉及将映射(文件系统标识(ID),文件中的偏移量)转换为设备逻辑块地址。读/写期间的元数据管理直接涉及对底层设备执行输入/输出(IO),导致更高的用户IO延迟。
技术实现思路
根据本专利技术的实施例的各方面涉及使用基于权重的方法来管理分布式环境中的数据的方法。根据本专利技术的实施例,提供一种在包括多个存储设备的分布式环境中存储数据的方法,所述方法包括:接收存储所述数据的请求;通过将散列计算函数应用于与所述数据相关联的值来计算散列值;将所述散列值分割成多个权重,每个权重与多个块中的一个块相对应;基于所述权重选择所述多个块中的块;以及将所述数据存储在对应存储设备中,所述对应存储设备与所选择的块相对应。所述分布式环境还可以包括多个存储设备空缺,所述多个存储设备空缺中的每一个指示用于添加未来的存储设备的保留地点。所述多个块中的每一个块可以与所述多个存储设备中的一个或所述多个存储设备空缺中的一个相对应。选择所述块可以包括:确定所述多个块中的最高权重的块;确定所述最高 ...
【技术保护点】
1.一种在包括多个存储设备的分布式环境中存储数据的方法,所述方法包括:接收存储所述数据的请求;通过将散列计算函数应用于与所述数据相关联的值来计算散列值;将所述散列值分割成多个权重,每个权重与多个块中的一个块相对应;基于所述权重选择所述多个块中的块;以及将所述数据存储在对应存储设备中,所述对应存储设备与所选择的块相对应。
【技术特征摘要】
2017.03.01 US 62/465,684;2017.05.08 US 15/589,8331.一种在包括多个存储设备的分布式环境中存储数据的方法,所述方法包括:接收存储所述数据的请求;通过将散列计算函数应用于与所述数据相关联的值来计算散列值;将所述散列值分割成多个权重,每个权重与多个块中的一个块相对应;基于所述权重选择所述多个块中的块;以及将所述数据存储在对应存储设备中,所述对应存储设备与所选择的块相对应。2.根据权利要求1所述的方法,其中所述分布式环境还包括多个存储设备空缺,所述多个存储设备空缺中的每一个指示用于添加未来的存储设备的保留地点,其中所述多个块中的每一个块与所述多个存储设备中的一个或所述多个存储设备空缺中的一个相对应,以及其中,选择所述块包括:确定所述多个块中的最高权重的块;确定所述最高权重的块是与所述多个存储设备中的一个还是与所述多个存储设备空缺中的一个相对应;当所述最高权重的块与所述多个存储设备中的一个相对应时,选择所述最高权重的块;以及当所述最高权重的块与所述多个存储设备空缺中的一个相对应时:确定所述多个块当中的与所述多个存储设备相对应的具有最高权重的块;以及选择所述多个块当中的与所述多个存储设备相对应的具有最高权重的块。3.根据权利要求2所述的方法,其中向所述多个存储设备和多个存储设备空缺中的每一个分配设备标识ID,所述设备ID指示所述多个存储设备添加到所述分布式环境的顺序或者未来的多个存储设备将填充所述分布式环境中的所述多个存储设备空缺的顺序,其中每个所述块包括块ID,所述块ID等于所述多个存储设备中的与所述块对应的一个存储设备的设备ID或所述多个存储设备空缺中的与所述块对应的一个存储设备空缺的设备ID,其中当所述最高权重的块与所述多个存储设备中的一个相对应时,将所述数据存储在所述对应存储设备中的跳容器中,所述跳容器的对应跳数值等于零,以及其中当所述最高权重的块与所述存储设备空缺中的一个相对应时,将所述数据存储在对应存储设备中的跳容器中,所述跳容器的对应跳数值等于:所述最高权重的块的块ID减去分配给任何一个所述存储设备的最高设备ID。4.根据权利要求3所述的方法,其中,与特定跳容器相对应的跳数值指示:在将所述特定跳容器中的数据移动到新的存储设备之前要将另外多少个存储设备添加到所述分布式环境。5.根据权利要求3所述的方法,还包括:确定所述多个块中的与所述多个存储设备相对应的第二高权重的块;以及将所述数据的副本存储在第二对应存储设备中,所述第二对应存储设备与所述第二高权重的块相对应,其中,在所述分布式环境中,当接收到数据读取请求时,并行读取存储在所述对应存储设备中的所述数据的一部分和存储在所述第二对应存储设备中的所述数据的所述副本的不同部分。6.根据权利要求3所述的方法,其中所述多个存储设备是键值固态驱动器KVSSD,其中所述跳容器是KVSSD容器,以及其中,在每个所述KVSSD中,与同一块ID相关联的数据存储在同一KVSSD容器中。7.根据权利要求1所述的方法,其中将所述散列值分割成多个权重包括:将所述散列值分割成长度均为Y比特的X个相等长度值,其中X等于块的总数,Y等于所述散列值的以比特为单位的长度除以X,X和Y是整数,以及其中,所述块的总数等于所述多个存储设备的总数与所述多个存储设备空缺的总数之和。8.根据权利要求1所述的方法,其中所述多个存储设备是键值固态驱动器KVSSD。9.根据权利要求1所述的方法,其中与所述数据相关联的值是所述数据的逻辑块地址LBA和所述数据的逻辑单元号LUN中的一个。10.一种将新的存储设...
【专利技术属性】
技术研发人员:贡内斯瓦拉·马里朴迪,库马尔·坎特蒂,
申请(专利权)人:三星电子株式会社,
类型:发明
国别省市:韩国,KR
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。