[发明专利]数据存储系统以及用于提供数据存储系统的方法在审
申请号: | 201780097046.1 | 申请日: | 2017-11-20 |
公开(公告)号: | CN111373389A | 公开(公告)日: | 2020-07-03 |
发明(设计)人: | 谢尔盖·罗曼诺维奇·巴希罗夫;阿莱克桑德尔·阿列克山德罗维奇·西马克;徐君 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 存储系统 以及 用于 提供 方法 | ||
本发明提供一种数据存储系统100,具有数据存储器104和数据控制器101,用于实现具有多个节点的前缀树600,其中,所述数据控制器101用于在所述前缀树600中发起写操作;所述数据控制器101用于为写操作下的节点602、603处多个符号中的单个符号提供锁。
技术领域
本发明涉及一种数据存储系统以及用于提供数据存储系统的方法。更具体地,本发明涉及一种数据存储系统和方法,用于提高多个写入器之间的写操作的可扩展性。
背景技术
数据查找对于包括信息数据库和存储系统的所有计算机程序都是必不可少的。程序需要为随后的检索或计算快速定位数据。通常,通过索引数据结构提供此类查找功能,这些数据结构包含由某些数据属性组织的存储数据的相应位置或地址。因此,不需要遍历整个存储数据集,而是查找相应的索引记录。常用的索引是一种独立的工具,它具有高效的接口,通过请求的属性快速检索数据位置。
在并发存在的情况下,若干参与者同时执行索引修改,总体操作效率很大程度上取决于并发同步的方法。通常,写入器以排它方式或在单独的节点副本中修改索引结构记录。因此,所述索引结构表示存储数据集的完整和正确状态。通常认为基于树的数据结构的同步是一个瓶颈。
数十年来,人们已经了解不同的基于树的索引结构。尽管它们的本质不同,但其中许多都具有某些共同的特征,例如单个根节点、相互连接形成树的内部节点以及最后一层节点(称为叶)。通常,有效负载数据保存在树叶内,内部节点存储一些在遍历查找期间进行选择的不同属性值。
前缀树是基于树的索引数据结构的特殊情况。并非将属性值保存在内部节点内部,而是将该信息保存在节点互连内。因此,在前缀树遍历期间,不需要逐一查看子节点并比较搜索的属性值,只需在存在时选择与属性值索引对应的子节点即可。尽管这类树明显比较简单且遍历算法简洁,但由于内存开销很大,因此并没有广泛用于通用数据库或存储系统索引结构。实际上,每个前缀树节点都需要保存整个范围的可能属性值,即使实际上只有很少的这类子节点存在。上文暗示了内存消耗呈指数增长。
近年来,前缀树已经用于一般用途。最重要的修改在于提供了可变大小的节点。这意味着,存在不同容量的内部节点,在树修改期间根据所需的子节点数量选择特定数量的子节点。这种方法通常称为水平压缩。另一个有价值的改进是在于跳过了所有仅具有单个子节点的内部节点,从而需要将共同属性保存在中间节点内部,并将搜索属性存储在相应的叶子内。这种方法通常称为垂直压缩或键序跳过。这两种改进都直接带来了更精确、更适度的内存消耗。
已知前缀树的另一个重要问题在于并发访问或同步的方法。传统上,同步技术使写入器串联化,从而同时尝试修改同一个树节点,即使它们更改了节点的不同部分。这类解决方案简单,但很难扩展。更先进的技术允许若干写入器并行修改一个树节点。然而,它们需要复杂的数据结构,而且通常实现起来更复杂。可以考虑的替代选择是使用硬件事务内存,但是在写入时呈现适当硬件支持方面仍然存在一些阻碍。
通常,原始前缀树设计需要大量内存,因此这类树的使用非常有限。所谓的自适应基数树(Adaptive Radix Tree,ART)是一种针对内存使用前缀树高度优化的先进设计。ART综合了所有已知的前缀树压缩技术:每个内部节点可以包含若干个符号,称为共同前缀,而不是每个内部节点仅一个符号,如果键的其余部分是唯一的,则应用键序跳过以减少内部节点的数量。此外,每个内部节点具有自适应大小,并且根据子节点的数量增加或减少。通常,在前缀树中,修改最多影响两个节点:进行更改的节点及可能其父节点。因此,通常有若干已知的并发控制机制可以有效地应用于ART或前缀树。
锁耦合是一种用于同步B树的标准方法,可以轻易地应用于前缀树。其思想是在树遍历期间一次最多保持两个锁。从根节点开始,每次在前缀树中向下一层,就会获取对子节点的锁,从而释放父锁。该方法允许在不同前缀树节点具有不同父节点时同时修改这些前缀树节点。锁耦合算法具有树的第一层上争用高的问题。每个参与者都从根节点开始,所以在树的零层上有高争用,在第一层上也有很高的争用概率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780097046.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:密码密钥安全
- 下一篇:用于流式渲染的实时潜在可见集合
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置