【技术实现步骤摘要】
基于多重哈希的分布式存储索引方法及系统
[0001]本专利技术属于存储索引的
,具体涉及一种基于多重哈希的分布式存储索引方法及系统。
技术介绍
[0002]自互联网发展以来,数据量的爆发式增长使得存储面临着巨大的挑战。尤其是4G大规模的使用,导致数据量和单个文件的规模日益扩大,同时视频类型的数据也使得单个文件呈现GB级别。又随着物联网时代的到来,传感器的快速部署使得数据量进一步扩大,传感器每秒钟都会收集大量的数据,使得数据量呈爆发式增长,导致大部分的场景下单一机器基本无法存储所需要的数据,分布式存储成为了解决这一难题的可能。由于传感器获取到的是海量的时序数据,应用于解决数据查找问题的索引也呈现了爆发式增长,索引系统也因此需要部署到不同的机器上,实现一个分布式的索引系统。
[0003]现有的存储索引系统主要包括B树索引和哈希索引。B+树是一种树数据结构,通常用于数据库和操作系统的文件系统中;B+树是将索引数据自底向上不断分裂组成的树形结构,在节点超过阈值时进行节点分裂,特点是能够保持数据稳定有序,其插入与修改拥有较稳定的对数时间复杂度。LB+树使用DRAM+3DXPoint的混合架构,将非叶子节点放到DRAM中提升检索性能,叶子放到3DXPoint;利用叶子节点和非叶子节点的关系通过非叶子节点进行数据恢复。而现有的哈希结构大致分为静态哈希和动态哈希;静态哈希需要在开始的时候确定桶的数量,桶的数量不能随着数据量进行改变;动态哈希则可以在初始状态设置较少的桶数量,并随着数据量的规模扩大而进行扩容。1997年麻 ...
【技术保护点】
【技术特征摘要】
1.基于多重哈希的分布式存储索引方法,其特征在于,包括下述步骤:基于key
‑
value存储引擎,采用Master/Slave架构搭建分布式存储索引系统;所述Master/Slave架构包括一个Master节点和多个Slave节点;所述Master节点存储有分布式存储索引系统信息,包括哈希算法信息和Slave节点信息,用于数据转发和Slave节点管理;所述Slave节点用于实现键值对的存储;所述哈希算法信息包括多个线性哈希函数、哈希函数个数、分裂指针及触发节点分裂的负载临界点;所述Slave节点信息包括正使用Slave节点个数、空闲Slave节点个数、Slave节点地址和Slave节点实时负载率;根据键值对的访问请求,Master节点调用多个线性哈希函数对键值对的键进行计算,得到所有哈希值对应的Slave节点;Master节点向对应的Slave节点发送相应操作请求;所述操作包括增加操作、删除操作、修改操作及查找操作;当Master节点检测到某个Slave节点的实时负载率超过触发节点分裂的负载临界点时,执行节点分裂操作。2.根据权利要求1所述的基于多重哈希的分布式存储索引方法,其特征在于,所述Slave节点采用LB+
‑
Trees数据结构,设置三层存储结构,即DRAM+NVM+SSD;所述Slave节点的数据分布由一颗B+树构成,非叶子节点存储在DRAM上,叶子节点存储在NVM上;每次对数据操作时,先对NVM上的叶子节点进行操作,再更新DRAM的非叶子节点;对于Slave节点的溢出数据,使用LevelDB实现在SSD上进行串行写操作。3.根据权利要求2所述的基于多重哈希的分布式存储索引方法,其特征在于,所述增加操作具体为:基于cuckoo哈希算法的思想,Master节点根据对应的Slave节点,获取对应Slave节点的实时负载率;按照升序排序,得到前一半的Slave节点序号,即实时负载率较低的一半Slave节点;向实时负载率较低的一半Slave节点发送增加键值对的操作请求;Slave节点增加操作完成后,向Master节点返回Slave节点新的实时负载率。4.根据权利要求2所述的基于多重哈希的分布式存储索引方法,其特征在于,所述删除操作具体为:Master节点向对应的Slave节点发送删除键值对的操作请求;对应的Slave节点删除操作完成后,向Master节点返回对应Slave节点新的实时负载率。5.根据权利要求2所述的基于多重哈希的分布式存储索引方法,其特征在于,所述修改操作具体为:Master节点先向对应的Slave节点发送删除键值对的操作请求;对应的Slave节点删除操作完成后,基于cuckoo哈希算法的思想,Master节点获取对应Slave节点的实时负载率;按照升序排序,得到前一半的Slave节点序号,即实时负载率较低的一半Slave节点;向实时负载率较低的一半Slave节点发送增加键值对的操作请求;
Slave节点增加操作完成后,向Master节点返回Slave节点新的实时负载率。6.根据权利要求2所述的基于多重哈希的分布式存储索引方法,其特征在于,所述查找操作具体为:Master节点根据对应的Slave节点的实时负载率进行升序排序,按序向Slave节点发送查找请求,查找成功时返回当前Slave节点序号。7.根据权利要求2所述的基于多重哈希的分布式存储索引方法,其特征在于,所述执行节点分裂操作具体为:当Master节点检测到某个节点Slave的实时负载率超过触发节点分裂的负载临界点时,对分裂指针指向的Slave节点进行分裂;在分布式存储索引系统中自动添加一个空闲Slave节点,并更新Master节点中存储索引系统的信息;逐个对Slave节点中存储的所有数据执行删除操作;删除时,先在Mas...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。