[发明专利]一种哈希表元素失效删除方法有效
申请号: | 201310739486.6 | 申请日: | 2013-12-26 |
公开(公告)号: | CN104077343B | 公开(公告)日: | 2018-08-24 |
发明(设计)人: | 张慧;贺龙涛;李镇;李城龙;王秀文;熊刚;李静;曹首峰;于贺威;王大伟;金暐;李真真 | 申请(专利权)人: | 国家计算机网络与信息安全管理中心;中国科学院信息工程研究所 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京理工大学专利中心 11120 | 代理人: | 仇蕾安 |
地址: | 100029*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种哈希表元素失效删除方法,解决哈希表失效元素及时删除的问题。该方法通过为每个哈希桶提供超时时间Tbucket,为每个关键码提供超时时间Tkey,两个时间粒度进行不同元素插入、查询时,更新每个关键码值Tkey,并将最新访问的关键码值放置到哈希桶最优先访问的位置上,在此过程中,根据哈希桶超时时间Tbucket设定,检查哈希桶上具有相同哈希值的关键码,如果元素超时,即删除失效元素,同时根据哈希桶扫描策略,检查哈希表其他哈希桶元素上的其他关键码值,并删除因超时失效的元素。 | ||
搜索关键词: | 一种 哈希表 元素 失效 删除 方法 | ||
【主权项】:
1.一种哈希表元素失效删除方法,其特征在于:通过为每个哈希桶提供超时时间Tbucket,为每个关键码提供超时时间Tkey,根据两个超时时间粒度进行不同元素插入、查询时,设置插入的关键码值的Tkey或者更新查询的关键码值的Tkey,并将最新访问的关键码值放置到哈希桶最优先访问的位置上,在进行不同元素插入或者查询的过程中,根据哈希桶超时时间Tbucket设定,检查哈希桶上具有相同哈希值的关键码,如果元素超时,即删除失效元素,同时根据哈希表超时扫描操作,检查哈希表其他哈希桶元素上的关键码值,并删除因超时失效的元素;所述的哈希表插入包括如下步骤:(1)根据关键码计算哈希值得到哈希桶位置;(2)遍历哈希桶上具有相同哈希值的关键码,对于每个关键码值:①检查遍历当前位置所指向的关键码值是否超时失效,如果失效,执行②,否则执行③;②删除该关键码值,并将下一个关键码值更新为遍历当前位置所指向的关键码值,继续执行③;③判定遍历当前位置所指向的关键码值和即将插入的关键码值是否相同;如果相同,返回插入失败,结束;如果不同,继续执行①;(3)将即将插入的关键码值放置到该桶的最优先访问位置,并设置关键码值的超时时间;(4)执行哈希表超时扫描操作;所述的哈希表查询操作包括如下步骤:(1)根据关键码计算哈希值得到哈希桶位置;(2)遍历哈希桶上具有相同哈希值的关键码,对于每个关键码值:①检查遍历当前位置所指向的关键码值是否超时失效,如果失效,执行②,否则执行③;②删除该关键码值,并将下一个关键码值更新为遍历当前位置所指向的关键码值,继续执行③;③判定遍历当前位置所指向的关键码值和查询的关键码值是否相同,如果相同,返回关键码值对应的信息,结束;如果不同,继续执行①;(3)将查询的关键码值放置到该桶的最优先访问位置,并更新关键码值的超时时间;(4)执行哈希表超时扫描操作;所述的哈希表超时扫描操作包括如下步骤:(1)获取上次哈希失效扫描的下一个桶位置,桶计数设定为零;(2)如果当前桶还未失效,继续(4),否则执行(3);(3)遍历当前桶上所有关键码值;①检查关键码值是否超时失效,如果失效,执行②,否则执行③;②删除该关键码值,并更新之后关键码值的关系,继续执行③;③获取下一个关键码值;(4)桶计数加一;(5)如果桶计数超过某个阈值,结束;否则,对下一个桶进行扫描,重复步骤(2)~(5)。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国家计算机网络与信息安全管理中心;中国科学院信息工程研究所,未经国家计算机网络与信息安全管理中心;中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310739486.6/,转载请声明来源钻瓜专利网。
- 上一篇:一种用于大数据的排序方法及系统
- 下一篇:一种数据处理的方法及装置