CN115048402A - 带时效的自适应动态数据集合成员插入、删除及检索方法 - Google Patents

带时效的自适应动态数据集合成员插入、删除及检索方法 Download PDF

Info

Publication number
CN115048402A
CN115048402A CN202210978406.1A CN202210978406A CN115048402A CN 115048402 A CN115048402 A CN 115048402A CN 202210978406 A CN202210978406 A CN 202210978406A CN 115048402 A CN115048402 A CN 115048402A
Authority
CN
China
Prior art keywords
area
information storage
bit
fingerprint
judgment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210978406.1A
Other languages
English (en)
Other versions
CN115048402B (zh
Inventor
李斌勇
邓显辉
张少伟
杨帆
邓良明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu University of Information Technology
Original Assignee
Chengdu University of Information Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu University of Information Technology filed Critical Chengdu University of Information Technology
Priority to CN202210978406.1A priority Critical patent/CN115048402B/zh
Publication of CN115048402A publication Critical patent/CN115048402A/zh
Application granted granted Critical
Publication of CN115048402B publication Critical patent/CN115048402B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种带时效的自适应动态数据集合成员插入、删除及检索方法,预先建立用于存储集合成员指纹信息的布谷鸟过滤器以及3个邻接表,并根据待插入成员、待删除成员以及待检索成员是否处于对应的布谷鸟过滤器以及3个邻接表中,通过哈希桶进行判定,以执行对应的插入、删除及检索操作,本发明为每个集合成员设置了一个时效因子,不仅可以大大降低了“僵尸”成员的数量,同时相比于现有技术,可以进一步地降低发生重定位操作的频率以及提高集合空间的使用率,进而提高集合成员的管理效率。

Description

带时效的自适应动态数据集合成员插入、删除及检索方法
技术领域
本发明涉及计算机信息表示与检索技术领域,具体的说,涉及一种带时效的自适应动态数据集合成员插入、删除及检索方法。
背景技术
高效的数据集合表示与完善的集合成员管理是当今数据时代所存在的两个核心的问题。然而,随着数据集的不断膨胀,当数据以完整姿态进行存储时,不仅会导致存储空间的开销呈爆炸式增长,而且还会导致数据集管理过程中所进行的操作如判定数据是否存在、更新数据内容和删除数据等操作所花费的时间开销呈爆炸式增长,且这其中的时空开销是我们所无法接受的。因此,为了解决上述问题,我们需要设计一种满足存储空间开销小、数据成员的快速插入、数据成员的快速判定和数据成员的快速更新以及删除等时间开销小的集合成员管理方法。目前集合成员的数据集合表示与判定技术主要是采用一下三种技术发明:(1)基于布隆过滤器bloom filter以及它的相关变种的集合成员表示与判定技术;该技术是静态实现,通过布尔值来标识集合成员的存在,虽然保证了时间和空间的效率,但是不支持集合成员的删除这类操作,因此无法满足数据动态更新的情况。(2)基于动态布隆过滤器dynamic bloom filter的集合成员表示与判定技术及其变种技术;该技术通过链表这类数据结构来实现集合大小的动态伸缩变换以解决空间使用效率的问题,但是在面对删除成员这类操作问题上,尤其是在数据动态更新变换频率高的情况下,删除成员操作会导致成员判定操作的错误率大大提高,甚至可能导致整个链表失效。(3)基于布谷鸟过滤器cuckoo filter的集合成员表示与判定技术;cuckoo filter通过两个特定的HASH函数计算出集合成员指纹信息存储在特定的表中来标识集合成员,并通过匹配指纹信息来判定集合成员。虽然现有技术在一定程度上解决了集合成员的管理问题,然而,现有技术在管理集合成员时,面临着以下几类问题:
(1)现有的集合成员管理方法没有考虑到时效的概念;即在不断膨胀的数据集合中,除了集合成员的拥有者可以对其进行删除操作之外,没有任何人可以对所述集合成员进行删除等管理操作,即便所述集合成员已经不再使用,但如果集合成员的拥有者没有将其删除,那么所述集合成员还是被存储在所述数据集合之中,进而慢慢地就成为了一个“僵尸”成员占据着集合的存储空间。当这类“僵尸”成员的数据逐渐增长时,集合的存储空间就会越发吃紧,那么随之出现的问题就是:集合成员判定的时效将逐渐变低以及在插入新的集合成员时,重定位操作的次数将愈发增多,进而导致整个集合成员的管理效率变得非常地下。也就是说,就算不断的扩展数据集合的存储空间,如果“僵尸”成员不被清除,那么重定位操作次数不断增长的问题依然得不到解决,同时数据集合的存储空间也将被大量的浪费,进而导致存储效率变得非常低下;
(2)现有的集合成员管理方法并没有很好地体现出其在管理集合成员时的动态性。在现有技术中,大部分集合成员管理方法在体现其动态地管理能力时,几乎都是考虑如何动态地扩展集合存储空间,进而尽可能地降低集合成员在插入时所导致的高频率的重定位操作问题出现。然而,虽然上述方案在一定程度上可以缓解高频率的重定位操作的情况方案,但是正如第(1)所说那样,如果“僵尸”成员不被清除,那么高频率的重定位操作的问题依然得不到解决,同时不断扩展的集合存储空间也将被大量的浪费;与此同时,这类动态集合成员管理方法虽然可以动态地扩展了集合的存储空间,但是无法动态地根据集合成员当前的实际情况来对其进行管理,即根据集合成员当前的实际情况自适应地选择合适的处理方法对其进行包括删除以及更新在内的操作,进而大大地缓解人工维护数据集合的压力,同时提高集合成员的管理效率;
(3)存储方式单一。在现有的集合成员管理方法中,几乎都是固定一种数据结构作为存储集合成员的结构,如大部分集合成员方法在管理集合成员时,只选用了布谷鸟过滤器这个数据结构来存储集合成员指纹信息,并没有引入其它类型的数据结构。这不仅不利于管理处于不同状态下的集合成员,同时还可能在一定程度上降低集合成员管理的效率以及浪费大量的存储空间;例如,当某个集合成员被高频次地访问时,所述集合成员在后续的访问活动中被再次访问的概率将比普通集合成员高,那么当用户再次访问所述集合成员时,现有集合成员管理方法依然会采用常规的集合成员判定方法对其进行判定,并没有为所述被高访问的集合成员设立一个特定的访问渠道来提高访问所述集合成员的效率;又例如,当有学者考虑到上述问题之后,进而在原有的存储机构的基础之上,为被高访问的集合成员专门扩充了一个相同基础结构的存储机构来存储这类集合成员,但是面临的问题就是:由于这类被高访问的集合成员的数量远少于普通集合成员的数量,那么,采用存储普通集合成员的存储结构来存储这类特殊情况下的集合成员时,会在一定程度上造成空间上的浪费,同时空间利用率也是非常的低。
发明内容
本发明提供一种带时效的自适应动态数据集合成员插入、删除及检索方法,以解决背景技术中所提出的问题。
本发明的具体技术方案如下:
根据本发明的第一方面,提供一种带时效的自适应动态数据集合成员插入方法,所述方法包括以下步骤:
步骤1、预先建立用于存储集合成员指纹信息的布谷鸟过滤器以及3个邻接表,并将布谷鸟过滤器命名为主区,3个邻接表分别命名为交换区、过期区以及缓冲区,其中,主区用于存储暂未进入过期过渡期的集合成员,交换区用于存储发生了两次重定位操作且暂未进入过期过渡期的集合成员,过期区用于存储已经进入过期过渡期但还未过期的集合成员,缓冲区用于存储被访问命中次数达到预设访问次数阈值且未过期的集合成员;
分别为主区、交换区、过期区以及缓冲区中的每一个哈希桶维护一个控制区,其中,所述控制区的参数项包括重定位率、主区成员个数、交换区成员个数、过期区成员个数、缓冲区成员个数以及主区建议插入位置;
针对主区中每一个哈希桶,其插入位区的每个插入槽位的存储单位为一个由指纹对标位、指纹验证位、重定位计数位、有效期标识位以及命中次数计数位所构成的主区信息存储标签;
针对交换区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位、命中次数计数位以及指针位所构成的交换区信息存储标签;
针对过期区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位以及指针位所构成的过期区信息存储标签;针对缓冲区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位、区位标识位以及指针位所构成的缓冲区信息存储标签;
所述主区信息存储标签、交换区信息存储标签和过期区信息存储标签为主信息存储标签,所述缓冲区信息存储标签为副信息存储标签,未过期的集合成员对应有且只有一个主信息存储标签和一个副信息存储标签;
步骤2、插入时,判定待插入集合成员是否已经存在于主区、缓冲区、过期区以及交换区的插入位区中:
若存在,则插入操作结束;
若不存在,则选择两个哈希候选桶中主区成员个数最少的一个哈希候选桶作为判定桶来进行插入操作;
插入操作时,根据控制区所关联插入桶的主区建议插入位置所指示的插入槽位进行插入,判断当前插入槽位是否为空白槽位:
若是,则根据主区建议插入位置将待插入集合成员的主区信息存储标签插入所述槽位中,扫描主区所关联插入桶的插入位区并根据扫描结果更新控制区中的数据;
若否,则根据主区建议插入位置所指的插入槽位中现存的主区信息存储标签的有效期标识位中的时效标识值来判断下一步的操作流程:
若所述主区建议插入位置所指的插入槽位中现存的主区信息存储标签的有效期标识位中的时效标识值标识该主区信息存储标签未进入过期过渡期,且所述待插入集合成员的主区信息存储标签也未进入过期过渡期,则进入重定位操作;
若所述主区建议插入位置所指的插入槽位中现存的主区信息存储标签的有效期标识位中的时效标识值标识该主区信息存储标签已经进入过期过渡期但未过期,则将该主区信息存储标签更换至交换区中,然后再将待插入集合成员的主区信息存储标签插入所述主区建议插入位置所指的插入槽位中,最后扫描主区所关联插入桶的插入位区并根据扫描结果更新控制区中的数据;
若所述主区建议插入位置所指的插入槽位中现存的主区信息存储标签的有效期标识位中的时效标识值标识该主区信息存储标签已经过期,则直接将待插入集合成员的主区信息存储标签插入所述主区建议插入位置所指的插入槽位中,最后扫描主区所关联插入桶的插入位区并根据扫描结果更新控制区中的数据。
根据本发明的第二方面,提供一种带时效的自适应动态数据集合成员删除方法,所述方法包括以下步骤:
步骤Ⅰ、预先建立用于存储集合成员指纹信息的布谷鸟过滤器以及3个邻接表,并将布谷鸟过滤器命名为主区,3个邻接表分别命名为交换区、过期区以及缓冲区,其中,主区用于存储暂未进入过期过渡期的集合成员,交换区用于存储发生了两次重定位操作且暂未进入过期过渡期的集合成员,过期区用于存储已经进入过期过渡期但还未过期的集合成员,缓冲区用于存储被访问命中次数达到预设访问次数阈值且未过期的集合成员;
分别为主区、交换区、过期区以及缓冲区中的每一个哈希桶维护一个控制区,其中,所述控制区的参数项包括重定位率、主区成员个数、交换区成员个数、过期区成员个数、缓冲区成员个数以及主区建议插入位置;
针对主区中每一个哈希桶,其插入位区的每个插入槽位的存储单位为一个由指纹对标位、指纹验证位、重定位计数位、有效期标识位以及命中次数计数位所构成的主区信息存储标签;
针对交换区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位、命中次数计数位以及指针位所构成的交换区信息存储标签;
针对过期区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位以及指针位所构成的过期区信息存储标签;针对缓冲区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位、区位标识位以及指针位所构成的缓冲区信息存储标签;
所述主区信息存储标签、交换区信息存储标签和过期区信息存储标签为主信息存储标签,所述缓冲区信息存储标签为副信息存储标签,未过期的集合成员对应有且只有一个主信息存储标签和一个副信息存储标签;
步骤Ⅱ、删除时,判定待删除集合成员是否存在于主区、缓冲区、过期区以及交换区的插入位区中:
若不存在,则返回删除失败的标识,删除操作结束;
若存在,则根据待删除成员所在位区的情况进行删除操作:
如果待删除集合成员所在插入位区分别为缓冲区和主区,则首先删除位于缓冲区的插入位区中关联所述待删除集合成员的缓冲区信息存储标签,然后删除位于主区的插入位区中关联所述待删除集合成员的主区信息存储标签,并将所述主区信息存储标签所在插入槽位置为NULL,最后更新控制区中相应项目的数据,返回删除失败的标识,删除操作结束;
如果待删除集合成员所在插入位区分别为缓冲区和交换区,则首先删除位于缓冲区的插入位区中关联所述待删除集合成员的缓冲区信息存储标签,然后删除位于交换区的插入位区中关联所述待删除集合成员的交换区信息存储标签,最后更新控制区中相应项目的数据,返回删除失败的标识,删除操作结束;
如果待删除集合成员所在插入位区分别为缓冲区和过期区,则首先删除位于缓冲区的插入位区中关联所述待删除集合成员的缓冲区信息存储标签,然后删除位于过期区的插入位区中关联所述待删除集合成员的过期区信息存储标签,最后更新控制区中相应项目的数据,返回删除失败的标识,删除操作结束;
如果待删除集合成员所在插入位区只位于主区,则删除主区的插入位区中关联所述待删除集合成员的主区信息存储标签,并将所述主区信息存储标签所在插入槽位置为NULL,更新控制区中相应项目的数据,返回删除失败的标识,删除操作结束;
如果待删除集合成员所在插入位区只位于交换区,则删除交换区的插入位区中关联待删除集合成员的交换区信息存储标签,并更新控制区中相应项目的数据,返回删除失败的标识,删除操作结束;
如果待删除集合成员所在插入位区只位于过期区,则删除过期区的插入位区中关联所述待删除集合成员的过期区信息存储标签,并更新控制区中相应项目的数据,返回删除失败的标识,删除操作结束。
根据本发明的第三方面,提供一种带时效的自适应动态数据集合成员检索方法,所述方法包括以下步骤:
步骤A、预先建立用于存储集合成员指纹信息的布谷鸟过滤器以及3个邻接表,并将布谷鸟过滤器命名为主区,3个邻接表分别命名为交换区、过期区以及缓冲区,其中,主区用于存储暂未进入过期过渡期的集合成员,交换区用于存储发生了两次重定位操作且暂未进入过期过渡期的集合成员,过期区用于存储已经进入过期过渡期但还未过期的集合成员,缓冲区用于存储被访问命中次数达到预设访问次数阈值且未过期的集合成员;
分别为主区、交换区、过期区以及缓冲区中的每一个哈希桶维护一个控制区,其中,所述控制区的参数项包括重定位率、主区成员个数、交换区成员个数、过期区成员个数、缓冲区成员个数以及主区建议插入位置;
针对主区中每一个哈希桶,其插入位区的每个插入槽位的存储单位为一个由指纹对标位、指纹验证位、重定位计数位、有效期标识位以及命中次数计数位所构成的主区信息存储标签;
针对交换区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位、命中次数计数位以及指针位所构成的交换区信息存储标签;
针对过期区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位以及指针位所构成的过期区信息存储标签;针对缓冲区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位、区位标识位以及指针位所构成的缓冲区信息存储标签;
所述主区信息存储标签、交换区信息存储标签和过期区信息存储标签为主信息存储标签,所述缓冲区信息存储标签为副信息存储标签,未过期的集合成员对应有且只有一个主信息存储标签和一个副信息存储标签;
步骤B、检索时,按缓冲区、主区、交换区以及过期区的顺序在所述布谷鸟过滤器以及3个邻接表中检索待检索集合成员:
如果命中待检索集合成员的信息存储标签且所述信息存储标签未过期,则返回检索成功的标识;
如果在缓冲区、主区、交换区以及过期区的插入位区中未命中待检索集合成员的信息存储标签,则返回检索失败的标识;
如果命中待检索集合成员的信息存储标签但该信息存储标签已过期,则将缓冲区、主区、交换区以及过期区的插入位区中所有与待检索集合成员相关联的信息存储标签删除,同时更新控制区所关联待检索集合成员现所在哈希桶的相关数据并返回检索失败的标识;
如果命中待检索集合成员的信息存储标签但所述信息存储标签已进入过期过渡期,且所述信息存储标签的类型只为主区信息存储标签和交换区信息存储标签中的一种,则首先返回检索成功的标识,然后将待检索集合成员的信息存储标签从主区或者交换区的插入位区中删除,然后将待检索集合成员的信息存储标签的类型更变为过期区信息存储标签并插入过期区的插入位区中,最后更新控制区的相关数据;
如果首次命中的待检索成员的信息存储标签非缓冲区信息存储标签,且所述信息存储标签未进入过期过渡期以及标签中的命中次数计数位所填充的计数值等于或者超过高访问次数阈值时,则为所述待检索集合成员生成一个新的缓冲区信息存储标签并将其插入缓冲区的插入位区中,并更新控制区的相关项目的数据。
本发明至少具有以下技术效果:
(1)本发明为每个集合成员设置了一个时效因子,不仅可以大大降低了“僵尸”成员的数量,同时相比于现有技术,可以进一步地降低发生重定位操作的频率以及提高集合空间的使用率,进而提高集合成员的管理效率;
(2)本发明所提出的一种带时效的自适应动态数据集合成员管理方法,结合了布谷鸟过滤器和邻接表这两种数据结构,并在结合本发明所提出的四类信息存储标签的情况下,相比于现有技术,不仅可以实现对不同状态下的集合成员的有效管理,同时可以在一定程度上提高集合成员管理的效率以及数据集合空间的利用率,而且也可以在一定程度上降低集合成员发生重定位操作的频率;
(3)本发明所提出的一种带时效的自适应动态数据集合成员管理方法,可以在管理集合成员的过程中,根据集合成员当前的状态自适应选择管理方法对所述集合成员进行包括删除以及更新操作在内的集合成员管理操作,同时在一定程度上可以降低人工管理集合成员的压力以及提高集合成员管理的动态性和高效性。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1为本发明实施列的集合成员管理方法中主区的结构图。
图2为本发明实施列的集合成员管理方法中主区信息存储标签的结构图。
图3为本发明实施列的集合成员管理方法中过期区的结构图。
图4为本发明实施列的集合成员管理方法中缓冲区的结构图。
图5为本发明实施列的集合成员管理方法中交换区的结构图。
图6为本发明实施列的集合成员管理方法中控制区的具体细节图。
具体实施方式
下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定发明。
现在结合说明书附图对本发明做进一步的说明。
如图1-6所示,本发明实施例提供了一种带时效的自适应动态数据集合成员插入方法,其特征以及所述方法包括以下步骤:
步骤1、预先建立用于存储集合成员指纹信息的布谷鸟过滤器以及3个邻接表,并将布谷鸟过滤器命名为主区,3个邻接表分别命名为交换区、过期区以及缓冲区,其中,主区用于存储暂未进入过期过渡期的集合成员,交换区用于存储发生了两次重定位操作(第二次重定位操作时的存储目标即为交换区)且暂未进入过期过渡期的集合成员,过期区用于存储已经进入过期过渡期但还未过期的集合成员,而缓冲区用于存储被访问命中次数达到高访问次数阈值且未过期的集合成员。与此同时,分别为主区、交换区、过期区以及缓冲区中的每一个哈希桶维护一个控制区,其中,所述控制区的参数项包括重定位率、主区成员个数、交换区成员个数、过期区成员个数、缓冲区成员个数以及主区建议插入位置;且针对主区中每一个哈希桶,其插入位区的每个插入槽位的存储单位为一个由指纹对标位、指纹验证位、重定位计数位、有效期标识位以及命中次数计数位所构成的主区信息存储标签;针对交换区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位、命中次数计数位以及指针位所构成的交换区信息存储标签;针对过期区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位以及指针位所构成的过期区信息存储标签;而针对缓冲区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位、区位标识位以及指针位所构成的缓冲区信息存储标签。需要注意的是,所述主区信息存储标签、交换区信息存储标签和过期区信息存储标签为主信息存储标签,而缓冲区信息存储标签为副信息存储标签,即针对同一个未过期的集合成员,其可以同时拥有一个主信息存储标签和副信息存储标签,而不能同时拥有两个及以上的主信息存储标签,以及不能同时拥有两个及以上的副信息存储标签;
步骤2、插入时,采用一种带时效的自适应动态数据集合成员Ⅰ类判定方法判定待插入集合成员是否已经存在于主区、缓冲区、过期区以及交换区的插入位区中,若存在则插入操作结束,若不存在则选择两个哈希候选桶中主区成员个数最少的一个哈希候选桶作为判定桶来进行插入操作(如果所述两个哈希候选桶的主区成员个数相等,则随机选择),插入操作时,根据控制区所关联插入桶的主区建议插入位置所指示的插入槽位进行插入,若此时所述插入槽位为空白槽位,则根据主区建议插入位置将待插入集合成员的主区信息存储标签插入所述槽位中,最后扫描主区所关联插入桶的插入位区并根据扫描结果更新控制区中的数据,否则,需要根据所述主区建议插入位置所指的插入槽位中现存的主区信息存储标签的有效期标识位中的时效标识值来判断下一步的操作流程,即如果所述主区信息存储标签未进入过期过渡期,且所述待插入集合成员的另一个哈希候选桶同样也如此,则进入重定位操作;如果所述主区信息存储标签已经进入过期过渡期但未过期,则需要将其更换至交换区中,然后再将待插入集合成员的主区信息存储标签插入所述主区建议插入位置所指的插入槽位中,最后扫描主区所关联插入桶的插入位区并根据扫描结果更新控制区中的数据;而如果所述主区建议插入位置所指的插入槽位中现存的主区信息存储标签的有效期标识值标识该主区信息存储标签已经过期,则直接将待插入集合成员的主区信息存储标签插入所述主区建议插入位置所指的插入槽位中,最后扫描主区所关联插入桶的插入位区并根据扫描结果更新控制区中的数据。
在一些实施例中,为提供一种插入时的较为详细的步骤,具体如下:
步骤1中,在所述主区的插入位区中,每个哈希桶的插入槽位个数记为
Figure 857261DEST_PATH_IMAGE001
。在所述 信息存储标签中,指纹对标位的存储长度为8位;指纹验证位的存储长度为8位;有效期标识 位的存储长度可扩展;重定位计数位的存储长度为8位,命中次数计数位的存储长度为16 位;区位标识位的存储长度为8位;而所述指针位的存储大小则根据操作系统的机器字长来 动态决定。需要注意的是,首先,所述重定位计数位所存储的合法值包括数值0以及数值1, 其分别表示该信息存储标签被重定位操作了0次以及1次,同时当重定位计数等于1的信息 存储标签再次被重定位操作时,则表明该信息存储标签需要被存储进入交换区中,进而避 免陷入重定位循环中;其次,所述区位标识位所存储的合法值包括Z、G和J这三个标识,其 中,合法值Z标识该缓冲区信息存储标签所关联的主信息存储标签为主区信息存储标签,合 法值G标识该缓冲区信息存储标签所关联的主信息存储标签为过期区信息存储标签,而合 法值J标识该缓冲区信息存储标签所关联的主信息存储标签为交换区信息存储标签。对于 所述过期过渡期,其具体表示为:
Figure 176246DEST_PATH_IMAGE002
其中,
Figure 281606DEST_PATH_IMAGE003
表示执行一种带时效的自适应动态数据集合成员Ⅰ类判定方法时的 系统时间;
Figure 27845DEST_PATH_IMAGE003
表示主区信息存储标签的被生成时的系统时间,其存储于主区信息存储 标签以及与之相关联的其余信息存储标签的有效期标识位中;
Figure 851444DEST_PATH_IMAGE004
表示过期过 渡期的进入阈值;而
Figure 708542DEST_PATH_IMAGE005
表示过期过渡期的整体时长。此时,如果
Figure 668408DEST_PATH_IMAGE006
,则说明信息存储标签已经过期;如果
Figure 851127DEST_PATH_IMAGE007
,则说明信息存储标签已经进入过期过渡 期但未过期。对于所述高访问次数阈值,其被记为
Figure 896444DEST_PATH_IMAGE008
;当主区信息存储标签以 及交换区信息存储标签中命中次数计数位的计数值大于或者等于
Figure 557232DEST_PATH_IMAGE008
时,则说 明所述主区信息存储标签以及交换区信息存储标签已经属于被高访问的信息存储标签,此 时,由于本文规定集合成员判定时首先查询的区域为缓冲区,因此需要生成的一个关联所 述主区信息存储标签以及交换区信息存储标签的副信息存储标签即缓冲区信息存储标签, 然后将其插入缓冲区的插入位区中,进而提高访问效率。
在一些实施例中,所述步骤2包括以下具体步骤:
步骤201、插入时,通过哈希函数计算得到待插入集合成员
Figure 637184DEST_PATH_IMAGE009
的哈希值
Figure 725225DEST_PATH_IMAGE010
(假设
Figure 257838DEST_PATH_IMAGE010
的长度为H位)以及对应的两个哈希候选桶
Figure 722317DEST_PATH_IMAGE011
Figure 391196DEST_PATH_IMAGE012
,然后从哈希值
Figure 650139DEST_PATH_IMAGE010
中提取第1位、第2位、第 (H/2)-1位、第(H/2)位、第(H/2)+1位、第(H-1)位、第H位以及第(H/4)位的二进制数字按顺 序拼接成为一个长度为8位的指纹对标信息并记为
Figure 670048DEST_PATH_IMAGE013
,同时采用对称压缩算法将待插入集 合成员
Figure 174103DEST_PATH_IMAGE009
的哈希值
Figure 963068DEST_PATH_IMAGE010
压缩成为长度为H/4位的指纹验证信息并记为
Figure 658491DEST_PATH_IMAGE014
步骤202、采用一种带时效的自适应动态数据集合成员Ⅰ类判定方法判断
Figure 165696DEST_PATH_IMAGE013
Figure 706399DEST_PATH_IMAGE014
所共存的一个信息存储标签是否存储于缓冲区、主区、交换区或者过期区所关联两个哈希 候选桶
Figure 349870DEST_PATH_IMAGE011
Figure 950616DEST_PATH_IMAGE012
的插入位区中,如果存在,则返回插入失败的标识,然后插入操作结束,否则 进入步骤203;
步骤203、读取控制区中关联两个哈希候选桶
Figure 945116DEST_PATH_IMAGE011
Figure 289510DEST_PATH_IMAGE012
的主区成员个数(分别记作
Figure DEST_PATH_IMAGE015
Figure 318646DEST_PATH_IMAGE016
)并判断;如果
Figure DEST_PATH_IMAGE017
,则跳转至步骤204;如果
Figure 355872DEST_PATH_IMAGE018
, 则跳转至步骤207;
步骤204、如果哈希候选桶
Figure 572090DEST_PATH_IMAGE011
还未被作为判定桶,则选择哈希候选桶
Figure 720174DEST_PATH_IMAGE011
作为判定 桶,然后读取控制区所关联哈希候选桶
Figure 338237DEST_PATH_IMAGE011
的主区建议插入位置并判断:如果所述主区建议 插入位置所指插入槽位未填充主区信息存储标签,则跳转至步骤205;否则,跳转至步骤 207;而如果哈希候选桶
Figure 546365DEST_PATH_IMAGE012
和哈希候选桶
Figure 249879DEST_PATH_IMAGE011
已经被作为判定桶进行了判定操作,则首先分别 定义一个存储单位为主区信息存储标签的变量temp和存储单位为缓冲区信息存储标签的 变量temph,然后分别将指纹对标信息
Figure DEST_PATH_IMAGE019
、指纹验证信息
Figure 700189DEST_PATH_IMAGE020
、计数值0、标签生成时的时 间值
Figure 438338DEST_PATH_IMAGE021
以及计数值0填充至变量temp的指纹对标位、指纹验证位、重定位计数位、有效期 标识位以及命中次数计数位中,然后进入重定位操作;
步骤205、首先生成一个新的主区信息存储标签,然后分别将指纹对标信息
Figure 551788DEST_PATH_IMAGE019
、 指纹验证信息
Figure 742598DEST_PATH_IMAGE020
、计数值0、标签生成时的时间值
Figure 232485DEST_PATH_IMAGE021
以及计数值0填充至所述主区信 息存储标签中的指纹对标位、指纹验证位、重定位计数位、有效期标识位以及命中次数计数 位中,然后插入主区所关联判定桶的所述控制区所关联判定桶的主区建议插入位置所指的 插入槽位中,然后更新控制区所关联判断桶的主区成员个数,即将主区成员个数+1,然后返 回插入成功的标识并跳转至步骤206;
步骤206、按序扫描主区所关联判定桶的插入槽位情况;如果扫描结束前首先发现 有空的插入槽位,则首先将命中的空槽位的槽位号记作
Figure 559561DEST_PATH_IMAGE022
,然后更新控制区所关联 判定桶中的主区建议插入位置信息,即将主区建议插入位置设置为
Figure 109491DEST_PATH_IMAGE022
,然后插入操 作结束;如果扫描结束前首先发现有主区信息存储标签已经进入过期过渡期(记所述已进 入过期过渡期的主区信息存储标签所在插入槽位为
Figure 787597DEST_PATH_IMAGE023
),则首先生成一个新 的过期区信息存储标签(记作
Figure 81175DEST_PATH_IMAGE024
),然后将所述已经进入过期过渡期的主区 信息存储标签中对应的数据迁移至
Figure 528337DEST_PATH_IMAGE024
对应的填充位中,然后将
Figure 983589DEST_PATH_IMAGE024
插入过期区所关联判定桶的插入位区中,然后删除所述已经进入过期过 渡期的主区信息存储标签以将
Figure 883412DEST_PATH_IMAGE023
置为NULL,然后更新控制区所关联判定桶的过 期区成员个数以及主区建议插入位置,即将过期区成员个数+1以及将主区建议插入位置设 置为
Figure 715102DEST_PATH_IMAGE023
,然后判定缓冲区所关联判定桶的插入位区中是否存在与
Figure 282349DEST_PATH_IMAGE024
相匹配的缓冲区信息存储标签:如果存在,则将所述相匹配的缓冲区信 息存储标签的区位标识位中的区位标识由Z修改为G,插入操作结束;否则,插入操作结束; 而如果扫描结束前首先发现有主区信息存储标签已经过期(记所述已过期的主区信息存储 标签所在插入槽位为
Figure 908503DEST_PATH_IMAGE023
),则首先删除所述已过期的主区信息存储标签以将
Figure 561201DEST_PATH_IMAGE023
置为NULL,然后判定缓冲区所关联判定桶的插入位区中是否存在与已过期的 主区信息存储标签相匹配的缓冲区信息存储标签:如果存在,则将所述相匹配的缓冲区信 息存储标签删除,然后更新控制区所关联判定桶的主区成员个数、缓冲区成员个数以及主 区建议插入位置,即将主区成员个数-1、将缓冲区成员个数-1以及将主区建议插入位置设 置为
Figure 196582DEST_PATH_IMAGE023
,插入操作结束;否则,直接更新控制区所关联判定桶的主区成员个数 以及主区建议插入位置,即将主区成员个数-1以及将主区建议插入位置设置为
Figure 854221DEST_PATH_IMAGE023
,插入操作结束;而如果扫描结束前未发现有主区信息存储标签已经进入 过期过渡期或者过期,则根据扫描结果更新控制区所关联判定桶的主区建议插入位置,即 将主区建议插入位置设置为最接近进入过期过渡期的主区信息存储标签(如果存在多个这 类的主区信息存储标签,则随机选择),插入操作结束;
步骤207、如果哈希候选桶
Figure DEST_PATH_IMAGE025
还未被作为判定桶,选择哈希候选桶
Figure 182434DEST_PATH_IMAGE025
作为判定桶, 然后读取控制区所关联判定桶的主区建议插入位置并判断:如果所述主区建议插入位置所 指插入槽位未填充主区信息存储标签,则跳转至步骤205;否则,跳转至步骤204;而如果哈 希候选桶
Figure 791270DEST_PATH_IMAGE025
和哈希候选桶
Figure 230342DEST_PATH_IMAGE026
已经被作为判定桶进行了判定操作,则首先分别定义一个存 储单位为主区信息存储标签的变量temp和存储单位为缓冲区信息存储标签的变量temph, 然后分别将指纹对标信息
Figure DEST_PATH_IMAGE027
、指纹验证信息
Figure 772182DEST_PATH_IMAGE028
、计数值0、标签生成时的时间值
Figure DEST_PATH_IMAGE029
以 及计数值0填充至变量temp的指纹对标位、指纹验证位、重定位计数位、有效期标识位以及 命中次数计数位中,然后进入重定位操作;
具体地,为了说明如何通过哈希函数计算得到待插入集合成员
Figure 271296DEST_PATH_IMAGE030
的哈希值
Figure 633007DEST_PATH_IMAGE031
以 及对应的两个哈希桶
Figure 610191DEST_PATH_IMAGE026
Figure 475378DEST_PATH_IMAGE025
,则在步骤201中,所述通过哈希函数计算得到待插入集合成 员
Figure 879815DEST_PATH_IMAGE030
的哈希值
Figure 728822DEST_PATH_IMAGE031
以及对应的两个哈希桶
Figure 244117DEST_PATH_IMAGE026
Figure 494970DEST_PATH_IMAGE025
具体为:
Figure 70308DEST_PATH_IMAGE032
Figure DEST_PATH_IMAGE033
Figure 182444DEST_PATH_IMAGE034
其中,
Figure 501430DEST_PATH_IMAGE035
Figure 341210DEST_PATH_IMAGE036
为哈希函数;
具体地,为了说明如何采用对称压缩算法将待插入集合成员
Figure DEST_PATH_IMAGE037
的哈希值
Figure 353029DEST_PATH_IMAGE038
压缩 成为长度为H/4为的指纹验证信息
Figure DEST_PATH_IMAGE039
,则在步骤201中,所述采用对称压缩算法将待插入 集合成员
Figure 176628DEST_PATH_IMAGE037
的哈希值
Figure 299305DEST_PATH_IMAGE038
压缩成为长度为H/4位的指纹验证信息
Figure DEST_PATH_IMAGE041
具体为:
Figure 259171DEST_PATH_IMAGE042
其中,“
Figure 176311DEST_PATH_IMAGE043
”为“与”逻辑运算符;“
Figure 487207DEST_PATH_IMAGE044
”为异或逻辑运算符;
Figure 147995DEST_PATH_IMAGE045
表示由哈希值
Figure 962367DEST_PATH_IMAGE046
的前H/4位的二进制数字所组成的长度为H/4位的二进制序列;
Figure 315988DEST_PATH_IMAGE047
表示由哈希值
Figure 583022DEST_PATH_IMAGE046
的第((H/4) +1)位到第H/2位的二进制数字所组成的长度为H/4位的二进制序列;
Figure 47501DEST_PATH_IMAGE048
表示由哈希值
Figure 716380DEST_PATH_IMAGE046
的第((H/2)+1)位到第((H*3)/4)位的二进制数字所组成的一个长度为H/4位的二进制序 列;
Figure 240902DEST_PATH_IMAGE049
表示由哈希值
Figure 762276DEST_PATH_IMAGE046
的第(((H*3)/4)+1)位到第H位的二进制数字所组成的一个长度 为H/4位的二进制序列;而
Figure 764867DEST_PATH_IMAGE050
Figure DEST_PATH_IMAGE051
,其中,
Figure 553831DEST_PATH_IMAGE052
表示由 哈希值
Figure 249255DEST_PATH_IMAGE046
的前H/2位的二进制数字所组成的一个长度为H/2位的二进制序列;
Figure DEST_PATH_IMAGE053
表示由 哈希值
Figure 756459DEST_PATH_IMAGE046
的第(((H*1)/2)+1)位到第H位的二进制数字所组成的一个长度为H/2位的二进 制序列;因此,
Figure 562741DEST_PATH_IMAGE054
表示由二进制序列
Figure DEST_PATH_IMAGE055
和二进制序列
Figure 471791DEST_PATH_IMAGE056
经过逻辑乘运算后所得到的 长度为H/2位的二进制序列的前((H/2)/2)位的二进制数字所组成的一个长度为H/4位的二 进制序列,而
Figure DEST_PATH_IMAGE057
表示由二进制序列
Figure 338116DEST_PATH_IMAGE058
和二进制序列
Figure DEST_PATH_IMAGE059
经过逻辑乘运算后所得到的 长度为H/2位的二进制序列的第((H/2)/2)+1位到第(H/2)位的二进制数字所组成的一个长 度为H/4位的二进制序列。
在一些实施例中,步骤202中所述一种带时效的自适应动态数据集合成员Ⅰ类判定方法包括以下具体步骤:
步骤202A、读取控制区所关联哈希候选桶
Figure 598196DEST_PATH_IMAGE060
Figure DEST_PATH_IMAGE061
的缓冲区成员个数(分别记为
Figure 942590DEST_PATH_IMAGE062
Figure DEST_PATH_IMAGE063
)并判断:如果
Figure 971726DEST_PATH_IMAGE064
,则跳转至步骤202B,否则, 跳转至步骤202E;
步骤202B、选择哈希候选桶
Figure 743373DEST_PATH_IMAGE060
作为判定桶,然后在缓冲区所关联判定桶的插入位 区中判定与指纹对标信息
Figure 723705DEST_PATH_IMAGE065
相匹配的缓冲区信息存储标签:如果判定结束前缓冲区所关 联判定桶中没有缓冲区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 871789DEST_PATH_IMAGE065
相匹 配,且缓冲区所关联哈希候选桶
Figure 489853DEST_PATH_IMAGE066
已被判定,则跳转至步骤202G;如果判定结束前缓冲区 所关联判定桶中没有缓冲区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 432401DEST_PATH_IMAGE065
相匹配,但缓冲区所关联哈希候选桶
Figure 135915DEST_PATH_IMAGE066
未被判定,则跳转至步骤202E;否则,将指纹验证信 息
Figure 822111DEST_PATH_IMAGE067
与所述指纹对标信息匹配的缓冲区信息存储标签中的指纹验证位所填充的指纹验 证信息相匹配,如果匹配,则停止判定并跳转至步骤202C,否则,跳转至步骤202D;
步骤202C、读取所述与指纹验证信息
Figure 560260DEST_PATH_IMAGE067
相匹配的缓冲区信息存储标签(记作
Figure 673709DEST_PATH_IMAGE068
)中的有效期标识位所填充的时效标识值并与当前系统时间作比较:如 果比较结果显示
Figure 864519DEST_PATH_IMAGE068
未进入过期过渡期,则返回判定成功的标识,然后判定 操作结束;如果比较结果显示
Figure 88827DEST_PATH_IMAGE068
已经进入过期过渡期但还未过期,且区位标 识位所填充的区位标识值为Z,则首先返回判定成功的标识,然后将
Figure 947062DEST_PATH_IMAGE068
的区 位标识值由Z修改为G,然后在主区所关联判定桶的插入位区中判定与
Figure 496992DEST_PATH_IMAGE068
相匹 配的主区信息存储标签,并在判定成功后(记所述与
Figure 175098DEST_PATH_IMAGE068
相匹配的主区信息 存储标签为
Figure DEST_PATH_IMAGE069
,并记
Figure 468676DEST_PATH_IMAGE069
所在插入槽位为
Figure 915838DEST_PATH_IMAGE070
)生成 一个新的过期区信息存储标签(记作
Figure DEST_PATH_IMAGE071
),然后将
Figure 636669DEST_PATH_IMAGE069
中对 应的数据迁移至
Figure 303536DEST_PATH_IMAGE071
对应的填充位中,然后将
Figure 135226DEST_PATH_IMAGE071
插入过期区 所关联判定桶的插入位区中,然后将
Figure 436894DEST_PATH_IMAGE070
中的
Figure 328627DEST_PATH_IMAGE069
删除以置
Figure 981325DEST_PATH_IMAGE070
为NULL,然后更新控制区中所关联判定桶的主区成员个数、过期区成员个数以 及主区建议插入位置,即将主区成员个数-1、将过期区成员个数+1以及将主区建议插入位 置设置为
Figure 351126DEST_PATH_IMAGE070
,然后判定操作结束;如果比较结果显示
Figure 772880DEST_PATH_IMAGE072
已经进入过 期过渡期但还未过期,且区位标识位所填充的区位标识值为J,则首先返回判定成功的标 识,然后将
Figure 569935DEST_PATH_IMAGE072
的区位标识值由J修改为G,然后在交换区所关联判定桶的 插入位区中判定与
Figure 444350DEST_PATH_IMAGE072
相匹配的交换区信息存储标签,并在判定成功后(记 所述与
Figure 883422DEST_PATH_IMAGE072
相匹配的交换区信息存储标签为
Figure DEST_PATH_IMAGE073
)生成一个新 的过期区信息存储标签(记作
Figure 425262DEST_PATH_IMAGE074
),然后将
Figure 658797DEST_PATH_IMAGE073
中对应的数据 迁移至
Figure 20508DEST_PATH_IMAGE074
对应的填充位中,然后将
Figure 732112DEST_PATH_IMAGE074
插入过期区所关联 判定桶的插入位区中,然后将
Figure 128458DEST_PATH_IMAGE073
删除,然后更新控制区中所关联判定桶的 交换区成员个数以及过期区成员个数,即将交换区成员个数-1以及将过期区成员个数+1, 然后判定操作结束;如果比较结果显示
Figure DEST_PATH_IMAGE075
已经进入过期过渡期但还未过 期,且区位标识位中的标识值为G,则返回判定成功的标识,然后判定操作结束;如果比较结 果显示
Figure 297009DEST_PATH_IMAGE075
已经过期,且区位标识位中的标识值为Z,则首先返回判定失败的 标识,然后在主区所关联判定桶的插入位区中判定与
Figure 146017DEST_PATH_IMAGE075
相匹配的主区信 息存储标签(记所述主区信息存储标签的插入槽位为
Figure 661312DEST_PATH_IMAGE076
),并在判定成功后删 除
Figure 912164DEST_PATH_IMAGE075
以及将
Figure 221923DEST_PATH_IMAGE076
中的所述主区信息存储标签删除以置
Figure 558226DEST_PATH_IMAGE076
为NULL,然后更新控制区所关联判定桶的主区成员个数、缓冲区成员个数以 及主区建议插入位置,即将主区成员个数-1,将缓冲区成员个数-1以及将主区建议插入位 置设置为
Figure 877212DEST_PATH_IMAGE076
,然后判定操作结束;如果比较结果显示
Figure 982572DEST_PATH_IMAGE075
已经过 期,且区位标识位中的标识值为J,则首先返回判定失败的标识,然后在交换区所关联判定 桶的插入位区中判定与
Figure 728811DEST_PATH_IMAGE075
相匹配的交换区信息存储标签,并在判定成功后 删除
Figure 286831DEST_PATH_IMAGE075
和所述交换区信息存储标签,然后更新控制区所关联判定桶的交换 区成员个数以及缓冲区成员个数,即将交换区成员个数-1以及将缓冲区成员个数-1,然后 判定操作结束;如果比较结果显示
Figure 143929DEST_PATH_IMAGE075
已经过期,且区位标识位中的标识值 为G,则首先返回判定失败的标识,然后在过期区所关联判定桶的插入位区中判定与
Figure 103794DEST_PATH_IMAGE075
相匹配的过期区信息存储标签,并在判定成功后删除
Figure 20935DEST_PATH_IMAGE075
和所述过期区信息存储标签,然后更新控制区所关联判定桶的过期区成员个数以及缓冲区 成员个数,即将过期区成员个数-1以及将缓冲区成员个数-1,然后判定操作结束;
步骤202D、继续在缓冲区所关联判定桶的插入位区中判定与指纹对标信息
Figure DEST_PATH_IMAGE077
相 匹配的缓冲区信息存储标签;如果判定结束前缓冲区所关联判定桶的插入位区中没有缓冲 区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 597410DEST_PATH_IMAGE077
相匹配,且缓冲区所关联哈 希候选桶
Figure 258198DEST_PATH_IMAGE078
已被判定,则跳转至步骤202G;如果判定结束前缓冲区所关联判定桶中没有缓 冲区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 72570DEST_PATH_IMAGE077
相匹配,但缓冲区所关联 哈希候选桶
Figure 426191DEST_PATH_IMAGE078
未被判定,则跳转至步骤202E;否则,将指纹验证信息
Figure DEST_PATH_IMAGE079
与指纹对标信息匹 配的缓冲区信息存储标签中的指纹验证位所填充的指纹验证信息相匹配,如果匹配,则停 止判定并跳转至步骤202C,否则,跳转至步骤202D;
步骤202E、选择哈希候选桶
Figure 460269DEST_PATH_IMAGE078
作为判定桶,然后在缓冲区所关联判定桶的插入位 区中判定与指纹对标信息
Figure 659169DEST_PATH_IMAGE077
相匹配的缓冲区信息存储标签:如果判定结束前缓冲区所关 联判定桶中没有缓冲区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 593627DEST_PATH_IMAGE077
相匹 配,且缓冲区所关联哈希候选桶
Figure 118149DEST_PATH_IMAGE080
已被判定,则跳转至步骤202G;如果判定结束前缓冲区所 关联判定桶中没有缓冲区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 872478DEST_PATH_IMAGE077
相 匹配,但缓冲区所关联哈希候选桶
Figure 140649DEST_PATH_IMAGE080
未被判定,则跳转至步骤202B;否则,将指纹验证信息
Figure 929613DEST_PATH_IMAGE079
与所述指纹对标信息匹配的缓冲区信息存储标签中的指纹验证位所填充的指纹验证信 息相匹配,如果匹配,则停止判定并跳转至步骤202C,否则,跳转至步骤202F;
步骤202F、继续在缓冲区所关联判定桶的插入位区中判定与指纹对标信息
Figure 359457DEST_PATH_IMAGE077
相 匹配的缓冲区信息存储标签;如果判定结束前缓冲区所关联判定桶的插入位区中没有缓冲 区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 601083DEST_PATH_IMAGE077
相匹配,且缓冲区所关联哈 希候选桶
Figure DEST_PATH_IMAGE081
的插入位区已被判定,则跳转至步骤202G;如果判定结束前缓冲区所关联判定 桶中没有缓冲区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 672944DEST_PATH_IMAGE077
相匹配,但缓 冲区所关联哈希候选桶
Figure 316415DEST_PATH_IMAGE081
的插入位区未被判定,则跳转至步骤202B;否则,将指纹验证信息
Figure 182740DEST_PATH_IMAGE082
与指纹对标信息匹配的缓冲区信息存储标签中的指纹验证位所填充的指纹验证信息 相匹配,如果匹配,则停止判定并跳转至步骤202C,否则,跳转至步骤202F;
步骤202G、读取控制区所关联哈希候选桶
Figure 646082DEST_PATH_IMAGE081
Figure 256055DEST_PATH_IMAGE078
的主区成员个数(分别记为
Figure DEST_PATH_IMAGE083
Figure 285191DEST_PATH_IMAGE084
)并判断:如果
Figure DEST_PATH_IMAGE085
,则跳转至步骤202H,否则, 跳转至步骤202L;
步骤202H、选择哈希候选桶
Figure 820952DEST_PATH_IMAGE081
作为判定桶,然后在主区所关联判定桶的插入位区 中判定与指纹对标信息
Figure 302749DEST_PATH_IMAGE086
相匹配的主区信息存储标签;如果判定结束前主区所关联判定 桶中没有主区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 450834DEST_PATH_IMAGE086
相匹配,且主区 所关联哈希候选桶
Figure 68897DEST_PATH_IMAGE078
的插入位区已被判定,则跳转至步骤202M;如果判定结束前主区所关 联判定桶中没有主区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 11445DEST_PATH_IMAGE086
相匹配, 但主区所关联哈希候选桶
Figure 449380DEST_PATH_IMAGE078
的插入位区未被判定,则跳转至步骤202K;否则,将指纹验证信 息
Figure DEST_PATH_IMAGE087
与所述指纹对标信息匹配的主区信息存储标签中的指纹验证位所填充的指纹验证 信息相匹配,如果匹配,则停止判定并跳转至步骤202I,否则,跳转至步骤202J;
步骤202I、读取所述指纹验证信息匹配的主区信息存储标签(记作
Figure 666734DEST_PATH_IMAGE088
,并记
Figure 139304DEST_PATH_IMAGE088
当前所插入的插入槽位为
Figure DEST_PATH_IMAGE089
)中的有 效期标识位所填充的时效标识值并与当前系统时间作比较:如果比较结果显示
Figure 783912DEST_PATH_IMAGE088
未进入过期过渡期,则返回判定成功的标识,然后判定操作结束;如果比 较结果显示
Figure 974722DEST_PATH_IMAGE088
已经进入过期过渡期但还未过期,则首先返回判定成功的标 识,生成一个新的过期区信息存储标签(记作
Figure 464609DEST_PATH_IMAGE090
)并将
Figure DEST_PATH_IMAGE091
中对应的数据迁移至
Figure 322844DEST_PATH_IMAGE090
中对应的填充位中,然后将
Figure 872774DEST_PATH_IMAGE090
插入 过期区所关联哈希候选桶
Figure DEST_PATH_IMAGE093
的插入位区中,然后删除
Figure 52345DEST_PATH_IMAGE094
中的
Figure 345923DEST_PATH_IMAGE091
以将
Figure 793085DEST_PATH_IMAGE094
置为NULL,然后更新控制区所关联判定桶的主区成 员个数、过期区成员个数以及主区建议插入位置,即将主区成员个数-1、将过期区成员个数 +1以及将主区建议插入位置设置为
Figure 513916DEST_PATH_IMAGE094
,然后判定操作结束;如果比较结果显 示
Figure 413739DEST_PATH_IMAGE091
已经过期,则首先返回判定失败的标识,然后删除
Figure 245429DEST_PATH_IMAGE094
中的
Figure 547097DEST_PATH_IMAGE091
以将
Figure 438830DEST_PATH_IMAGE094
置为NULL,然后更新控制区所关联判定桶的主区成 员个数和主区建议插入位置,即将主区成员个数-1以及将主区建议插入位置设置为
Figure 825949DEST_PATH_IMAGE094
,然后判定操作结束;
步骤202J、继续在主区所关联判定桶的插入位区中判定与指纹对标信息
Figure DEST_PATH_IMAGE095
相匹 配的主区信息存储标签;如果判定结束前主区所关联判定桶的插入位区中没有主区信息存 储标签中的指纹对标位所填充的指纹对标信息与
Figure 461329DEST_PATH_IMAGE095
相匹配,且主区所关联哈希候选桶
Figure 883083DEST_PATH_IMAGE096
的插入位区已被判定,则跳转至步骤202M;如果判定结束前主区所关联判定桶中没有主区 信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 945717DEST_PATH_IMAGE095
相匹配,但主区所关联哈希候 选桶
Figure 820132DEST_PATH_IMAGE096
的插入位区未被判定,则跳转至步骤202H;否则,将指纹验证信息
Figure DEST_PATH_IMAGE097
与指纹对标信 息匹配的主区信息存储标签中的指纹验证位所填充的指纹验证信息相比较:如果匹配,则 停止判定并跳转至步骤202I,否则,跳转至步骤202J;
步骤202K、选择哈希候选桶
Figure 259204DEST_PATH_IMAGE096
作为判定桶,然后在主区所关联判定桶的插入位区 中判定与指纹对标信息
Figure 269885DEST_PATH_IMAGE095
相匹配的主区信息存储标签;如果判定结束前主区所关联判定 桶中没有主区信息存储标签的指纹对标位中的指纹对标信息与
Figure 503420DEST_PATH_IMAGE095
相匹配,且主区所关联 哈希候选桶
Figure 865132DEST_PATH_IMAGE098
的插入位区已被扫描,则跳转至步骤202M;如果判定结束前主区所关联判定 桶中没有主区信息存储标签的指纹对标位中的指纹对标信息与
Figure 352569DEST_PATH_IMAGE095
相匹配,但主区所关联 哈希候选桶
Figure 748915DEST_PATH_IMAGE098
的插入位区未被扫描,则跳转至步骤202H;否则,将指纹验证信息
Figure 153352DEST_PATH_IMAGE067
与所述 指纹对标信息匹配的主区信息存储标签的指纹验证位中的指纹验证信息相匹配,如果匹 配,则停止判定并跳转至步骤202I,否则,跳转至步骤202L;
步骤202L、继续在主区所关联判定桶的插入位区中判定与指纹对标信息
Figure 471201DEST_PATH_IMAGE095
相匹 配的主区信息存储标签;如果判定结束前主区所关联判定桶的插入位区中没有主区信息存 储标签中的指纹对标位所填充的指纹对标信息与
Figure 252075DEST_PATH_IMAGE095
相匹配,且主区所关联哈希候选桶
Figure 502927DEST_PATH_IMAGE098
的插入位区已被判定,则跳转至步骤202M;如果判定结束前主区所关联判定桶中没有主区 信息存储标签中的指纹对标位中所填充的指纹对标信息与
Figure 78265DEST_PATH_IMAGE095
相匹配,但主区所关联哈希 候选桶
Figure 148989DEST_PATH_IMAGE098
的插入位区未被判定,则跳转至步骤202H;否则,将指纹验证信息
Figure 467975DEST_PATH_IMAGE067
与所述指纹 对标信息匹配的主区信息存储标签的指纹验证位中的指纹验证信息相比较:如果匹配,则 停止判定并跳转至步骤202I,否则,跳转至步骤202L;
步骤202M、读取控制区所关联哈希候选桶
Figure 573335DEST_PATH_IMAGE098
Figure DEST_PATH_IMAGE099
的交换区成员个数(分别记为
Figure 585153DEST_PATH_IMAGE100
Figure DEST_PATH_IMAGE101
)并判断:如果
Figure 408753DEST_PATH_IMAGE102
,则跳转至步骤202N,否则,跳 转至步骤202Q;
步骤202N、选择哈希候选桶
Figure 265850DEST_PATH_IMAGE098
作为判定桶,然后在交换区所关联判定桶的插入位 区中判定与指纹对标信息
Figure 491295DEST_PATH_IMAGE095
相匹配的交换区信息存储标签:如果判定结束前交换区所关 联判定桶中没有交换区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 408435DEST_PATH_IMAGE095
相匹 配,且交换区所关联哈希候选桶
Figure 453752DEST_PATH_IMAGE099
的插入位区已被判定,则跳转至步骤202S;如果判定结 束前交换区所关联判定桶中没有交换区信息存储标签中的指纹对标位所填充的指纹对标 信息与
Figure 616005DEST_PATH_IMAGE095
相匹配,但交换区所关联哈希候选桶
Figure 430377DEST_PATH_IMAGE099
的插入位区未被判定,则跳转至步骤 202Q;否则,将指纹验证信息
Figure 518419DEST_PATH_IMAGE067
与所述指纹对标信息匹配的交换区信息存储标签中的指 纹验证位所填充的指纹验证信息相匹配,如果匹配,则停止判定并跳转至步骤202O,否则, 跳转至步骤202P;
步骤202O、读取所述指纹验证信息匹配的交换区信息存储标签(记作
Figure DEST_PATH_IMAGE103
)中的有效期标识位所填充的时效标识值并与当前系统时间作比较:如 果比较结果显示
Figure 316611DEST_PATH_IMAGE103
未进入过期过渡期,则返回判定成功的标识,然后判定操 作结束;如果比较结果显示
Figure 781090DEST_PATH_IMAGE103
已经进入过期过渡期但还未过期,则首先返 回判定成功的标识,然后生成一个新的过期区信息存储标签(记作
Figure 715548DEST_PATH_IMAGE104
)并 将
Figure 708912DEST_PATH_IMAGE103
中对应的数据迁移至
Figure 728821DEST_PATH_IMAGE104
中对应的填充位中,然后将
Figure 996991DEST_PATH_IMAGE104
插入过期区所关联判定桶的插入位区中,然后删除
Figure 785955DEST_PATH_IMAGE103
, 然后更新控制区所关联判定桶的交换区成员个数以及过期区成员个数,即将交换区成员个 数-1以及将过期区成员个数+1,然后判定操作结束;如果比较结果显示
Figure 215800DEST_PATH_IMAGE103
已 经过期,则首先返回判定失败的标识,然后删除
Figure 723004DEST_PATH_IMAGE103
,然后更新控制区所关联 判定桶的交换区成员个数,即将交换区成员个数-1,然后判定操作结束;
步骤202P、继续在交换区所关联判定桶的插入位区中判定与指纹对标信息
Figure DEST_PATH_IMAGE105
相 匹配的交换区信息存储标签;如果判定结束前交换区所关联判定桶的插入位区中没有交换 区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 529286DEST_PATH_IMAGE105
相匹配,且交换区所关联哈 希候选桶
Figure 172757DEST_PATH_IMAGE106
的插入位区已被判定,则跳转至步骤202S;如果判定结束前交换区所关联判定 桶中没有交换区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 39082DEST_PATH_IMAGE105
相匹配,但交 换区所关联哈希候选桶
Figure 768004DEST_PATH_IMAGE106
的插入位区未被判定,则跳转至步骤202Q;否则,将指纹验证信 息
Figure 377977DEST_PATH_IMAGE067
与指纹对标信息匹配的交换区信息存储标签中的指纹验证位所填充的指纹验证信 息相匹配:如果匹配,则跳转至步骤202O,否则,跳转至步骤202P;
步骤202Q、选择哈希候选桶
Figure 374489DEST_PATH_IMAGE106
作为判定桶,然后在交换区所关联判定桶的插入位 区中判定与指纹对标信息
Figure 411715DEST_PATH_IMAGE105
相匹配的交换区信息存储标签;如果判定结束前交换区所关 联判定桶中没有交换区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 627933DEST_PATH_IMAGE105
相匹 配,且交换区所关联哈希候选桶
Figure DEST_PATH_IMAGE107
已被判定,则跳转至步骤202S;如果判定结束前交换区所 关联判定桶中没有交换区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 41597DEST_PATH_IMAGE105
相 匹配,但交换区所关联哈希候选桶
Figure 394081DEST_PATH_IMAGE107
未被判定,则跳转至步骤202N;否则,将指纹验证信息
Figure 602208DEST_PATH_IMAGE108
与所述指纹对标信息匹配的交换区信息存储标签中的指纹验证位所填充的指纹验证 信息相匹配:如果匹配,则停止判定并跳转至步骤202O,否则,跳转至步骤202R;
步骤202R、继续在交换区所关联判定桶的插入位区中判定与指纹对标信息
Figure 305722DEST_PATH_IMAGE105
相 匹配的交换区信息存储标签;如果判定结束前交换区所关联判定桶的插入位区中没有交换 区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 257498DEST_PATH_IMAGE105
相匹配,且交换区所关联哈 希候选桶
Figure 730067DEST_PATH_IMAGE107
已被判定,则跳转至步骤202S;如果判定结束前交换区所关联判定桶中没有交 换区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 109096DEST_PATH_IMAGE105
相匹配,但交换区所关联 哈希候选桶
Figure 34327DEST_PATH_IMAGE107
未被判定,则跳转至步骤202N;否则,将指纹验证信息
Figure 524214DEST_PATH_IMAGE108
与指纹对标信息匹 配的交换区信息存储标签中的指纹验证位所填充的指纹验证信息相比较:如果匹配,则停 止判定并跳转至步骤202O,否则,跳转至步骤202R;
步骤202S、读取控制区所关联哈希候选桶
Figure 116869DEST_PATH_IMAGE107
Figure DEST_PATH_IMAGE109
的过期区成员个数(分别记为
Figure 666799DEST_PATH_IMAGE110
Figure DEST_PATH_IMAGE111
)并判断:如果
Figure 344905DEST_PATH_IMAGE112
,则跳转至步骤202T, 否则,跳转至步骤202W;
步骤202T、选择哈希候选桶
Figure DEST_PATH_IMAGE113
作为判定桶,然后在过期区所关联判定桶的插入位 区中判定与指纹对标信息
Figure 405527DEST_PATH_IMAGE114
相匹配的过期区信息存储标签;如果判定结束前过期区所关 联判定桶中没有过期区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 852689DEST_PATH_IMAGE114
相匹 配,且过期区所关联哈希候选桶
Figure 573521DEST_PATH_IMAGE109
已被判定,则返回判定失败的标识,然后判定操作结束; 如果判定结束前过期区所关联判定桶中没有过期区信息存储标签中的指纹对标位所填充 的指纹对标信息与
Figure DEST_PATH_IMAGE115
相匹配,但过期区所关联哈希候选桶
Figure 473343DEST_PATH_IMAGE109
未被判定,则跳转至步骤 202W;否则,将指纹验证信息
Figure 305033DEST_PATH_IMAGE108
与所述指纹对标信息匹配的过期区信息存储标签中的指 纹验证位所填充的指纹验证信息相匹配:如果匹配,则停止判定并跳转至步骤202U,否则, 跳转至步骤202V;
步骤202U、读取所述指纹验证信息匹配的过期区信息存储标签(记作
Figure 872281DEST_PATH_IMAGE116
)中的有效期标识位所填充的时效标识值并与当前系统时间作比较:如 果比较结果显示
Figure 764013DEST_PATH_IMAGE116
未过期,则返回判定成功的标识,然后判定操作结束;如 果比较结果显示
Figure 151132DEST_PATH_IMAGE116
已经过期,则首先返回判定失败的标识删除
Figure 786513DEST_PATH_IMAGE116
,然后更新控制区所关联判定桶的过期区成员个数,即将过期区成员个 数-1,然后判定操作结束;
步骤202V、继续在过期区所关联判定桶的插入位区中判定与指纹对标信息
Figure DEST_PATH_IMAGE117
相 匹配的过期区信息存储标签;如果判定结束前过期区所关联判定桶的插入位区中没有过期 区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 208267DEST_PATH_IMAGE117
相匹配,且过期区所关联哈 希候选桶
Figure 270901DEST_PATH_IMAGE118
已被判定,则返回判定失败的标识,然后判定操作结束;如果判定结束前过期 区所关联判定桶中没有过期区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 145316DEST_PATH_IMAGE117
相匹配,但过期区所关联哈希候选桶
Figure 318809DEST_PATH_IMAGE118
未被判定,则跳转至步骤202W;否则,将指纹验 证信息
Figure 595069DEST_PATH_IMAGE119
与指纹对标信息匹配的过期区信息存储标签中的指纹验证位所填充的指纹验 证信息相匹配:如果匹配,则跳转至步骤202U,否则,跳转至步骤202V;
步骤202W、选择哈希候选桶
Figure 828604DEST_PATH_IMAGE118
作为判定桶,然后在过期区所关联判定桶的插入位 区中判定与指纹对标信息
Figure 190316DEST_PATH_IMAGE117
相匹配的过期区信息存储标签;如果判定结束前过期区所关 联判定桶中没有过期区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 901920DEST_PATH_IMAGE117
相匹 配,且过期区所关联哈希候选桶
Figure 531222DEST_PATH_IMAGE120
已被判定,则返回判定失败的标识,然后判定操作结束; 如果判定结束前过期区所关联判定桶中没有过期区信息存储标签中的指纹对标位所填充 的指纹对标信息与
Figure 935658DEST_PATH_IMAGE117
相匹配,但过期区所关联哈希候选桶
Figure 784666DEST_PATH_IMAGE120
未被判定,则跳转至步骤 202T;否则,将指纹验证信息
Figure 565540DEST_PATH_IMAGE119
与所述指纹对标信息匹配的过期区信息存储标签中的指 纹验证位所填充的指纹验证信息相匹配:如果匹配,则停止判定并跳转至步骤202U,否则, 跳转至步骤202X;
步骤202X、继续在过期区所关联判定桶的插入位区中判定与指纹对标信息
Figure 550813DEST_PATH_IMAGE117
相 匹配的过期区信息存储标签;如果判定结束前过期区所关联判定桶的插入位区中没有过期 区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 126151DEST_PATH_IMAGE117
相匹配,且过期区所关联哈 希候选桶
Figure DEST_PATH_IMAGE121
已被判定,则返回判定失败的标识,然后判定操作结束;如果判定结束前过期 区所关联判定桶中没有过期区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 728034DEST_PATH_IMAGE117
相匹配,但过期区所关联哈希候选桶
Figure 781440DEST_PATH_IMAGE121
未被判定,则跳转至步骤202T;否则,将指纹验 证信息
Figure 886800DEST_PATH_IMAGE119
与指纹对标信息匹配的过期区信息存储标签中的指纹验证位所填充的指纹验 证信息相匹配:如果匹配,则跳转至步骤202U,否则,跳转至步骤202X。
在一些实施例中,步骤204和步骤207所述重定位操作的具体步骤如下:
步骤20REPA、按序扫描主区所关联判定桶的插入槽位情况,然后根据扫描结果判断主区所关联判定桶的插入位区内是否存在同时满足重定位计数等于1和缓冲区所关联判定桶中没有相匹配的缓冲区区信息存储标签这两个条件的主区信息存储标签;如果存在,则跳转至步骤20REPB;否则,根据扫描结果判断桶内是否存在同时满足重定位计数等于0和缓冲区所关联判定桶中没有相匹配的缓冲区区信息存储标签这两个条件的主区信息存储标签;如果存在,则跳转至步骤2REPC;否则,根据扫描结果判定桶内是否存在同时满足重定位标识位中的重定位计数等于1和缓冲区所关联判定桶中有相匹配的缓冲区信息存储标签这两个条件的主区信息存储标签;如果存在,则跳转至步骤2REPG;否则,跳转至步骤20REPH;
步骤20REPB、分别记所述同时满足重定位标识位中的重定位计数等于1和缓冲区 所关联判定桶中没有相匹配的缓冲区区信息存储标签这两个条件的主区信息存储标签和 其所在插入槽位的编号为
Figure 633039DEST_PATH_IMAGE122
Figure DEST_PATH_IMAGE123
,然后分别生成一 个新的主区信息存储标签和交换区信息存储标签,并将变量temp中对应的数据迁移至所述 新的主区信息存储标签中,以及将
Figure 722218DEST_PATH_IMAGE122
中对应的数据迁移至所述新的交 换区信息存储标签对应的填充位中,然后将所述新的主区信息存储标签插入
Figure 579315DEST_PATH_IMAGE123
中以覆盖
Figure 539181DEST_PATH_IMAGE122
,以及将所述新的交换区信息存储标 签插入交换区所关联判定桶的插入位区中,最后根据扫描结果更新控制区所关联判定桶的 交换区成员个数、主区建议插入位置以及重定位率,其中,将交换区成员个数+1以及将主区 建议插入位置设置为扫描结果中最接近过期过渡期的主区信息存储标签所在的插入槽位 (如果存在多个同等的最接近过期过渡期的主区信息存储标签,则随机选择),然后返回插 入成功的标识,然后插入操作结束;
步骤20REPC、分别记所述同时满足重定位标识位中的重定位计数等于0和缓冲区 所关联判定桶中没有相匹配的缓冲区区信息存储标签这两个条件的主区信息存储标签和 其所在插入槽位的编号为
Figure 721901DEST_PATH_IMAGE122
Figure 767217DEST_PATH_IMAGE123
,然后生成一个新 的主区信息存储标签,并将变量temp中对应的数据迁移至所述新的主区信息存储标签中, 然后将
Figure 929470DEST_PATH_IMAGE122
中对应的数据迁移至变量temp对应的填充位中,然后将所述 新的主区信息存储标签插入所述主区所关联判定桶的
Figure 9422DEST_PATH_IMAGE123
中,然后将变量 temp中重定位计数位的计数值+1,然后根据扫描结果更新控制区所关联判定桶的重定位率 以及主区建议插入位置,其中,主区建议插入位置将按照扫描结果更新为扫描结果中最接 近过期过渡期的主区信息存储标签所在的插入槽位(如果存在多个同等的最接近过期过渡 期的主区信息存储标签,则随机选择),最后计算变量temp的另一个哈希桶并作为判定桶, 并跳转至步骤20REPD;
步骤20REPD、读取控制区所关联所述判定桶的主区建议插入位置并判断:如果所述主区建议插入位置所指的插入槽位未填充主区信息存储标签,则首先生成一个新的主区信息存储标签,然后将变量temp中对应的数据迁移至所述新的主区信息存储标签对应的填充位中,然后将所述新的主区信息存储标签插入主区所关联判定桶的所述主区建议插入位置所指的插入槽位中,然后更新控制区所关联判定桶中的主区成员个数,即将主区成员个数+1,然后跳转至步骤20REPE;否则,跳转至步骤20REPF;
步骤20REPE、按序扫描主区所关联判定桶的插入槽位情况;如果扫描结束前首先 发现有空的插入槽位,则首先将命中的空槽位的槽位号记作
Figure 97463DEST_PATH_IMAGE124
,然后更新控制区 所关联判定桶中的主区建议插入位置信息,即将主区建议插入位置设置为
Figure 364497DEST_PATH_IMAGE124
,插 入操作结束;如果扫描结束前首先发现有主区信息存储标签已经进入过期过渡期(记所述 已进入过期过渡期的主区信息存储标签所在插入槽位为
Figure 828976DEST_PATH_IMAGE125
),则首先生成一 个新的过期区信息存储标签(记作
Figure 763434DEST_PATH_IMAGE126
),然后将所述已经进入过期过渡期 的主区信息存储标签中对应的数据迁移至
Figure 22377DEST_PATH_IMAGE126
对应的填充位中,然后再将
Figure DEST_PATH_IMAGE127
插入过期区所关联判定桶的插入位区中,同时删除所述已经进入过期 过渡期的主区信息存储标签以将
Figure 307865DEST_PATH_IMAGE128
置为NULL,然后更新控制区所关联判定 桶的主区成员个数、过期区成员个数以及主区建议插入位置,即将主区成员个数-1、将过期 区成员个数+1以及将主区建议插入位置设置为
Figure 310456DEST_PATH_IMAGE128
,最后判定缓冲区所关联 判定桶的插入位区中是否存在与
Figure 833841DEST_PATH_IMAGE126
相匹配的缓冲区信息存储标签,如果 存在,则将所述相匹配的缓冲区信息存储标签的区位标识位中的区位标识由Z修改为G,然 后插入操作结束;否则,插入操作直接结束;而如果扫描结束前首先发现有主区信息存储标 签(记所述已过期的主区信息存储标签所在插入槽位为
Figure DEST_PATH_IMAGE129
)已经过期,则首 先删除所述已过期的主区信息存储标签以将
Figure 794844DEST_PATH_IMAGE129
置为NULL,然后判定缓冲区 所关联判定桶的插入位区中是否存在与已过期的主区信息存储标签相匹配的缓冲区信息 存储标签,如果存在,则将所述相匹配的缓冲区信息存储标签删除,然后更新控制区所关联 判定桶的主区成员个数、缓冲区成员个数以及主区建议插入位置、缓冲区成员个数以及主 区建议插入位置,即将主区成员个数-1、将缓冲区成员个数-1以及将主区建议插入位置设 置为
Figure 302049DEST_PATH_IMAGE129
,插入操作结束;否则,直接更新控制区所关联判定桶的主区成员个 数以及主区建议插入位置,即将主区成员个数-1以及将主区建议插入位置设置为
Figure 842752DEST_PATH_IMAGE129
,插入操作结束;而如果扫描结束前未发现有主区信息存储标签已经进入 过期过渡期或者过期,则根据扫描结果更新控制区所关联判定桶的主区建议插入位置,即 将主区建议插入位置设置为最接近进入过期过渡期的主区信息存储标签(如果存在多个这 类的主区信息存储标签,则随机选择),然后返回插入成功的标识,然后插入操作结束;
步骤20REPF、判断所述主区建议插入位置所指插入槽位中的主区信息存储标签是否过期或者进入过期过渡期;如果所述主区信息存储标签未过期且未进入过期过渡期,则跳转至步骤20REPA;如果所述主区信息存储标签已过期,则首先生成一个新的主区信息存储标签,然后将变量temp中对应的数据迁移至所述新的主区信息存储标签对应的填充位中,然后将所述新的主区信息存储标签插入所述已过期主区信息存储标签所在的插入槽位中以覆盖所述已过期主区信息存储标签,然后跳转至步骤20REPE;而如果所述主区信息存储标签未过期但已经进入了过期过渡期,则首先分别生成一个新的主区信息存储标签和过期区信息存储标签,然后将变量temp中对应的数据迁移至所述新的主区信息存储标签对应的填充位中,然后将所述已进入过期过渡期但还未过期的主区信息存储标签中对应的数据迁移至所述新的过期区信息存储标签对应的填充位中,然后所述新的主区信息存储标签插入所述已进入过期过渡期但还未过期的主区信息存储标签所在的插入槽位中以覆盖所述已进入过期过渡期但还未过期的主区信息存储标签,然后将所述新的过期区信息存储标签插入过期区所关联判定桶的插入位区中,然后更新控制所关联判定桶的过期区成员个数,即将过期区成员个数+1,然后跳转至步骤20REPE;
步骤20REPG、分别记所述同时满足重定位标识位中的重定位计数等于1和缓冲区 所关联判定桶中有相匹配的缓冲区信息存储标签这两个条件的主区信息存储标签和其所 在插入槽位的编号为
Figure 751802DEST_PATH_IMAGE130
Figure DEST_PATH_IMAGE131
,然后将控制区所关联 判定桶中与
Figure 352547DEST_PATH_IMAGE130
相匹配的缓冲区信息存储标签中区位标识位的区位标 识值由Z修改为J,然后分别生成一个新的主区信息存储标签和交换区信息存储标签,并将 变量temp中对应的数据迁移至所述新的主区信息存储标签中,以及将
Figure 347048DEST_PATH_IMAGE130
中对应的数据迁移至所述新的交换区信息存储标签对应的填充位 中,然后将所述新的主区信息存储标签插入
Figure 189977DEST_PATH_IMAGE131
中以覆盖
Figure 953534DEST_PATH_IMAGE130
,以及将所述新的交换区信息存储标签插入交换区所关联判定桶的插 入位区中,最后根据扫描结果更新控制区所关联判定桶的交换区成员个数、主区建议插入 位置以及重定位率,其中将交换区成员个数+1以及将主区建议插入位置设置为扫描结果中 最接近过期过渡期的主区信息存储标签所在的插入槽位(如果存在多个同等的最接近过期 过渡期的主区信息存储标签,则随机选择),然后返回插入成功的标识,然后插入操作结束;
步骤20REPH、分别记所述同时满足重定位标识位中的重定位计数等于0和缓冲区 所关联判定桶中有相匹配的缓冲区区信息存储标签这两个条件的主区信息存储标签和其 所在插入槽位的编号为
Figure 990760DEST_PATH_IMAGE132
Figure DEST_PATH_IMAGE133
,以及记
Figure 206977DEST_PATH_IMAGE132
所关联缓冲区信息存储标签为
Figure 355062DEST_PATH_IMAGE134
,然后生成 一个新的主区信息存储标签,然后将变量temp中对应的数据迁移至所述新的主区信息存储 标签中,然后将
Figure 973125DEST_PATH_IMAGE132
中对应的数据迁移至变量temp对应的标识位中,然 后将
Figure 181253DEST_PATH_IMAGE134
中对应的数据迁移至变量temph对应的填充位中,然后删除
Figure 884766DEST_PATH_IMAGE134
,然后将所述新的主区信息存储标签插入所述主区所关联判定桶 的
Figure 570963DEST_PATH_IMAGE135
中以覆盖
Figure 309112DEST_PATH_IMAGE136
,然后更新控制区所关联判定桶的 重定位率以及缓冲区成员个数,其中将缓冲区成员个数-1,然后跳转至步骤20REPI;
步骤20REPI、计算变量temp的另一个哈希桶并作为判定桶,然后将变量temp中重定位计数位的计数值+1,然后读取控制区所关联判定桶的主区建议插入位置并判断:如果所述主区建议插入位置所指插入槽位中未填充主区信息存储标签,则首先分别生成一个主区信息存储标签和缓冲区信息存储标签,然后将变量temp中对应的数据迁移至所述新的主区信息存储标签对应的填充位中以及将变量temph中对应的数据迁移至所述新的缓冲区信息存储标签对应的填充位中,然后将所述新的主区信息存储标签插入主区所关联判定桶的所述控制区所关联判定桶的主区建议插入位置所指的插入槽位中以及将所述新的缓冲区信息存储标签插入缓冲区所关联判定桶的插入位区中,然后更新控制区所关联判定桶的主区成员个数以及缓冲区成员个数,即将主区成员个数和缓冲区成员个数+1,然后跳转至步骤20REPE;否则,生成一个新的缓冲区信息存储标签,然后将变量temph中对应的数据迁移至所述新的缓冲区信息存储标签对应的填充位中,然后将所述新的缓冲区信息存储标签插入缓冲区所关联判定桶的插入位区中,然后更新控制区所关联判定桶的缓冲区成员个数,即将缓冲区成员个数+1,然后跳转至步骤20REPF。
进一步地,重定位操作中,所述更新重定位率的具体计算方法为:
Figure DEST_PATH_IMAGE137
其中,
Figure 688140DEST_PATH_IMAGE138
表示主区所关联判定桶的总插入操作数,即包括正常的插入操作 和发生重定位时的插入操作;而
Figure DEST_PATH_IMAGE139
表示主区所关联判定桶在发生重定位时所进行 插入操作数。
在一些实施例中,针对交换区、过期区以及缓冲区的插入以及删除操作,即为常规的针对邻接表的插入删除操作。
本发明实施例还提出一种带时效的自适应动态数据集合成员删除方法,如图1-6所示,所述方法包括以下步骤:
步骤Ⅰ、预先建立用于存储集合成员指纹信息的布谷鸟过滤器以及3个邻接表,并将布谷鸟过滤器命名为主区,3个邻接表分别命名为交换区、过期区以及缓冲区,其中,主区用于存储暂未进入过期过渡期的集合成员,交换区用于存储发生了两次重定位操作(第二次重定位操作时的存储目标即为交换区)且暂未进入过期过渡期的集合成员,过期区用于存储已经进入过期过渡期但还未过期的集合成员,而缓冲区用于存储被访问命中次数达到高访问次数阈值且未过期的集合成员。与此同时,分别为主区、交换区、过期区以及缓冲区中的每一个哈希桶维护一个控制区,其中,所述控制区的参数项包括重定位率、主区成员个数、交换区成员个数、过期区成员个数、缓冲区成员个数以及主区建议插入位置;且针对主区中每一个哈希桶,其插入位区的每个插入槽位的存储单位为一个由指纹对标位、指纹验证位、重定位计数位、有效期标识位以及命中次数计数位所构成的主区信息存储标签;针对交换区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位、命中次数计数位以及指针位所构成的交换区信息存储标签;针对过期区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位以及指针位所构成的过期区信息存储标签;而针对缓冲区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位、区位标识位以及指针位所构成的缓冲区信息存储标签。需要注意的是,所述主区信息存储标签、交换区信息存储标签和过期区信息存储标签为主信息存储标签,而缓冲区信息存储标签为副信息存储标签,即针对同一个未过期的集合成员,其可以同时拥有一个主信息存储标签和副信息存储标签,而不能同时拥有两个及以上的主信息存储标签,以及不能同时拥有两个及以上的副信息存储标签。
步骤Ⅱ、删除时,采用一种带时效的自适应动态数据集合成员Ⅱ类判定方法判定待删除集合成员是否存在于主区、缓冲区、过期区以及交换区的插入位区中,若不存在,则返回删除失败的标识,然后删除操作结束;否则根据待删除成员所在位区的情况进行删除操作:如果待删除集合成员所在插入位区分别为缓冲区和主区,则首先删除位于缓冲区的插入位区中关联所述待删除集合成员的缓冲区信息存储标签,然后删除位于主区的插入位区中关联所述待删除集合成员的主区信息存储标签,并将所述主区信息存储标签所在插入槽位置为NULL,然后更新控制区中相应项目的数据,然后返回删除失败的标识,然后删除操作结束;如果待删除集合成员所在插入位区分别为缓冲区和交换区,则首先删除位于缓冲区的插入位区中关联所述待删除集合成员的缓冲区信息存储标签,然后删除位于交换区的插入位区中关联所述待删除集合成员的交换区信息存储标签,然后更新控制区中相应项目的数据,然后返回删除失败的标识,然后删除操作结束;如果待删除集合成员所在插入位区分别为缓冲区和过期区,则首先删除位于缓冲区的插入位区中关联所述待删除集合成员的缓冲区信息存储标签,然后删除位于过期区的插入位区中关联所述待删除集合成员的过期区信息存储标签,然后更新控制区中相应项目的数据,然后返回删除失败的标识,然后删除操作结束;如果待删除集合成员所在插入位区只位于主区,则首先删除主区的插入位区中关联所述待删除集合成员的主区信息存储标签,并将所述主区信息存储标签所在插入槽位置为NULL,然后更新控制区中相应项目的数据,然后返回删除失败的标识,然后删除操作结束;如果待删除集合成员所在插入位区只位于交换区,则首先删除交换区的插入位区中关联待删除集合成员的交换区信息存储标签,然后更新控制区中相应项目的数据,然后返回删除失败的标识,然后删除操作结束;而如果待删除集合成员所在插入位区只位于过期区,则首先删除过期区的插入位区中关联所述待删除集合成员的过期区信息存储标签,然后更新控制区中相应项目的数据,然后返回删除失败的标识,然后删除操作结束;
在一些实施例中,为提供一种删除时的较为详细的步骤,具体为:
步骤Ⅰ中,在所述主区的插入位区中,每个哈希桶的插入槽位个数记为
Figure DEST_PATH_IMAGE141
。在所述 信息存储标签中,指纹对标位的存储长度为8位;指纹验证位的存储长度为8位;有效期标识 位的存储长度可扩展;重定位计数位的存储长度为8位,命中次数计数位的存储长度为16 位;区位标识位的存储长度为8位;而所述指针位的存储大小则根据操作系统的机器字长来 动态决定。需要注意的是,首先,所述重定位计数位所存储的合法值包括数值0以及数值1, 其分别表示该信息存储标签被重定位操作了0次以及1次,同时当重定位计数等于1的信息 存储标签再次被重定位操作时,则表明该信息存储标签需要被存储进入交换区中,进而避 免陷入重定位循环中;其次,所述区位标识位所存储的合法值包括Z、G和J这三个标识,其 中,合法值Z标识该缓冲区信息存储标签所关联的主信息存储标签为主区信息存储标签,合 法值G标识该缓冲区信息存储标签所关联的主信息存储标签为过期区信息存储标签,而合 法值J标识该缓冲区信息存储标签所关联的主信息存储标签为交换区信息存储标签。对于 所述过期过渡期,其具体表示为:
Figure 410109DEST_PATH_IMAGE142
其中,
Figure DEST_PATH_IMAGE143
表示执行一种带时效的自适应动态数据集合成员删除方法时的系统 时间;
Figure 165575DEST_PATH_IMAGE144
表示主区信息存储标签的被生成时的系统时间,其存储于主区信息存储标签以 及与之相关联的其余信息存储标签的有效期标识位中;
Figure DEST_PATH_IMAGE145
表示过期过渡期的 进入阈值;而
Figure 259695DEST_PATH_IMAGE146
表示过期过渡期的整体时长。此时,如果
Figure DEST_PATH_IMAGE147
,则说明信息存储标签已经过期;如果
Figure 809625DEST_PATH_IMAGE148
,则说明信息存储标签已经进入过期过 渡期但未过期。对于所述高访问次数阈值,其被记为
Figure DEST_PATH_IMAGE149
;当主区信息存储标 签以及交换区信息存储标签中命中次数计数位的计数值大于或者等于
Figure 753311DEST_PATH_IMAGE149
时,则说明所述主区信息存储标签以及交换区信息存储标签已经属于被高访问的信息存储 标签,此时,由于本文规定集合成员判定时首先查询的区域为缓冲区,因此需要生成的一个 关联所述主区信息存储标签以及交换区信息存储标签的副信息存储标签即缓冲区信息存 储标签,然后将其插入缓冲区的插入位区中,进而提高访问效率。
在一些实施例中,所述步骤Ⅱ包括以下具体步骤:
步骤Ⅱ.1、删除时,通过哈希函数计算得到待删除集合成员
Figure 46889DEST_PATH_IMAGE150
的哈希值
Figure DEST_PATH_IMAGE151
(假 设
Figure 759630DEST_PATH_IMAGE151
的长度为
Figure DEST_PATH_IMAGE153
bit)以及对应的两个哈希桶
Figure 214882DEST_PATH_IMAGE154
Figure DEST_PATH_IMAGE155
,然后从哈希值
Figure 645863DEST_PATH_IMAGE151
中提取第1 位、第2位、第(H/2)-1位、第(H/2)位、第(H/2)+1位、第(H-1)位、第H位以及第(H/4)位的二进 制数字,并按提取顺序拼接成为一个长度为8位的指纹对标信息并记为
Figure 477553DEST_PATH_IMAGE151
,同时采用对称 压缩算法将待删除集合成员
Figure 44800DEST_PATH_IMAGE150
的哈希值
Figure 670954DEST_PATH_IMAGE156
压缩成一个长度为H/4位的指纹验证信息并 记为
Figure DEST_PATH_IMAGE157
步骤Ⅱ.2、采用一种带时效的自适应动态数据集合成员Ⅱ类判定方法判断
Figure 323652DEST_PATH_IMAGE158
Figure DEST_PATH_IMAGE159
所共存的一个信息存储标签是否存储于两个哈希桶
Figure 734866DEST_PATH_IMAGE160
Figure DEST_PATH_IMAGE161
所关联的缓冲区、 主区、交换区或者过期区中,如果不存在则删除操作结束,否则跳转至步骤Ⅱ.3;
步骤Ⅱ.3、如果所述带时效的自适应动态数据集合成员Ⅱ类判定方法首要判定命 中待删除集合成员
Figure 156620DEST_PATH_IMAGE162
所在插入位区位于缓冲区,则跳转至步骤Ⅱ.4;如果所述带时效的 自适应动态数据集合成员Ⅱ类判定方法首要判定命中待删除集合成员
Figure 219254DEST_PATH_IMAGE162
所在插入位区 位于主区,则跳转至步骤Ⅱ.5;如果所述带时效的自适应动态数据集合成员Ⅱ类判定方法 首要判定命中待删除集合成员
Figure 828090DEST_PATH_IMAGE162
所在插入位区位于交换区,则跳转至步骤Ⅱ.6;而如果 所述带时效的自适应动态数据集合成员Ⅱ类判定方法首要判定命中待删除集合成员
Figure 267161DEST_PATH_IMAGE162
所在插入位区位于过期区,则跳转至步骤Ⅱ.7;
步骤Ⅱ.4、根据所述带时效的自适应动态数据集合成员Ⅱ类判定方法返回的插入 地址以及桶标识寻找待删除成员
Figure 543422DEST_PATH_IMAGE162
的缓冲区信息存储标签(记为
Figure DEST_PATH_IMAGE163
,并记
Figure 42536DEST_PATH_IMAGE163
所在哈希桶的桶标识为
Figure 404248DEST_PATH_IMAGE164
),然后在命中
Figure 115852DEST_PATH_IMAGE163
后读取
Figure 246619DEST_PATH_IMAGE163
中的区位标识位所填充的区位标识值并判断:如果所述区位标识值为Z,则 首先在主区所关联哈希桶
Figure DEST_PATH_IMAGE165
的插入位区中寻找与
Figure 916634DEST_PATH_IMAGE166
所匹配的主区信息存 储标签(记作
Figure DEST_PATH_IMAGE167
,并记所在插入槽位为
Figure 31221DEST_PATH_IMAGE168
),然后在命中
Figure 546516DEST_PATH_IMAGE169
后则删除
Figure 797369DEST_PATH_IMAGE169
以将
Figure 874171DEST_PATH_IMAGE168
置为NULL,然后删除
Figure 210475DEST_PATH_IMAGE170
并更新控制区所关联哈希桶
Figure DEST_PATH_IMAGE171
的主区成员个数、缓冲区成员个数以及 主区建议插入位置,即将主区成员个数-1、将缓冲区成员个数-1以及将主区建议插入位置 设置为
Figure 529461DEST_PATH_IMAGE172
,然后返回删除成功的标识,然后删除操作结束;如果标识值为G,则首 先在过期区所关联哈希桶
Figure 634820DEST_PATH_IMAGE171
的插入位区中寻找与
Figure 381059DEST_PATH_IMAGE170
所匹配的过期区信息 存储标签(记作
Figure DEST_PATH_IMAGE173
),并在命中
Figure 204659DEST_PATH_IMAGE173
后则删除
Figure 327335DEST_PATH_IMAGE173
,然后删除
Figure 287201DEST_PATH_IMAGE170
并更新控制区所关联哈希桶
Figure 938762DEST_PATH_IMAGE174
的过期区成员个数以及缓冲区成员个 数,即将过期成员个数-1以及将缓冲区成员个数-1,然后返回删除成功的标识,然后删除操 作结束;而如果标识值为J,则首先在交换区所关联哈希桶
Figure 249658DEST_PATH_IMAGE174
的插入位区中寻找与
Figure 910446DEST_PATH_IMAGE170
所匹配的交换区信息存储标签(记作
Figure DEST_PATH_IMAGE175
),并在命中
Figure 990398DEST_PATH_IMAGE175
后则删除
Figure 344019DEST_PATH_IMAGE175
,然后删除
Figure 876631DEST_PATH_IMAGE175
并更新控制区所关联哈希 桶的交换区成员个数以及缓冲区成员个数,即将交换区成员个数-1以及将缓冲区成员个 数-1,然后返回删除成功的标识,然后删除操作结束;
步骤Ⅱ.5、根据所述带时效的自适应动态数据集合成员Ⅱ类判定方法所返回的桶 标识(记所述桶标识为
Figure 341111DEST_PATH_IMAGE176
)和插入槽位标识(记所述插入槽位标识为
Figure DEST_PATH_IMAGE177
), 将位于主区所关联哈希桶
Figure 508525DEST_PATH_IMAGE176
的插入槽位
Figure 33047DEST_PATH_IMAGE177
中的待删除集合成员
Figure 52955DEST_PATH_IMAGE178
的 主区信息存储标签删除以将
Figure 55547DEST_PATH_IMAGE177
置为NULL,然后更新控制区所关联哈希桶
Figure 844511DEST_PATH_IMAGE176
的主区成员个数以及主区建议插入位置,即将主区成员个数-1以及将主区建议插 入位置设置为
Figure 274355DEST_PATH_IMAGE177
,然后返回删除成功的标识,然后删除操作结束;
步骤Ⅱ.6、根据所述带时效的自适应动态数据集合成员Ⅱ类判定方法所返回的桶 标识(记所述桶标识为
Figure 515981DEST_PATH_IMAGE176
),将位于交换区所关联哈希桶
Figure 322263DEST_PATH_IMAGE176
的插入位区中的待 删除集合成员
Figure 231313DEST_PATH_IMAGE178
的交换区信息存储标签删除,然后更新控制区所关联哈希桶
Figure 832059DEST_PATH_IMAGE176
的 交换区成员个数,即将交换区成员个数-1,然后返回删除成功的标识,然后删除操作结束;
步骤Ⅱ.7、根据所述带时效的自适应动态数据集合成员Ⅱ类判定方法所返回的插 入地址和桶标识(记所述桶标识作
Figure 826559DEST_PATH_IMAGE176
),将位于过期区所关联哈希桶
Figure 905374DEST_PATH_IMAGE176
的插入 位区中的待删除集合成员
Figure 668930DEST_PATH_IMAGE178
的过期区信息存储标签删除,然后更新控制区所关联哈希 桶
Figure 440577DEST_PATH_IMAGE176
的过期区成员个数,即将过期区成员个数-1,然后返回删除成功的标识,然后删 除操作结束。
具体地,为了说明如何通过哈希函数计算得到待删除集合成员
Figure 922374DEST_PATH_IMAGE178
的哈希值
Figure DEST_PATH_IMAGE179
以及对应的两个哈希桶
Figure 336038DEST_PATH_IMAGE180
Figure DEST_PATH_IMAGE181
,则步骤Ⅱ.1中,所述通过哈希函数计算得到待插入集 合成员
Figure 954101DEST_PATH_IMAGE178
的哈希值
Figure 663694DEST_PATH_IMAGE182
以及对应的两个哈希桶
Figure DEST_PATH_IMAGE183
Figure 632787DEST_PATH_IMAGE184
具体为:
Figure DEST_PATH_IMAGE185
Figure 584562DEST_PATH_IMAGE186
Figure 57132DEST_PATH_IMAGE187
其中,
Figure 170581DEST_PATH_IMAGE188
Figure 361391DEST_PATH_IMAGE189
为哈希函数;
具体地,为了说明如何采用对称压缩算法将待删除集合成员
Figure 851278DEST_PATH_IMAGE190
的哈希值
Figure DEST_PATH_IMAGE191
压 缩成为长度为H/4位的指纹验证信息
Figure 709513DEST_PATH_IMAGE192
,则在步骤Ⅱ.1中,所述采用对称压缩算法将待删 除集合成员
Figure 993864DEST_PATH_IMAGE190
的哈希值
Figure 671970DEST_PATH_IMAGE194
压缩成为长度为H/4位的指纹验证信息
Figure 699969DEST_PATH_IMAGE192
具体为:
Figure DEST_PATH_IMAGE195
其中,“
Figure 412710DEST_PATH_IMAGE196
”为“与”运算符;“
Figure DEST_PATH_IMAGE197
”为异或逻辑运算符;
Figure 133541DEST_PATH_IMAGE198
表示由哈希值
Figure DEST_PATH_IMAGE199
的前H/4 位的二进制数字所组成的长度为H/4位的二进制序列;
Figure 63057DEST_PATH_IMAGE200
表示由哈希值
Figure DEST_PATH_IMAGE201
的第((H/4)+ 1)位到第H/2位的二进制数字所组成的长度为H/4位的二进制序列;
Figure 160326DEST_PATH_IMAGE202
表示由哈希值
Figure DEST_PATH_IMAGE203
的第((H/2)+1)位到第((H*3)/4)位的二进制数字所组成的长度为H/4位的二进制序列;
Figure 727574DEST_PATH_IMAGE204
表示由哈希值
Figure DEST_PATH_IMAGE205
的第(((H*3)/4)+1)位到第H位的二进制数字所组成的长度为H/4 位的二进制序列;而
Figure 619307DEST_PATH_IMAGE206
Figure DEST_PATH_IMAGE207
,其中,
Figure 537584DEST_PATH_IMAGE208
表示由 哈希值
Figure DEST_PATH_IMAGE209
的前H/2位的二进制数字所组成的长度为H/2位的二进制序列;
Figure 172965DEST_PATH_IMAGE210
表示由哈希 值
Figure DEST_PATH_IMAGE211
的第(((H*1)/2)+1)位到第H位的二进制数字所组成的长度为H/2位的二进制序列; 因此,
Figure 860298DEST_PATH_IMAGE212
表示由二进制序列
Figure DEST_PATH_IMAGE213
和二进制序列
Figure 922932DEST_PATH_IMAGE214
经过逻辑乘运算后所得到的长度为H/2位的二进制序列的前((H/2)/2)位的二进制数字所组成的长度为H/4位的二进制序列, 而
Figure DEST_PATH_IMAGE215
表示由二进制序列
Figure 62926DEST_PATH_IMAGE216
和二进制序列
Figure DEST_PATH_IMAGE217
经过逻辑乘运算后所得到的长度为H/2 位的二进制序列的第(((H/2)/2)+1)位到第(H/2)位的二进制数字所组成的长度为H/4位的 二进制序列。
在一些实施例中,步骤Ⅱ.2中所述一种带时效的自适应动态数据集合成员Ⅱ类判定方法包括以下具体步骤:
步骤Ⅱ.2.1、首先读取控制区所关联两个哈希候选桶
Figure 269042DEST_PATH_IMAGE218
Figure DEST_PATH_IMAGE219
的缓冲区成员个 数(分别记为
Figure 545303DEST_PATH_IMAGE220
Figure DEST_PATH_IMAGE221
)并判断:如果
Figure 44417DEST_PATH_IMAGE222
, 则跳转至步骤Ⅱ.2.2;如果
Figure DEST_PATH_IMAGE223
,则跳转至Ⅱ.2.6;
步骤Ⅱ.2.2、选择哈希候选桶
Figure 671707DEST_PATH_IMAGE224
作为判定桶,然后在缓冲区所关联判定桶
Figure DEST_PATH_IMAGE225
中判断与指纹对标信息
Figure 383312DEST_PATH_IMAGE226
相匹配的缓冲区信息存储标签;如果判断结束前缓冲区所关 联判定桶
Figure DEST_PATH_IMAGE227
中没有缓冲区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 45237DEST_PATH_IMAGE228
相匹配,且缓冲区所关联哈希候选桶
Figure DEST_PATH_IMAGE229
还未被判定,则跳转至步骤Ⅱ.2.4;如果判定结束 前缓冲区所关联判定桶
Figure 715253DEST_PATH_IMAGE230
中没有缓冲区信息存储标签的指纹对标位中的指纹对标信息 与
Figure DEST_PATH_IMAGE231
相匹配,且缓冲区所关联哈希候选桶
Figure 829839DEST_PATH_IMAGE232
已经被判定,则跳转至步骤Ⅱ.2.6;否则, 将指纹验证信息
Figure DEST_PATH_IMAGE233
与所述指纹对标信息匹配的缓冲区信息存储标签的指纹验证位中的 指纹验证信息相匹配,如果匹配,则判定结束并返回所述缓冲区信息存储标签所在哈希候 选桶
Figure 345134DEST_PATH_IMAGE234
的桶标识以及所述缓冲区信息存储标签的插入地址,否则,跳转至步骤Ⅱ.2.3;
步骤Ⅱ.2.3、继续在缓冲区所关联判定桶
Figure 595987DEST_PATH_IMAGE234
的插入位区中判定与指纹对标信息
Figure DEST_PATH_IMAGE235
相匹配的缓冲区信息存储标签;如果判定结束前缓冲区所关联判定桶
Figure 935439DEST_PATH_IMAGE234
中没有缓 冲区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 271743DEST_PATH_IMAGE235
相匹配,且缓冲区所关 联哈希候选桶
Figure 590729DEST_PATH_IMAGE234
还未被判定,则跳转至步骤Ⅱ.2.4;如果判定结束前缓冲区所关联判定 桶
Figure 430509DEST_PATH_IMAGE234
中没有缓冲区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 176748DEST_PATH_IMAGE235
相匹 配,且缓冲区所关联哈希候选桶
Figure 734768DEST_PATH_IMAGE234
已经被判定,则跳转至步骤Ⅱ.2.6;否则,将指纹验证 信息
Figure 857445DEST_PATH_IMAGE236
与所述指纹对标信息匹配的缓冲区信息存储标签中的指纹验证位所填充的指纹 验证信息相匹配,如果匹配,则判定结束并返回所述缓冲区信息存储标签所在哈希候选桶
Figure 817311DEST_PATH_IMAGE234
的桶标识以及所述缓冲区信息存储标签的插入地址,否则,跳转至步骤Ⅱ.2.3;
步骤Ⅱ.2.4、选择哈希候选桶
Figure DEST_PATH_IMAGE237
作为判定桶,然后在缓冲区所关联判定桶
Figure 30DEST_PATH_IMAGE237
中判定与指纹对标信息
Figure 310926DEST_PATH_IMAGE238
相匹配的缓冲区信息存储标签:如果判定结束前缓冲区所关 联判定桶
Figure 971714DEST_PATH_IMAGE237
中没有缓冲区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 520507DEST_PATH_IMAGE238
相匹配,且缓冲区所关联哈希候选桶
Figure 874128DEST_PATH_IMAGE234
还未被判定,则跳转至步骤Ⅱ.2.2;如果判定结束 前缓冲区所关联判定桶
Figure 406741DEST_PATH_IMAGE237
中没有缓冲区信息存储标签中的指纹对标位所填充的指纹对 标信息与
Figure 605641DEST_PATH_IMAGE238
相匹配,且缓冲区所关联哈希候选桶
Figure 540099DEST_PATH_IMAGE234
已经被判定,则跳转至步骤Ⅱ .2.6;否则,将指纹验证信息
Figure DEST_PATH_IMAGE239
与所述指纹对标信息匹配的缓冲区信息存储标签中的指 纹验证位所填充的指纹验证信息相匹配,如果匹配,则判定结束并返回所述缓冲区信息存 储标签所在哈希候选桶
Figure 831665DEST_PATH_IMAGE240
的桶标识以及所述缓冲区信息存储标签的插入地址,否则,跳 转至步骤Ⅱ.2.5;
步骤Ⅱ.2.5、继续在缓冲区所关联判定桶
Figure 585995DEST_PATH_IMAGE240
的插入位区中判定与指纹对标信息
Figure DEST_PATH_IMAGE241
相匹配的缓冲区信息存储标签;如果判定结束前缓冲区所关联判定桶
Figure 854165DEST_PATH_IMAGE242
中没有缓冲 区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure DEST_PATH_IMAGE243
相匹配,且缓冲区所关联哈 希候选桶
Figure 908709DEST_PATH_IMAGE244
还未被判定,则跳转至步骤Ⅱ.2.2;如果判定结束前缓冲区所关联判定桶
Figure 338553DEST_PATH_IMAGE240
中没有缓冲区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 845758DEST_PATH_IMAGE241
相匹配, 且缓冲区所关联哈希候选桶
Figure 652040DEST_PATH_IMAGE244
已经被判定,则跳转至步骤Ⅱ.2.6;否则,将指纹验证信息
Figure 295510DEST_PATH_IMAGE239
与所述指纹对标信息匹配的缓冲区信息存储标签中的指纹验证位所填充的指纹验证 信息相匹配,如果匹配,则判定结束并返回所述缓冲区信息存储标签所在哈希候选桶
Figure 896256DEST_PATH_IMAGE240
的桶标识以及所述缓冲区信息存储标签的插入地址,否则,跳转至步骤Ⅱ.2.5;
步骤Ⅱ.2.6、读取控制区所关联两个哈希候选桶
Figure 625178DEST_PATH_IMAGE244
Figure 235151DEST_PATH_IMAGE240
的主区成员个数(分 别记为
Figure 998707DEST_PATH_IMAGE245
Figure 770354DEST_PATH_IMAGE246
)并判断:如果
Figure DEST_PATH_IMAGE247
, 则跳转至步骤Ⅱ.2.7;如果
Figure 252151DEST_PATH_IMAGE248
,则跳转至Ⅱ.2.9;
步骤Ⅱ.2.7、选择哈希候选桶
Figure 400236DEST_PATH_IMAGE244
作为判定桶,然后在主区所关联判定桶
Figure 18299DEST_PATH_IMAGE244
中 判定与指纹对标信息
Figure DEST_PATH_IMAGE249
相匹配的主区信息存储标签;如果判定结束前主区所关联判定 桶
Figure 736680DEST_PATH_IMAGE244
中没有主区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 440194DEST_PATH_IMAGE249
相匹配, 且主区所关联判定桶
Figure 391969DEST_PATH_IMAGE240
还未被判定,则跳转至步骤Ⅱ.2.9;如果判定结束前主区所关联 判定桶
Figure 864539DEST_PATH_IMAGE244
中没有主区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 243568DEST_PATH_IMAGE249
相匹 配,且主区所关联判定桶
Figure 434378DEST_PATH_IMAGE240
已经被判定,则跳转至步骤Ⅱ.2.11;否则,将指纹验证信息
Figure 924265DEST_PATH_IMAGE250
与所述指纹对标信息匹配的主区信息存储标签中的指纹验证位所填充的指纹验证信 息相匹配,如果匹配,则判定操作结束并返回所述主区信息存储标签所在哈希候选桶
Figure 251341DEST_PATH_IMAGE251
的桶标识以及所述主区信息存储标签所在插入槽位的槽位编号,否则,跳转至步骤Ⅱ.2.8;
步骤Ⅱ.2.8、继续在主区所关联判定桶
Figure 801271DEST_PATH_IMAGE251
的插入位区中判定与指纹对标信息
Figure 213798DEST_PATH_IMAGE252
相匹配的主区信息存储标签:如果判定结束前主区所关联判定桶
Figure 507376DEST_PATH_IMAGE251
中没有主区信 息存储标签的指纹对标位中的指纹对标信息与
Figure 954538DEST_PATH_IMAGE252
相匹配,且主区所关联哈希候选桶桶
Figure 675369DEST_PATH_IMAGE240
还未被判定,则跳转至步骤Ⅱ.2.9;如果判定结束前主区所关联判定桶
Figure 575192DEST_PATH_IMAGE251
中没有主 区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 406882DEST_PATH_IMAGE252
相匹配,且主区所关联哈 希候选桶
Figure 708550DEST_PATH_IMAGE240
已经被判定,则跳转至步骤Ⅱ.2.11;否则,将指纹验证信息
Figure 600283DEST_PATH_IMAGE253
与所述指纹 对标信息匹配的主区信息存储标签中的指纹验证位所填充的指纹验证信息相匹配,如果匹 配,则判定操作结束并返回所述主区信息存储标签所在哈希候选桶
Figure 488867DEST_PATH_IMAGE251
的桶标识以及所述 主区信息存储标签所在插入槽位的槽位编号,否则,跳转至步骤Ⅱ.2.8;
步骤Ⅱ.2.9、选择哈希候选桶
Figure 124247DEST_PATH_IMAGE240
作为判定桶,然后在主区所关联判定桶
Figure 546001DEST_PATH_IMAGE240
中 匹配与指纹对标信息
Figure 343056DEST_PATH_IMAGE252
相匹配的主区信息存储标签:如果判定结束前主区所关联判定 桶
Figure 217471DEST_PATH_IMAGE240
中没有主区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 390964DEST_PATH_IMAGE252
相匹配, 且主区所关联哈希候选桶
Figure 667224DEST_PATH_IMAGE251
还未被判定,则跳转至步骤Ⅱ.2.7;如果判定结束前主区所 关联判定桶
Figure 900759DEST_PATH_IMAGE240
中没有主区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 262471DEST_PATH_IMAGE252
相匹配,且主区所关联哈希候选桶
Figure 239654DEST_PATH_IMAGE251
已经被判定,则跳转至步骤Ⅱ.2.11;否则,将指纹验 证信息
Figure 636000DEST_PATH_IMAGE253
与所述指纹对标信息匹配的主区信息存储标签中的指纹验证位所填充的指纹 验证信息相匹配,如果匹配,则判定操作结束并返回所述主区信息存储标签所在哈希候选 桶
Figure 774857DEST_PATH_IMAGE240
的桶标识以及所述主区信息存储标签所在插入槽位的槽位编号,否则,跳转至步骤 Ⅱ.2.10;
步骤Ⅱ.2.10、继续在主区所关联判定桶
Figure 358285DEST_PATH_IMAGE240
的插入位区中判定与指纹对标信息
Figure 139160DEST_PATH_IMAGE254
相匹配的主区信息存储标签;如果判定结束前主区所关联判定桶
Figure 390012DEST_PATH_IMAGE240
中没有主区信 息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 965350DEST_PATH_IMAGE254
相匹配,且主区所关联哈希候 选桶
Figure DEST_PATH_IMAGE255
还未被判定,则跳转至步骤Ⅱ.2.7;如果判定结束前主区所关联判定桶
Figure 301654DEST_PATH_IMAGE240
中没 有主区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 119175DEST_PATH_IMAGE254
相匹配,且主区所关 联哈希候选桶
Figure 224534DEST_PATH_IMAGE255
已经被判定,则跳转至步骤Ⅱ.2.11;否则,将指纹验证信息
Figure 970773DEST_PATH_IMAGE253
与所述 指纹对标信息匹配的主区信息存储标签中的指纹验证位所填充的指纹验证信息相匹配,如 果匹配,则判定操作结束并返回所述主区信息存储标签所在哈希候选桶
Figure 528793DEST_PATH_IMAGE240
的桶标识以及 所述主区信息存储标签所在插入槽位的槽位编号,否则,跳转至步骤Ⅱ.2.10;
步骤Ⅱ.2.11、读取控制区所关联两个哈希候选桶
Figure 385891DEST_PATH_IMAGE255
Figure 611336DEST_PATH_IMAGE240
的交换区成员个数 (分别记为
Figure 528476DEST_PATH_IMAGE256
Figure DEST_PATH_IMAGE257
)并判断:如果
Figure 839372DEST_PATH_IMAGE258
, 则跳转至步骤Ⅱ.2.12;如果
Figure DEST_PATH_IMAGE259
,则跳转至Ⅱ.2.14;
步骤Ⅱ.2.12、选择哈希候选桶
Figure 500160DEST_PATH_IMAGE260
作为判定桶,然后在交换区所关联判定桶
Figure 580112DEST_PATH_IMAGE260
中判定与指纹对标信息
Figure DEST_PATH_IMAGE261
相匹配的交换区信息存储标签;如果判定结束前交换区所关 联判定桶
Figure 933733DEST_PATH_IMAGE260
中没有交换区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 466345DEST_PATH_IMAGE261
相匹配,且交换区所关联哈希候选桶
Figure 930825DEST_PATH_IMAGE240
还未被判定,则跳转至步骤Ⅱ.2.14;如果判定结 束前交换区所关联判定桶
Figure 865283DEST_PATH_IMAGE260
中没有交换区信息存储标签中的指纹对标位所填充的指纹 对标信息与
Figure 124226DEST_PATH_IMAGE261
相匹配,且交换区所关联哈希候选桶
Figure 878555DEST_PATH_IMAGE240
已经被判定,则跳转至步骤Ⅱ .2.16;否则,将指纹验证信息
Figure 648190DEST_PATH_IMAGE262
与所述指纹对标信息匹配的交换区信息存储标签中的 指纹验证位所填充的指纹验证信息相匹配,如果匹配,则判定操作结束并返回所述交换区 信息存储标签所在哈希候选桶
Figure 437155DEST_PATH_IMAGE260
的桶标识以及所述交换区信息存储标签的插入地址,否 则,跳转至步骤Ⅱ.2.13;
步骤Ⅱ.2.13、继续在交换区所关联判定桶
Figure 866999DEST_PATH_IMAGE260
的插入位区中判定与指纹对标信 息
Figure 374204DEST_PATH_IMAGE261
相匹配的交换区信息存储标签;如果判定结束前交换区所关联判定桶
Figure 180486DEST_PATH_IMAGE260
中没有 交换区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 823957DEST_PATH_IMAGE261
相匹配,且交换区所 关联哈希候选桶
Figure DEST_PATH_IMAGE263
还未被判定,则跳转至步骤Ⅱ.2.14;如果判定结束前交换区所关联判 定桶
Figure 690282DEST_PATH_IMAGE260
中没有交换区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 419203DEST_PATH_IMAGE261
相匹 配,且交换区所关联哈希候选桶
Figure 29176DEST_PATH_IMAGE263
已经被判定,则跳转至步骤Ⅱ.2.16;否则,将指纹验证 信息
Figure 527153DEST_PATH_IMAGE264
与所述指纹对标信息匹配的交换区信息存储标签中的指纹验证位所填充的指纹 验证信息相匹配,如果匹配,则判定操作结束并返回所述交换区信息存储标签所在哈希候 选桶
Figure 564380DEST_PATH_IMAGE260
的桶标识以及所述交换区信息存储标签的插入地址,否则,跳转至步骤Ⅱ.2.13;
步骤Ⅱ.2.14、选择哈希候选桶
Figure 780597DEST_PATH_IMAGE263
作为判定桶,然后在交换区所关联判定桶
Figure 928682DEST_PATH_IMAGE263
中判定与指纹对标信息
Figure 281166DEST_PATH_IMAGE261
相匹配的交换区信息存储标签;如果判定结束前交换区 所关联判定桶
Figure 489293DEST_PATH_IMAGE263
中没有交换区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 192807DEST_PATH_IMAGE261
相匹配,且交换区所关联哈希候选桶
Figure 144583DEST_PATH_IMAGE260
还未被判定,则跳转至步骤Ⅱ.2.12;如果判 定结束前交换区所关联判定桶
Figure 115687DEST_PATH_IMAGE263
中没有交换区信息存储标签中的指纹对标位所填充的 指纹对标信息与
Figure 494716DEST_PATH_IMAGE261
相匹配,且交换区所关联哈希候选桶
Figure 685526DEST_PATH_IMAGE260
已经被判定,则跳转至步骤 Ⅱ.2.16;否则,将指纹验证信息
Figure DEST_PATH_IMAGE265
与所述指纹对标信息匹配的交换区信息存储标签中 的指纹验证位所填充的指纹验证信息相匹配,如果匹配,则判定操作结束并返回所述交换 区信息存储标签所在哈希候选桶
Figure 175413DEST_PATH_IMAGE263
的桶编号以及所述交换区信息存储标签的插入地址, 否则,跳转至步骤Ⅱ.2.15;
步骤Ⅱ.2.15、继续在交换区所关联判定桶
Figure 768068DEST_PATH_IMAGE263
的插入位区中判定与指纹对标信 息
Figure 52419DEST_PATH_IMAGE261
相匹配的交换区信息存储标签:如果判定结束前交换区所关联判定桶
Figure 730525DEST_PATH_IMAGE263
中没有 交换区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 24103DEST_PATH_IMAGE261
相匹配,且交换区所 关联哈希候选桶
Figure 471265DEST_PATH_IMAGE266
还未被判定,则跳转至步骤Ⅱ.2.12;如果判定结束前交换区所关联判 定桶
Figure DEST_PATH_IMAGE267
中没有交换区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 192097DEST_PATH_IMAGE261
相匹 配,且交换区所关联哈希候选桶
Figure 91919DEST_PATH_IMAGE266
已经被判定,则跳转至步骤Ⅱ.2.16;否则,将指纹验证 信息
Figure 923609DEST_PATH_IMAGE268
与所述指纹对标信息匹配的交换区信息存储标签中的指纹验证位所填充的指纹 验证信息相匹配,如果匹配,则判定操作结束并返回所述交换区信息存储标签所在哈希候 选桶
Figure 490857DEST_PATH_IMAGE267
的桶标识以及所述交换区信息存储标签的插入地址,否则,跳转至步骤Ⅱ.2.15;
步骤Ⅱ.2.16、读取控制区所关联两个哈希候选桶
Figure 382589DEST_PATH_IMAGE266
Figure 504129DEST_PATH_IMAGE267
的过期区成员个数 (分别记为
Figure DEST_PATH_IMAGE269
Figure 405089DEST_PATH_IMAGE270
)并判断:如果
Figure DEST_PATH_IMAGE271
, 则跳转至步骤Ⅱ.2.17;如果
Figure 593887DEST_PATH_IMAGE272
,则跳转至Ⅱ.2.19;
步骤Ⅱ.2.17、选择哈希候选桶
Figure DEST_PATH_IMAGE273
作为判定桶,然后在过期区所关联判定桶
Figure 656521DEST_PATH_IMAGE274
中判定与指纹对标信息
Figure DEST_PATH_IMAGE275
相匹配的过期区信息存储标签;如果判定结束前过期区所关 联判定桶
Figure 796516DEST_PATH_IMAGE273
中没有过期区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 970008DEST_PATH_IMAGE275
相匹配,且过期区所关联哈希候选桶
Figure 246268DEST_PATH_IMAGE276
还未被判定,则跳转至步骤Ⅱ.2.19;如果判定结 束前过期区所关联判定桶
Figure 214224DEST_PATH_IMAGE273
中没有过期区信息存储标签中的指纹对标位所填充的指纹 对标信息与
Figure 575936DEST_PATH_IMAGE275
相匹配,且过期区所关联哈希候选桶
Figure 553119DEST_PATH_IMAGE276
已经被判定,则返回判定失败的 标识,同时判定操作结束;否则,将指纹验证信息
Figure DEST_PATH_IMAGE277
与所述指纹对标信息匹配的过期区 信息存储标签中的指纹验证位中所填充的指纹验证信息相匹配,如果匹配,则判定结束并 返回所述过期区信息存储标签所在哈希候选桶
Figure 683886DEST_PATH_IMAGE273
的桶标识以及所述过期区信息存储标 签的插入地址,否则,跳转至步骤Ⅱ.2.18;
步骤Ⅱ.2.18、继续在过期区所关联判定桶
Figure 88323DEST_PATH_IMAGE273
的插入位区中匹配与指纹对标信 息
Figure 937330DEST_PATH_IMAGE278
相匹配的过期区信息存储标签:如果判定结束前过期区所关联判定桶
Figure 718204DEST_PATH_IMAGE273
中没有 过期区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 703478DEST_PATH_IMAGE278
相匹配,且过期区所 关联哈希候选桶
Figure DEST_PATH_IMAGE279
还未被判定,则跳转至步骤Ⅱ.2.19;如果判定结束前过期区所关联判 定桶
Figure 544395DEST_PATH_IMAGE273
中没有过期区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 615119DEST_PATH_IMAGE278
相匹 配,且过期区所关联哈希候选桶
Figure 432640DEST_PATH_IMAGE279
已经被判定,则返回判定失败的标识,同时判定操作结 束;否则,将指纹验证信息
Figure 537999DEST_PATH_IMAGE280
与所述指纹对标信息匹配的过期区信息存储标签中的指纹 验证位所填充的指纹验证信息相匹配,如果匹配,则判定操作结束并返回所述过期区信息 存储标签所在哈希候选桶
Figure 284238DEST_PATH_IMAGE273
的桶标识以及所述过期区信息存储标签的插入地址,否则, 跳转至步骤Ⅱ.2.18;
步骤Ⅱ.2.19、选择哈希候选桶
Figure 107838DEST_PATH_IMAGE279
作为判定桶,然后在过期区所关联判定桶
Figure 964935DEST_PATH_IMAGE279
中判定与指纹对标信息
Figure 924801DEST_PATH_IMAGE278
相匹配的过期区信息存储标签;如果判定结束前过期区 所关联判定桶
Figure 107521DEST_PATH_IMAGE279
中没有过期区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 152837DEST_PATH_IMAGE278
相匹配,且过期区所关联哈希候选桶
Figure 813626DEST_PATH_IMAGE273
还未被判定,则跳转至步骤Ⅱ.2.17;如果判 定结束前过期区所关联判定桶
Figure 893577DEST_PATH_IMAGE279
中没有过期区信息存储标签中的指纹对标位所填充的 指纹对标信息与
Figure 716040DEST_PATH_IMAGE278
相匹配,且过期区所关联哈希候选桶
Figure 248652DEST_PATH_IMAGE273
已经被判定,则返回判定失 败的标识,同时判定操作结束;否则,将指纹验证信息
Figure 713131DEST_PATH_IMAGE280
与所述指纹对标信息匹配的过 期区信息存储标签中的指纹验证位所填充的指纹验证信息相匹配,如果匹配,则判定操作 结束并返回所述过期区信息存储标签所在哈希候选桶
Figure 647589DEST_PATH_IMAGE279
的桶标识以及所述过期区信息 存储标签的插入地址,否则,跳转至步骤Ⅱ.2.19;
在一些实施例中,针对交换区、过期区以及缓冲区的插入以及删除操作,即为常规的针对邻接表的插入删除操作。
本发明实施例还提出一种带时效的自适应动态数据集合成员检索方法,如图1-6所示,所述方法包括以下步骤:
步骤A、预先建立用于存储集合成员指纹信息的布谷鸟过滤器以及3个邻接表,并将布谷鸟过滤器命名为主区,3个邻接表分别命名为交换区、过期区以及缓冲区,其中,主区用于存储暂未进入过期过渡期的集合成员,交换区用于存储发生了两次重定位操作(第二次重定位操作时的存储目标即为交换区)且暂未进入过期过渡期的集合成员,过期区用于存储已经进入过期过渡期但还未过期的集合成员,而缓冲区用于存储被访问命中次数达到高访问次数阈值且未过期的集合成员。与此同时,分别为主区、交换区、过期区以及缓冲区中的每一个哈希桶维护一个控制区,其中,所述控制区的参数项包括重定位率、主区成员个数、交换区成员个数、过期区成员个数、缓冲区成员个数以及主区建议插入位置;且针对主区中每一个哈希桶,其插入位区的每个插入槽位的存储单位为一个由指纹对标位、指纹验证位、重定位计数位、有效期标识位以及命中次数计数位所构成的主区信息存储标签;针对交换区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位、命中次数计数位以及指针位所构成的交换区信息存储标签;针对过期区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位以及指针位所构成的过期区信息存储标签;而针对缓冲区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位、区位标识位以及指针位所构成的缓冲区信息存储标签。需要注意的是,所述主区信息存储标签、交换区信息存储标签和过期区信息存储标签为主信息存储标签,而缓冲区信息存储标签为副信息存储标签,即针对同一个未过期的集合成员,其可以同时拥有一个主信息存储标签和副信息存储标签,而不能同时拥有两个及以上的主信息存储标签,以及不能同时拥有两个及以上的副信息存储标签;
步骤B、检索时,按缓冲区、主区、交换区以及过期区的顺序在上述存储区中检索待检索集合成员;如果命中待检索集合成员的信息存储标签且所述信息存储标签未过期,则返回检索成功的标识;如果在缓冲区、主区、交换区以及过期区的插入位区中未命中待检索集合成员的信息存储标签,则返回检索失败的标识;如果命中待检索集合成员的信息存储标签但该信息存储标签已过期,则首先返回检索失败的标识,然后将缓冲区、主区、交换区以及过期区的插入位区中所有与待检索集合成员相关联的信息存储标签删除,同时更新控制区所关联待检索集合成员现所在哈希桶的相关数据并返回检索失败的标识;如果命中待检索集合成员的信息存储标签但所述信息存储标签已进入过期过渡期,且所述信息存储标签的类型只为主区信息存储标签和交换区信息存储标签中的一种,则首先返回检索成功的标识,然后将待检索集合成员的信息存储标签从主区或者交换区的插入位区中删除,然后将待检索集合成员的信息存储标签的类型更变为过期区信息存储标签并插入过期区的插入位区中,然后更新控制区的相关数据;进一步地,如果首次命中的待检索成员的信息存储标签非缓冲区信息存储标签,且所述信息存储标签未进入过期过渡期以及标签中的命中次数计数位所填充的计数值等于或者超过高访问次数阈值时,则需要为所述待检索集合成员生成一个新的缓冲区信息存储标签并将其插入缓冲区的插入位区中,然后更新控制区的相关项目的数据。
在一些实施例中,为提供一种检索时的较为详细的步骤,具体如下:
步骤A中,在所述主区的插入位区中,每个哈希桶的插入槽位个数记为
Figure 906532DEST_PATH_IMAGE141
。在所述 信息存储标签中,指纹对标位的存储长度为8位;指纹验证位的存储长度为8位;有效期标识 位的存储长度可扩展;重定位计数位的存储长度为8位,命中次数计数位的存储长度为16 位;区位标识位的存储长度为8位;而所述指针位的存储大小则根据操作系统的机器字长来 动态决定。需要注意的是,首先,所述重定位计数位所存储的合法值包括数值0以及数值1, 其分别表示该信息存储标签被重定位操作了0次以及1次,同时当重定位计数等于1的信息 存储标签再次被重定位操作时,则表明该信息存储标签需要被存储进入交换区中,进而避 免陷入重定位循环中;其次,所述区位标识位所存储的合法值包括Z、G和J这三个标识,其 中,合法值Z标识该缓冲区信息存储标签所关联的主信息存储标签为主区信息存储标签,合 法值G标识该缓冲区信息存储标签所关联的主信息存储标签为过期区信息存储标签,而合 法值J标识该缓冲区信息存储标签所关联的主信息存储标签为交换区信息存储标签。对于 所述过期过渡期,其具体表示为:
Figure DEST_PATH_IMAGE281
其中,
Figure 926441DEST_PATH_IMAGE282
表示执行一种带时效的自适应动态数据集合成员检索方法时的系统 时间;
Figure DEST_PATH_IMAGE283
表示主区信息存储标签的被生成时的系统时间,其存储于主区信息存储标签以 及与之相关联的其余信息存储标签之中的有效期标识位中;
Figure 696076DEST_PATH_IMAGE284
表示过期过渡 期的进入阈值;而
Figure DEST_PATH_IMAGE285
表示过期过渡期的整体时长。此时,如果
Figure 485041DEST_PATH_IMAGE286
,则说明信息存储标签已经过期;如果
Figure DEST_PATH_IMAGE287
,则说明信息存储标签已经进入过期过 渡期但未过期。对于所述高访问次数阈值,其被记为
Figure 446043DEST_PATH_IMAGE288
;当主区信息存储标 签以及交换区信息存储标签中命中次数计数位的计数值大于或者等于
Figure 953248DEST_PATH_IMAGE288
时,则说明所述主区信息存储标签以及交换区信息存储标签已经属于被高访问的信息存储 标签,此时,由于本文规定集合成员判定时首先查询的区域为缓冲区,因此需要生成的一个 关联所述主区信息存储标签以及交换区信息存储标签的副信息存储标签即缓冲区信息存 储标签,然后将其插入缓冲区的插入位区中,进而提高访问效率。
在一些实施例中,所述步骤B包括以下具体步骤:
步骤B.1、检索时,通过哈希函数计算得到待检索集合成员
Figure 493951DEST_PATH_IMAGE289
的哈希值
Figure 403001DEST_PATH_IMAGE290
(假设
Figure 738167DEST_PATH_IMAGE290
的长度为
Figure 732668DEST_PATH_IMAGE291
bit)以及对应的两个哈希桶
Figure 77062DEST_PATH_IMAGE292
Figure 840619DEST_PATH_IMAGE293
,然后从哈希 值
Figure 877845DEST_PATH_IMAGE290
中提取第1位、第2位、第((H/2)-1)位、第(H/2)位、第((H/2)+1)位、第(H-1)位、第H 位以及第(H/4)位的二进制数字,然后按提取顺序将其拼接成为一个长度为8位的指纹对标 信息并记为
Figure 94062DEST_PATH_IMAGE294
,同时采用对称压缩算法将待检索集合成员
Figure DEST_PATH_IMAGE295
的哈希值
Figure 242147DEST_PATH_IMAGE296
压缩成一个长度为H/4位的指纹验证信息并记为
Figure DEST_PATH_IMAGE297
步骤B.2、分别读取控制区所关联哈希候选桶
Figure 125789DEST_PATH_IMAGE298
和哈希桶
Figure DEST_PATH_IMAGE299
的缓冲区成 员个数(分别记作
Figure 109750DEST_PATH_IMAGE300
Figure DEST_PATH_IMAGE301
)并检索;如果
Figure 813264DEST_PATH_IMAGE302
,则跳转至步骤B.3;如果
Figure DEST_PATH_IMAGE303
, 则跳转至B.15;
步骤B.3、选择哈希候选桶
Figure 765039DEST_PATH_IMAGE304
作为检索桶,然后在缓冲区所关联检索桶的插入 位区中检索与指纹对标信息
Figure DEST_PATH_IMAGE305
相匹配的缓冲区信息存储标签;如果在检索结束前未 发现与指纹对标信息
Figure 768767DEST_PATH_IMAGE305
相匹配的缓冲区信息存储标签,则跳转至步骤B.6;否则,将所 述与指纹对标信息
Figure 147796DEST_PATH_IMAGE305
相匹配的缓冲区信息存储标签中的指纹验证信息与指纹验证信 息
Figure 338606DEST_PATH_IMAGE306
相匹配,如果匹配,则停止检索并跳转至步骤B.4,否则,跳转至步骤B.5;
步骤B.4、读取所述缓冲区信息存储标签(记作
Figure DEST_PATH_IMAGE307
)中的有效期标识 位所填充的时间值并判断:如果判断结果显示
Figure 828493DEST_PATH_IMAGE307
已过期,则首先返回检索失败 的标识,然后读取
Figure 155569DEST_PATH_IMAGE307
中的区位标识位所填充的区位标识值并判断:如果区位标 识值为Z,则删除
Figure 705499DEST_PATH_IMAGE307
以及主区所关联检索桶
Figure 383605DEST_PATH_IMAGE308
的插入位区中与
Figure DEST_PATH_IMAGE309
相匹配的主区信息存储标签(记所述主区信息存储标签的插入槽位为
Figure 942763DEST_PATH_IMAGE310
),然后更新控制区所关联检索桶的缓冲区成员个数、主区成员个数以及主区 建议插入位置,即将缓冲区成员个数-1、将主区成员个数-1以及将主区建议插入位置设置 为
Figure DEST_PATH_IMAGE311
,然后检索操作结束;如果标识值为J,则删除
Figure 389924DEST_PATH_IMAGE312
以及交换 区所关联检索桶的插入位区中与
Figure 845177DEST_PATH_IMAGE309
相匹配的交换区信息存储标签,然后更新 控制区所关联检索桶的缓冲区成员个数以及交换区成员个数,即将缓冲区成员个数-1以及 将交换区成员个数-1,然后检索操作结束;而如果标识值为G,则删除
Figure DEST_PATH_IMAGE313
以及过 期区所关联检索桶
Figure 777623DEST_PATH_IMAGE314
的插入位区中与
Figure DEST_PATH_IMAGE315
相匹配的过期区信息存储标签, 然后更新控制区所关联检索桶
Figure 609313DEST_PATH_IMAGE314
的缓冲区成员个数以及过期区成员个数,即将缓冲 区成员个数-1以及将过期区成员个数-1,然后检索操作结束;如果判断结果显示
Figure 176560DEST_PATH_IMAGE315
未过期但已进入过期过渡期,则首先返回检索成功的标识,然后读取
Figure 802714DEST_PATH_IMAGE315
中的区位标识位所填充的区位标识值并判断,如果标识值为G,则检索操作 结束;如果标识值为Z,则首先生成一个新的过期区信息存储标签(记作
Figure 455412DEST_PATH_IMAGE316
), 然后在主区所关联检索桶的插入位区中检索与
Figure 90792DEST_PATH_IMAGE315
相匹配的主区信息存储标 签,并在命中所述主区信息存储标签(记所述主区信息存储标签为
Figure DEST_PATH_IMAGE317
,并记
Figure 246967DEST_PATH_IMAGE317
所在插入槽位为
Figure 309601DEST_PATH_IMAGE318
)后,将
Figure 184016DEST_PATH_IMAGE317
中对应的数据迁 移到
Figure DEST_PATH_IMAGE319
对应的填充位中,然后删除
Figure 623088DEST_PATH_IMAGE320
并将
Figure 899348DEST_PATH_IMAGE319
插入过期区所关联检索桶
Figure DEST_PATH_IMAGE321
的插入位区中,然后更新控制区所关 联检索桶的主区成员个数、过期区成员个数以及主区建议插入位置,即将主区成员个数-1、 将过期区成员个数+1以及将主区建议插入位置设置为
Figure 398463DEST_PATH_IMAGE322
,然后检索操作结束; 如果标识值为J,则首先生成一个新的过期区信息存储标签(记作
Figure DEST_PATH_IMAGE323
),然 后在交换区所关联检索桶的插入位区中检索与
Figure 25753DEST_PATH_IMAGE324
相关联的交换区信息存储标 签,并在命中所述交换区信息存储标签后,将其对应的数据迁移到
Figure DEST_PATH_IMAGE325
对应 的填充位中,然后删除所述交换区信息存储标签并将
Figure 767051DEST_PATH_IMAGE325
插入过期区所关联 检索桶的插入位区中,然后更新控制区所关联检索桶
Figure 632239DEST_PATH_IMAGE326
的交换区成员个数以及过期区 成员个数,即将交换区成员个数-1以及将过期区成员个数+1,然后检索操作结束;如果判断 结果显示
Figure DEST_PATH_IMAGE327
未过期且未进入过期过渡期,则返回检索成功的标识,然后检索操 作结束;
步骤B.5、继续在缓冲区所关联检索桶的插入位区中检索与指纹对标信息
Figure 302255DEST_PATH_IMAGE328
相匹配的缓冲区信息存储标签;如果检索结束前未发现与指纹对标信息
Figure 151262DEST_PATH_IMAGE328
相匹配的 缓冲区信息存储标签,则跳转至步骤B.6;否则,将所述与指纹对标信息
Figure 666557DEST_PATH_IMAGE328
相匹配的缓 冲区信息存储标签中的指纹验证信息与指纹验证信息
Figure DEST_PATH_IMAGE329
相匹配,如果匹配,则停止检 索并跳转至步骤B.4,否则,跳转至步骤B.5;
步骤B.6、在主区所关联检索桶的插入位区中检索与指纹对标信息
Figure 917410DEST_PATH_IMAGE328
相匹配 的主区信息存储标签;如果检索结束前未发现与指纹对标信息
Figure 492747DEST_PATH_IMAGE328
相匹配的主区信息 存储标签,则跳转至步骤B.9;否则,将所述与指纹对标信息
Figure 829051DEST_PATH_IMAGE328
相匹配的主区信息存储 标签中的指纹验证信息与指纹验证信息
Figure 148037DEST_PATH_IMAGE330
相匹配,如果匹配,则停止检索并跳转至步骤 B.7,否则,跳转至步骤B.8;
步骤B.7、读取所述主区信息存储标签(记所述主区信息存储标签为
Figure DEST_PATH_IMAGE331
,并记
Figure 253396DEST_PATH_IMAGE331
所在插入槽位为
Figure 999635DEST_PATH_IMAGE332
)中的有效期标识位所填 充的时效标识值并判断:如果判断结果显示
Figure 557655DEST_PATH_IMAGE331
已过期,则首先返回检索失败的 标识,然后删除
Figure 680332DEST_PATH_IMAGE331
并更新控制区所关联检索桶的主区成员个数以及主区建议 插入位置,即将主区成员个数-1以及将主区建议插入位置设置为
Figure 640198DEST_PATH_IMAGE332
,然后检索 操作结束;如果判断结果显示
Figure 557338DEST_PATH_IMAGE331
未过期但已经进入过期过渡区,则首先返回检 索成功的标识,然后生成一个新的过期区信息存储标签(记作
Figure DEST_PATH_IMAGE333
)并将
Figure 369699DEST_PATH_IMAGE334
中对应的数据迁移至
Figure 30487DEST_PATH_IMAGE333
对应的填充位中,然后删除
Figure 844860DEST_PATH_IMAGE335
并将
Figure 198480DEST_PATH_IMAGE336
插入过期区所关联检索桶的插入位区中,然后更新 控制区所关联检索桶的主区成员个数、过期区成员个数以及主区建议插入位置,即将主区 成员个数-1、将过期区成员个数+1以及将主区建议插入位置设置为
Figure 731093DEST_PATH_IMAGE337
,然后检 索操作结束;如果判断结果显示
Figure 929993DEST_PATH_IMAGE338
未过期且未进入过期过渡区,则首先返回 检索成功的标识,然后读取
Figure 598872DEST_PATH_IMAGE338
中的命中次数计数位所填充的计数值并判断: 如果所述计数值+1后小于
Figure 123394DEST_PATH_IMAGE339
,则检索操作结束;而如果所述计数值+1后大于 或等于
Figure 143303DEST_PATH_IMAGE339
,则首先生成一个新的缓冲区信息存储标签,然后将
Figure 145894DEST_PATH_IMAGE340
中对应的数据迁移至所述缓冲区信息存储标签对应的填充位中,然后将所 述缓冲区信息存储标签插入缓冲区所关联检索桶的插入位区中,然后更新控制区关联哈希 桶的缓冲区成员个数,即将缓冲区成员个数+1,然后检索操作结束;
步骤B.8、继续在主区所关联检索桶的插入位区中检索与指纹对标信息
Figure DEST_PATH_IMAGE341
相 匹配的主区信息存储标签;如果检索结束前未发现与指纹对标信息
Figure 934858DEST_PATH_IMAGE341
相匹配的主区 信息存储标签,则跳转至步骤B.9;否则,将所述与指纹对标信息
Figure 630282DEST_PATH_IMAGE341
相匹配的主区信息 存储标签中的指纹验证信息与指纹验证信息
Figure 871907DEST_PATH_IMAGE342
相匹配,如果匹配,则停止检索并跳转 至步骤B.7,否则,跳转至步骤B.8;
步骤B.9、在交换区所关联检索桶的插入位区中检索与指纹对标信息
Figure 678189DEST_PATH_IMAGE341
相匹 配的交换区信息存储标签;如果检索结束前未发现与指纹对标信息
Figure 587239DEST_PATH_IMAGE341
相匹配的交换 区信息存储标签,则跳转至步骤B.12;否则,将所述与指纹对标信息
Figure 187985DEST_PATH_IMAGE341
相匹配的交换 区信息存储标签中的指纹验证信息与指纹验证信息
Figure 916907DEST_PATH_IMAGE342
相匹配,如果匹配,则停止检索 并跳转至步骤B.10,否则,跳转至步骤B.11;
步骤B.10、读取所述交换区信息存储标签(记作
Figure DEST_PATH_IMAGE343
)中的有效期标识 位所填充的时效标识值并判断:如果判断结果显示
Figure 25415DEST_PATH_IMAGE343
已过期,则首先返回检索 失败的标识,然后删除
Figure 788971DEST_PATH_IMAGE343
并更新控制区所关联检索桶的交换区成员个数,即 将交换区成员个数-1,然后检索操作结束;如果判断结果显示
Figure 560618DEST_PATH_IMAGE343
未过期但已经 进入过期过渡区,则首先返回检索成功的标识,然后生成一个新的过期区信息存储标签(记 作
Figure 776836DEST_PATH_IMAGE344
)并将
Figure DEST_PATH_IMAGE345
中对应的数据迁移至
Figure 190500DEST_PATH_IMAGE346
对应的 填充位中,然后删除
Figure DEST_PATH_IMAGE347
并将
Figure 74142DEST_PATH_IMAGE348
插入过期区所关联检索桶的 插入位区中,然后更新控制区所关联检索桶的交换区成员个数以及过期区成员个数,即将 交换区成员个数-1以及将过期区成员个数+1,然后检索操作结束;如果判断结果显示
Figure 282270DEST_PATH_IMAGE345
未过期且未进入过期过渡区,则首先读取
Figure 720204DEST_PATH_IMAGE345
中的命中次数 计数位所填充的计数值并判断:如果所述计数值+1后小于
Figure DEST_PATH_IMAGE349
,则返回检索成 功的标识,然后检索操作结束;而如果所述计数值+1后大于或等于
Figure 671980DEST_PATH_IMAGE349
,则首 先生成一个新的缓冲区信息存储标签,然后将
Figure 410129DEST_PATH_IMAGE345
中对应的数据迁移至所述 缓冲区信息存储标签对应的填充位中,然后将所述缓冲区信息存储标签插入缓冲区所关联 检索桶的插入位区中,然后更新控制区关联哈希桶的缓冲区成员个数,即将缓冲区成员个 数+1,然后检索操作结束;
步骤B.11、继续在交换区所关联检索桶的插入位区中检索与指纹对标信息
Figure 523578DEST_PATH_IMAGE350
相匹配的交换区信息存储标签;如果检索结束前未发现与指纹对标信息
Figure 714388DEST_PATH_IMAGE350
相 匹配的交换区信息存储标签,则跳转至步骤B.12;否则,将所述与指纹对标信息
Figure 204275DEST_PATH_IMAGE350
相 匹配的交换区信息存储标签中的指纹验证信息与指纹验证信息
Figure DEST_PATH_IMAGE351
相匹配,如果匹配, 则停止检索并跳转至步骤B.10,否则,跳转至步骤B.11;
步骤B.12、在过期区所关联检索桶的插入位区中检索与指纹对标信息
Figure 796930DEST_PATH_IMAGE350
相 匹配的过期区信息存储标签;如果检索结束前未发现与指纹对标信息
Figure 346861DEST_PATH_IMAGE350
相匹配的过 期区信息存储标签,且哈希候选桶
Figure 526431DEST_PATH_IMAGE352
还未被检索,则跳转至步骤B.15;如果检索结束 前未发现与指纹对标信息
Figure 554430DEST_PATH_IMAGE350
相匹配的过期区信息存储标签,且哈希候选桶
Figure DEST_PATH_IMAGE353
还 未被检索,则跳转至步骤B.3;而如果检索结束前未发现与指纹对标信息
Figure 1592DEST_PATH_IMAGE350
相匹配的 过期区信息存储标签,且哈希候选桶
Figure 722423DEST_PATH_IMAGE352
和哈希候选桶
Figure 887826DEST_PATH_IMAGE353
都已经被检索,则返回检 索失败的标识,然后检索操作结束;否则,将所述与指纹对标信息
Figure 719515DEST_PATH_IMAGE350
相匹配的过期区 信息存储标签中的指纹验证信息与指纹验证信息
Figure 21184DEST_PATH_IMAGE351
相匹配,如果匹配,则停止检索并 跳转至步骤B.13,否则,跳转至步骤B.14;
步骤B.13、读取所述过期区信息存储标签(记作
Figure 912916DEST_PATH_IMAGE354
)中的有效期标 识位所填充的时效标识值并判断:如果判断结果显示
Figure 300035DEST_PATH_IMAGE354
已过期,则首先返 回检索失败的标识,然后删除
Figure 669837DEST_PATH_IMAGE354
并更新控制区所关联检索桶的过期区成员 个数,即将过期区成员个数-1,然后检索操作结束;否则,返回检索成功的标识,然后检索操 作结束;
步骤B.14、继续在过期区所关联检索桶的插入位区中检索与指纹对标信息
Figure DEST_PATH_IMAGE355
相匹配的过期区信息存储标签;如果检索结束前未发现与指纹对标信息
Figure 357170DEST_PATH_IMAGE355
相 匹配的过期区信息存储标签,且哈希候选桶
Figure 419804DEST_PATH_IMAGE356
还未被检索,则跳转至步骤B.15;如果 检索结束前未发现与指纹对标信息
Figure 294219DEST_PATH_IMAGE355
相匹配的过期区信息存储标签,且哈希候选桶
Figure DEST_PATH_IMAGE357
还未被检索,则跳转至步骤B.3;而如果检索结束前未发现与指纹对标信息
Figure 733291DEST_PATH_IMAGE355
相匹配的过期区信息存储标签,且哈希候选桶
Figure 9551DEST_PATH_IMAGE358
和哈希候选桶
Figure DEST_PATH_IMAGE359
都已经被检索, 则返回检索失败的标识,然后检索操作结束;否则,将所述与指纹对标信息
Figure 7201DEST_PATH_IMAGE355
相匹配 的过期区信息存储标签中的指纹验证信息与指纹验证信息
Figure 368912DEST_PATH_IMAGE360
相匹配,如果匹配,则 停止检索并跳转至步骤B.13,否则,跳转至步骤B.14;
步骤B.15、选择哈希候选桶
Figure DEST_PATH_IMAGE361
作为检索桶,然后在缓冲区所关联检索桶的插 入位区中检索与指纹对标信息
Figure 80516DEST_PATH_IMAGE362
相匹配的缓冲区信息存储标签;如果在检索结束前 未发现与指纹对标信息
Figure 476862DEST_PATH_IMAGE362
相匹配的缓冲区信息存储标签,则跳转至步骤B.6;否则,将 所述与指纹对标信息
Figure 881299DEST_PATH_IMAGE362
相匹配的缓冲区信息存储标签中的指纹验证信息与指纹验证 信息
Figure 730306DEST_PATH_IMAGE362
相匹配,如果匹配,则停止检索并跳转至步骤B.4,否则,跳转至步骤B.5;
具体地,为了说明如何通过哈希函数计算得到待检索集合成员
Figure 980022DEST_PATH_IMAGE364
的哈希值
Figure 230875DEST_PATH_IMAGE366
以及对应的两个哈希桶
Figure DEST_PATH_IMAGE367
Figure 71792DEST_PATH_IMAGE368
,则步骤B.1中,所述通过哈希函数计算得到待检 索集合成员
Figure DEST_PATH_IMAGE369
的哈希值
Figure 689986DEST_PATH_IMAGE370
以及对应的两个哈希桶
Figure 274551DEST_PATH_IMAGE367
Figure 379910DEST_PATH_IMAGE368
具体为:
Figure DEST_PATH_IMAGE371
Figure 214483DEST_PATH_IMAGE372
Figure DEST_PATH_IMAGE373
其中,
Figure 38082DEST_PATH_IMAGE374
Figure DEST_PATH_IMAGE375
为哈希函数;
具体地,为了说明如何采用对称压缩算法将待检索集合成员
Figure 426338DEST_PATH_IMAGE376
的哈希值
Figure DEST_PATH_IMAGE377
压缩成为长度为H/4位的指纹验证信息
Figure 651783DEST_PATH_IMAGE378
,则在步骤B.1中,所述采用对称压缩 算法将待检索集合成员
Figure 303344DEST_PATH_IMAGE376
的哈希值
Figure 614240DEST_PATH_IMAGE377
压缩成为长度为H/4位的指纹验证信息
Figure 275028DEST_PATH_IMAGE378
具体为:
Figure 89401DEST_PATH_IMAGE379
其中,“
Figure 443022DEST_PATH_IMAGE380
”为“与”运算符;“
Figure 710055DEST_PATH_IMAGE381
”为异或逻辑运算符;
Figure 908955DEST_PATH_IMAGE382
表示由哈希值
Figure DEST_PATH_IMAGE383
的前H/4位的二进制数字所组成的长度为H/4位的二进制序列;
Figure 108992DEST_PATH_IMAGE384
表示由哈希值
Figure 633515DEST_PATH_IMAGE385
的第 ((H/4)+1)位到第H/2位的二进制数字所组成的长度为H/4位的二进制序列;
Figure 122265DEST_PATH_IMAGE386
表示由 哈希值
Figure 390435DEST_PATH_IMAGE385
的第((H/2)+1)位到第((H*3)/4)位的二进制数字所组成的长度为H/4位的二 进制序列;
Figure DEST_PATH_IMAGE387
表示由哈希值
Figure 946443DEST_PATH_IMAGE385
的第(((H*3)/4)+1)位到第H位的二进制数字所组成 的长度为H/4位的二进制序列;而
Figure 376288DEST_PATH_IMAGE388
Figure DEST_PATH_IMAGE389
, 其中,
Figure 883493DEST_PATH_IMAGE390
表示由哈希值
Figure DEST_PATH_IMAGE391
的前H/2位的二进制数字所组成的长度为H/2位的二进制 序列;
Figure 955354DEST_PATH_IMAGE392
表示由哈希值
Figure 598825DEST_PATH_IMAGE391
的第(((H*1)/2)+1)位到第H位的二进制数字所组成的长 度为H/2位的二进制序列;因此,
Figure DEST_PATH_IMAGE393
表示由二进制序列
Figure 465150DEST_PATH_IMAGE394
和二进制序列
Figure DEST_PATH_IMAGE395
经过 逻辑乘运算后所得到的长度为H/2位的二进制序列的前((H/2)/2)位的二进制数字所组成 的长度为H/4位的二进制序列,而
Figure 459650DEST_PATH_IMAGE396
表示由二进制序列
Figure 804044DEST_PATH_IMAGE397
和二进制序列
Figure 567601DEST_PATH_IMAGE398
经 过逻辑乘运算后所得到的长度为H/2位的二进制序列的第(((H/2)/2)+1)位到第(H/2)位的 二进制数字所组成的长度为H/4位的二进制序列。
在一些实施例中,针对交换区、过期区以及缓冲区的插入以及删除操作,即为常规的针对邻接表的插入删除操作。
以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

Claims (10)

1.一种带时效的自适应动态数据集合成员插入方法,其特征在于,所述方法包括以下步骤:
步骤1、预先建立用于存储集合成员指纹信息的布谷鸟过滤器以及3个邻接表,并将布谷鸟过滤器命名为主区,3个邻接表分别命名为交换区、过期区以及缓冲区,其中,主区用于存储暂未进入过期过渡期的集合成员,交换区用于存储发生了两次重定位操作且暂未进入过期过渡期的集合成员,过期区用于存储已经进入过期过渡期但还未过期的集合成员,缓冲区用于存储被访问命中次数达到预设访问次数阈值且未过期的集合成员;
分别为主区、交换区、过期区以及缓冲区中的每一个哈希桶维护一个控制区,其中,所述控制区的参数项包括重定位率、主区成员个数、交换区成员个数、过期区成员个数、缓冲区成员个数以及主区建议插入位置;
针对主区中每一个哈希桶,其插入位区的每个插入槽位的存储单位为一个由指纹对标位、指纹验证位、重定位计数位、有效期标识位以及命中次数计数位所构成的主区信息存储标签;
针对交换区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位、命中次数计数位以及指针位所构成的交换区信息存储标签;
针对过期区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位以及指针位所构成的过期区信息存储标签;
针对缓冲区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位、区位标识位以及指针位所构成的缓冲区信息存储标签;
所述主区信息存储标签、交换区信息存储标签和过期区信息存储标签为主信息存储标签,所述缓冲区信息存储标签为副信息存储标签,未过期的集合成员对应有且只有一个主信息存储标签和一个副信息存储标签;
步骤2、插入时,判定待插入集合成员是否已经存在于主区、缓冲区、过期区以及交换区的插入位区中:
若存在,则插入操作结束;
若不存在,则选择两个哈希候选桶中主区成员个数最少的一个哈希候选桶作为判定桶来进行插入操作;
插入操作时,根据控制区所关联插入桶的主区建议插入位置所指示的插入槽位进行插入,判断当前插入槽位是否为空白槽位:
若是,则根据主区建议插入位置将待插入集合成员的主区信息存储标签插入所述槽位中,扫描主区所关联插入桶的插入位区并根据扫描结果更新控制区中的数据;
若否,则根据主区建议插入位置所指的插入槽位中现存的主区信息存储标签的有效期标识位中的时效标识值来判断下一步的操作流程:
若所述主区建议插入位置所指的插入槽位中现存的主区信息存储标签的有效期标识位中的时效标识值标识该主区信息存储标签未进入过期过渡期,则进入重定位操作;
若所述主区建议插入位置所指的插入槽位中现存的主区信息存储标签的有效期标识位中的时效标识值标识该主区信息存储标签已经进入过期过渡期但未过期,则将该主区信息存储标签更换至过期区中,然后再将待插入集合成员的主区信息存储标签插入所述主区建议插入位置所指的插入槽位中,最后扫描主区所关联插入桶的插入位区并根据扫描结果更新控制区中的数据;
若所述主区建议插入位置所指的插入槽位中现存的主区信息存储标签的有效期标识位中的时效标识值标识该主区信息存储标签已经过期,则直接将待插入集合成员的主区信息存储标签插入所述主区建议插入位置所指的插入槽位中,最后扫描主区所关联插入桶的插入位区并根据扫描结果更新控制区中的数据。
2.根据权利要求1所述的一种带时效的自适应动态数据集合成员插入方法,其特征在于,在信息存储标签中,指纹对标位的存储长度为8位;指纹验证位的存储长度为8位;重定位计数位的存储长度为8位,命中次数计数位的存储长度为16位;区位标识位的存储长度为8位;所述指针位的存储大小根据操作系统的机器字长来动态决定;所述信息存储标签包括所述主区信息存储标签、所述交换区信息存储标签、所述过期区信息存储标签和所述缓冲区信息存储标签;
所述重定位计数位所存储的合法值包括数值0以及数值1,分别表示该信息存储标签被重定位操作了0次以及1次,当重定位计数等于1的信息存储标签再次被重定位操作时,将该信息存储标签存入交换区中,以避免陷入重定位循环中;
所述区位标识位所存储的合法值包括Z、G和J,其中,合法值Z标识该缓冲区信息存储标签所关联的主信息存储标签为主区信息存储标签,合法值G标识该缓冲区信息存储标签所关联的主信息存储标签为过期区信息存储标签,合法值J标识该缓冲区信息存储标签所关联的主信息存储标签为交换区信息存储标签;
所述过期过渡期表示为:
Figure 680071DEST_PATH_IMAGE001
其中,
Figure 328221DEST_PATH_IMAGE002
表示判定待插入集合成员是否已经存在于主区、缓冲区、过期区以及交换 区的插入位区中所需的时间;
Figure 400083DEST_PATH_IMAGE003
表示主区信息存储标签的被生成时的系统时间;
Figure 699346DEST_PATH_IMAGE004
,表示过期过渡期的进入阈值;
Figure 565671DEST_PATH_IMAGE005
,表示过期过渡期的整体时长;
如果
Figure 701117DEST_PATH_IMAGE006
,则说明信息存储标签已经过期;
如果
Figure 45511DEST_PATH_IMAGE007
,则说明信息存储标签已 经进入过期过渡期但未过期;
当主区信息存储标签以及交换区信息存储标签中命中次数计数位的计数值大于或者等于预设访问次数阈值时,则生成一个关联所述主区信息存储标签以及交换区信息存储标签的缓冲区信息存储标签,并将缓冲区信息存储标签插入缓冲区的插入位区中,以提高访问效率。
3.根据权利要求2所述的一种带时效的自适应动态数据集合成员插入方法,其特征在于,所述步骤2具体包括以下步骤:
步骤201、插入时,通过哈希函数计算得到待插入集合成员
Figure 74646DEST_PATH_IMAGE008
的哈希值
Figure 737971DEST_PATH_IMAGE009
以及对应的 两个哈希候选桶
Figure 219768DEST_PATH_IMAGE010
Figure 774377DEST_PATH_IMAGE011
,然后从哈希值
Figure 658020DEST_PATH_IMAGE009
中提取第1位、第2位、第(H/2)-1位、第(H/2)位、第 (H/2)+1位、第(H-1)位、第H位以及第(H/4)位的二进制数字按顺序拼接成为一个长度为8位 的指纹对标信息并记为
Figure 990781DEST_PATH_IMAGE012
,同时采用对称压缩算法将待插入集合成员
Figure 959874DEST_PATH_IMAGE008
的哈希值
Figure 787016DEST_PATH_IMAGE009
压 缩成为长度为H/4位的指纹验证信息并记为
Figure 525165DEST_PATH_IMAGE013
,其中H表示
Figure 904193DEST_PATH_IMAGE009
的长度;
步骤202、判断指纹对标信息和指纹验证信息所共存的一个信息存储标签是否存储于 缓冲区、主区、交换区或者过期区所关联两个哈希候选桶
Figure 983751DEST_PATH_IMAGE010
Figure 739218DEST_PATH_IMAGE011
的插入位区中:
若存在,则返回插入失败的标识,
若不存在,则进入步骤203;
步骤203、读取控制区中关联两个哈希候选桶
Figure 207239DEST_PATH_IMAGE010
Figure 22749DEST_PATH_IMAGE011
的主区成员个数
Figure 91068DEST_PATH_IMAGE014
Figure 119066DEST_PATH_IMAGE015
并判 断:
Figure 831808DEST_PATH_IMAGE016
,则跳转至步骤204;
Figure 693584DEST_PATH_IMAGE017
,则跳转至步骤207;
步骤204、若哈希候选桶
Figure 124566DEST_PATH_IMAGE018
还未被作为判定桶,则选择哈希候选桶
Figure 582354DEST_PATH_IMAGE018
作为判定桶,然后读 取控制区所关联哈希候选桶
Figure 149602DEST_PATH_IMAGE018
的主区建议插入位置并判断:
若所述主区建议插入位置所指插入槽位未填充主区信息存储标签,则跳转至步骤205;
若所述主区建议插入位置所指插入槽位填充主区信息存储标签,则跳转至步骤207;
若哈希候选桶
Figure 182280DEST_PATH_IMAGE019
和哈希候选桶
Figure 100557DEST_PATH_IMAGE018
已经被作为判定桶进行了判定操作,则首先分别定义 一个存储单位为主区信息存储标签的变量temp和存储单位为缓冲区信息存储标签的变量 temph,然后分别将指纹对标信息
Figure 860572DEST_PATH_IMAGE020
、指纹验证信息
Figure 282326DEST_PATH_IMAGE021
、计数值0、标签生成时的时间值
Figure 610539DEST_PATH_IMAGE003
以及计数值0填充至变量temp的指纹对标位、指纹验证位、重定位计数位、有效期标识 位以及命中次数计数位中,最后进入重定位操作;
步骤205、首生成一个新的主区信息存储标签,分别将指纹对标信息
Figure 625899DEST_PATH_IMAGE020
、指纹验证信息
Figure 64971DEST_PATH_IMAGE021
、计数值0、标签生成时的时间值
Figure 247558DEST_PATH_IMAGE003
以及计数值0填充至所述主区信息存储标签中的 指纹对标位、指纹验证位、重定位计数位、有效期标识位以及命中次数计数位中,插入主区 所关联判定桶的控制区所关联判定桶的主区建议插入位置所指的插入槽位中,更新控制区 所关联判断桶的主区成员个数,返回插入成功的标识并跳转至步骤206;
步骤206、按序扫描主区所关联判定桶的插入槽位情况:
在扫描结束前首先发现有空的插入槽位的情况下,更新控制区所关联判定桶中的主区建议插入位置信息;
在扫描结束前首先发现有主区信息存储标签已经进入过期过渡期的情况下,生成一个 新的过期区信息存储标签
Figure 746672DEST_PATH_IMAGE022
,将所述已经进入过期过渡期的主区信息存储 标签中对应的数据迁移至新的过期区信息存储标签对应的填充位中,将新的过期区信息存 储标签插入过期区所关联判定桶的插入位区中,并删除已经进入过期过渡期的主区信息存 储标签,更新控制区所关联判定桶的主区成员个数、过期区成员个数以及主区建议插入位 置;
所述更新控制区所关联判定桶的主区成员个数、过期区成员个数以及主区建议插入位置,包括:
将过期区成员个数+1以及将主区建议插入位置设置为
Figure 249329DEST_PATH_IMAGE023
,然后判定缓冲 区所关联判定桶的插入位区中是否存在与
Figure 226512DEST_PATH_IMAGE024
相匹配的缓冲区信息存储标 签:
若存在,则将所述相匹配的缓冲区信息存储标签的区位标识位中的区位标识由Z修改为G,插入操作结束;
若不存在,插入操作结束;
如果扫描结束前首先发现有主区信息存储标签已经过期,记已过期的主区信息存储标 签所在插入槽位为
Figure 13071DEST_PATH_IMAGE025
,则首先删除已过期的主区信息存储标签以将
Figure 683087DEST_PATH_IMAGE026
置为NULL,然后判定缓冲区所关联判定桶的插入位区中是否存在与已过期 的主区信息存储标签相匹配的缓冲区信息存储标签:
若存在,则将所述相匹配的缓冲区信息存储标签删除,将主区成员个数-1、将缓冲区成 员个数-1以及将主区建议插入位置设置为
Figure 673040DEST_PATH_IMAGE026
,插入操作结束;
若不存在,则将主区成员个数-1以及将主区建议插入位置设置为
Figure 188335DEST_PATH_IMAGE026
,插入 操作结束;
步骤207、如果哈希候选桶
Figure 704767DEST_PATH_IMAGE027
还未被作为判定桶,选择哈希候选桶
Figure 906203DEST_PATH_IMAGE027
作为判定桶,然后 读取控制区所关联判定桶的主区建议插入位置并判断:
若所述主区建议插入位置所指插入槽位未填充主区信息存储标签,则跳转至步骤205;
若所述主区建议插入位置所指插入槽位填充主区信息存储标签,则跳转至步骤204;
如果哈希候选桶
Figure 508086DEST_PATH_IMAGE027
和哈希候选桶
Figure 968017DEST_PATH_IMAGE028
已经被作为判定桶进行了判定操作,则首先分别定 义一个存储单位为主区信息存储标签的变量temp和存储单位为缓冲区信息存储标签的变 量temph,然后分别将指纹对标信息
Figure 73377DEST_PATH_IMAGE029
、指纹验证信息
Figure 85195DEST_PATH_IMAGE030
、计数值0、标签生成时的时间值
Figure 33428DEST_PATH_IMAGE031
以及计数值0填充至变量temp的指纹对标位、指纹验证位、重定位计数位、有效期标 识位以及命中次数计数位中,然后进入重定位操作。
4.根据权利要求3所述的一种带时效的自适应动态数据集合成员插入方法,其特征在 于,所述通过哈希函数计算得到待插入集合成员
Figure 421684DEST_PATH_IMAGE032
的哈希值
Figure 522495DEST_PATH_IMAGE033
以及对应的两个哈希桶
Figure 705215DEST_PATH_IMAGE034
Figure 904859DEST_PATH_IMAGE035
具体为:
Figure 565647DEST_PATH_IMAGE036
Figure 520965DEST_PATH_IMAGE037
Figure 140165DEST_PATH_IMAGE038
其中,H()和h 1()为哈希函数,
Figure 672778DEST_PATH_IMAGE039
为异或逻辑运算符。
5.根据权利要求3所述的一种带时效的自适应动态数据集合成员插入方法,其特征在 于,采用对称压缩算法将待插入集合成员
Figure 261891DEST_PATH_IMAGE040
的哈希值
Figure 461928DEST_PATH_IMAGE041
压缩成为长度为H/4位的指纹验证 信息
Figure 127396DEST_PATH_IMAGE042
的计算公式为:
Figure 881725DEST_PATH_IMAGE043
其中,
Figure 41573DEST_PATH_IMAGE044
为与逻辑运算符;
Figure 96117DEST_PATH_IMAGE045
为异或逻辑运算符;
Figure 525961DEST_PATH_IMAGE046
表示由哈希值
Figure 174111DEST_PATH_IMAGE041
的前H/4位的二 进制数字所组成的长度为H/4位的二进制序列;
Figure 245973DEST_PATH_IMAGE047
表示由哈希值
Figure 279657DEST_PATH_IMAGE041
的第((H/4)+1)位到第H/2位的二进制数字所组成的长度为H/4位的二进制序列;
Figure 411561DEST_PATH_IMAGE048
表示由哈希值
Figure 15848DEST_PATH_IMAGE041
的第((H/2) +1)位到第((H*3)/4)位的二进制数字所组成的一个长度为H/4位的二进制序列;
Figure 891401DEST_PATH_IMAGE049
表示 由哈希值
Figure 654957DEST_PATH_IMAGE041
的第(((H*3)/4)+1)位到第H位的二进制数字所组成的一个长度为H/4位的二进 制序列;
Figure 321212DEST_PATH_IMAGE050
Figure 68588DEST_PATH_IMAGE051
,其中,
Figure 357618DEST_PATH_IMAGE052
表示由哈希值
Figure 241260DEST_PATH_IMAGE041
的 前H/2位的二进制数字所组成的一个长度为H/2位的二进制序列;
Figure 574021DEST_PATH_IMAGE053
表示由哈希值
Figure 543114DEST_PATH_IMAGE041
的第 (((H*1)/2)+1)位到第H位的二进制数字所组成的一个长度为H/2位的二进制序列;
Figure 635835DEST_PATH_IMAGE054
表 示由二进制序列
Figure 108405DEST_PATH_IMAGE055
和二进制序列
Figure 379112DEST_PATH_IMAGE056
经过逻辑乘运算后所得到的长度为H/2位的二进制 序列的前((H/2)/2)位的二进制数字所组成的一个长度为H/4位的二进制序列,而
Figure 569922DEST_PATH_IMAGE057
表示 由二进制序列
Figure 325388DEST_PATH_IMAGE055
和二进制序列
Figure 793410DEST_PATH_IMAGE056
经过逻辑乘运算后所得到的长度为H/2位的二进制序 列的第((H/2)/2)+1位到第(H/2)位的二进制数字所组成的一个长度为H/4位的二进制序 列。
6.根据权利要求3所述的一种带时效的自适应动态数据集合成员插入方法,其特征在 于,所述判断指纹对标信息和指纹验证信息所共存的一个信息存储标签是否存储于缓冲 区、主区、交换区或者过期区所关联两个哈希候选桶
Figure 608919DEST_PATH_IMAGE058
Figure 411659DEST_PATH_IMAGE059
的插入位区中,包括:
步骤202A、读取控制区所关联哈希候选桶
Figure 970816DEST_PATH_IMAGE058
Figure 558923DEST_PATH_IMAGE059
的缓冲区成员个数
Figure 279755DEST_PATH_IMAGE060
Figure 710736DEST_PATH_IMAGE061
,并判断:
Figure 431174DEST_PATH_IMAGE062
,则跳转至步骤202B;
Figure 732842DEST_PATH_IMAGE063
,则跳转至步骤202E;
步骤202B、选择哈希候选桶
Figure 765520DEST_PATH_IMAGE058
作为判定桶,然后在缓冲区所关联判定桶的插入位区中 判定与指纹对标信息
Figure 152639DEST_PATH_IMAGE064
相匹配的缓冲区信息存储标签:
如果判定结束前缓冲区所关联判定桶中没有缓冲区信息存储标签中的指纹对标位所 填充的指纹对标信息与
Figure 53599DEST_PATH_IMAGE064
相匹配,且缓冲区所关联哈希候选桶
Figure 865566DEST_PATH_IMAGE059
已被判定,则跳转至步 骤202G;
如果判定结束前缓冲区所关联判定桶中没有缓冲区信息存储标签中的指纹对标位所 填充的指纹对标信息与
Figure 193779DEST_PATH_IMAGE064
相匹配,但缓冲区所关联哈希候选桶
Figure 209140DEST_PATH_IMAGE059
未被判定,则跳转至步 骤202E;
如果判定结束前缓冲区所关联判定桶中有缓冲区信息存储标签中的指纹对标位所填 充的指纹对标信息与
Figure 382632DEST_PATH_IMAGE064
相匹配,将指纹验证信息
Figure 550571DEST_PATH_IMAGE065
与所述指纹对标信息匹配的缓冲区 信息存储标签中的指纹验证位所填充的指纹验证信息相匹配:
如果匹配成功,则停止判定并跳转至步骤202C,
如果匹配成功失败,则跳转至步骤202D;
步骤202C、将与指纹验证信息
Figure 49685DEST_PATH_IMAGE065
相匹配的缓冲区信息存储标签
Figure 552342DEST_PATH_IMAGE066
中 的有效期标识位所填充的时效标识值并与当前系统时间作比较:
Figure 529525DEST_PATH_IMAGE066
未进入过期过渡期,则返回判定成功的标识,判定操作结束;
Figure 191451DEST_PATH_IMAGE066
已经进入过期过渡期但还未过期,且区位标识位所填充的区位标 识值为Z,则首先返回判定成功的标识,然后将
Figure 986100DEST_PATH_IMAGE066
的区位标识值由Z修改为 G,然后在主区所关联判定桶的插入位区中判定与
Figure 569528DEST_PATH_IMAGE066
相匹配的主区信息存 储标签,并在判定成功后,记与
Figure 491348DEST_PATH_IMAGE066
相匹配的主区信息存储标签为
Figure 7780DEST_PATH_IMAGE067
Figure 466006DEST_PATH_IMAGE067
所在插入槽位为
Figure 536731DEST_PATH_IMAGE068
,生成一个新的过期区 信息存储标签
Figure 121296DEST_PATH_IMAGE069
,将
Figure 367600DEST_PATH_IMAGE067
中对应的数据迁移至
Figure 379419DEST_PATH_IMAGE069
对应的填充位中,将
Figure 593231DEST_PATH_IMAGE069
插入过期区所关联判定桶的插 入位区中,将
Figure 715908DEST_PATH_IMAGE068
中的
Figure 82298DEST_PATH_IMAGE067
删除以置
Figure 999439DEST_PATH_IMAGE068
为NULL,将主区成员 个数-1、将过期区成员个数+1以及将主区建议插入位置设置为
Figure 936433DEST_PATH_IMAGE068
,然后判定操作 结束;
Figure 862801DEST_PATH_IMAGE066
已经进入过期过渡期但还未过期,且区位标识位所填充的区位标识 值为J,则首先返回判定成功的标识,然后将
Figure 942752DEST_PATH_IMAGE066
的区位标识值由J修改为G, 然后在交换区所关联判定桶的插入位区中判定与
Figure 171739DEST_PATH_IMAGE066
相匹配的交换区信息 存储标签,并在判定成功后,记与
Figure 704352DEST_PATH_IMAGE066
相匹配的交换区信息存储标签为
Figure 559044DEST_PATH_IMAGE070
,生成一个新的过期区信息存储标签
Figure 759082DEST_PATH_IMAGE071
,将
Figure 18025DEST_PATH_IMAGE070
中对应的数据迁移至
Figure 178879DEST_PATH_IMAGE071
对应的填充位中,将
Figure 712628DEST_PATH_IMAGE071
插入过期区所关联判定桶的插入位区中,将
Figure 390341DEST_PATH_IMAGE070
删除,最 后将交换区成员个数-1以及将过期区成员个数+1,判定操作结束;
Figure 820185DEST_PATH_IMAGE072
已经进入过期过渡期但还未过期,且区位标识位中的标识值为G,则 返回判定成功的标识,判定操作结束;
Figure 468335DEST_PATH_IMAGE072
已经过期,且区位标识位中的标识值为Z,则首先返回判定失败的标 识,然后在主区所关联判定桶的插入位区中判定与
Figure 274617DEST_PATH_IMAGE072
相匹配的主区信息存 储标签,记所述主区信息存储标签的插入槽位为
Figure 183667DEST_PATH_IMAGE073
,并在判定成功后删除
Figure 440205DEST_PATH_IMAGE072
以及将
Figure 169127DEST_PATH_IMAGE073
中的主区信息存储标签删除以置
Figure 920045DEST_PATH_IMAGE073
为 NULL,然后将主区成员个数-1,将缓冲区成员个数-1以及将主区建议插入位置设置为
Figure 683602DEST_PATH_IMAGE073
,判定操作结束;
Figure 612506DEST_PATH_IMAGE072
已经过期,且区位标识位中的标识值为J,则首先返回判定失败的 标识,然后在交换区所关联判定桶的插入位区中判定与
Figure 94303DEST_PATH_IMAGE072
相匹配的交换区 信息存储标签,并在判定成功后删除
Figure 383333DEST_PATH_IMAGE072
和所述交换区信息存储标签,然后 将交换区成员个数-1以及将缓冲区成员个数-1,判定操作结束;
Figure 1396DEST_PATH_IMAGE072
已经过期,且区位标识位中的标识值为G,则首先返回判定失败的 标识,然后在过期区所关联判定桶的插入位区中判定与
Figure 475103DEST_PATH_IMAGE072
相匹配的过期区 信息存储标签,并在判定成功后删除
Figure 568829DEST_PATH_IMAGE072
和所述过期区信息存储标签,然后 将过期区成员个数-1以及将缓冲区成员个数-1,判定操作结束;
步骤202D、继续在缓冲区所关联判定桶的插入位区中判定与指纹对标信息
Figure 786184DEST_PATH_IMAGE074
相匹配 的缓冲区信息存储标签:
若判定结束前缓冲区所关联判定桶的插入位区中没有缓冲区信息存储标签中的指纹 对标位所填充的指纹对标信息与
Figure 134120DEST_PATH_IMAGE074
相匹配,且缓冲区所关联哈希候选桶
Figure 778728DEST_PATH_IMAGE075
已被判定,则 跳转至步骤202G;
若判定结束前缓冲区所关联判定桶中没有缓冲区信息存储标签中的指纹对标位所填 充的指纹对标信息与
Figure 864145DEST_PATH_IMAGE074
相匹配,但缓冲区所关联哈希候选桶
Figure 619612DEST_PATH_IMAGE075
未被判定,则跳转至步骤 202E;
若判定结束前缓冲区所关联判定桶中有缓冲区信息存储标签中的指纹对标位所填充 的指纹对标信息与
Figure 212267DEST_PATH_IMAGE074
相匹配,则将指纹验证信息
Figure 637563DEST_PATH_IMAGE076
与指纹对标信息匹配的缓冲区信息 存储标签中的指纹验证位所填充的指纹验证信息相匹配:
若匹配,则停止判定并跳转至步骤202C,
若不匹配,则跳转至步骤202D;
步骤202E、选择哈希候选桶
Figure 581249DEST_PATH_IMAGE077
作为判定桶,然后在缓冲区所关联判定桶的插入位区中 判定与指纹对标信息
Figure 265040DEST_PATH_IMAGE074
相匹配的缓冲区信息存储标签:
若判定结束前缓冲区所关联判定桶中没有缓冲区信息存储标签中的指纹对标位所填 充的指纹对标信息与
Figure 977781DEST_PATH_IMAGE074
相匹配,且缓冲区所关联哈希候选桶
Figure 839558DEST_PATH_IMAGE078
已被判定,则跳转至步骤 202G;
若判定结束前缓冲区所关联判定桶中没有缓冲区信息存储标签中的指纹对标位所填 充的指纹对标信息与
Figure 4960DEST_PATH_IMAGE074
相匹配,但缓冲区所关联哈希候选桶
Figure 462748DEST_PATH_IMAGE078
未被判定,则跳转至步骤 202B;
若判定结束前缓冲区所关联判定桶中有缓冲区信息存储标签中的指纹对标位所填充 的指纹对标信息与
Figure 295575DEST_PATH_IMAGE074
相匹配,则将指纹验证信息
Figure 328253DEST_PATH_IMAGE076
与所述指纹对标信息匹配的缓冲区 信息存储标签中的指纹验证位所填充的指纹验证信息相匹配,如果匹配,则停止判定并跳 转至步骤202C,如果不匹配,则跳转至步骤202F;
步骤202F、继续在缓冲区所关联判定桶的插入位区中判定与指纹对标信息
Figure 980951DEST_PATH_IMAGE074
相匹配 的缓冲区信息存储标签:
若判定结束前缓冲区所关联判定桶的插入位区中没有缓冲区信息存储标签中的指纹 对标位所填充的指纹对标信息与
Figure 6545DEST_PATH_IMAGE074
相匹配,且缓冲区所关联哈希候选桶
Figure 428299DEST_PATH_IMAGE079
的插入位区已 被判定,则跳转至步骤202G;
若判定结束前缓冲区所关联判定桶中没有缓冲区信息存储标签中的指纹对标位所填 充的指纹对标信息与
Figure 756512DEST_PATH_IMAGE080
相匹配,但缓冲区所关联哈希候选桶
Figure 771873DEST_PATH_IMAGE079
的插入位区未被判定,则 跳转至步骤202B;
若判定结束前缓冲区所关联判定桶中有缓冲区信息存储标签中的指纹对标位所填充 的指纹对标信息与
Figure 210944DEST_PATH_IMAGE080
相匹配,则将指纹验证信息
Figure 375953DEST_PATH_IMAGE081
与指纹对标信息匹配的缓冲区信息 存储标签中的指纹验证位所填充的指纹验证信息相匹配,如果匹配,则停止判定并跳转至 步骤202C,如果不匹配,则跳转至步骤202F;
步骤202G、读取控制区所关联哈希候选桶
Figure 875067DEST_PATH_IMAGE082
Figure 377724DEST_PATH_IMAGE083
的主区成员个数,分别记为
Figure 354907DEST_PATH_IMAGE084
Figure 875887DEST_PATH_IMAGE085
,并判断:如果
Figure 280324DEST_PATH_IMAGE086
,则跳转至步骤202H,否则, 跳转至步骤202L;
步骤202H、选择哈希候选桶
Figure 394910DEST_PATH_IMAGE082
作为判定桶,然后在主区所关联判定桶的插入位区中判 定与指纹对标信息
Figure 316730DEST_PATH_IMAGE087
相匹配的主区信息存储标签:
若判定结束前主区所关联判定桶中没有主区信息存储标签中的指纹对标位所填充的 指纹对标信息与
Figure 567583DEST_PATH_IMAGE087
相匹配,且主区所关联哈希候选桶
Figure 34598DEST_PATH_IMAGE083
的插入位区已被判定,则跳转至 步骤202M;
若判定结束前主区所关联判定桶中没有主区信息存储标签中的指纹对标位所填充的 指纹对标信息与
Figure 370902DEST_PATH_IMAGE087
相匹配,但主区所关联哈希候选桶
Figure 830833DEST_PATH_IMAGE083
的插入位区未被判定,则跳转至 步骤202K;
若判定结束前主区所关联判定桶中有主区信息存储标签中的指纹对标位所填充的指 纹对标信息与
Figure 201772DEST_PATH_IMAGE087
相匹配,则将指纹验证信息
Figure 338224DEST_PATH_IMAGE088
与所述指纹对标信息匹配的主区信息存 储标签中的指纹验证位所填充的指纹验证信息相匹配,如果匹配,则停止判定并跳转至步 骤202I,如果不匹配,则跳转至步骤202J;
步骤202I、读取所述指纹验证信息匹配的主区信息存储标签,记作
Figure 427403DEST_PATH_IMAGE089
, 并记
Figure 284500DEST_PATH_IMAGE089
当前所插入的插入槽位为
Figure 385311DEST_PATH_IMAGE090
,将所述主区信息存储标 签中的有效期标识位所填充的时效标识值并与当前系统时间作比较:
Figure 568031DEST_PATH_IMAGE089
未进入过期过渡期,则返回判定成功的标识,然后判定操作结束;
Figure 785253DEST_PATH_IMAGE089
已经进入过期过渡期但还未过期,则返回判定成功的标识,生成一 个新的过期区信息存储标签
Figure 446041DEST_PATH_IMAGE091
并将
Figure 666938DEST_PATH_IMAGE089
中对应的数据迁移 至
Figure 20559DEST_PATH_IMAGE091
中对应的填充位中,将
Figure 943385DEST_PATH_IMAGE091
插入过期区所关联哈希候 选桶
Figure 673443DEST_PATH_IMAGE092
的插入位区中,删除
Figure 748847DEST_PATH_IMAGE093
中的
Figure 273369DEST_PATH_IMAGE089
以将
Figure 293278DEST_PATH_IMAGE093
置 为NULL,将主区成员个数-1、将过期区成员个数+1以及将主区建议插入位置设置为
Figure 187546DEST_PATH_IMAGE093
,判定操作结束;
Figure 976511DEST_PATH_IMAGE089
已经过期,则首先返回判定失败的标识,然后删除
Figure 812880DEST_PATH_IMAGE094
中的
Figure 585664DEST_PATH_IMAGE095
以将
Figure 516580DEST_PATH_IMAGE096
置为NULL,最后将主区成员个数-1以及将主区 建议插入位置设置为
Figure 425630DEST_PATH_IMAGE096
,判定操作结束;
步骤202J、继续在主区所关联判定桶的插入位区中判定与指纹对标信息
Figure 291955DEST_PATH_IMAGE020
相匹配的 主区信息存储标签:
若判定结束前主区所关联判定桶的插入位区中没有主区信息存储标签中的指纹对标 位所填充的指纹对标信息与
Figure 427401DEST_PATH_IMAGE020
相匹配,且主区所关联哈希候选桶
Figure 37374DEST_PATH_IMAGE097
的插入位区已被判 定,则跳转至步骤202M;
若判定结束前主区所关联判定桶中没有主区信息存储标签中的指纹对标位所填充的 指纹对标信息与
Figure 689679DEST_PATH_IMAGE020
相匹配,但主区所关联哈希候选桶
Figure 726905DEST_PATH_IMAGE097
的插入位区未被判定,则跳转至 步骤202K;
若判定结束前主区所关联判定桶中有主区信息存储标签中的指纹对标位所填充的指 纹对标信息与
Figure 84068DEST_PATH_IMAGE020
相匹配,则将指纹验证信息
Figure 497732DEST_PATH_IMAGE098
与指纹对标信息匹配的主区信息存储标 签中的指纹验证位所填充的指纹验证信息相比较:如果匹配,则停止判定并跳转至步骤 202I,如果不匹配,则跳转至步骤202J;
步骤202K、选择哈希候选桶
Figure 115795DEST_PATH_IMAGE097
作为判定桶,在主区所关联判定桶的插入位区中判定与 指纹对标信息
Figure 714135DEST_PATH_IMAGE020
相匹配的主区信息存储标签:
若判定结束前主区所关联判定桶中没有主区信息存储标签的指纹对标位中的指纹对 标信息与
Figure 683228DEST_PATH_IMAGE020
相匹配,且主区所关联哈希候选桶
Figure 510370DEST_PATH_IMAGE099
的插入位区已被扫描,则跳转至步骤 202M;
若判定结束前主区所关联判定桶中没有主区信息存储标签的指纹对标位中的指纹对 标信息与
Figure 248519DEST_PATH_IMAGE020
相匹配,但主区所关联哈希候选桶
Figure 519225DEST_PATH_IMAGE099
的插入位区未被扫描,则跳转至步骤 202H;
若判定结束前主区所关联判定桶中有主区信息存储标签的指纹对标位中的指纹对标 信息与
Figure 975615DEST_PATH_IMAGE020
相匹配,则将指纹验证信息
Figure 465502DEST_PATH_IMAGE100
与所述指纹对标信息匹配的主区信息存储标签 的指纹验证位中的指纹验证信息相匹配:如果匹配,则停止判定并跳转至步骤202I,如果不 匹配,则跳转至步骤202L;
步骤202L、继续在主区所关联判定桶的插入位区中判定与指纹对标信息
Figure 933523DEST_PATH_IMAGE020
相匹配的 主区信息存储标签:
若判定结束前主区所关联判定桶的插入位区中没有主区信息存储标签中的指纹对标 位所填充的指纹对标信息与
Figure 483453DEST_PATH_IMAGE020
相匹配,且主区所关联哈希候选桶
Figure 551772DEST_PATH_IMAGE099
的插入位区已被判定, 则跳转至步骤202M;
若判定结束前主区所关联判定桶中没有主区信息存储标签中的指纹对标位中所填充 的指纹对标信息与
Figure 110930DEST_PATH_IMAGE020
相匹配,但主区所关联哈希候选桶
Figure 558092DEST_PATH_IMAGE099
的插入位区未被判定,则跳转至 步骤202H;
若判定结束前主区所关联判定桶中有主区信息存储标签中的指纹对标位中所填充的 指纹对标信息与
Figure 154289DEST_PATH_IMAGE020
相匹配,则将指纹验证信息
Figure 585270DEST_PATH_IMAGE101
与所述指纹对标信息匹配的主区信息 存储标签的指纹验证位中的指纹验证信息相比较:如果匹配,则停止判定并跳转至步骤 202I,如果不匹配,则跳转至步骤202L;
步骤202M、读取控制区所关联哈希候选桶
Figure 311568DEST_PATH_IMAGE102
Figure 878815DEST_PATH_IMAGE103
的交换区成员个数,分别记为
Figure 645914DEST_PATH_IMAGE104
Figure 564192DEST_PATH_IMAGE105
,并判断:如果
Figure 589785DEST_PATH_IMAGE106
,则跳转至步骤202N,否则, 跳转至步骤202Q;
步骤202N、选择哈希候选桶
Figure 11539DEST_PATH_IMAGE102
作为判定桶,然后在交换区所关联判定桶的插入位区中 判定与指纹对标信息
Figure 215119DEST_PATH_IMAGE107
相匹配的交换区信息存储标签:
若判定结束前交换区所关联判定桶中没有交换区信息存储标签中的指纹对标位所填 充的指纹对标信息与
Figure 620692DEST_PATH_IMAGE020
相匹配,且交换区所关联哈希候选桶
Figure 951442DEST_PATH_IMAGE108
的插入位区已被判定,则 跳转至步骤202S;
若判定结束前交换区所关联判定桶中没有交换区信息存储标签中的指纹对标位所填 充的指纹对标信息与
Figure 493282DEST_PATH_IMAGE020
相匹配,但交换区所关联哈希候选桶
Figure 602183DEST_PATH_IMAGE108
的插入位区未被判定,则 跳转至步骤202Q;
若判定结束前交换区所关联判定桶中有交换区信息存储标签中的指纹对标位所填充 的指纹对标信息与
Figure 229473DEST_PATH_IMAGE020
相匹配,则将指纹验证信息
Figure 596870DEST_PATH_IMAGE101
与所述指纹对标信息匹配的交换区 信息存储标签中的指纹验证位所填充的指纹验证信息相匹配:如果匹配,则停止判定并跳 转至步骤202O,如果不匹配,则跳转至步骤202P;
步骤202O、读取所述指纹验证信息匹配的交换区信息存储标签
Figure 993216DEST_PATH_IMAGE109
中的 有效期标识位所填充的时效标识值并与当前系统时间作比较:
Figure 538598DEST_PATH_IMAGE109
未进入过期过渡期,则返回判定成功的标识,然后判定操作结束;
Figure 387605DEST_PATH_IMAGE109
已经进入过期过渡期但还未过期,则首先返回判定成功的标识,然 后生成一个新的过期区信息存储标签
Figure 168479DEST_PATH_IMAGE110
并将
Figure 308080DEST_PATH_IMAGE109
中对应的 数据迁移至
Figure 148997DEST_PATH_IMAGE110
中对应的填充位中,然后将
Figure 360667DEST_PATH_IMAGE110
插入过期区 所关联判定桶的插入位区中,然后删除
Figure 945232DEST_PATH_IMAGE109
,最后将交换区成员个数-1以及 将过期区成员个数+1,判定操作结束;
Figure 440804DEST_PATH_IMAGE109
已经过期,则返回判定失败的标识,并删除
Figure 187044DEST_PATH_IMAGE109
,将 交换区成员个数-1,判定操作结束;
步骤202P、继续在交换区所关联判定桶的插入位区中判定与指纹对标信息
Figure 10643DEST_PATH_IMAGE020
相匹配 的交换区信息存储标签;
如果判定结束前交换区所关联判定桶的插入位区中没有交换区信息存储标签中的指 纹对标位所填充的指纹对标信息与
Figure 8686DEST_PATH_IMAGE020
相匹配,且交换区所关联哈希候选桶
Figure 234131DEST_PATH_IMAGE111
的插入位区 已被判定,则跳转至步骤202S;
如果判定结束前交换区所关联判定桶中没有交换区信息存储标签中的指纹对标位所 填充的指纹对标信息与
Figure 42949DEST_PATH_IMAGE020
相匹配,但交换区所关联哈希候选桶
Figure 619424DEST_PATH_IMAGE111
的插入位区未被判定, 则跳转至步骤202Q;
如果判定结束前交换区所关联判定桶中有交换区信息存储标签中的指纹对标位所填 充的指纹对标信息与
Figure 280213DEST_PATH_IMAGE020
相匹配,则将指纹验证信息
Figure 235530DEST_PATH_IMAGE112
与指纹对标信息匹配的交换区信 息存储标签中的指纹验证位所填充的指纹验证信息相匹配:如果匹配,则跳转至步骤202O, 否则,跳转至步骤202P;
步骤202Q、选择哈希候选桶
Figure 854730DEST_PATH_IMAGE111
作为判定桶,然后在交换区所关联判定桶的插入位区中 判定与指纹对标信息
Figure 777556DEST_PATH_IMAGE020
相匹配的交换区信息存储标签:
如果判定结束前交换区所关联判定桶中没有交换区信息存储标签中的指纹对标位所 填充的指纹对标信息与
Figure 242035DEST_PATH_IMAGE020
相匹配,且交换区所关联哈希候选桶
Figure 51860DEST_PATH_IMAGE113
已被判定,则跳转至步 骤202S;
如果判定结束前交换区所关联判定桶中没有交换区信息存储标签中的指纹对标位所 填充的指纹对标信息与
Figure 841961DEST_PATH_IMAGE020
相匹配,但交换区所关联哈希候选桶
Figure 861870DEST_PATH_IMAGE113
未被判定,则跳转至步 骤202N;
如果判定结束前交换区所关联判定桶中有交换区信息存储标签中的指纹对标位所填 充的指纹对标信息与
Figure 747350DEST_PATH_IMAGE020
相匹配,则将指纹验证信息
Figure 801893DEST_PATH_IMAGE112
与所述指纹对标信息匹配的交换 区信息存储标签中的指纹验证位所填充的指纹验证信息相匹配:如果匹配,则停止判定并 跳转至步骤202O,否则,跳转至步骤202R;
步骤202R、继续在交换区所关联判定桶的插入位区中判定与指纹对标信息
Figure 638262DEST_PATH_IMAGE020
相匹配 的交换区信息存储标签:
如果判定结束前交换区所关联判定桶的插入位区中没有交换区信息存储标签中的指 纹对标位所填充的指纹对标信息与
Figure 145467DEST_PATH_IMAGE020
相匹配,且交换区所关联哈希候选桶
Figure 341962DEST_PATH_IMAGE113
已被判定, 则跳转至步骤202S;
如果判定结束前交换区所关联判定桶中没有交换区信息存储标签中的指纹对标位所 填充的指纹对标信息与
Figure 516591DEST_PATH_IMAGE020
相匹配,但交换区所关联哈希候选桶
Figure 258282DEST_PATH_IMAGE113
未被判定,则跳转至步 骤202N;
如果判定结束前交换区所关联判定桶中有交换区信息存储标签中的指纹对标位所填 充的指纹对标信息与
Figure 252783DEST_PATH_IMAGE020
相匹配,则将指纹验证信息
Figure 488855DEST_PATH_IMAGE112
与指纹对标信息匹配的交换区信 息存储标签中的指纹验证位所填充的指纹验证信息相比较:如果匹配,则停止判定并跳转 至步骤202O,否则,跳转至步骤202R;
步骤202S、读取控制区所关联哈希候选桶
Figure 517991DEST_PATH_IMAGE113
Figure 289637DEST_PATH_IMAGE114
的过期区成员个数,分别记为
Figure 912380DEST_PATH_IMAGE115
Figure 326044DEST_PATH_IMAGE116
,并判断:如果
Figure 334320DEST_PATH_IMAGE117
,则跳转至步骤202T,否 则,跳转至步骤202W;
步骤202T、选择哈希候选桶
Figure 542447DEST_PATH_IMAGE113
作为判定桶,然后在过期区所关联判定桶的插入位区中 判定与指纹对标信息
Figure 386906DEST_PATH_IMAGE020
相匹配的过期区信息存储标签:
如果判定结束前过期区所关联判定桶中没有过期区信息存储标签中的指纹对标位所 填充的指纹对标信息与
Figure 338682DEST_PATH_IMAGE020
相匹配,且过期区所关联哈希候选桶
Figure 76831DEST_PATH_IMAGE118
已被判定,则返回判定 失败的标识,然后判定操作结束;
如果判定结束前过期区所关联判定桶中没有过期区信息存储标签中的指纹对标位所 填充的指纹对标信息与
Figure 79028DEST_PATH_IMAGE020
相匹配,但过期区所关联哈希候选桶
Figure 535418DEST_PATH_IMAGE118
未被判定,则跳转至步 骤202W;
如果判定结束前过期区所关联判定桶中有过期区信息存储标签中的指纹对标位所填 充的指纹对标信息与
Figure 900671DEST_PATH_IMAGE020
相匹配,则将指纹验证信息
Figure 758906DEST_PATH_IMAGE119
与所述指纹对标信息匹配的过期 区信息存储标签中的指纹验证位所填充的指纹验证信息相匹配:如果匹配,则停止判定并 跳转至步骤202U,否则,跳转至步骤202V;
步骤202U、读取所述指纹验证信息匹配的过期区信息存储标签
Figure 699049DEST_PATH_IMAGE120
中的 有效期标识位所填充的时效标识值并与当前系统时间作比较:
Figure 377155DEST_PATH_IMAGE120
未过期,则返回判定成功的标识,判定操作结束;
Figure 670733DEST_PATH_IMAGE120
已经过期,则首先返回判定失败的标识删除
Figure 258840DEST_PATH_IMAGE120
, 然后将过期区成员个数-1,判定操作结束;
步骤202V、继续在过期区所关联判定桶的插入位区中判定与指纹对标信息
Figure 979671DEST_PATH_IMAGE020
相匹配 的过期区信息存储标签:
如果判定结束前过期区所关联判定桶的插入位区中没有过期区信息存储标签中的指 纹对标位所填充的指纹对标信息与
Figure 36751DEST_PATH_IMAGE020
相匹配,且过期区所关联哈希候选桶
Figure 134020DEST_PATH_IMAGE121
已被判定, 则返回判定失败的标识,然后判定操作结束;
如果判定结束前过期区所关联判定桶中没有过期区信息存储标签中的指纹对标位所 填充的指纹对标信息与
Figure 435689DEST_PATH_IMAGE020
相匹配,但过期区所关联哈希候选桶
Figure 468367DEST_PATH_IMAGE121
未被判定,则跳转至步 骤202W;
如果判定结束前过期区所关联判定桶中有过期区信息存储标签中的指纹对标位所填 充的指纹对标信息与
Figure 386644DEST_PATH_IMAGE020
相匹配,则将指纹验证信息
Figure 881079DEST_PATH_IMAGE122
与指纹对标信息匹配的过期区信 息存储标签中的指纹验证位所填充的指纹验证信息相匹配:如果匹配,则跳转至步骤202U, 否则,跳转至步骤202V;
步骤202W、选择哈希候选桶
Figure 568413DEST_PATH_IMAGE121
作为判定桶,然后在过期区所关联判定桶的插入位区中 判定与指纹对标信息
Figure 771992DEST_PATH_IMAGE020
相匹配的过期区信息存储标签:
如果判定结束前过期区所关联判定桶中没有过期区信息存储标签中的指纹对标位所 填充的指纹对标信息与
Figure 646407DEST_PATH_IMAGE020
相匹配,且过期区所关联哈希候选桶
Figure 351058DEST_PATH_IMAGE123
已被判定,则返回判定 失败的标识,判定操作结束;
如果判定结束前过期区所关联判定桶中没有过期区信息存储标签中的指纹对标位所 填充的指纹对标信息与
Figure 521926DEST_PATH_IMAGE020
相匹配,但过期区所关联哈希候选桶
Figure 755461DEST_PATH_IMAGE123
未被判定,则跳转至步 骤202T;
如果判定结束前过期区所关联判定桶中有过期区信息存储标签中的指纹对标位所填 充的指纹对标信息与
Figure 258118DEST_PATH_IMAGE020
相匹配,将指纹验证信息
Figure 500880DEST_PATH_IMAGE122
与所述指纹对标信息匹配的过期区 信息存储标签中的指纹验证位所填充的指纹验证信息相匹配:如果匹配,则停止判定并跳 转至步骤202U,否则,跳转至步骤202X;
步骤202X、继续在过期区所关联判定桶的插入位区中判定与指纹对标信息
Figure 287440DEST_PATH_IMAGE020
相匹配 的过期区信息存储标签;如果判定结束前过期区所关联判定桶的插入位区中没有过期区信 息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 691876DEST_PATH_IMAGE020
相匹配,且过期区所关联哈希候 选桶
Figure 681829DEST_PATH_IMAGE123
已被判定,则返回判定失败的标识,然后判定操作结束;如果判定结束前过期区所关 联判定桶中没有过期区信息存储标签中的指纹对标位所填充的指纹对标信息与
Figure 462703DEST_PATH_IMAGE020
相匹 配,但过期区所关联哈希候选桶
Figure 605234DEST_PATH_IMAGE123
未被判定,则跳转至步骤202T;否则,将指纹验证信息
Figure 446151DEST_PATH_IMAGE122
与指纹对标信息匹配的过期区信息存储标签中的指纹验证位所填充的指纹验证信息相 匹配:如果匹配,则跳转至步骤202U,否则,跳转至步骤202X。
7.根据权利要求3所述的一种带时效的自适应动态数据集合成员插入方法,其特征在于,所述重定位操作包括:
步骤20REPA、按序扫描主区所关联判定桶的插入槽位情况,根据扫描结果判断主区所关联判定桶的插入位区内是否存在同时满足重定位计数等于1和缓冲区所关联判定桶中没有相匹配的缓冲区区信息存储标签这两个条件的主区信息存储标签:
如果存在,则跳转至步骤20REPB;
如果不存在,则根据扫描结果判断桶内是否存在同时满足重定位计数等于0和缓冲区所关联判定桶中没有相匹配的缓冲区区信息存储标签这两个条件的主区信息存储标签:
如果存在,则跳转至步骤2REPC;
如果不存在,则根据扫描结果判定桶内是否存在同时满足重定位标识位中的重定位计数等于1和缓冲区所关联判定桶中有相匹配的缓冲区信息存储标签这两个条件的主区信息存储标签:
如果存在,则跳转至步骤20REPG;
如果不存在,则跳转至步骤20REPH;
步骤20REPB、分别记同时满足重定位标识位中的重定位计数等于1和缓冲区所关联判 定桶中没有相匹配的缓冲区区信息存储标签这两个条件的主区信息存储标签和其所在插 入槽位的编号为
Figure 782454DEST_PATH_IMAGE124
Figure 242386DEST_PATH_IMAGE125
,然后分别生成一个新的主区信 息存储标签和交换区信息存储标签,并将变量temp中对应的数据迁移至所述新的主区信息 存储标签中,以及将
Figure 613324DEST_PATH_IMAGE124
中对应的数据迁移至所述新的交换区信息存储标 签对应的填充位中,然后将所述新的主区信息存储标签插入
Figure 749776DEST_PATH_IMAGE125
中以覆盖
Figure 573376DEST_PATH_IMAGE124
,以及将所述新的交换区信息存储标签插入交换区所关联判定桶的插 入位区中,最后根据扫描结果更新控制区所关联判定桶的交换区成员个数、主区建议插入 位置以及重定位率;
步骤20REPC、分别记同时满足重定位标识位中的重定位计数等于0和缓冲区所关联判 定桶中没有相匹配的缓冲区区信息存储标签这两个条件的主区信息存储标签和其所在插 入槽位的编号为
Figure 571419DEST_PATH_IMAGE124
Figure 796864DEST_PATH_IMAGE125
,然后生成一个新的主区信息存 储标签,并将变量temp中对应的数据迁移至所述新的主区信息存储标签中,然后将
Figure 714004DEST_PATH_IMAGE124
中对应的数据迁移至变量temp对应的填充位中,然后将所述新的主区 信息存储标签插入所述主区所关联判定桶的
Figure 913648DEST_PATH_IMAGE125
中,然后将变量temp中重定 位计数位的计数值+1,并根据扫描结果更新控制区所关联判定桶的重定位率以及主区建议 插入位置,其中,主区建议插入位置将按照扫描结果更新为扫描结果中最接近过期过渡期 的主区信息存储标签所在的插入槽位,如果存在多个同等的最接近过期过渡期的主区信息 存储标签则随机选择,最后计算变量temp的另一个哈希桶并作为判定桶,并跳转至步骤 20REPD;
步骤20REPD、读取控制区所关联所述判定桶的主区建议插入位置并判断:
如果所述主区建议插入位置所指的插入槽位未填充主区信息存储标签,则首先生成一个新的主区信息存储标签,然后将变量temp中对应的数据迁移至所述新的主区信息存储标签对应的填充位中,然后将所述新的主区信息存储标签插入主区所关联判定桶的所述主区建议插入位置所指的插入槽位中,然后将主区成员个数+1,跳转至步骤20REPE;
如果所述主区建议插入位置所指的插入槽位有填充主区信息存储标签,则跳转至步骤20REPF;
步骤20REPE、按序扫描主区所关联判定桶的插入槽位情况:
如果扫描结束前首先发现有空的插入槽位,则首先将命中的空槽位的槽位号记作
Figure 840016DEST_PATH_IMAGE126
,然后将主区建议插入位置设置为
Figure 529754DEST_PATH_IMAGE126
,插入操作结束;
如果扫描结束前首先发现有主区信息存储标签已经进入过期过渡期,记已进入过期过 渡期的主区信息存储标签所在插入槽位为
Figure 148954DEST_PATH_IMAGE127
,则首先生成一个新的过期区信 息存储标签
Figure 71780DEST_PATH_IMAGE128
,然后将所述已经进入过期过渡期的主区信息存储标签中对 应的数据迁移至
Figure 536259DEST_PATH_IMAGE128
对应的填充位中,然后再将
Figure 470717DEST_PATH_IMAGE129
插入过期 区所关联判定桶的插入位区中,同时删除所述已经进入过期过渡期的主区信息存储标签以 将
Figure 136185DEST_PATH_IMAGE130
置为NULL,然后更新控制区所关联判定桶的主区成员个数、过期区成员 个数以及主区建议插入位置,最后判定缓冲区所关联判定桶的插入位区中是否存在与
Figure 156093DEST_PATH_IMAGE131
相匹配的缓冲区信息存储标签:
如果存在,则将所述相匹配的缓冲区信息存储标签的区位标识位中的区位标识由Z修改为G,然后插入操作结束;
如果不存在,则插入操作直接结束;
如果扫描结束前首先发现有主区信息存储标签已经过期,记已过期的主区信息存储标 签所在插入槽位为
Figure 50362DEST_PATH_IMAGE132
,则首先删除所述已过期的主区信息存储标签以将
Figure 104906DEST_PATH_IMAGE132
置为NULL,然后判定缓冲区所关联判定桶的插入位区中是否存在与已过期 的主区信息存储标签相匹配的缓冲区信息存储标签:
如果存在,则将所述相匹配的缓冲区信息存储标签删除,然后更新控制区所关联判定 桶的主区成员个数、缓冲区成员个数以及主区建议插入位置,即将主区成员个数-1、将缓冲 区成员个数-1以及将主区建议插入位置设置为
Figure 534750DEST_PATH_IMAGE133
,插入操作结束;
如果不存在,则直接更新控制区所关联判定桶的主区成员个数以及主区建议插入位 置,即将主区成员个数-1以及将主区建议插入位置设置为
Figure 182900DEST_PATH_IMAGE133
,插入操作结束;
如果扫描结束前未发现有主区信息存储标签已经进入过期过渡期或者过期,则根据扫描结果更新控制区所关联判定桶的主区建议插入位置,插入操作结束;
步骤20REPF、判断所述主区建议插入位置所指插入槽位中的主区信息存储标签是否过期或者进入过期过渡期:
如果所述主区信息存储标签未过期且未进入过期过渡期,则跳转至步骤20REPA;
如果所述主区信息存储标签已过期,则首先生成一个新的主区信息存储标签,然后将变量temp中对应的数据迁移至所述新的主区信息存储标签对应的填充位中,最后将所述新的主区信息存储标签插入已过期主区信息存储标签所在的插入槽位中以覆盖所述已过期主区信息存储标签,并跳转至步骤20REPE;
如果所述主区信息存储标签未过期但已经进入了过期过渡期,则分别生成一个新的主区信息存储标签和过期区信息存储标签,将变量temp中对应的数据迁移至所述新的主区信息存储标签对应的填充位中,将已进入过期过渡期但还未过期的主区信息存储标签中对应的数据迁移至所述新的过期区信息存储标签对应的填充位中,然后所述新的主区信息存储标签插入所述已进入过期过渡期但还未过期的主区信息存储标签所在的插入槽位中以覆盖所述已进入过期过渡期但还未过期的主区信息存储标签,然后将所述新的过期区信息存储标签插入过期区所关联判定桶的插入位区中,最后更新控制所关联判定桶的过期区成员个数,并跳转至步骤20REPE;
步骤20REPG、分别记同时满足重定位标识位中的重定位计数等于1和缓冲区所关联判 定桶中有相匹配的缓冲区信息存储标签这两个条件的主区信息存储标签和其所在插入槽 位的编号为
Figure 254762DEST_PATH_IMAGE134
Figure 288446DEST_PATH_IMAGE135
,将控制区所关联判定桶中与
Figure 154770DEST_PATH_IMAGE134
相匹配的缓冲区信息存储标签中区位标识位的区位标识值由Z修改为 J,分别生成一个新的主区信息存储标签和交换区信息存储标签,并将变量temp中对应的数 据迁移至所述新的主区信息存储标签中,以及将
Figure 24638DEST_PATH_IMAGE134
中对应的数据迁移至 所述新的交换区信息存储标签对应的填充位中,将所述新的主区信息存储标签插入
Figure 900190DEST_PATH_IMAGE135
中以覆盖
Figure 663746DEST_PATH_IMAGE134
,以及将所述新的交换区信息存储标签插 入交换区所关联判定桶的插入位区中,根据扫描结果更新控制区所关联判定桶的交换区成 员个数、主区建议插入位置以及重定位率,返回插入成功的标识,插入操作结束;
步骤20REPH、分别记同时满足重定位标识位中的重定位计数等于0和缓冲区所关联判 定桶中有相匹配的缓冲区区信息存储标签这两个条件的主区信息存储标签和其所在插入 槽位的编号为
Figure 154220DEST_PATH_IMAGE134
Figure 901596DEST_PATH_IMAGE135
,以及记
Figure 925046DEST_PATH_IMAGE134
所关 联缓冲区信息存储标签为
Figure 808689DEST_PATH_IMAGE136
,然后生成一个新的主区信息存储标签,然 后将变量temp中对应的数据迁移至所述新的主区信息存储标签中,然后将
Figure 407029DEST_PATH_IMAGE134
中对应的数据迁移至变量temp对应的标识位中,然后将
Figure 376122DEST_PATH_IMAGE136
中对应的数据迁移至变量temph对应的填充位中,然后删除
Figure 468843DEST_PATH_IMAGE136
,然后将所述新的主区信息存储标签插入主区所关联判定桶的
Figure 941413DEST_PATH_IMAGE135
中以覆盖
Figure 212119DEST_PATH_IMAGE134
,然后更新控制区所关联判定桶的重定位 率以及缓冲区成员个数,跳转至步骤20REPI;
步骤20REPI、计算变量temp的另一个哈希桶并作为判定桶,然后将变量temp中重定位计数位的计数值+1,然后读取控制区所关联判定桶的主区建议插入位置并判断:
如果所述主区建议插入位置所指插入槽位中未填充主区信息存储标签,则首先分别生成一个主区信息存储标签和缓冲区信息存储标签,然后将变量temp中对应的数据迁移至新的主区信息存储标签对应的填充位中以及将变量temph中对应的数据迁移至所述新的缓冲区信息存储标签对应的填充位中,然后将所述新的主区信息存储标签插入主区所关联判定桶的所述控制区所关联判定桶的主区建议插入位置所指的插入槽位中以及将所述新的缓冲区信息存储标签插入缓冲区所关联判定桶的插入位区中,然后更新控制区所关联判定桶的主区成员个数以及缓冲区成员个数,跳转至步骤20REPE;
如果所述主区建议插入位置所指插入槽位中有填充主区信息存储标签,则生成一个新的缓冲区信息存储标签,然后将变量temph中对应的数据迁移至所述新的缓冲区信息存储标签对应的填充位中,然后将所述新的缓冲区信息存储标签插入缓冲区所关联判定桶的插入位区中,然后更新控制区所关联判定桶的缓冲区成员个数,跳转至步骤20REPF。
8.根据权利要求6所述的一种带时效的自适应动态数据集合成员插入方法,其特征在于,更新重定位率的具体计算方法为:
Figure 668509DEST_PATH_IMAGE138
其中,
Figure 299341DEST_PATH_IMAGE139
表示主区所关联判定桶的总插入操作数,即包括正常的插入操作和 发生重定位时的插入操作;而
Figure 157576DEST_PATH_IMAGE140
表示主区所关联判定桶在发生重定位时所进行插 入操作数。
9.一种带时效的自适应动态数据集合成员删除方法,其特征在于,所述方法包括以下步骤:
步骤Ⅰ、预先建立用于存储集合成员指纹信息的布谷鸟过滤器以及3个邻接表,并将布谷鸟过滤器命名为主区,3个邻接表分别命名为交换区、过期区以及缓冲区,其中,主区用于存储暂未进入过期过渡期的集合成员,交换区用于存储发生了两次重定位操作且暂未进入过期过渡期的集合成员,过期区用于存储已经进入过期过渡期但还未过期的集合成员,缓冲区用于存储被访问命中次数达到预设访问次数阈值且未过期的集合成员;
分别为主区、交换区、过期区以及缓冲区中的每一个哈希桶维护一个控制区,其中,所述控制区的参数项包括重定位率、主区成员个数、交换区成员个数、过期区成员个数、缓冲区成员个数以及主区建议插入位置;
针对主区中每一个哈希桶,其插入位区的每个插入槽位的存储单位为一个由指纹对标位、指纹验证位、重定位计数位、有效期标识位以及命中次数计数位所构成的主区信息存储标签;
针对交换区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位、命中次数计数位以及指针位所构成的交换区信息存储标签;
针对过期区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位以及指针位所构成的过期区信息存储标签;
针对缓冲区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位、区位标识位以及指针位所构成的缓冲区信息存储标签;
所述主区信息存储标签、交换区信息存储标签和过期区信息存储标签为主信息存储标签,所述缓冲区信息存储标签为副信息存储标签,未过期的集合成员对应有且只有一个主信息存储标签和一个副信息存储标签;
步骤Ⅱ、删除时,判定待删除集合成员是否存在于主区、缓冲区、过期区以及交换区的插入位区中:
若不存在,则返回删除失败的标识,删除操作结束;
若存在,则根据待删除成员所在位区的情况进行删除操作:
如果待删除集合成员所在插入位区分别为缓冲区和主区,则首先删除位于缓冲区的插入位区中关联所述待删除集合成员的缓冲区信息存储标签,然后删除位于主区的插入位区中关联所述待删除集合成员的主区信息存储标签,并将所述主区信息存储标签所在插入槽位置为NULL,最后更新控制区中相应项目的数据,返回删除失败的标识,删除操作结束;
如果待删除集合成员所在插入位区分别为缓冲区和交换区,则首先删除位于缓冲区的插入位区中关联所述待删除集合成员的缓冲区信息存储标签,然后删除位于交换区的插入位区中关联所述待删除集合成员的交换区信息存储标签,最后更新控制区中相应项目的数据,返回删除失败的标识,删除操作结束;
如果待删除集合成员所在插入位区分别为缓冲区和过期区,则首先删除位于缓冲区的插入位区中关联所述待删除集合成员的缓冲区信息存储标签,然后删除位于过期区的插入位区中关联所述待删除集合成员的过期区信息存储标签,最后更新控制区中相应项目的数据,返回删除失败的标识,删除操作结束;
如果待删除集合成员所在插入位区只位于主区,则删除主区的插入位区中关联所述待删除集合成员的主区信息存储标签,并将所述主区信息存储标签所在插入槽位置为NULL,更新控制区中相应项目的数据,返回删除失败的标识,删除操作结束;
如果待删除集合成员所在插入位区只位于交换区,则删除交换区的插入位区中关联待删除集合成员的交换区信息存储标签,并更新控制区中相应项目的数据,返回删除失败的标识,删除操作结束;
如果待删除集合成员所在插入位区只位于过期区,则删除过期区的插入位区中关联所述待删除集合成员的过期区信息存储标签,并更新控制区中相应项目的数据,返回删除失败的标识,删除操作结束。
10.一种带时效的自适应动态数据集合成员检索方法,其特征在于,所述方法包括以下步骤:
步骤A、预先建立用于存储集合成员指纹信息的布谷鸟过滤器以及3个邻接表,并将布谷鸟过滤器命名为主区,3个邻接表分别命名为交换区、过期区以及缓冲区,其中,主区用于存储暂未进入过期过渡期的集合成员,交换区用于存储发生了两次重定位操作且暂未进入过期过渡期的集合成员,过期区用于存储已经进入过期过渡期但还未过期的集合成员,缓冲区用于存储被访问命中次数达到预设访问次数阈值且未过期的集合成员;
分别为主区、交换区、过期区以及缓冲区中的每一个哈希桶维护一个控制区,其中,所述控制区的参数项包括重定位率、主区成员个数、交换区成员个数、过期区成员个数、缓冲区成员个数以及主区建议插入位置;
针对主区中每一个哈希桶,其插入位区的每个插入槽位的存储单位为一个由指纹对标位、指纹验证位、重定位计数位、有效期标识位以及命中次数计数位所构成的主区信息存储标签;
针对交换区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位、命中次数计数位以及指针位所构成的交换区信息存储标签;
针对过期区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位以及指针位所构成的过期区信息存储标签;针对缓冲区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位、区位标识位以及指针位所构成的缓冲区信息存储标签;
所述主区信息存储标签、交换区信息存储标签和过期区信息存储标签为主信息存储标签,所述缓冲区信息存储标签为副信息存储标签,未过期的集合成员对应有且只有一个主信息存储标签和一个副信息存储标签;
步骤B、检索时,按缓冲区、主区、交换区以及过期区的顺序在所述布谷鸟过滤器以及3个邻接表中检索待检索集合成员:
如果命中待检索集合成员的信息存储标签且所述信息存储标签未过期,则返回检索成功的标识;
如果在缓冲区、主区、交换区以及过期区的插入位区中未命中待检索集合成员的信息存储标签,则返回检索失败的标识;
如果命中待检索集合成员的信息存储标签但该信息存储标签已过期,则将缓冲区、主区、交换区以及过期区的插入位区中所有与待检索集合成员相关联的信息存储标签删除,同时更新控制区所关联待检索集合成员现所在哈希桶的相关数据并返回检索失败的标识;
如果命中待检索集合成员的信息存储标签但所述信息存储标签已进入过期过渡期,且所述信息存储标签的类型只为主区信息存储标签和交换区信息存储标签中的一种,则首先返回检索成功的标识,然后将待检索集合成员的信息存储标签从主区或者交换区的插入位区中删除,然后将待检索集合成员的信息存储标签的类型更变为过期区信息存储标签并插入过期区的插入位区中,最后更新控制区的相关数据;
如果首次命中的待检索成员的信息存储标签非缓冲区信息存储标签,且所述信息存储标签未进入过期过渡期以及标签中的命中次数计数位所填充的计数值等于或者超过高访问次数阈值时,则为所述待检索集合成员生成一个新的缓冲区信息存储标签并将其插入缓冲区的插入位区中,并更新控制区的相关项目的数据。
CN202210978406.1A 2022-08-16 2022-08-16 带时效的自适应动态数据集合成员插入、删除及检索方法 Active CN115048402B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210978406.1A CN115048402B (zh) 2022-08-16 2022-08-16 带时效的自适应动态数据集合成员插入、删除及检索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210978406.1A CN115048402B (zh) 2022-08-16 2022-08-16 带时效的自适应动态数据集合成员插入、删除及检索方法

Publications (2)

Publication Number Publication Date
CN115048402A true CN115048402A (zh) 2022-09-13
CN115048402B CN115048402B (zh) 2022-11-18

Family

ID=83166389

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210978406.1A Active CN115048402B (zh) 2022-08-16 2022-08-16 带时效的自适应动态数据集合成员插入、删除及检索方法

Country Status (1)

Country Link
CN (1) CN115048402B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116383795A (zh) * 2023-06-01 2023-07-04 杭州海康威视数字技术股份有限公司 生物特征识别方法、装置及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630955A (zh) * 2015-12-24 2016-06-01 华中科技大学 一种高效动态的数据集合成员管理方法
CN109389370A (zh) * 2018-10-12 2019-02-26 成都信息工程大学 一种基于云平台的多核跨链业务协作系统及交互方法
CN110222088A (zh) * 2019-05-20 2019-09-10 华中科技大学 基于插入位置选择的数据近似集合表示方法及系统
CN111552710A (zh) * 2020-04-28 2020-08-18 电子科技大学 一种分布式数据库的查询优化方法
US20200279041A1 (en) * 2019-02-28 2020-09-03 SpyCloud, Inc. Measuring data-breach propensity
CN112148928A (zh) * 2020-09-18 2020-12-29 鹏城实验室 一种基于指纹家族的布谷鸟过滤器
CN113360516A (zh) * 2021-08-11 2021-09-07 成都信息工程大学 基于先进先出及最小活跃数策略的集合成员管理方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630955A (zh) * 2015-12-24 2016-06-01 华中科技大学 一种高效动态的数据集合成员管理方法
CN109389370A (zh) * 2018-10-12 2019-02-26 成都信息工程大学 一种基于云平台的多核跨链业务协作系统及交互方法
US20200279041A1 (en) * 2019-02-28 2020-09-03 SpyCloud, Inc. Measuring data-breach propensity
CN110222088A (zh) * 2019-05-20 2019-09-10 华中科技大学 基于插入位置选择的数据近似集合表示方法及系统
CN111552710A (zh) * 2020-04-28 2020-08-18 电子科技大学 一种分布式数据库的查询优化方法
CN112148928A (zh) * 2020-09-18 2020-12-29 鹏城实验室 一种基于指纹家族的布谷鸟过滤器
CN113360516A (zh) * 2021-08-11 2021-09-07 成都信息工程大学 基于先进先出及最小活跃数策略的集合成员管理方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
PENGTAO FU ET AL.: "The Vertical Cuckoo Filters: A Family of Insertion-friendly Sketches for Online Applications", 《2021 IEEE 41ST INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS (ICDCS)》 *
李斌勇 等: "基于SaaS云平台的制造服务资源集成优化研究", 《科技与创新》 *
高乙童: "大数据时效性关键技术的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116383795A (zh) * 2023-06-01 2023-07-04 杭州海康威视数字技术股份有限公司 生物特征识别方法、装置及电子设备
CN116383795B (zh) * 2023-06-01 2023-08-25 杭州海康威视数字技术股份有限公司 生物特征识别方法、装置及电子设备

Also Published As

Publication number Publication date
CN115048402B (zh) 2022-11-18

Similar Documents

Publication Publication Date Title
CN100450073C (zh) 在基于硬件的包交换中用于存储器有效的快速vlan查找和插入的方法和设备
Borodin et al. Online computation and competitive analysis
US8135752B2 (en) Deleting leaves in tree table structures
US6668263B1 (en) Method and system for efficiently searching for free space in a table of a relational database having a clustering index
US7747599B1 (en) Integrated search engine devices that utilize hierarchical memories containing b-trees and span prefix masks to support longest prefix match search operations
US7831626B1 (en) Integrated search engine devices having a plurality of multi-way trees of search keys therein that share a common root node
CN111552692B (zh) 一种加减法布谷鸟过滤器
US7603346B1 (en) Integrated search engine devices having pipelined search and b-tree maintenance sub-engines therein
EP1485828A2 (en) Method and data structure for a low memory overhead database
CN115048402B (zh) 带时效的自适应动态数据集合成员插入、删除及检索方法
CN101072178A (zh) 一种交换机路由表的管理方法
CN113360516B (zh) 集合成员管理方法
CN106033420A (zh) 哈希表的处理方法及装置
US7653619B1 (en) Integrated search engine devices having pipelined search and tree maintenance sub-engines therein that support variable tree height
CN113867627B (zh) 一种存储系统性能优化方法及系统
WO2013075306A1 (zh) 数据访问方法和装置
US7725450B1 (en) Integrated search engine devices having pipelined search and tree maintenance sub-engines therein that maintain search coherence during multi-cycle update operations
CN104077078B (zh) 读存储区、更新存储区的方法及装置
CN112269784B (zh) 一种基于硬件实现的哈希表装置以及插入、查询和删除方法
CN112395213B (zh) 一种基于内存面向热点数据的aceh索引结构及方法
CN116991761A (zh) 一种数据处理方法、装置、计算机设备及存储介质
US20060015516A1 (en) Method and apparatus for adding supplemental information to PATRICIA tries
CN114816262B (zh) 一种缓存盘数据写平衡的方法、系统、设备及介质
KR20050066903A (ko) 고속 라우팅 시스템에서의 패킷 포워딩 처리장치 및 그를이용한 라우팅 룩업 방법
CN114281242B (zh) 存储器负载均衡的方法、装置和设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant