首页 / 专利库 / 资料储存系统 / 根哈希 / 一种哈希表元素失效删除方法

一种哈希表元素失效删除方法

阅读:533发布:2020-05-12

专利汇可以提供一种哈希表元素失效删除方法专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种哈希表元素失效删除方法,解决哈希表失效元素及时删除的问题。该方法通过为每个哈希桶提供超时时间Tbucket,为每个关键码提供超时时间Tkey,两个时间粒度进行不同元素插入、查询时,更新每个关键码值Tkey,并将最新 访问 的关键码值放置到哈希桶最优先访问的 位置 上,在此过程中,根据哈希桶超时时间Tbucket设定,检查哈希桶上具有相同哈希值的关键码,如果元素超时,即删除失效元素,同时根据哈希桶扫描策略,检查哈希表其他哈希桶元素上的其他关键码值,并删除因超时失效的元素。,下面是一种哈希表元素失效删除方法专利的具体信息内容。

1.一种哈希表元素失效删除方法,其特征在于:通过为每个哈希桶提供超时时间Tbucket,为每个关键码提供超时时间Tkey,两个时间粒度进行不同元素插入、查询时,更新每个关键码值Tkey,并将最新访问的关键码值放置到哈希桶最优先访问的位置上,在此过程中,根据哈希桶超时时间Tbucket设定,检查哈希桶上具有相同哈希值的关键码,如果元素超时,即删除失效元素,同时根据哈希桶扫描策略,检查哈希表其他哈希桶元素上的其他关键码值,并删除因超时失效的元素。
2.如权利要求1所述的一种哈希表元素失效删除方法,其特征在于:所述的哈希表插入包括如下步骤:
(1)根据关键码计算哈希值得到哈希桶位置;
(2)遍历哈希桶上具有相同哈希值的关键码,对于每个关键码值:
①检查关键码值是否超时失效,如果失效,执行②,否则执行③;
②删除该关键码值,并更新之后关键码值的关系,继续执行③;
③判定当前关键码值和即将插入的关键码值是否相同;如果相同,返回插入失败,结束;如果不同,继续执行①;
(3)将即将插入的关键码值放置到该桶的最优先访问位置,并设置关键码值的超时时间;
(4)执行哈希表扫描操作。
3.如权利要求1或2所述的一种哈希表元素失效删除方法,其特征在于:所述的哈希表查询操作包括如下步骤:
(1)根据关键码计算哈希值得到哈希桶位置;
(2)遍历哈希桶上具有相同哈希值的关键码,对于每个关键码值:
①检查关键码值是否超时失效,如果失效,执行②,否则执行③;
②删除该关键码值,并更新之后关键码值的关系,继续执行③;
③判定当前关键码值和查询的关键码值是否相同,如果相同,返回关键码值对应的信息,结束;如果不同,继续执行①;
(3)将查询的关键码值放置到该桶的最优先访问位置,并更新关键码值的超时时间;
(4)执行哈希表扫描操作。
4.如权利要求1或2所述的一种哈希表元素失效删除方法,其特征在于:所述的哈希表删除失效元素操作包括如下步骤:
(1)根据关键码计算哈希值,从而得到哈希桶位置;
(2)遍历哈希桶上具有相同哈希值的关键码,对于每个关键码值:
①检查关键码值是否超时失效,如果失效,执行②,否则执行③;
②删除该关键码值,并更新之后关键码值的关系,继续执行③;
③判定当前关键码值和即将插入的关键码值是否相同;如果相同,删除该元素,并更新具有相同哈希值的关键码的相对关系,如果不同,继续执行①;
(3)执行哈希表扫描操作。
5.如权利要求1或2所述的一种哈希表元素失效删除方法,其特征在于:所述的哈希表超时扫描操作包括如下步骤:
(1)获取上次哈希失效扫描的下一个桶位置,桶计数设定为零;
(2)如果当前桶还未失效,继续(1),否则执行(3);
(3)遍历当前桶上所有关键码值;
①检查关键码值是否超时失效,如果失效,执行②,否则执行③;
②删除该关键码值,并更新之后关键码值的关系,继续执行③;
③获取下一个关键码值;
(4)桶计数加一;
(5)如果桶计数超过某个阈值,结束;否则,继续执行(1)。

说明书全文

一种哈希表元素失效删除方法

技术领域

[0001] 本发明涉及计算机算法领域,涉及一种哈希表元素失效删除方法。

背景技术

[0002] 随着网络信息化在世界范围内不断提高,Internet上的网络节点数以亿计,导致各种网络节点之间的交互关系剧增。而在网络节点行为实时分析时,需要一种快速的定位和操作节点交互行为的方法,同时,由于计算节点的RAM存储量比较小,需要及时删除失效的网络节点交互行为。因此,在分析网络节点行为时,需要一种高效的失效元素删除方法。
[0003] 哈希表又叫散列表,它通过把关键码值映射到表中一个位置访问记录,以加快查找速度,其中映射函数叫做哈希函数。当不同的关键码值映射到同一个地址时,就存在碰撞,而解决碰撞的一个基本方法是采用链表法。对哈希表有三个操作:插入、查询、删除。目前存在的哈希表元素失效(超时)删除方法可以有如下几种:(1)、基于元素生命周期完结触发超时删除方法;(2)、基于优先级队列的超时方法;(3)、基于哈希表元素轮询的超时方法。
[0004] 其中第一种方法由于假设元素具有完整生命周期的特点,导致当元素无失效条件时,将永远无法被删除,第二种方法基于哈希表元素相对较少,优先级队列所占内存相对较少。第三种方法基于对哈希表元素扫描所占时间不足以影响其他操作的实时性。

发明内容

[0005] 为了解决哈希表失效元素及时删除功能,本发明提供了一种哈希表元素失效删除方法。
[0006] 一种哈希表元素失效删除方法,通过为每个哈希桶提供超时时间Tbucket,为每个关键码提供超时时间Tkey,两个时间粒度进行不同元素插入、查询时,更新每个关键码值Tkey,并将最新访问的关键码值放置到哈希桶最优先访问的位置上,在此过程中,根据哈希桶超时时间Tbucket设定,检查哈希桶上具有相同哈希值的关键码,如果元素超时,即删除失效元素,同时根据哈希桶扫描策略,检查哈希表其他哈希桶元素上的其他关键码值,并删除因超时失效的元素。
[0007] 本发明的有益效果:本发明通过为桶和关键码值增加超时失效时间,判定关键码值何时可以被删除。同时对相同桶上的关键码值排序,让最新访问的关键码值放置到最新位置,最旧的关键码值放置到末尾,当删除元素时,快速定位该删除的元素。同时,采用扫描的方法,及时删除其他未访问的桶上的元素,保证哈希表中元素最新,提高存储效率。

具体实施方式

[0008] 本发明通过为每个哈希桶提供超时时间Tbucket,为每个关键码提供超时时间Tkey,两个时间粒度可不同元素插入、查询时,更新每个关键码值Tkey,并将最新访问的关键码值放置到桶最优先访问的位置上,在此过程中,根据桶超时时间Tbucket设定,检查桶上具有相同哈希值的关键码,如果元素超时,即删除失效元素,同时根据桶扫描策略,检查哈希表其他桶元素上的其他关键码值,并删除因超时失效的元素。
[0009] 下面使用具体实施例对本发明提供哈希表插入、查询、删除进行详细描述。
[0010] 哈希表插入操作如下:
[0011] (1)根据关键码计算哈希值,从而得到哈希桶位置。
[0012] (2)遍历哈希桶上具有相同哈希值的关键码。对于每个关键码值:
[0013] ①检查关键码值是否超时失效,如果失效,执行②。否则执行③。
[0014] ②删除该关键码值,并更新之后关键码值的关系,继续执行③。
[0015] ③判定当前关键码值和即将插入的关键码值是否相同。如果相同,返回插入失败,结束。如果不同,继续执行①。
[0016] (3)将即将插入的关键码值放置到该桶的最优先访问位置,并设置关键码值的超时时间。
[0017] (4)执行哈希表扫描操作。
[0018] 哈希表查询操作如下:
[0019] (1)根据关键码计算哈希值,从而得到哈希桶位置。
[0020] (2)遍历哈希桶上具有相同哈希值的关键码。对于每个关键码值:
[0021] ①检查关键码值是否超时失效,如果失效,执行②。否则执行③。
[0022] ②删除该关键码值,并更新之后关键码值的关系,继续执行③。
[0023] ③判定当前关键码值和查询的关键码值是否相同。如果相同,返回关键码值对应的信息,结束。如果不同,继续执行①。
[0024] (3)将查询的关键码值放置到该桶的最优先访问位置,并更新关键码值的超时时间。
[0025] (4)执行哈希表扫描操作。
[0026] 哈希表删除操作如下:
[0027] (1)根据关键码计算哈希值,从而得到哈希桶位置。
[0028] (2)遍历哈希桶上具有相同哈希值的关键码。对于每个关键码值:
[0029] ①检查关键码值是否超时失效,如果失效,执行②。否则执行③。
[0030] ②删除该关键码值,并更新之后关键码值的关系,继续执行③。
[0031] ③判定当前关键码值和即将插入的关键码值是否相同。如果相同,删除该元素,并更新具有相同哈希值的关键码的相对关系。如果不同,继续执行①。
[0032] (3)执行哈希表扫描操作。
[0033] 哈希表超时扫描操作:
[0034] (1)获取上次哈希失效扫描的下一个桶位置,桶计数设定为零。
[0035] (2)如果当前桶还未失效,继续(1),否则执行(3)。
[0036] (3)遍历当前桶上所有关键码值。
[0037] ①检查关键码值是否超时失效,如果失效,执行②。否则执行③。
[0038] ②删除该关键码值,并更新之后关键码值的关系,继续执行③。
[0039] ③获取下一个关键码值。
[0040] (4)桶计数加一。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈