【技术实现步骤摘要】
Ropars.2018.An Efficient Wait
‑
Free Resizable Hash Table.In Proceedings of the 30th on Symposium on Parallelism in Algorithms and Architectures(SPAA
’
18)(Vienna,Austria).New York,NY,USA,111
–
120
技术实现思路
[0020]为解决上述现有技术中存在的问题,提供一种哈希表的处理方法,所述哈希表为聚合的可拓展哈希表,包括多个可拓展哈希表,每个可拓展哈希表构成所述聚合的可拓展哈希表的一层,所述可拓展哈希表包括不少于一个的桶,所述桶用于存储键值对数据;所述可拓展哈希表具有相同编号的桶构成所述聚合的可拓展哈希表的一个段;所述聚合的可拓展哈希表包括共享目录,所述共享目录用于管理聚合的可扩展哈希表的全局深度以及段的指针;所述处理方法包括:
[0021]计算输入键值对中键的哈希值H;
[0022]取H的最低G ...
【技术保护点】
【技术特征摘要】
1.一种哈希表的处理方法,所述哈希表为聚合的可拓展哈希表,包括多个可拓展哈希表,每个可拓展哈希表构成所述聚合的可拓展哈希表的一层,所述可拓展哈希表包括不少于一个的桶,所述桶用于存储键值对数据;所述可拓展哈希表具有相同编号的桶构成所述聚合的可拓展哈希表的一个段;所述聚合的可拓展哈希表包括共享目录,所述共享目录用于管理聚合的可扩展哈希表的全局深度以及段的指针;所述处理方法包括:计算输入键值对中键的哈希值H;取H的最低G位为下标,在共享目录中索引相应的指针,获得相应的指针所指向的段;取H的最高log2K位为下标,在段内索引一个桶;在桶内进行线性查找、插入或删除;其中,G为哈希表的全局深度,K为哈希表的层数。2.根据权利要求1所述的处理方法,当插入操作需要一个桶分裂并且共享目录容量不足时,利用全分裂方法扩张哈希表容量,所述全分裂方法包括:生成一个分裂桶所在段的伙伴段,伙伴段中与分裂桶同层的桶构成分裂桶的伙伴桶;将共享目录的容量倍增;将所述伙伴段的指针加入共享目录;将新的键值对插入伙伴桶中,根据键的哈希值迁移分裂桶中的部分键值对到伙伴桶中;将伙伴段的其它后代桶的祖先指针指向其最年轻的祖先桶;将全局深度加1,分裂桶的局部深度加1,将伙伴桶深度设置为与分裂桶相同。3.根据权利要求1所述的处理方法,当插入操作需要一个桶分裂且共享目录容量充足时,利用基础分裂方法扩张容量,所述基础分裂方法包括:生成一个分裂桶所在段的伙伴段,伙伴段中与分裂桶同层的桶构成分裂桶的伙伴桶;将伙伴段的指针加入共享目录;...
【专利技术属性】
技术研发人员:熊子威,蒋德钧,熊劲,
申请(专利权)人:中国科学院计算技术研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。