一种关键数据结构的动态重构方法

    公开(公告)号:CN115098497B

    公开(公告)日:2024-11-08

    申请号:CN202210685649.6

    申请日:2022-06-16

    Abstract: 本发明公开了一种关键数据结构的动态重构方法,此方法适用于多种数据结构,以哈希表为例,首先新建一个哈希表,用于存储旧的哈希表中的节点;遍历旧哈希表中每个哈希桶的节点,对于每个节点,首先全局指针指向该节点,此时该节点进入危险期然后将该节点从旧哈希表中删除;根据新的哈希表的哈希函数,确定当前节点在新哈希表中的位置,将当前节点插入到新哈希表中,同步将全局指针设为NULL,当前节点结束危险期状态;重复上述操作,直至旧哈希表中节点数为0,删除旧哈希表。本发明通过动态改变哈希函数来重建哈希表,解决健壮性问题,使用全局指针解决了在重建哈希表的过程中由于伴随着并发的插入、删除以及查询操作所导致的数据短暂丢失的问题。

    一种关键数据结构的动态重构方法

    公开(公告)号:CN115098497A

    公开(公告)日:2022-09-23

    申请号:CN202210685649.6

    申请日:2022-06-16

    Abstract: 本发明公开了一种关键数据结构的动态重构方法,此方法适用于多种数据结构,以哈希表为例,首先新建一个哈希表,用于存储旧的哈希表中的节点;遍历旧哈希表中每个哈希桶的节点,对于每个节点,首先全局指针指向该节点,此时该节点进入危险期然后将该节点从旧哈希表中删除;根据新的哈希表的哈希函数,确定当前节点在新哈希表中的位置,将当前节点插入到新哈希表中,同步将全局指针设为NULL,当前节点结束危险期状态;重复上述操作,直至旧哈希表中节点数为0,删除旧哈希表。本发明通过动态改变哈希函数来重建哈希表,解决健壮性问题,使用全局指针解决了在重建哈希表的过程中由于伴随着并发的插入、删除以及查询操作所导致的数据短暂丢失的问题。

Patent Agency Ranking