[发明专利]基于Cuckoo哈希计算的数据存储优化方法及系统有效
申请号: | 201710415853.5 | 申请日: | 2017-06-06 |
公开(公告)号: | CN107256130B | 公开(公告)日: | 2019-09-24 |
发明(设计)人: | 华宇;孙园园;冯丹 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 廖盈春;李智 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 cuckoo 计算 数据 存储 优化 方法 系统 | ||
本发明公开了一种基于Cuckoo哈希计算的数据存储优化方法及系统,首先将索引表中每个桶看作一个子图节点,将表中存储的每个元素看作一条边,并从其实际存储位置指向元素的候选位置,因此整个索引表成为包含多个连通子图的有向图;然后在元素实际插入前通过哈希计算识别其所属的一个或两个子图;再根据子图状态预测插入结果;最后根据预测结果执行插入操作或者直接存入临时空间。本发明利用Cuckoo哈希机制将海量数据扁平化哈希到整个索引表中,合理解决集合内数据的哈希冲突,在保证查询效率的情况下使负载均衡,有效提高索引表利用率,并提前预测数据插入结果;通过对数据存储前预测结果来避免无效的踢出开销,提高了数据存储效率。
技术领域
本发明属于计算机存储技术领域,更具体地,涉及一种基于Cuckoo哈希计算的数据存储优化方法及系统。
背景技术
随着近年来互联网、云计算、物联网、社交媒体以及其他信息技术的迅速发展,各行各业积累的数据都呈现出爆炸式增长趋势。例如,Facebook每天处理的数据超过500TB,阿里巴巴拥有的数据量超过100PB,新浪微博用户数超过5亿,每天产生的微博数超过1亿条等,许多商业公司通常每天要处理TB级甚至PB级的数据。根据国际数据公司(International DataCorporation,IDC)2014年的报告,全球产生的数据总量每两年翻一番,在2020年将达到44ZB。
大数据时代的到来给海量数据的管理带来了新的挑战和契机。其中,大数据(尤其是非结构化数据)的快速检索作为一个非常关键的问题亟待解决。在云计算系统中,大量资源被用于支持查询相关的操作,例如计算资源、存储资源以及网络资源,然而对于查询请求如何快速返回精确结果仍然是一个巨大的挑战。为了提高系统性能和整体效率,目前也有许多改进工作,例如对加密云数据的多关键字查询,对并行数据处理的查询优化,利用分层Bloom filter索引加速查询,利用持续监控过程优化查询,对云数据的近似成员查询,文件系统中的近似查询,对云数据的分类查询检索,查询服务的自动管理等等。但是由于这些方法具有空间效率不高以及高复杂度的分层寻址的缺点,它们都无法满足实时查询的需求。
基于哈希的数据结构具有常数级寻址复杂度和快速查询响应的特性,它在查询的实时性和准确性方面优势显著,成为为解决大数据管理的关键技术之一。
Cuckoo哈希是多选择哈希机制的一个有效变体。在cuckoo哈希机制中,每一个元素能够被放置在哈希表中多个备选哈希桶的任一位置。当多个备选位置都被其他元素占据(不为空)时,该元素任意踢出某一个桶中存在的元素,而不是直接返回插入失败或者通过链表存储。被踢出的元素接着执行相同操作,直到所有的元素都找到存储的位置。相比于传统哈希表中只使用一个哈希函数的情况,cuckoo哈希这种机制能够确保数据的均匀分布。由于这种常数级复杂度的扁平化寻址的特性,在查询操作中只需要探测哈希表一次就可以得到查询结果。在最坏情况下,每次至多探测被查询元素的所有候选位置,因此确保了常数级的查询时间复杂度。
然而在索引表构建过程中,传统的cuckoo哈希方法中在元素的候选位置中随机选择一个位置进行插入与移动。当元素所有候选位置都被占据时,这种随机选择更加剧了哈希寻址的不确定性。在踢出操作中,这种随机选择方案可能会造成踢出路径的重复甚至无限循环,产生大量无效的踢出操作,这将导致元素插入操作中的高时延。
发明内容
针对现有技术的以上缺陷或改进需求,本发明的目的在于提供了一种基于Cuckoo哈希计算的数据存储优化方法及系统,由此解决现有的云存储系统中构建基于Cuckoo哈希索引表时元素插入所导致的踢出路径无限循环的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种基于Cuckoo哈希计算的数据存储优化方法,包括以下步骤:
S1、根据元素属性随机选择两个相互独立的哈希函数计算得到元素在索引表中对应的两个候选哈希桶;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710415853.5/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置