CN115048402A - 带时效的自适应动态数据集合成员插入、删除及检索方法 - Google Patents
带时效的自适应动态数据集合成员插入、删除及检索方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000001550 time effect Effects 0.000 title claims description 16
- 241000544061 Cuculus canorus Species 0.000 claims abstract description 26
- 238000003780 insertion Methods 0.000 claims description 457
- 230000037431 insertion Effects 0.000 claims description 456
- 238000012795 verification Methods 0.000 claims description 209
- 230000009191 jumping Effects 0.000 claims description 154
- 230000007704 transition Effects 0.000 claims description 120
- 238000012217 deletion Methods 0.000 claims description 65
- 230000037430 deletion Effects 0.000 claims description 65
- 230000032683 aging Effects 0.000 claims description 13
- 241000287196 Asthenes Species 0.000 claims description 11
- 230000006835 compression Effects 0.000 claims description 11
- 238000007906 compression Methods 0.000 claims description 11
- 230000003044 adaptive effect Effects 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 8
- 238000012966 insertion method Methods 0.000 claims description 4
- 230000005012 migration Effects 0.000 claims description 3
- 238000013508 migration Methods 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 27
- 238000005516 engineering process Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 239000002184 metal Substances 0.000 description 3
- 241001505100 Succisa pratensis Species 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 102100029469 WD repeat and HMG-box DNA-binding protein 1 Human genes 0.000 description 1
- 101710097421 WD repeat and HMG-box DNA-binding protein 1 Proteins 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data 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中,在所述主区的插入位区中,每个哈希桶的插入槽位个数记为。在所述
信息存储标签中,指纹对标位的存储长度为8位;指纹验证位的存储长度为8位;有效期标识
位的存储长度可扩展;重定位计数位的存储长度为8位,命中次数计数位的存储长度为16
位;区位标识位的存储长度为8位;而所述指针位的存储大小则根据操作系统的机器字长来
动态决定。需要注意的是,首先,所述重定位计数位所存储的合法值包括数值0以及数值1,
其分别表示该信息存储标签被重定位操作了0次以及1次,同时当重定位计数等于1的信息
存储标签再次被重定位操作时,则表明该信息存储标签需要被存储进入交换区中,进而避
免陷入重定位循环中;其次,所述区位标识位所存储的合法值包括Z、G和J这三个标识,其
中,合法值Z标识该缓冲区信息存储标签所关联的主信息存储标签为主区信息存储标签,合
法值G标识该缓冲区信息存储标签所关联的主信息存储标签为过期区信息存储标签,而合
法值J标识该缓冲区信息存储标签所关联的主信息存储标签为交换区信息存储标签。对于
所述过期过渡期,其具体表示为:
其中,表示执行一种带时效的自适应动态数据集合成员Ⅰ类判定方法时的
系统时间;表示主区信息存储标签的被生成时的系统时间,其存储于主区信息存储
标签以及与之相关联的其余信息存储标签的有效期标识位中;表示过期过
渡期的进入阈值;而表示过期过渡期的整体时长。此时,如果,则说明信息存储标签已经过期;如果,则说明信息存储标签已经进入过期过渡
期但未过期。对于所述高访问次数阈值,其被记为;当主区信息存储标签以
及交换区信息存储标签中命中次数计数位的计数值大于或者等于时,则说
明所述主区信息存储标签以及交换区信息存储标签已经属于被高访问的信息存储标签,此
时,由于本文规定集合成员判定时首先查询的区域为缓冲区,因此需要生成的一个关联所
述主区信息存储标签以及交换区信息存储标签的副信息存储标签即缓冲区信息存储标签,
然后将其插入缓冲区的插入位区中,进而提高访问效率。
在一些实施例中,所述步骤2包括以下具体步骤:
步骤201、插入时,通过哈希函数计算得到待插入集合成员的哈希值(假设
的长度为H位)以及对应的两个哈希候选桶和,然后从哈希值中提取第1位、第2位、第
(H/2)-1位、第(H/2)位、第(H/2)+1位、第(H-1)位、第H位以及第(H/4)位的二进制数字按顺
序拼接成为一个长度为8位的指纹对标信息并记为,同时采用对称压缩算法将待插入集
合成员的哈希值压缩成为长度为H/4位的指纹验证信息并记为;
步骤202、采用一种带时效的自适应动态数据集合成员Ⅰ类判定方法判断和
所共存的一个信息存储标签是否存储于缓冲区、主区、交换区或者过期区所关联两个哈希
候选桶和的插入位区中,如果存在,则返回插入失败的标识,然后插入操作结束,否则
进入步骤203;
步骤204、如果哈希候选桶还未被作为判定桶,则选择哈希候选桶作为判定
桶,然后读取控制区所关联哈希候选桶的主区建议插入位置并判断:如果所述主区建议
插入位置所指插入槽位未填充主区信息存储标签,则跳转至步骤205;否则,跳转至步骤
207;而如果哈希候选桶和哈希候选桶已经被作为判定桶进行了判定操作,则首先分别
定义一个存储单位为主区信息存储标签的变量temp和存储单位为缓冲区信息存储标签的
变量temph,然后分别将指纹对标信息、指纹验证信息、计数值0、标签生成时的时
间值以及计数值0填充至变量temp的指纹对标位、指纹验证位、重定位计数位、有效期
标识位以及命中次数计数位中,然后进入重定位操作;
步骤205、首先生成一个新的主区信息存储标签,然后分别将指纹对标信息、
指纹验证信息、计数值0、标签生成时的时间值以及计数值0填充至所述主区信
息存储标签中的指纹对标位、指纹验证位、重定位计数位、有效期标识位以及命中次数计数
位中,然后插入主区所关联判定桶的所述控制区所关联判定桶的主区建议插入位置所指的
插入槽位中,然后更新控制区所关联判断桶的主区成员个数,即将主区成员个数+1,然后返
回插入成功的标识并跳转至步骤206;
步骤206、按序扫描主区所关联判定桶的插入槽位情况;如果扫描结束前首先发现
有空的插入槽位,则首先将命中的空槽位的槽位号记作,然后更新控制区所关联
判定桶中的主区建议插入位置信息,即将主区建议插入位置设置为,然后插入操
作结束;如果扫描结束前首先发现有主区信息存储标签已经进入过期过渡期(记所述已进
入过期过渡期的主区信息存储标签所在插入槽位为),则首先生成一个新
的过期区信息存储标签(记作),然后将所述已经进入过期过渡期的主区
信息存储标签中对应的数据迁移至对应的填充位中,然后将插入过期区所关联判定桶的插入位区中,然后删除所述已经进入过期过
渡期的主区信息存储标签以将置为NULL,然后更新控制区所关联判定桶的过
期区成员个数以及主区建议插入位置,即将过期区成员个数+1以及将主区建议插入位置设
置为,然后判定缓冲区所关联判定桶的插入位区中是否存在与相匹配的缓冲区信息存储标签:如果存在,则将所述相匹配的缓冲区信
息存储标签的区位标识位中的区位标识由Z修改为G,插入操作结束;否则,插入操作结束;
而如果扫描结束前首先发现有主区信息存储标签已经过期(记所述已过期的主区信息存储
标签所在插入槽位为),则首先删除所述已过期的主区信息存储标签以将置为NULL,然后判定缓冲区所关联判定桶的插入位区中是否存在与已过期的
主区信息存储标签相匹配的缓冲区信息存储标签:如果存在,则将所述相匹配的缓冲区信
息存储标签删除,然后更新控制区所关联判定桶的主区成员个数、缓冲区成员个数以及主
区建议插入位置,即将主区成员个数-1、将缓冲区成员个数-1以及将主区建议插入位置设
置为,插入操作结束;否则,直接更新控制区所关联判定桶的主区成员个数
以及主区建议插入位置,即将主区成员个数-1以及将主区建议插入位置设置为,插入操作结束;而如果扫描结束前未发现有主区信息存储标签已经进入
过期过渡期或者过期,则根据扫描结果更新控制区所关联判定桶的主区建议插入位置,即
将主区建议插入位置设置为最接近进入过期过渡期的主区信息存储标签(如果存在多个这
类的主区信息存储标签,则随机选择),插入操作结束;
步骤207、如果哈希候选桶还未被作为判定桶,选择哈希候选桶作为判定桶,
然后读取控制区所关联判定桶的主区建议插入位置并判断:如果所述主区建议插入位置所
指插入槽位未填充主区信息存储标签,则跳转至步骤205;否则,跳转至步骤204;而如果哈
希候选桶和哈希候选桶已经被作为判定桶进行了判定操作,则首先分别定义一个存
储单位为主区信息存储标签的变量temp和存储单位为缓冲区信息存储标签的变量temph,
然后分别将指纹对标信息、指纹验证信息、计数值0、标签生成时的时间值以
及计数值0填充至变量temp的指纹对标位、指纹验证位、重定位计数位、有效期标识位以及
命中次数计数位中,然后进入重定位操作;
具体地,为了说明如何采用对称压缩算法将待插入集合成员的哈希值压缩
成为长度为H/4为的指纹验证信息,则在步骤201中,所述采用对称压缩算法将待插入
集合成员的哈希值压缩成为长度为H/4位的指纹验证信息具体为:
其中,“”为“与”逻辑运算符;“”为异或逻辑运算符;表示由哈希值的前H/4位的二进制数字所组成的长度为H/4位的二进制序列;表示由哈希值的第((H/4)
+1)位到第H/2位的二进制数字所组成的长度为H/4位的二进制序列;表示由哈希值
的第((H/2)+1)位到第((H*3)/4)位的二进制数字所组成的一个长度为H/4位的二进制序
列;表示由哈希值的第(((H*3)/4)+1)位到第H位的二进制数字所组成的一个长度
为H/4位的二进制序列;而和,其中,表示由
哈希值的前H/2位的二进制数字所组成的一个长度为H/2位的二进制序列;表示由
哈希值的第(((H*1)/2)+1)位到第H位的二进制数字所组成的一个长度为H/2位的二进
制序列;因此,表示由二进制序列和二进制序列经过逻辑乘运算后所得到的
长度为H/2位的二进制序列的前((H/2)/2)位的二进制数字所组成的一个长度为H/4位的二
进制序列,而表示由二进制序列和二进制序列经过逻辑乘运算后所得到的
长度为H/2位的二进制序列的第((H/2)/2)+1位到第(H/2)位的二进制数字所组成的一个长
度为H/4位的二进制序列。
在一些实施例中,步骤202中所述一种带时效的自适应动态数据集合成员Ⅰ类判定方法包括以下具体步骤:
步骤202B、选择哈希候选桶作为判定桶,然后在缓冲区所关联判定桶的插入位
区中判定与指纹对标信息相匹配的缓冲区信息存储标签:如果判定结束前缓冲区所关
联判定桶中没有缓冲区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹
配,且缓冲区所关联哈希候选桶已被判定,则跳转至步骤202G;如果判定结束前缓冲区
所关联判定桶中没有缓冲区信息存储标签中的指纹对标位所填充的指纹对标信息与
相匹配,但缓冲区所关联哈希候选桶未被判定,则跳转至步骤202E;否则,将指纹验证信
息与所述指纹对标信息匹配的缓冲区信息存储标签中的指纹验证位所填充的指纹验
证信息相匹配,如果匹配,则停止判定并跳转至步骤202C,否则,跳转至步骤202D;
步骤202C、读取所述与指纹验证信息相匹配的缓冲区信息存储标签(记作)中的有效期标识位所填充的时效标识值并与当前系统时间作比较:如
果比较结果显示未进入过期过渡期,则返回判定成功的标识,然后判定
操作结束;如果比较结果显示已经进入过期过渡期但还未过期,且区位标
识位所填充的区位标识值为Z,则首先返回判定成功的标识,然后将的区
位标识值由Z修改为G,然后在主区所关联判定桶的插入位区中判定与相匹
配的主区信息存储标签,并在判定成功后(记所述与相匹配的主区信息
存储标签为,并记所在插入槽位为)生成
一个新的过期区信息存储标签(记作),然后将中对
应的数据迁移至对应的填充位中,然后将插入过期区
所关联判定桶的插入位区中,然后将中的删除以置为NULL,然后更新控制区中所关联判定桶的主区成员个数、过期区成员个数以
及主区建议插入位置,即将主区成员个数-1、将过期区成员个数+1以及将主区建议插入位
置设置为,然后判定操作结束;如果比较结果显示已经进入过
期过渡期但还未过期,且区位标识位所填充的区位标识值为J,则首先返回判定成功的标
识,然后将的区位标识值由J修改为G,然后在交换区所关联判定桶的
插入位区中判定与相匹配的交换区信息存储标签,并在判定成功后(记
所述与相匹配的交换区信息存储标签为)生成一个新
的过期区信息存储标签(记作),然后将中对应的数据
迁移至对应的填充位中,然后将插入过期区所关联
判定桶的插入位区中,然后将删除,然后更新控制区中所关联判定桶的
交换区成员个数以及过期区成员个数,即将交换区成员个数-1以及将过期区成员个数+1,
然后判定操作结束;如果比较结果显示已经进入过期过渡期但还未过
期,且区位标识位中的标识值为G,则返回判定成功的标识,然后判定操作结束;如果比较结
果显示已经过期,且区位标识位中的标识值为Z,则首先返回判定失败的
标识,然后在主区所关联判定桶的插入位区中判定与相匹配的主区信
息存储标签(记所述主区信息存储标签的插入槽位为),并在判定成功后删
除以及将中的所述主区信息存储标签删除以置为NULL,然后更新控制区所关联判定桶的主区成员个数、缓冲区成员个数以
及主区建议插入位置,即将主区成员个数-1,将缓冲区成员个数-1以及将主区建议插入位
置设置为,然后判定操作结束;如果比较结果显示已经过
期,且区位标识位中的标识值为J,则首先返回判定失败的标识,然后在交换区所关联判定
桶的插入位区中判定与相匹配的交换区信息存储标签,并在判定成功后
删除和所述交换区信息存储标签,然后更新控制区所关联判定桶的交换
区成员个数以及缓冲区成员个数,即将交换区成员个数-1以及将缓冲区成员个数-1,然后
判定操作结束;如果比较结果显示已经过期,且区位标识位中的标识值
为G,则首先返回判定失败的标识,然后在过期区所关联判定桶的插入位区中判定与相匹配的过期区信息存储标签,并在判定成功后删除
和所述过期区信息存储标签,然后更新控制区所关联判定桶的过期区成员个数以及缓冲区
成员个数,即将过期区成员个数-1以及将缓冲区成员个数-1,然后判定操作结束;
步骤202D、继续在缓冲区所关联判定桶的插入位区中判定与指纹对标信息相
匹配的缓冲区信息存储标签;如果判定结束前缓冲区所关联判定桶的插入位区中没有缓冲
区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹配,且缓冲区所关联哈
希候选桶已被判定,则跳转至步骤202G;如果判定结束前缓冲区所关联判定桶中没有缓
冲区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹配,但缓冲区所关联
哈希候选桶未被判定,则跳转至步骤202E;否则,将指纹验证信息与指纹对标信息匹
配的缓冲区信息存储标签中的指纹验证位所填充的指纹验证信息相匹配,如果匹配,则停
止判定并跳转至步骤202C,否则,跳转至步骤202D;
步骤202E、选择哈希候选桶作为判定桶,然后在缓冲区所关联判定桶的插入位
区中判定与指纹对标信息相匹配的缓冲区信息存储标签:如果判定结束前缓冲区所关
联判定桶中没有缓冲区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹
配,且缓冲区所关联哈希候选桶已被判定,则跳转至步骤202G;如果判定结束前缓冲区所
关联判定桶中没有缓冲区信息存储标签中的指纹对标位所填充的指纹对标信息与相
匹配,但缓冲区所关联哈希候选桶未被判定,则跳转至步骤202B;否则,将指纹验证信息与所述指纹对标信息匹配的缓冲区信息存储标签中的指纹验证位所填充的指纹验证信
息相匹配,如果匹配,则停止判定并跳转至步骤202C,否则,跳转至步骤202F;
步骤202F、继续在缓冲区所关联判定桶的插入位区中判定与指纹对标信息相
匹配的缓冲区信息存储标签;如果判定结束前缓冲区所关联判定桶的插入位区中没有缓冲
区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹配,且缓冲区所关联哈
希候选桶的插入位区已被判定,则跳转至步骤202G;如果判定结束前缓冲区所关联判定
桶中没有缓冲区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹配,但缓
冲区所关联哈希候选桶的插入位区未被判定,则跳转至步骤202B;否则,将指纹验证信息与指纹对标信息匹配的缓冲区信息存储标签中的指纹验证位所填充的指纹验证信息
相匹配,如果匹配,则停止判定并跳转至步骤202C,否则,跳转至步骤202F;
步骤202H、选择哈希候选桶作为判定桶,然后在主区所关联判定桶的插入位区
中判定与指纹对标信息相匹配的主区信息存储标签;如果判定结束前主区所关联判定
桶中没有主区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹配,且主区
所关联哈希候选桶的插入位区已被判定,则跳转至步骤202M;如果判定结束前主区所关
联判定桶中没有主区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹配,
但主区所关联哈希候选桶的插入位区未被判定,则跳转至步骤202K;否则,将指纹验证信
息与所述指纹对标信息匹配的主区信息存储标签中的指纹验证位所填充的指纹验证
信息相匹配,如果匹配,则停止判定并跳转至步骤202I,否则,跳转至步骤202J;
步骤202I、读取所述指纹验证信息匹配的主区信息存储标签(记作,并记当前所插入的插入槽位为)中的有
效期标识位所填充的时效标识值并与当前系统时间作比较:如果比较结果显示未进入过期过渡期,则返回判定成功的标识,然后判定操作结束;如果比
较结果显示已经进入过期过渡期但还未过期,则首先返回判定成功的标
识,生成一个新的过期区信息存储标签(记作)并将
中对应的数据迁移至中对应的填充位中,然后将插入
过期区所关联哈希候选桶的插入位区中,然后删除中的以将置为NULL,然后更新控制区所关联判定桶的主区成
员个数、过期区成员个数以及主区建议插入位置,即将主区成员个数-1、将过期区成员个数
+1以及将主区建议插入位置设置为,然后判定操作结束;如果比较结果显
示已经过期,则首先返回判定失败的标识,然后删除中的以将置为NULL,然后更新控制区所关联判定桶的主区成
员个数和主区建议插入位置,即将主区成员个数-1以及将主区建议插入位置设置为,然后判定操作结束;
步骤202J、继续在主区所关联判定桶的插入位区中判定与指纹对标信息相匹
配的主区信息存储标签;如果判定结束前主区所关联判定桶的插入位区中没有主区信息存
储标签中的指纹对标位所填充的指纹对标信息与相匹配,且主区所关联哈希候选桶
的插入位区已被判定,则跳转至步骤202M;如果判定结束前主区所关联判定桶中没有主区
信息存储标签中的指纹对标位所填充的指纹对标信息与相匹配,但主区所关联哈希候
选桶的插入位区未被判定,则跳转至步骤202H;否则,将指纹验证信息与指纹对标信
息匹配的主区信息存储标签中的指纹验证位所填充的指纹验证信息相比较:如果匹配,则
停止判定并跳转至步骤202I,否则,跳转至步骤202J;
步骤202K、选择哈希候选桶作为判定桶,然后在主区所关联判定桶的插入位区
中判定与指纹对标信息相匹配的主区信息存储标签;如果判定结束前主区所关联判定
桶中没有主区信息存储标签的指纹对标位中的指纹对标信息与相匹配,且主区所关联
哈希候选桶的插入位区已被扫描,则跳转至步骤202M;如果判定结束前主区所关联判定
桶中没有主区信息存储标签的指纹对标位中的指纹对标信息与相匹配,但主区所关联
哈希候选桶的插入位区未被扫描,则跳转至步骤202H;否则,将指纹验证信息与所述
指纹对标信息匹配的主区信息存储标签的指纹验证位中的指纹验证信息相匹配,如果匹
配,则停止判定并跳转至步骤202I,否则,跳转至步骤202L;
步骤202L、继续在主区所关联判定桶的插入位区中判定与指纹对标信息相匹
配的主区信息存储标签;如果判定结束前主区所关联判定桶的插入位区中没有主区信息存
储标签中的指纹对标位所填充的指纹对标信息与相匹配,且主区所关联哈希候选桶
的插入位区已被判定,则跳转至步骤202M;如果判定结束前主区所关联判定桶中没有主区
信息存储标签中的指纹对标位中所填充的指纹对标信息与相匹配,但主区所关联哈希
候选桶的插入位区未被判定,则跳转至步骤202H;否则,将指纹验证信息与所述指纹
对标信息匹配的主区信息存储标签的指纹验证位中的指纹验证信息相比较:如果匹配,则
停止判定并跳转至步骤202I,否则,跳转至步骤202L;
步骤202N、选择哈希候选桶作为判定桶,然后在交换区所关联判定桶的插入位
区中判定与指纹对标信息相匹配的交换区信息存储标签:如果判定结束前交换区所关
联判定桶中没有交换区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹
配,且交换区所关联哈希候选桶的插入位区已被判定,则跳转至步骤202S;如果判定结
束前交换区所关联判定桶中没有交换区信息存储标签中的指纹对标位所填充的指纹对标
信息与相匹配,但交换区所关联哈希候选桶的插入位区未被判定,则跳转至步骤
202Q;否则,将指纹验证信息与所述指纹对标信息匹配的交换区信息存储标签中的指
纹验证位所填充的指纹验证信息相匹配,如果匹配,则停止判定并跳转至步骤202O,否则,
跳转至步骤202P;
步骤202O、读取所述指纹验证信息匹配的交换区信息存储标签(记作)中的有效期标识位所填充的时效标识值并与当前系统时间作比较:如
果比较结果显示未进入过期过渡期,则返回判定成功的标识,然后判定操
作结束;如果比较结果显示已经进入过期过渡期但还未过期,则首先返
回判定成功的标识,然后生成一个新的过期区信息存储标签(记作)并
将中对应的数据迁移至中对应的填充位中,然后将插入过期区所关联判定桶的插入位区中,然后删除,
然后更新控制区所关联判定桶的交换区成员个数以及过期区成员个数,即将交换区成员个
数-1以及将过期区成员个数+1,然后判定操作结束;如果比较结果显示已
经过期,则首先返回判定失败的标识,然后删除,然后更新控制区所关联
判定桶的交换区成员个数,即将交换区成员个数-1,然后判定操作结束;
步骤202P、继续在交换区所关联判定桶的插入位区中判定与指纹对标信息相
匹配的交换区信息存储标签;如果判定结束前交换区所关联判定桶的插入位区中没有交换
区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹配,且交换区所关联哈
希候选桶的插入位区已被判定,则跳转至步骤202S;如果判定结束前交换区所关联判定
桶中没有交换区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹配,但交
换区所关联哈希候选桶的插入位区未被判定,则跳转至步骤202Q;否则,将指纹验证信
息与指纹对标信息匹配的交换区信息存储标签中的指纹验证位所填充的指纹验证信
息相匹配:如果匹配,则跳转至步骤202O,否则,跳转至步骤202P;
步骤202Q、选择哈希候选桶作为判定桶,然后在交换区所关联判定桶的插入位
区中判定与指纹对标信息相匹配的交换区信息存储标签;如果判定结束前交换区所关
联判定桶中没有交换区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹
配,且交换区所关联哈希候选桶已被判定,则跳转至步骤202S;如果判定结束前交换区所
关联判定桶中没有交换区信息存储标签中的指纹对标位所填充的指纹对标信息与相
匹配,但交换区所关联哈希候选桶未被判定,则跳转至步骤202N;否则,将指纹验证信息与所述指纹对标信息匹配的交换区信息存储标签中的指纹验证位所填充的指纹验证
信息相匹配:如果匹配,则停止判定并跳转至步骤202O,否则,跳转至步骤202R;
步骤202R、继续在交换区所关联判定桶的插入位区中判定与指纹对标信息相
匹配的交换区信息存储标签;如果判定结束前交换区所关联判定桶的插入位区中没有交换
区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹配,且交换区所关联哈
希候选桶已被判定,则跳转至步骤202S;如果判定结束前交换区所关联判定桶中没有交
换区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹配,但交换区所关联
哈希候选桶未被判定,则跳转至步骤202N;否则,将指纹验证信息与指纹对标信息匹
配的交换区信息存储标签中的指纹验证位所填充的指纹验证信息相比较:如果匹配,则停
止判定并跳转至步骤202O,否则,跳转至步骤202R;
步骤202T、选择哈希候选桶作为判定桶,然后在过期区所关联判定桶的插入位
区中判定与指纹对标信息相匹配的过期区信息存储标签;如果判定结束前过期区所关
联判定桶中没有过期区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹
配,且过期区所关联哈希候选桶已被判定,则返回判定失败的标识,然后判定操作结束;
如果判定结束前过期区所关联判定桶中没有过期区信息存储标签中的指纹对标位所填充
的指纹对标信息与相匹配,但过期区所关联哈希候选桶未被判定,则跳转至步骤
202W;否则,将指纹验证信息与所述指纹对标信息匹配的过期区信息存储标签中的指
纹验证位所填充的指纹验证信息相匹配:如果匹配,则停止判定并跳转至步骤202U,否则,
跳转至步骤202V;
步骤202U、读取所述指纹验证信息匹配的过期区信息存储标签(记作)中的有效期标识位所填充的时效标识值并与当前系统时间作比较:如
果比较结果显示未过期,则返回判定成功的标识,然后判定操作结束;如
果比较结果显示已经过期,则首先返回判定失败的标识删除,然后更新控制区所关联判定桶的过期区成员个数,即将过期区成员个
数-1,然后判定操作结束;
步骤202V、继续在过期区所关联判定桶的插入位区中判定与指纹对标信息相
匹配的过期区信息存储标签;如果判定结束前过期区所关联判定桶的插入位区中没有过期
区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹配,且过期区所关联哈
希候选桶已被判定,则返回判定失败的标识,然后判定操作结束;如果判定结束前过期
区所关联判定桶中没有过期区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹配,但过期区所关联哈希候选桶未被判定,则跳转至步骤202W;否则,将指纹验
证信息与指纹对标信息匹配的过期区信息存储标签中的指纹验证位所填充的指纹验
证信息相匹配:如果匹配,则跳转至步骤202U,否则,跳转至步骤202V;
步骤202W、选择哈希候选桶作为判定桶,然后在过期区所关联判定桶的插入位
区中判定与指纹对标信息相匹配的过期区信息存储标签;如果判定结束前过期区所关
联判定桶中没有过期区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹
配,且过期区所关联哈希候选桶已被判定,则返回判定失败的标识,然后判定操作结束;
如果判定结束前过期区所关联判定桶中没有过期区信息存储标签中的指纹对标位所填充
的指纹对标信息与相匹配,但过期区所关联哈希候选桶未被判定,则跳转至步骤
202T;否则,将指纹验证信息与所述指纹对标信息匹配的过期区信息存储标签中的指
纹验证位所填充的指纹验证信息相匹配:如果匹配,则停止判定并跳转至步骤202U,否则,
跳转至步骤202X;
步骤202X、继续在过期区所关联判定桶的插入位区中判定与指纹对标信息相
匹配的过期区信息存储标签;如果判定结束前过期区所关联判定桶的插入位区中没有过期
区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹配,且过期区所关联哈
希候选桶已被判定,则返回判定失败的标识,然后判定操作结束;如果判定结束前过期
区所关联判定桶中没有过期区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹配,但过期区所关联哈希候选桶未被判定,则跳转至步骤202T;否则,将指纹验
证信息与指纹对标信息匹配的过期区信息存储标签中的指纹验证位所填充的指纹验
证信息相匹配:如果匹配,则跳转至步骤202U,否则,跳转至步骤202X。
在一些实施例中,步骤204和步骤207所述重定位操作的具体步骤如下:
步骤20REPA、按序扫描主区所关联判定桶的插入槽位情况,然后根据扫描结果判断主区所关联判定桶的插入位区内是否存在同时满足重定位计数等于1和缓冲区所关联判定桶中没有相匹配的缓冲区区信息存储标签这两个条件的主区信息存储标签;如果存在,则跳转至步骤20REPB;否则,根据扫描结果判断桶内是否存在同时满足重定位计数等于0和缓冲区所关联判定桶中没有相匹配的缓冲区区信息存储标签这两个条件的主区信息存储标签;如果存在,则跳转至步骤2REPC;否则,根据扫描结果判定桶内是否存在同时满足重定位标识位中的重定位计数等于1和缓冲区所关联判定桶中有相匹配的缓冲区信息存储标签这两个条件的主区信息存储标签;如果存在,则跳转至步骤2REPG;否则,跳转至步骤20REPH;
步骤20REPB、分别记所述同时满足重定位标识位中的重定位计数等于1和缓冲区
所关联判定桶中没有相匹配的缓冲区区信息存储标签这两个条件的主区信息存储标签和
其所在插入槽位的编号为和,然后分别生成一
个新的主区信息存储标签和交换区信息存储标签,并将变量temp中对应的数据迁移至所述
新的主区信息存储标签中,以及将中对应的数据迁移至所述新的交
换区信息存储标签对应的填充位中,然后将所述新的主区信息存储标签插入中以覆盖,以及将所述新的交换区信息存储标
签插入交换区所关联判定桶的插入位区中,最后根据扫描结果更新控制区所关联判定桶的
交换区成员个数、主区建议插入位置以及重定位率,其中,将交换区成员个数+1以及将主区
建议插入位置设置为扫描结果中最接近过期过渡期的主区信息存储标签所在的插入槽位
(如果存在多个同等的最接近过期过渡期的主区信息存储标签,则随机选择),然后返回插
入成功的标识,然后插入操作结束;
步骤20REPC、分别记所述同时满足重定位标识位中的重定位计数等于0和缓冲区
所关联判定桶中没有相匹配的缓冲区区信息存储标签这两个条件的主区信息存储标签和
其所在插入槽位的编号为和,然后生成一个新
的主区信息存储标签,并将变量temp中对应的数据迁移至所述新的主区信息存储标签中,
然后将中对应的数据迁移至变量temp对应的填充位中,然后将所述
新的主区信息存储标签插入所述主区所关联判定桶的中,然后将变量
temp中重定位计数位的计数值+1,然后根据扫描结果更新控制区所关联判定桶的重定位率
以及主区建议插入位置,其中,主区建议插入位置将按照扫描结果更新为扫描结果中最接
近过期过渡期的主区信息存储标签所在的插入槽位(如果存在多个同等的最接近过期过渡
期的主区信息存储标签,则随机选择),最后计算变量temp的另一个哈希桶并作为判定桶,
并跳转至步骤20REPD;
步骤20REPD、读取控制区所关联所述判定桶的主区建议插入位置并判断:如果所述主区建议插入位置所指的插入槽位未填充主区信息存储标签,则首先生成一个新的主区信息存储标签,然后将变量temp中对应的数据迁移至所述新的主区信息存储标签对应的填充位中,然后将所述新的主区信息存储标签插入主区所关联判定桶的所述主区建议插入位置所指的插入槽位中,然后更新控制区所关联判定桶中的主区成员个数,即将主区成员个数+1,然后跳转至步骤20REPE;否则,跳转至步骤20REPF;
步骤20REPE、按序扫描主区所关联判定桶的插入槽位情况;如果扫描结束前首先
发现有空的插入槽位,则首先将命中的空槽位的槽位号记作,然后更新控制区
所关联判定桶中的主区建议插入位置信息,即将主区建议插入位置设置为,插
入操作结束;如果扫描结束前首先发现有主区信息存储标签已经进入过期过渡期(记所述
已进入过期过渡期的主区信息存储标签所在插入槽位为),则首先生成一
个新的过期区信息存储标签(记作),然后将所述已经进入过期过渡期
的主区信息存储标签中对应的数据迁移至对应的填充位中,然后再将插入过期区所关联判定桶的插入位区中,同时删除所述已经进入过期
过渡期的主区信息存储标签以将置为NULL,然后更新控制区所关联判定
桶的主区成员个数、过期区成员个数以及主区建议插入位置,即将主区成员个数-1、将过期
区成员个数+1以及将主区建议插入位置设置为,最后判定缓冲区所关联
判定桶的插入位区中是否存在与相匹配的缓冲区信息存储标签,如果
存在,则将所述相匹配的缓冲区信息存储标签的区位标识位中的区位标识由Z修改为G,然
后插入操作结束;否则,插入操作直接结束;而如果扫描结束前首先发现有主区信息存储标
签(记所述已过期的主区信息存储标签所在插入槽位为)已经过期,则首
先删除所述已过期的主区信息存储标签以将置为NULL,然后判定缓冲区
所关联判定桶的插入位区中是否存在与已过期的主区信息存储标签相匹配的缓冲区信息
存储标签,如果存在,则将所述相匹配的缓冲区信息存储标签删除,然后更新控制区所关联
判定桶的主区成员个数、缓冲区成员个数以及主区建议插入位置、缓冲区成员个数以及主
区建议插入位置,即将主区成员个数-1、将缓冲区成员个数-1以及将主区建议插入位置设
置为,插入操作结束;否则,直接更新控制区所关联判定桶的主区成员个
数以及主区建议插入位置,即将主区成员个数-1以及将主区建议插入位置设置为,插入操作结束;而如果扫描结束前未发现有主区信息存储标签已经进入
过期过渡期或者过期,则根据扫描结果更新控制区所关联判定桶的主区建议插入位置,即
将主区建议插入位置设置为最接近进入过期过渡期的主区信息存储标签(如果存在多个这
类的主区信息存储标签,则随机选择),然后返回插入成功的标识,然后插入操作结束;
步骤20REPF、判断所述主区建议插入位置所指插入槽位中的主区信息存储标签是否过期或者进入过期过渡期;如果所述主区信息存储标签未过期且未进入过期过渡期,则跳转至步骤20REPA;如果所述主区信息存储标签已过期,则首先生成一个新的主区信息存储标签,然后将变量temp中对应的数据迁移至所述新的主区信息存储标签对应的填充位中,然后将所述新的主区信息存储标签插入所述已过期主区信息存储标签所在的插入槽位中以覆盖所述已过期主区信息存储标签,然后跳转至步骤20REPE;而如果所述主区信息存储标签未过期但已经进入了过期过渡期,则首先分别生成一个新的主区信息存储标签和过期区信息存储标签,然后将变量temp中对应的数据迁移至所述新的主区信息存储标签对应的填充位中,然后将所述已进入过期过渡期但还未过期的主区信息存储标签中对应的数据迁移至所述新的过期区信息存储标签对应的填充位中,然后所述新的主区信息存储标签插入所述已进入过期过渡期但还未过期的主区信息存储标签所在的插入槽位中以覆盖所述已进入过期过渡期但还未过期的主区信息存储标签,然后将所述新的过期区信息存储标签插入过期区所关联判定桶的插入位区中,然后更新控制所关联判定桶的过期区成员个数,即将过期区成员个数+1,然后跳转至步骤20REPE;
步骤20REPG、分别记所述同时满足重定位标识位中的重定位计数等于1和缓冲区
所关联判定桶中有相匹配的缓冲区信息存储标签这两个条件的主区信息存储标签和其所
在插入槽位的编号为和,然后将控制区所关联
判定桶中与相匹配的缓冲区信息存储标签中区位标识位的区位标
识值由Z修改为J,然后分别生成一个新的主区信息存储标签和交换区信息存储标签,并将
变量temp中对应的数据迁移至所述新的主区信息存储标签中,以及将中对应的数据迁移至所述新的交换区信息存储标签对应的填充位
中,然后将所述新的主区信息存储标签插入中以覆盖,以及将所述新的交换区信息存储标签插入交换区所关联判定桶的插
入位区中,最后根据扫描结果更新控制区所关联判定桶的交换区成员个数、主区建议插入
位置以及重定位率,其中将交换区成员个数+1以及将主区建议插入位置设置为扫描结果中
最接近过期过渡期的主区信息存储标签所在的插入槽位(如果存在多个同等的最接近过期
过渡期的主区信息存储标签,则随机选择),然后返回插入成功的标识,然后插入操作结束;
步骤20REPH、分别记所述同时满足重定位标识位中的重定位计数等于0和缓冲区
所关联判定桶中有相匹配的缓冲区区信息存储标签这两个条件的主区信息存储标签和其
所在插入槽位的编号为和,以及记所关联缓冲区信息存储标签为,然后生成
一个新的主区信息存储标签,然后将变量temp中对应的数据迁移至所述新的主区信息存储
标签中,然后将中对应的数据迁移至变量temp对应的标识位中,然
后将中对应的数据迁移至变量temph对应的填充位中,然后删除,然后将所述新的主区信息存储标签插入所述主区所关联判定桶
的中以覆盖,然后更新控制区所关联判定桶的
重定位率以及缓冲区成员个数,其中将缓冲区成员个数-1,然后跳转至步骤20REPI;
步骤20REPI、计算变量temp的另一个哈希桶并作为判定桶,然后将变量temp中重定位计数位的计数值+1,然后读取控制区所关联判定桶的主区建议插入位置并判断:如果所述主区建议插入位置所指插入槽位中未填充主区信息存储标签,则首先分别生成一个主区信息存储标签和缓冲区信息存储标签,然后将变量temp中对应的数据迁移至所述新的主区信息存储标签对应的填充位中以及将变量temph中对应的数据迁移至所述新的缓冲区信息存储标签对应的填充位中,然后将所述新的主区信息存储标签插入主区所关联判定桶的所述控制区所关联判定桶的主区建议插入位置所指的插入槽位中以及将所述新的缓冲区信息存储标签插入缓冲区所关联判定桶的插入位区中,然后更新控制区所关联判定桶的主区成员个数以及缓冲区成员个数,即将主区成员个数和缓冲区成员个数+1,然后跳转至步骤20REPE;否则,生成一个新的缓冲区信息存储标签,然后将变量temph中对应的数据迁移至所述新的缓冲区信息存储标签对应的填充位中,然后将所述新的缓冲区信息存储标签插入缓冲区所关联判定桶的插入位区中,然后更新控制区所关联判定桶的缓冲区成员个数,即将缓冲区成员个数+1,然后跳转至步骤20REPF。
进一步地,重定位操作中,所述更新重定位率的具体计算方法为:
在一些实施例中,针对交换区、过期区以及缓冲区的插入以及删除操作,即为常规的针对邻接表的插入删除操作。
本发明实施例还提出一种带时效的自适应动态数据集合成员删除方法,如图1-6所示,所述方法包括以下步骤:
步骤Ⅰ、预先建立用于存储集合成员指纹信息的布谷鸟过滤器以及3个邻接表,并将布谷鸟过滤器命名为主区,3个邻接表分别命名为交换区、过期区以及缓冲区,其中,主区用于存储暂未进入过期过渡期的集合成员,交换区用于存储发生了两次重定位操作(第二次重定位操作时的存储目标即为交换区)且暂未进入过期过渡期的集合成员,过期区用于存储已经进入过期过渡期但还未过期的集合成员,而缓冲区用于存储被访问命中次数达到高访问次数阈值且未过期的集合成员。与此同时,分别为主区、交换区、过期区以及缓冲区中的每一个哈希桶维护一个控制区,其中,所述控制区的参数项包括重定位率、主区成员个数、交换区成员个数、过期区成员个数、缓冲区成员个数以及主区建议插入位置;且针对主区中每一个哈希桶,其插入位区的每个插入槽位的存储单位为一个由指纹对标位、指纹验证位、重定位计数位、有效期标识位以及命中次数计数位所构成的主区信息存储标签;针对交换区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位、命中次数计数位以及指针位所构成的交换区信息存储标签;针对过期区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位以及指针位所构成的过期区信息存储标签;而针对缓冲区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位、区位标识位以及指针位所构成的缓冲区信息存储标签。需要注意的是,所述主区信息存储标签、交换区信息存储标签和过期区信息存储标签为主信息存储标签,而缓冲区信息存储标签为副信息存储标签,即针对同一个未过期的集合成员,其可以同时拥有一个主信息存储标签和副信息存储标签,而不能同时拥有两个及以上的主信息存储标签,以及不能同时拥有两个及以上的副信息存储标签。
步骤Ⅱ、删除时,采用一种带时效的自适应动态数据集合成员Ⅱ类判定方法判定待删除集合成员是否存在于主区、缓冲区、过期区以及交换区的插入位区中,若不存在,则返回删除失败的标识,然后删除操作结束;否则根据待删除成员所在位区的情况进行删除操作:如果待删除集合成员所在插入位区分别为缓冲区和主区,则首先删除位于缓冲区的插入位区中关联所述待删除集合成员的缓冲区信息存储标签,然后删除位于主区的插入位区中关联所述待删除集合成员的主区信息存储标签,并将所述主区信息存储标签所在插入槽位置为NULL,然后更新控制区中相应项目的数据,然后返回删除失败的标识,然后删除操作结束;如果待删除集合成员所在插入位区分别为缓冲区和交换区,则首先删除位于缓冲区的插入位区中关联所述待删除集合成员的缓冲区信息存储标签,然后删除位于交换区的插入位区中关联所述待删除集合成员的交换区信息存储标签,然后更新控制区中相应项目的数据,然后返回删除失败的标识,然后删除操作结束;如果待删除集合成员所在插入位区分别为缓冲区和过期区,则首先删除位于缓冲区的插入位区中关联所述待删除集合成员的缓冲区信息存储标签,然后删除位于过期区的插入位区中关联所述待删除集合成员的过期区信息存储标签,然后更新控制区中相应项目的数据,然后返回删除失败的标识,然后删除操作结束;如果待删除集合成员所在插入位区只位于主区,则首先删除主区的插入位区中关联所述待删除集合成员的主区信息存储标签,并将所述主区信息存储标签所在插入槽位置为NULL,然后更新控制区中相应项目的数据,然后返回删除失败的标识,然后删除操作结束;如果待删除集合成员所在插入位区只位于交换区,则首先删除交换区的插入位区中关联待删除集合成员的交换区信息存储标签,然后更新控制区中相应项目的数据,然后返回删除失败的标识,然后删除操作结束;而如果待删除集合成员所在插入位区只位于过期区,则首先删除过期区的插入位区中关联所述待删除集合成员的过期区信息存储标签,然后更新控制区中相应项目的数据,然后返回删除失败的标识,然后删除操作结束;
在一些实施例中,为提供一种删除时的较为详细的步骤,具体为:
步骤Ⅰ中,在所述主区的插入位区中,每个哈希桶的插入槽位个数记为。在所述
信息存储标签中,指纹对标位的存储长度为8位;指纹验证位的存储长度为8位;有效期标识
位的存储长度可扩展;重定位计数位的存储长度为8位,命中次数计数位的存储长度为16
位;区位标识位的存储长度为8位;而所述指针位的存储大小则根据操作系统的机器字长来
动态决定。需要注意的是,首先,所述重定位计数位所存储的合法值包括数值0以及数值1,
其分别表示该信息存储标签被重定位操作了0次以及1次,同时当重定位计数等于1的信息
存储标签再次被重定位操作时,则表明该信息存储标签需要被存储进入交换区中,进而避
免陷入重定位循环中;其次,所述区位标识位所存储的合法值包括Z、G和J这三个标识,其
中,合法值Z标识该缓冲区信息存储标签所关联的主信息存储标签为主区信息存储标签,合
法值G标识该缓冲区信息存储标签所关联的主信息存储标签为过期区信息存储标签,而合
法值J标识该缓冲区信息存储标签所关联的主信息存储标签为交换区信息存储标签。对于
所述过期过渡期,其具体表示为:
其中,表示执行一种带时效的自适应动态数据集合成员删除方法时的系统
时间;表示主区信息存储标签的被生成时的系统时间,其存储于主区信息存储标签以
及与之相关联的其余信息存储标签的有效期标识位中;表示过期过渡期的
进入阈值;而表示过期过渡期的整体时长。此时,如果,则说明信息存储标签已经过期;如果,则说明信息存储标签已经进入过期过
渡期但未过期。对于所述高访问次数阈值,其被记为;当主区信息存储标
签以及交换区信息存储标签中命中次数计数位的计数值大于或者等于
时,则说明所述主区信息存储标签以及交换区信息存储标签已经属于被高访问的信息存储
标签,此时,由于本文规定集合成员判定时首先查询的区域为缓冲区,因此需要生成的一个
关联所述主区信息存储标签以及交换区信息存储标签的副信息存储标签即缓冲区信息存
储标签,然后将其插入缓冲区的插入位区中,进而提高访问效率。
在一些实施例中,所述步骤Ⅱ包括以下具体步骤:
步骤Ⅱ.1、删除时,通过哈希函数计算得到待删除集合成员的哈希值(假
设的长度为bit)以及对应的两个哈希桶和,然后从哈希值中提取第1
位、第2位、第(H/2)-1位、第(H/2)位、第(H/2)+1位、第(H-1)位、第H位以及第(H/4)位的二进
制数字,并按提取顺序拼接成为一个长度为8位的指纹对标信息并记为,同时采用对称
压缩算法将待删除集合成员的哈希值压缩成一个长度为H/4位的指纹验证信息并
记为;
步骤Ⅱ.2、采用一种带时效的自适应动态数据集合成员Ⅱ类判定方法判断
和所共存的一个信息存储标签是否存储于两个哈希桶和所关联的缓冲区、
主区、交换区或者过期区中,如果不存在则删除操作结束,否则跳转至步骤Ⅱ.3;
步骤Ⅱ.3、如果所述带时效的自适应动态数据集合成员Ⅱ类判定方法首要判定命
中待删除集合成员所在插入位区位于缓冲区,则跳转至步骤Ⅱ.4;如果所述带时效的
自适应动态数据集合成员Ⅱ类判定方法首要判定命中待删除集合成员所在插入位区
位于主区,则跳转至步骤Ⅱ.5;如果所述带时效的自适应动态数据集合成员Ⅱ类判定方法
首要判定命中待删除集合成员所在插入位区位于交换区,则跳转至步骤Ⅱ.6;而如果
所述带时效的自适应动态数据集合成员Ⅱ类判定方法首要判定命中待删除集合成员
所在插入位区位于过期区,则跳转至步骤Ⅱ.7;
步骤Ⅱ.4、根据所述带时效的自适应动态数据集合成员Ⅱ类判定方法返回的插入
地址以及桶标识寻找待删除成员的缓冲区信息存储标签(记为,并记所在哈希桶的桶标识为),然后在命中后读取中的区位标识位所填充的区位标识值并判断:如果所述区位标识值为Z,则
首先在主区所关联哈希桶的插入位区中寻找与所匹配的主区信息存
储标签(记作,并记所在插入槽位为),然后在命中后则删除以将置为NULL,然后删除并更新控制区所关联哈希桶的主区成员个数、缓冲区成员个数以及
主区建议插入位置,即将主区成员个数-1、将缓冲区成员个数-1以及将主区建议插入位置
设置为,然后返回删除成功的标识,然后删除操作结束;如果标识值为G,则首
先在过期区所关联哈希桶的插入位区中寻找与所匹配的过期区信息
存储标签(记作),并在命中后则删除,然后删除并更新控制区所关联哈希桶的过期区成员个数以及缓冲区成员个
数,即将过期成员个数-1以及将缓冲区成员个数-1,然后返回删除成功的标识,然后删除操
作结束;而如果标识值为J,则首先在交换区所关联哈希桶的插入位区中寻找与所匹配的交换区信息存储标签(记作),并在命中后则删除,然后删除并更新控制区所关联哈希
桶的交换区成员个数以及缓冲区成员个数,即将交换区成员个数-1以及将缓冲区成员个
数-1,然后返回删除成功的标识,然后删除操作结束;
步骤Ⅱ.5、根据所述带时效的自适应动态数据集合成员Ⅱ类判定方法所返回的桶
标识(记所述桶标识为)和插入槽位标识(记所述插入槽位标识为),
将位于主区所关联哈希桶的插入槽位中的待删除集合成员的
主区信息存储标签删除以将置为NULL,然后更新控制区所关联哈希桶的主区成员个数以及主区建议插入位置,即将主区成员个数-1以及将主区建议插
入位置设置为,然后返回删除成功的标识,然后删除操作结束;
步骤Ⅱ.6、根据所述带时效的自适应动态数据集合成员Ⅱ类判定方法所返回的桶
标识(记所述桶标识为),将位于交换区所关联哈希桶的插入位区中的待
删除集合成员的交换区信息存储标签删除,然后更新控制区所关联哈希桶的
交换区成员个数,即将交换区成员个数-1,然后返回删除成功的标识,然后删除操作结束;
步骤Ⅱ.7、根据所述带时效的自适应动态数据集合成员Ⅱ类判定方法所返回的插
入地址和桶标识(记所述桶标识作),将位于过期区所关联哈希桶的插入
位区中的待删除集合成员的过期区信息存储标签删除,然后更新控制区所关联哈希
桶的过期区成员个数,即将过期区成员个数-1,然后返回删除成功的标识,然后删
除操作结束。
具体地,为了说明如何采用对称压缩算法将待删除集合成员的哈希值压
缩成为长度为H/4位的指纹验证信息,则在步骤Ⅱ.1中,所述采用对称压缩算法将待删
除集合成员的哈希值压缩成为长度为H/4位的指纹验证信息具体为:
其中,“”为“与”运算符;“”为异或逻辑运算符;表示由哈希值的前H/4
位的二进制数字所组成的长度为H/4位的二进制序列;表示由哈希值的第((H/4)+
1)位到第H/2位的二进制数字所组成的长度为H/4位的二进制序列;表示由哈希值
的第((H/2)+1)位到第((H*3)/4)位的二进制数字所组成的长度为H/4位的二进制序列;表示由哈希值的第(((H*3)/4)+1)位到第H位的二进制数字所组成的长度为H/4
位的二进制序列;而和,其中,表示由
哈希值的前H/2位的二进制数字所组成的长度为H/2位的二进制序列;表示由哈希
值的第(((H*1)/2)+1)位到第H位的二进制数字所组成的长度为H/2位的二进制序列;
因此,表示由二进制序列和二进制序列经过逻辑乘运算后所得到的长度为H/2位的二进制序列的前((H/2)/2)位的二进制数字所组成的长度为H/4位的二进制序列,
而表示由二进制序列和二进制序列经过逻辑乘运算后所得到的长度为H/2
位的二进制序列的第(((H/2)/2)+1)位到第(H/2)位的二进制数字所组成的长度为H/4位的
二进制序列。
在一些实施例中,步骤Ⅱ.2中所述一种带时效的自适应动态数据集合成员Ⅱ类判定方法包括以下具体步骤:
步骤Ⅱ.2.2、选择哈希候选桶作为判定桶,然后在缓冲区所关联判定桶
中判断与指纹对标信息相匹配的缓冲区信息存储标签;如果判断结束前缓冲区所关
联判定桶中没有缓冲区信息存储标签中的指纹对标位所填充的指纹对标信息与
相匹配,且缓冲区所关联哈希候选桶还未被判定,则跳转至步骤Ⅱ.2.4;如果判定结束
前缓冲区所关联判定桶中没有缓冲区信息存储标签的指纹对标位中的指纹对标信息
与相匹配,且缓冲区所关联哈希候选桶已经被判定,则跳转至步骤Ⅱ.2.6;否则,
将指纹验证信息与所述指纹对标信息匹配的缓冲区信息存储标签的指纹验证位中的
指纹验证信息相匹配,如果匹配,则判定结束并返回所述缓冲区信息存储标签所在哈希候
选桶的桶标识以及所述缓冲区信息存储标签的插入地址,否则,跳转至步骤Ⅱ.2.3;
步骤Ⅱ.2.3、继续在缓冲区所关联判定桶的插入位区中判定与指纹对标信息相匹配的缓冲区信息存储标签;如果判定结束前缓冲区所关联判定桶中没有缓
冲区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹配,且缓冲区所关
联哈希候选桶还未被判定,则跳转至步骤Ⅱ.2.4;如果判定结束前缓冲区所关联判定
桶中没有缓冲区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹
配,且缓冲区所关联哈希候选桶已经被判定,则跳转至步骤Ⅱ.2.6;否则,将指纹验证
信息与所述指纹对标信息匹配的缓冲区信息存储标签中的指纹验证位所填充的指纹
验证信息相匹配,如果匹配,则判定结束并返回所述缓冲区信息存储标签所在哈希候选桶的桶标识以及所述缓冲区信息存储标签的插入地址,否则,跳转至步骤Ⅱ.2.3;
步骤Ⅱ.2.4、选择哈希候选桶作为判定桶,然后在缓冲区所关联判定桶
中判定与指纹对标信息相匹配的缓冲区信息存储标签:如果判定结束前缓冲区所关
联判定桶中没有缓冲区信息存储标签中的指纹对标位所填充的指纹对标信息与
相匹配,且缓冲区所关联哈希候选桶还未被判定,则跳转至步骤Ⅱ.2.2;如果判定结束
前缓冲区所关联判定桶中没有缓冲区信息存储标签中的指纹对标位所填充的指纹对
标信息与相匹配,且缓冲区所关联哈希候选桶已经被判定,则跳转至步骤Ⅱ
.2.6;否则,将指纹验证信息与所述指纹对标信息匹配的缓冲区信息存储标签中的指
纹验证位所填充的指纹验证信息相匹配,如果匹配,则判定结束并返回所述缓冲区信息存
储标签所在哈希候选桶的桶标识以及所述缓冲区信息存储标签的插入地址,否则,跳
转至步骤Ⅱ.2.5;
步骤Ⅱ.2.5、继续在缓冲区所关联判定桶的插入位区中判定与指纹对标信息相匹配的缓冲区信息存储标签;如果判定结束前缓冲区所关联判定桶中没有缓冲
区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹配,且缓冲区所关联哈
希候选桶还未被判定,则跳转至步骤Ⅱ.2.2;如果判定结束前缓冲区所关联判定桶中没有缓冲区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹配,
且缓冲区所关联哈希候选桶已经被判定,则跳转至步骤Ⅱ.2.6;否则,将指纹验证信息与所述指纹对标信息匹配的缓冲区信息存储标签中的指纹验证位所填充的指纹验证
信息相匹配,如果匹配,则判定结束并返回所述缓冲区信息存储标签所在哈希候选桶
的桶标识以及所述缓冲区信息存储标签的插入地址,否则,跳转至步骤Ⅱ.2.5;
步骤Ⅱ.2.7、选择哈希候选桶作为判定桶,然后在主区所关联判定桶中
判定与指纹对标信息相匹配的主区信息存储标签;如果判定结束前主区所关联判定
桶中没有主区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹配,
且主区所关联判定桶还未被判定,则跳转至步骤Ⅱ.2.9;如果判定结束前主区所关联
判定桶中没有主区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹
配,且主区所关联判定桶已经被判定,则跳转至步骤Ⅱ.2.11;否则,将指纹验证信息与所述指纹对标信息匹配的主区信息存储标签中的指纹验证位所填充的指纹验证信
息相匹配,如果匹配,则判定操作结束并返回所述主区信息存储标签所在哈希候选桶
的桶标识以及所述主区信息存储标签所在插入槽位的槽位编号,否则,跳转至步骤Ⅱ.2.8;
步骤Ⅱ.2.8、继续在主区所关联判定桶的插入位区中判定与指纹对标信息相匹配的主区信息存储标签:如果判定结束前主区所关联判定桶中没有主区信
息存储标签的指纹对标位中的指纹对标信息与相匹配,且主区所关联哈希候选桶桶还未被判定,则跳转至步骤Ⅱ.2.9;如果判定结束前主区所关联判定桶中没有主
区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹配,且主区所关联哈
希候选桶已经被判定,则跳转至步骤Ⅱ.2.11;否则,将指纹验证信息与所述指纹
对标信息匹配的主区信息存储标签中的指纹验证位所填充的指纹验证信息相匹配,如果匹
配,则判定操作结束并返回所述主区信息存储标签所在哈希候选桶的桶标识以及所述
主区信息存储标签所在插入槽位的槽位编号,否则,跳转至步骤Ⅱ.2.8;
步骤Ⅱ.2.9、选择哈希候选桶作为判定桶,然后在主区所关联判定桶中
匹配与指纹对标信息相匹配的主区信息存储标签:如果判定结束前主区所关联判定
桶中没有主区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹配,
且主区所关联哈希候选桶还未被判定,则跳转至步骤Ⅱ.2.7;如果判定结束前主区所
关联判定桶中没有主区信息存储标签中的指纹对标位所填充的指纹对标信息与
相匹配,且主区所关联哈希候选桶已经被判定,则跳转至步骤Ⅱ.2.11;否则,将指纹验
证信息与所述指纹对标信息匹配的主区信息存储标签中的指纹验证位所填充的指纹
验证信息相匹配,如果匹配,则判定操作结束并返回所述主区信息存储标签所在哈希候选
桶的桶标识以及所述主区信息存储标签所在插入槽位的槽位编号,否则,跳转至步骤
Ⅱ.2.10;
步骤Ⅱ.2.10、继续在主区所关联判定桶的插入位区中判定与指纹对标信息相匹配的主区信息存储标签;如果判定结束前主区所关联判定桶中没有主区信
息存储标签中的指纹对标位所填充的指纹对标信息与相匹配,且主区所关联哈希候
选桶还未被判定,则跳转至步骤Ⅱ.2.7;如果判定结束前主区所关联判定桶中没
有主区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹配,且主区所关
联哈希候选桶已经被判定,则跳转至步骤Ⅱ.2.11;否则,将指纹验证信息与所述
指纹对标信息匹配的主区信息存储标签中的指纹验证位所填充的指纹验证信息相匹配,如
果匹配,则判定操作结束并返回所述主区信息存储标签所在哈希候选桶的桶标识以及
所述主区信息存储标签所在插入槽位的槽位编号,否则,跳转至步骤Ⅱ.2.10;
步骤Ⅱ.2.12、选择哈希候选桶作为判定桶,然后在交换区所关联判定桶
中判定与指纹对标信息相匹配的交换区信息存储标签;如果判定结束前交换区所关
联判定桶中没有交换区信息存储标签中的指纹对标位所填充的指纹对标信息与
相匹配,且交换区所关联哈希候选桶还未被判定,则跳转至步骤Ⅱ.2.14;如果判定结
束前交换区所关联判定桶中没有交换区信息存储标签中的指纹对标位所填充的指纹
对标信息与相匹配,且交换区所关联哈希候选桶已经被判定,则跳转至步骤Ⅱ
.2.16;否则,将指纹验证信息与所述指纹对标信息匹配的交换区信息存储标签中的
指纹验证位所填充的指纹验证信息相匹配,如果匹配,则判定操作结束并返回所述交换区
信息存储标签所在哈希候选桶的桶标识以及所述交换区信息存储标签的插入地址,否
则,跳转至步骤Ⅱ.2.13;
步骤Ⅱ.2.13、继续在交换区所关联判定桶的插入位区中判定与指纹对标信
息相匹配的交换区信息存储标签;如果判定结束前交换区所关联判定桶中没有
交换区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹配,且交换区所
关联哈希候选桶还未被判定,则跳转至步骤Ⅱ.2.14;如果判定结束前交换区所关联判
定桶中没有交换区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹
配,且交换区所关联哈希候选桶已经被判定,则跳转至步骤Ⅱ.2.16;否则,将指纹验证
信息与所述指纹对标信息匹配的交换区信息存储标签中的指纹验证位所填充的指纹
验证信息相匹配,如果匹配,则判定操作结束并返回所述交换区信息存储标签所在哈希候
选桶的桶标识以及所述交换区信息存储标签的插入地址,否则,跳转至步骤Ⅱ.2.13;
步骤Ⅱ.2.14、选择哈希候选桶作为判定桶,然后在交换区所关联判定桶中判定与指纹对标信息相匹配的交换区信息存储标签;如果判定结束前交换区
所关联判定桶中没有交换区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹配,且交换区所关联哈希候选桶还未被判定,则跳转至步骤Ⅱ.2.12;如果判
定结束前交换区所关联判定桶中没有交换区信息存储标签中的指纹对标位所填充的
指纹对标信息与相匹配,且交换区所关联哈希候选桶已经被判定,则跳转至步骤
Ⅱ.2.16;否则,将指纹验证信息与所述指纹对标信息匹配的交换区信息存储标签中
的指纹验证位所填充的指纹验证信息相匹配,如果匹配,则判定操作结束并返回所述交换
区信息存储标签所在哈希候选桶的桶编号以及所述交换区信息存储标签的插入地址,
否则,跳转至步骤Ⅱ.2.15;
步骤Ⅱ.2.15、继续在交换区所关联判定桶的插入位区中判定与指纹对标信
息相匹配的交换区信息存储标签:如果判定结束前交换区所关联判定桶中没有
交换区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹配,且交换区所
关联哈希候选桶还未被判定,则跳转至步骤Ⅱ.2.12;如果判定结束前交换区所关联判
定桶中没有交换区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹
配,且交换区所关联哈希候选桶已经被判定,则跳转至步骤Ⅱ.2.16;否则,将指纹验证
信息与所述指纹对标信息匹配的交换区信息存储标签中的指纹验证位所填充的指纹
验证信息相匹配,如果匹配,则判定操作结束并返回所述交换区信息存储标签所在哈希候
选桶的桶标识以及所述交换区信息存储标签的插入地址,否则,跳转至步骤Ⅱ.2.15;
步骤Ⅱ.2.17、选择哈希候选桶作为判定桶,然后在过期区所关联判定桶
中判定与指纹对标信息相匹配的过期区信息存储标签;如果判定结束前过期区所关
联判定桶中没有过期区信息存储标签中的指纹对标位所填充的指纹对标信息与
相匹配,且过期区所关联哈希候选桶还未被判定,则跳转至步骤Ⅱ.2.19;如果判定结
束前过期区所关联判定桶中没有过期区信息存储标签中的指纹对标位所填充的指纹
对标信息与相匹配,且过期区所关联哈希候选桶已经被判定,则返回判定失败的
标识,同时判定操作结束;否则,将指纹验证信息与所述指纹对标信息匹配的过期区
信息存储标签中的指纹验证位中所填充的指纹验证信息相匹配,如果匹配,则判定结束并
返回所述过期区信息存储标签所在哈希候选桶的桶标识以及所述过期区信息存储标
签的插入地址,否则,跳转至步骤Ⅱ.2.18;
步骤Ⅱ.2.18、继续在过期区所关联判定桶的插入位区中匹配与指纹对标信
息相匹配的过期区信息存储标签:如果判定结束前过期区所关联判定桶中没有
过期区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹配,且过期区所
关联哈希候选桶还未被判定,则跳转至步骤Ⅱ.2.19;如果判定结束前过期区所关联判
定桶中没有过期区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹
配,且过期区所关联哈希候选桶已经被判定,则返回判定失败的标识,同时判定操作结
束;否则,将指纹验证信息与所述指纹对标信息匹配的过期区信息存储标签中的指纹
验证位所填充的指纹验证信息相匹配,如果匹配,则判定操作结束并返回所述过期区信息
存储标签所在哈希候选桶的桶标识以及所述过期区信息存储标签的插入地址,否则,
跳转至步骤Ⅱ.2.18;
步骤Ⅱ.2.19、选择哈希候选桶作为判定桶,然后在过期区所关联判定桶中判定与指纹对标信息相匹配的过期区信息存储标签;如果判定结束前过期区
所关联判定桶中没有过期区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹配,且过期区所关联哈希候选桶还未被判定,则跳转至步骤Ⅱ.2.17;如果判
定结束前过期区所关联判定桶中没有过期区信息存储标签中的指纹对标位所填充的
指纹对标信息与相匹配,且过期区所关联哈希候选桶已经被判定,则返回判定失
败的标识,同时判定操作结束;否则,将指纹验证信息与所述指纹对标信息匹配的过
期区信息存储标签中的指纹验证位所填充的指纹验证信息相匹配,如果匹配,则判定操作
结束并返回所述过期区信息存储标签所在哈希候选桶的桶标识以及所述过期区信息
存储标签的插入地址,否则,跳转至步骤Ⅱ.2.19;
在一些实施例中,针对交换区、过期区以及缓冲区的插入以及删除操作,即为常规的针对邻接表的插入删除操作。
本发明实施例还提出一种带时效的自适应动态数据集合成员检索方法,如图1-6所示,所述方法包括以下步骤:
步骤A、预先建立用于存储集合成员指纹信息的布谷鸟过滤器以及3个邻接表,并将布谷鸟过滤器命名为主区,3个邻接表分别命名为交换区、过期区以及缓冲区,其中,主区用于存储暂未进入过期过渡期的集合成员,交换区用于存储发生了两次重定位操作(第二次重定位操作时的存储目标即为交换区)且暂未进入过期过渡期的集合成员,过期区用于存储已经进入过期过渡期但还未过期的集合成员,而缓冲区用于存储被访问命中次数达到高访问次数阈值且未过期的集合成员。与此同时,分别为主区、交换区、过期区以及缓冲区中的每一个哈希桶维护一个控制区,其中,所述控制区的参数项包括重定位率、主区成员个数、交换区成员个数、过期区成员个数、缓冲区成员个数以及主区建议插入位置;且针对主区中每一个哈希桶,其插入位区的每个插入槽位的存储单位为一个由指纹对标位、指纹验证位、重定位计数位、有效期标识位以及命中次数计数位所构成的主区信息存储标签;针对交换区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位、命中次数计数位以及指针位所构成的交换区信息存储标签;针对过期区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位以及指针位所构成的过期区信息存储标签;而针对缓冲区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位、区位标识位以及指针位所构成的缓冲区信息存储标签。需要注意的是,所述主区信息存储标签、交换区信息存储标签和过期区信息存储标签为主信息存储标签,而缓冲区信息存储标签为副信息存储标签,即针对同一个未过期的集合成员,其可以同时拥有一个主信息存储标签和副信息存储标签,而不能同时拥有两个及以上的主信息存储标签,以及不能同时拥有两个及以上的副信息存储标签;
步骤B、检索时,按缓冲区、主区、交换区以及过期区的顺序在上述存储区中检索待检索集合成员;如果命中待检索集合成员的信息存储标签且所述信息存储标签未过期,则返回检索成功的标识;如果在缓冲区、主区、交换区以及过期区的插入位区中未命中待检索集合成员的信息存储标签,则返回检索失败的标识;如果命中待检索集合成员的信息存储标签但该信息存储标签已过期,则首先返回检索失败的标识,然后将缓冲区、主区、交换区以及过期区的插入位区中所有与待检索集合成员相关联的信息存储标签删除,同时更新控制区所关联待检索集合成员现所在哈希桶的相关数据并返回检索失败的标识;如果命中待检索集合成员的信息存储标签但所述信息存储标签已进入过期过渡期,且所述信息存储标签的类型只为主区信息存储标签和交换区信息存储标签中的一种,则首先返回检索成功的标识,然后将待检索集合成员的信息存储标签从主区或者交换区的插入位区中删除,然后将待检索集合成员的信息存储标签的类型更变为过期区信息存储标签并插入过期区的插入位区中,然后更新控制区的相关数据;进一步地,如果首次命中的待检索成员的信息存储标签非缓冲区信息存储标签,且所述信息存储标签未进入过期过渡期以及标签中的命中次数计数位所填充的计数值等于或者超过高访问次数阈值时,则需要为所述待检索集合成员生成一个新的缓冲区信息存储标签并将其插入缓冲区的插入位区中,然后更新控制区的相关项目的数据。
在一些实施例中,为提供一种检索时的较为详细的步骤,具体如下:
步骤A中,在所述主区的插入位区中,每个哈希桶的插入槽位个数记为。在所述
信息存储标签中,指纹对标位的存储长度为8位;指纹验证位的存储长度为8位;有效期标识
位的存储长度可扩展;重定位计数位的存储长度为8位,命中次数计数位的存储长度为16
位;区位标识位的存储长度为8位;而所述指针位的存储大小则根据操作系统的机器字长来
动态决定。需要注意的是,首先,所述重定位计数位所存储的合法值包括数值0以及数值1,
其分别表示该信息存储标签被重定位操作了0次以及1次,同时当重定位计数等于1的信息
存储标签再次被重定位操作时,则表明该信息存储标签需要被存储进入交换区中,进而避
免陷入重定位循环中;其次,所述区位标识位所存储的合法值包括Z、G和J这三个标识,其
中,合法值Z标识该缓冲区信息存储标签所关联的主信息存储标签为主区信息存储标签,合
法值G标识该缓冲区信息存储标签所关联的主信息存储标签为过期区信息存储标签,而合
法值J标识该缓冲区信息存储标签所关联的主信息存储标签为交换区信息存储标签。对于
所述过期过渡期,其具体表示为:
其中,表示执行一种带时效的自适应动态数据集合成员检索方法时的系统
时间;表示主区信息存储标签的被生成时的系统时间,其存储于主区信息存储标签以
及与之相关联的其余信息存储标签之中的有效期标识位中;表示过期过渡
期的进入阈值;而表示过期过渡期的整体时长。此时,如果,则说明信息存储标签已经过期;如果,则说明信息存储标签已经进入过期过
渡期但未过期。对于所述高访问次数阈值,其被记为;当主区信息存储标
签以及交换区信息存储标签中命中次数计数位的计数值大于或者等于
时,则说明所述主区信息存储标签以及交换区信息存储标签已经属于被高访问的信息存储
标签,此时,由于本文规定集合成员判定时首先查询的区域为缓冲区,因此需要生成的一个
关联所述主区信息存储标签以及交换区信息存储标签的副信息存储标签即缓冲区信息存
储标签,然后将其插入缓冲区的插入位区中,进而提高访问效率。
在一些实施例中,所述步骤B包括以下具体步骤:
步骤B.1、检索时,通过哈希函数计算得到待检索集合成员的哈希值(假设的长度为bit)以及对应的两个哈希桶和,然后从哈希
值中提取第1位、第2位、第((H/2)-1)位、第(H/2)位、第((H/2)+1)位、第(H-1)位、第H
位以及第(H/4)位的二进制数字,然后按提取顺序将其拼接成为一个长度为8位的指纹对标
信息并记为,同时采用对称压缩算法将待检索集合成员的哈希值
压缩成一个长度为H/4位的指纹验证信息并记为;
步骤B.3、选择哈希候选桶作为检索桶,然后在缓冲区所关联检索桶的插入
位区中检索与指纹对标信息相匹配的缓冲区信息存储标签;如果在检索结束前未
发现与指纹对标信息相匹配的缓冲区信息存储标签,则跳转至步骤B.6;否则,将所
述与指纹对标信息相匹配的缓冲区信息存储标签中的指纹验证信息与指纹验证信
息相匹配,如果匹配,则停止检索并跳转至步骤B.4,否则,跳转至步骤B.5;
步骤B.4、读取所述缓冲区信息存储标签(记作)中的有效期标识
位所填充的时间值并判断:如果判断结果显示已过期,则首先返回检索失败
的标识,然后读取中的区位标识位所填充的区位标识值并判断:如果区位标
识值为Z,则删除以及主区所关联检索桶的插入位区中与相匹配的主区信息存储标签(记所述主区信息存储标签的插入槽位为),然后更新控制区所关联检索桶的缓冲区成员个数、主区成员个数以及主区
建议插入位置,即将缓冲区成员个数-1、将主区成员个数-1以及将主区建议插入位置设置
为,然后检索操作结束;如果标识值为J,则删除以及交换
区所关联检索桶的插入位区中与相匹配的交换区信息存储标签,然后更新
控制区所关联检索桶的缓冲区成员个数以及交换区成员个数,即将缓冲区成员个数-1以及
将交换区成员个数-1,然后检索操作结束;而如果标识值为G,则删除以及过
期区所关联检索桶的插入位区中与相匹配的过期区信息存储标签,
然后更新控制区所关联检索桶的缓冲区成员个数以及过期区成员个数,即将缓冲
区成员个数-1以及将过期区成员个数-1,然后检索操作结束;如果判断结果显示未过期但已进入过期过渡期,则首先返回检索成功的标识,然后读取中的区位标识位所填充的区位标识值并判断,如果标识值为G,则检索操作
结束;如果标识值为Z,则首先生成一个新的过期区信息存储标签(记作),
然后在主区所关联检索桶的插入位区中检索与相匹配的主区信息存储标
签,并在命中所述主区信息存储标签(记所述主区信息存储标签为,并记所在插入槽位为)后,将中对应的数据迁
移到对应的填充位中,然后删除并将插入过期区所关联检索桶的插入位区中,然后更新控制区所关
联检索桶的主区成员个数、过期区成员个数以及主区建议插入位置,即将主区成员个数-1、
将过期区成员个数+1以及将主区建议插入位置设置为,然后检索操作结束;
如果标识值为J,则首先生成一个新的过期区信息存储标签(记作),然
后在交换区所关联检索桶的插入位区中检索与相关联的交换区信息存储标
签,并在命中所述交换区信息存储标签后,将其对应的数据迁移到对应
的填充位中,然后删除所述交换区信息存储标签并将插入过期区所关联
检索桶的插入位区中,然后更新控制区所关联检索桶的交换区成员个数以及过期区
成员个数,即将交换区成员个数-1以及将过期区成员个数+1,然后检索操作结束;如果判断
结果显示未过期且未进入过期过渡期,则返回检索成功的标识,然后检索操
作结束;
步骤B.5、继续在缓冲区所关联检索桶的插入位区中检索与指纹对标信息
相匹配的缓冲区信息存储标签;如果检索结束前未发现与指纹对标信息相匹配的
缓冲区信息存储标签,则跳转至步骤B.6;否则,将所述与指纹对标信息相匹配的缓
冲区信息存储标签中的指纹验证信息与指纹验证信息相匹配,如果匹配,则停止检
索并跳转至步骤B.4,否则,跳转至步骤B.5;
步骤B.6、在主区所关联检索桶的插入位区中检索与指纹对标信息相匹配
的主区信息存储标签;如果检索结束前未发现与指纹对标信息相匹配的主区信息
存储标签,则跳转至步骤B.9;否则,将所述与指纹对标信息相匹配的主区信息存储
标签中的指纹验证信息与指纹验证信息相匹配,如果匹配,则停止检索并跳转至步骤
B.7,否则,跳转至步骤B.8;
步骤B.7、读取所述主区信息存储标签(记所述主区信息存储标签为,并记所在插入槽位为)中的有效期标识位所填
充的时效标识值并判断:如果判断结果显示已过期,则首先返回检索失败的
标识,然后删除并更新控制区所关联检索桶的主区成员个数以及主区建议
插入位置,即将主区成员个数-1以及将主区建议插入位置设置为,然后检索
操作结束;如果判断结果显示未过期但已经进入过期过渡区,则首先返回检
索成功的标识,然后生成一个新的过期区信息存储标签(记作)并将中对应的数据迁移至对应的填充位中,然后删除并将插入过期区所关联检索桶的插入位区中,然后更新
控制区所关联检索桶的主区成员个数、过期区成员个数以及主区建议插入位置,即将主区
成员个数-1、将过期区成员个数+1以及将主区建议插入位置设置为,然后检
索操作结束;如果判断结果显示未过期且未进入过期过渡区,则首先返回
检索成功的标识,然后读取中的命中次数计数位所填充的计数值并判断:
如果所述计数值+1后小于,则检索操作结束;而如果所述计数值+1后大于
或等于,则首先生成一个新的缓冲区信息存储标签,然后将中对应的数据迁移至所述缓冲区信息存储标签对应的填充位中,然后将所
述缓冲区信息存储标签插入缓冲区所关联检索桶的插入位区中,然后更新控制区关联哈希
桶的缓冲区成员个数,即将缓冲区成员个数+1,然后检索操作结束;
步骤B.8、继续在主区所关联检索桶的插入位区中检索与指纹对标信息相
匹配的主区信息存储标签;如果检索结束前未发现与指纹对标信息相匹配的主区
信息存储标签,则跳转至步骤B.9;否则,将所述与指纹对标信息相匹配的主区信息
存储标签中的指纹验证信息与指纹验证信息相匹配,如果匹配,则停止检索并跳转
至步骤B.7,否则,跳转至步骤B.8;
步骤B.9、在交换区所关联检索桶的插入位区中检索与指纹对标信息相匹
配的交换区信息存储标签;如果检索结束前未发现与指纹对标信息相匹配的交换
区信息存储标签,则跳转至步骤B.12;否则,将所述与指纹对标信息相匹配的交换
区信息存储标签中的指纹验证信息与指纹验证信息相匹配,如果匹配,则停止检索
并跳转至步骤B.10,否则,跳转至步骤B.11;
步骤B.10、读取所述交换区信息存储标签(记作)中的有效期标识
位所填充的时效标识值并判断:如果判断结果显示已过期,则首先返回检索
失败的标识,然后删除并更新控制区所关联检索桶的交换区成员个数,即
将交换区成员个数-1,然后检索操作结束;如果判断结果显示未过期但已经
进入过期过渡区,则首先返回检索成功的标识,然后生成一个新的过期区信息存储标签(记
作)并将中对应的数据迁移至对应的
填充位中,然后删除并将插入过期区所关联检索桶的
插入位区中,然后更新控制区所关联检索桶的交换区成员个数以及过期区成员个数,即将
交换区成员个数-1以及将过期区成员个数+1,然后检索操作结束;如果判断结果显示未过期且未进入过期过渡区,则首先读取中的命中次数
计数位所填充的计数值并判断:如果所述计数值+1后小于,则返回检索成
功的标识,然后检索操作结束;而如果所述计数值+1后大于或等于,则首
先生成一个新的缓冲区信息存储标签,然后将中对应的数据迁移至所述
缓冲区信息存储标签对应的填充位中,然后将所述缓冲区信息存储标签插入缓冲区所关联
检索桶的插入位区中,然后更新控制区关联哈希桶的缓冲区成员个数,即将缓冲区成员个
数+1,然后检索操作结束;
步骤B.11、继续在交换区所关联检索桶的插入位区中检索与指纹对标信息相匹配的交换区信息存储标签;如果检索结束前未发现与指纹对标信息相
匹配的交换区信息存储标签,则跳转至步骤B.12;否则,将所述与指纹对标信息相
匹配的交换区信息存储标签中的指纹验证信息与指纹验证信息相匹配,如果匹配,
则停止检索并跳转至步骤B.10,否则,跳转至步骤B.11;
步骤B.12、在过期区所关联检索桶的插入位区中检索与指纹对标信息相
匹配的过期区信息存储标签;如果检索结束前未发现与指纹对标信息相匹配的过
期区信息存储标签,且哈希候选桶还未被检索,则跳转至步骤B.15;如果检索结束
前未发现与指纹对标信息相匹配的过期区信息存储标签,且哈希候选桶还
未被检索,则跳转至步骤B.3;而如果检索结束前未发现与指纹对标信息相匹配的
过期区信息存储标签,且哈希候选桶和哈希候选桶都已经被检索,则返回检
索失败的标识,然后检索操作结束;否则,将所述与指纹对标信息相匹配的过期区
信息存储标签中的指纹验证信息与指纹验证信息相匹配,如果匹配,则停止检索并
跳转至步骤B.13,否则,跳转至步骤B.14;
步骤B.13、读取所述过期区信息存储标签(记作)中的有效期标
识位所填充的时效标识值并判断:如果判断结果显示已过期,则首先返
回检索失败的标识,然后删除并更新控制区所关联检索桶的过期区成员
个数,即将过期区成员个数-1,然后检索操作结束;否则,返回检索成功的标识,然后检索操
作结束;
步骤B.14、继续在过期区所关联检索桶的插入位区中检索与指纹对标信息相匹配的过期区信息存储标签;如果检索结束前未发现与指纹对标信息相
匹配的过期区信息存储标签,且哈希候选桶还未被检索,则跳转至步骤B.15;如果
检索结束前未发现与指纹对标信息相匹配的过期区信息存储标签,且哈希候选桶还未被检索,则跳转至步骤B.3;而如果检索结束前未发现与指纹对标信息
相匹配的过期区信息存储标签,且哈希候选桶和哈希候选桶都已经被检索,
则返回检索失败的标识,然后检索操作结束;否则,将所述与指纹对标信息相匹配
的过期区信息存储标签中的指纹验证信息与指纹验证信息相匹配,如果匹配,则
停止检索并跳转至步骤B.13,否则,跳转至步骤B.14;
步骤B.15、选择哈希候选桶作为检索桶,然后在缓冲区所关联检索桶的插
入位区中检索与指纹对标信息相匹配的缓冲区信息存储标签;如果在检索结束前
未发现与指纹对标信息相匹配的缓冲区信息存储标签,则跳转至步骤B.6;否则,将
所述与指纹对标信息相匹配的缓冲区信息存储标签中的指纹验证信息与指纹验证
信息相匹配,如果匹配,则停止检索并跳转至步骤B.4,否则,跳转至步骤B.5;
具体地,为了说明如何采用对称压缩算法将待检索集合成员的哈希值压缩成为长度为H/4位的指纹验证信息,则在步骤B.1中,所述采用对称压缩
算法将待检索集合成员的哈希值压缩成为长度为H/4位的指纹验证信息具体为:
其中,“”为“与”运算符;“”为异或逻辑运算符;表示由哈希值的前H/4位的二进制数字所组成的长度为H/4位的二进制序列;表示由哈希值的第
((H/4)+1)位到第H/2位的二进制数字所组成的长度为H/4位的二进制序列;表示由
哈希值的第((H/2)+1)位到第((H*3)/4)位的二进制数字所组成的长度为H/4位的二
进制序列;表示由哈希值的第(((H*3)/4)+1)位到第H位的二进制数字所组成
的长度为H/4位的二进制序列;而和,
其中,表示由哈希值的前H/2位的二进制数字所组成的长度为H/2位的二进制
序列;表示由哈希值的第(((H*1)/2)+1)位到第H位的二进制数字所组成的长
度为H/2位的二进制序列;因此,表示由二进制序列和二进制序列经过
逻辑乘运算后所得到的长度为H/2位的二进制序列的前((H/2)/2)位的二进制数字所组成
的长度为H/4位的二进制序列,而表示由二进制序列和二进制序列经
过逻辑乘运算后所得到的长度为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标识该缓冲区信息存储标签所关联的主信息存储标签为交换区信息存储标签;
当主区信息存储标签以及交换区信息存储标签中命中次数计数位的计数值大于或者等于预设访问次数阈值时,则生成一个关联所述主区信息存储标签以及交换区信息存储标签的缓冲区信息存储标签,并将缓冲区信息存储标签插入缓冲区的插入位区中,以提高访问效率。
3.根据权利要求2所述的一种带时效的自适应动态数据集合成员插入方法,其特征在于,所述步骤2具体包括以下步骤:
步骤201、插入时,通过哈希函数计算得到待插入集合成员的哈希值以及对应的
两个哈希候选桶和,然后从哈希值中提取第1位、第2位、第(H/2)-1位、第(H/2)位、第
(H/2)+1位、第(H-1)位、第H位以及第(H/4)位的二进制数字按顺序拼接成为一个长度为8位
的指纹对标信息并记为,同时采用对称压缩算法将待插入集合成员的哈希值压
缩成为长度为H/4位的指纹验证信息并记为,其中H表示的长度;
若存在,则返回插入失败的标识,
若不存在,则进入步骤203;
若所述主区建议插入位置所指插入槽位未填充主区信息存储标签,则跳转至步骤205;
若所述主区建议插入位置所指插入槽位填充主区信息存储标签,则跳转至步骤207;
若哈希候选桶和哈希候选桶已经被作为判定桶进行了判定操作,则首先分别定义
一个存储单位为主区信息存储标签的变量temp和存储单位为缓冲区信息存储标签的变量
temph,然后分别将指纹对标信息、指纹验证信息、计数值0、标签生成时的时间值以及计数值0填充至变量temp的指纹对标位、指纹验证位、重定位计数位、有效期标识
位以及命中次数计数位中,最后进入重定位操作;
步骤205、首生成一个新的主区信息存储标签,分别将指纹对标信息、指纹验证信息、计数值0、标签生成时的时间值以及计数值0填充至所述主区信息存储标签中的
指纹对标位、指纹验证位、重定位计数位、有效期标识位以及命中次数计数位中,插入主区
所关联判定桶的控制区所关联判定桶的主区建议插入位置所指的插入槽位中,更新控制区
所关联判断桶的主区成员个数,返回插入成功的标识并跳转至步骤206;
步骤206、按序扫描主区所关联判定桶的插入槽位情况:
在扫描结束前首先发现有空的插入槽位的情况下,更新控制区所关联判定桶中的主区建议插入位置信息;
在扫描结束前首先发现有主区信息存储标签已经进入过期过渡期的情况下,生成一个
新的过期区信息存储标签,将所述已经进入过期过渡期的主区信息存储
标签中对应的数据迁移至新的过期区信息存储标签对应的填充位中,将新的过期区信息存
储标签插入过期区所关联判定桶的插入位区中,并删除已经进入过期过渡期的主区信息存
储标签,更新控制区所关联判定桶的主区成员个数、过期区成员个数以及主区建议插入位
置;
所述更新控制区所关联判定桶的主区成员个数、过期区成员个数以及主区建议插入位置,包括:
若存在,则将所述相匹配的缓冲区信息存储标签的区位标识位中的区位标识由Z修改为G,插入操作结束;
若不存在,插入操作结束;
如果扫描结束前首先发现有主区信息存储标签已经过期,记已过期的主区信息存储标
签所在插入槽位为,则首先删除已过期的主区信息存储标签以将置为NULL,然后判定缓冲区所关联判定桶的插入位区中是否存在与已过期
的主区信息存储标签相匹配的缓冲区信息存储标签:
若所述主区建议插入位置所指插入槽位未填充主区信息存储标签,则跳转至步骤205;
若所述主区建议插入位置所指插入槽位填充主区信息存储标签,则跳转至步骤204;
其中,为与逻辑运算符;为异或逻辑运算符;表示由哈希值的前H/4位的二
进制数字所组成的长度为H/4位的二进制序列;表示由哈希值的第((H/4)+1)位到第H/2位的二进制数字所组成的长度为H/4位的二进制序列;表示由哈希值的第((H/2)
+1)位到第((H*3)/4)位的二进制数字所组成的一个长度为H/4位的二进制序列;表示
由哈希值的第(((H*3)/4)+1)位到第H位的二进制数字所组成的一个长度为H/4位的二进
制序列; 和,其中,表示由哈希值的
前H/2位的二进制数字所组成的一个长度为H/2位的二进制序列;表示由哈希值的第
(((H*1)/2)+1)位到第H位的二进制数字所组成的一个长度为H/2位的二进制序列; 表
示由二进制序列和二进制序列经过逻辑乘运算后所得到的长度为H/2位的二进制
序列的前((H/2)/2)位的二进制数字所组成的一个长度为H/4位的二进制序列,而表示
由二进制序列和二进制序列经过逻辑乘运算后所得到的长度为H/2位的二进制序
列的第((H/2)/2)+1位到第(H/2)位的二进制数字所组成的一个长度为H/4位的二进制序
列。
6.根据权利要求3所述的一种带时效的自适应动态数据集合成员插入方法,其特征在
于,所述判断指纹对标信息和指纹验证信息所共存的一个信息存储标签是否存储于缓冲
区、主区、交换区或者过期区所关联两个哈希候选桶和的插入位区中,包括:
如果判定结束前缓冲区所关联判定桶中有缓冲区信息存储标签中的指纹对标位所填
充的指纹对标信息与相匹配,将指纹验证信息与所述指纹对标信息匹配的缓冲区
信息存储标签中的指纹验证位所填充的指纹验证信息相匹配:
如果匹配成功,则停止判定并跳转至步骤202C,
如果匹配成功失败,则跳转至步骤202D;
若已经进入过期过渡期但还未过期,且区位标识位所填充的区位标
识值为Z,则首先返回判定成功的标识,然后将的区位标识值由Z修改为
G,然后在主区所关联判定桶的插入位区中判定与相匹配的主区信息存
储标签,并在判定成功后,记与相匹配的主区信息存储标签为, 所在插入槽位为,生成一个新的过期区
信息存储标签,将中对应的数据迁移至对应的填充位中,将插入过期区所关联判定桶的插
入位区中,将中的删除以置为NULL,将主区成员
个数-1、将过期区成员个数+1以及将主区建议插入位置设置为,然后判定操作
结束;
若已经进入过期过渡期但还未过期,且区位标识位所填充的区位标识
值为J,则首先返回判定成功的标识,然后将的区位标识值由J修改为G,
然后在交换区所关联判定桶的插入位区中判定与相匹配的交换区信息
存储标签,并在判定成功后,记与相匹配的交换区信息存储标签为,生成一个新的过期区信息存储标签,将中对应的数据迁移至对应的填充位中,将插入过期区所关联判定桶的插入位区中,将删除,最
后将交换区成员个数-1以及将过期区成员个数+1,判定操作结束;
若已经过期,且区位标识位中的标识值为Z,则首先返回判定失败的标
识,然后在主区所关联判定桶的插入位区中判定与相匹配的主区信息存
储标签,记所述主区信息存储标签的插入槽位为,并在判定成功后删除以及将中的主区信息存储标签删除以置为
NULL,然后将主区成员个数-1,将缓冲区成员个数-1以及将主区建议插入位置设置为,判定操作结束;
若已经过期,且区位标识位中的标识值为J,则首先返回判定失败的
标识,然后在交换区所关联判定桶的插入位区中判定与相匹配的交换区
信息存储标签,并在判定成功后删除和所述交换区信息存储标签,然后
将交换区成员个数-1以及将缓冲区成员个数-1,判定操作结束;
若已经过期,且区位标识位中的标识值为G,则首先返回判定失败的
标识,然后在过期区所关联判定桶的插入位区中判定与相匹配的过期区
信息存储标签,并在判定成功后删除和所述过期区信息存储标签,然后
将过期区成员个数-1以及将缓冲区成员个数-1,判定操作结束;
若匹配,则停止判定并跳转至步骤202C,
若不匹配,则跳转至步骤202D;
若判定结束前缓冲区所关联判定桶中有缓冲区信息存储标签中的指纹对标位所填充
的指纹对标信息与相匹配,则将指纹验证信息与所述指纹对标信息匹配的缓冲区
信息存储标签中的指纹验证位所填充的指纹验证信息相匹配,如果匹配,则停止判定并跳
转至步骤202C,如果不匹配,则跳转至步骤202F;
若判定结束前缓冲区所关联判定桶中有缓冲区信息存储标签中的指纹对标位所填充
的指纹对标信息与相匹配,则将指纹验证信息与指纹对标信息匹配的缓冲区信息
存储标签中的指纹验证位所填充的指纹验证信息相匹配,如果匹配,则停止判定并跳转至
步骤202C,如果不匹配,则跳转至步骤202F;
若判定结束前主区所关联判定桶中有主区信息存储标签中的指纹对标位所填充的指
纹对标信息与相匹配,则将指纹验证信息与所述指纹对标信息匹配的主区信息存
储标签中的指纹验证位所填充的指纹验证信息相匹配,如果匹配,则停止判定并跳转至步
骤202I,如果不匹配,则跳转至步骤202J;
若已经进入过期过渡期但还未过期,则返回判定成功的标识,生成一
个新的过期区信息存储标签并将中对应的数据迁移
至中对应的填充位中,将插入过期区所关联哈希候
选桶的插入位区中,删除中的以将置
为NULL,将主区成员个数-1、将过期区成员个数+1以及将主区建议插入位置设置为,判定操作结束;
若判定结束前主区所关联判定桶中有主区信息存储标签中的指纹对标位所填充的指
纹对标信息与相匹配,则将指纹验证信息与指纹对标信息匹配的主区信息存储标
签中的指纹验证位所填充的指纹验证信息相比较:如果匹配,则停止判定并跳转至步骤
202I,如果不匹配,则跳转至步骤202J;
若判定结束前主区所关联判定桶中有主区信息存储标签的指纹对标位中的指纹对标
信息与相匹配,则将指纹验证信息与所述指纹对标信息匹配的主区信息存储标签
的指纹验证位中的指纹验证信息相匹配:如果匹配,则停止判定并跳转至步骤202I,如果不
匹配,则跳转至步骤202L;
若判定结束前主区所关联判定桶中有主区信息存储标签中的指纹对标位中所填充的
指纹对标信息与相匹配,则将指纹验证信息与所述指纹对标信息匹配的主区信息
存储标签的指纹验证位中的指纹验证信息相比较:如果匹配,则停止判定并跳转至步骤
202I,如果不匹配,则跳转至步骤202L;
若判定结束前交换区所关联判定桶中有交换区信息存储标签中的指纹对标位所填充
的指纹对标信息与相匹配,则将指纹验证信息与所述指纹对标信息匹配的交换区
信息存储标签中的指纹验证位所填充的指纹验证信息相匹配:如果匹配,则停止判定并跳
转至步骤202O,如果不匹配,则跳转至步骤202P;
若已经进入过期过渡期但还未过期,则首先返回判定成功的标识,然
后生成一个新的过期区信息存储标签并将中对应的
数据迁移至中对应的填充位中,然后将插入过期区
所关联判定桶的插入位区中,然后删除,最后将交换区成员个数-1以及
将过期区成员个数+1,判定操作结束;
如果判定结束前交换区所关联判定桶中有交换区信息存储标签中的指纹对标位所填
充的指纹对标信息与相匹配,则将指纹验证信息与指纹对标信息匹配的交换区信
息存储标签中的指纹验证位所填充的指纹验证信息相匹配:如果匹配,则跳转至步骤202O,
否则,跳转至步骤202P;
如果判定结束前交换区所关联判定桶中有交换区信息存储标签中的指纹对标位所填
充的指纹对标信息与相匹配,则将指纹验证信息与所述指纹对标信息匹配的交换
区信息存储标签中的指纹验证位所填充的指纹验证信息相匹配:如果匹配,则停止判定并
跳转至步骤202O,否则,跳转至步骤202R;
如果判定结束前交换区所关联判定桶中有交换区信息存储标签中的指纹对标位所填
充的指纹对标信息与相匹配,则将指纹验证信息与指纹对标信息匹配的交换区信
息存储标签中的指纹验证位所填充的指纹验证信息相比较:如果匹配,则停止判定并跳转
至步骤202O,否则,跳转至步骤202R;
如果判定结束前过期区所关联判定桶中有过期区信息存储标签中的指纹对标位所填
充的指纹对标信息与相匹配,则将指纹验证信息与所述指纹对标信息匹配的过期
区信息存储标签中的指纹验证位所填充的指纹验证信息相匹配:如果匹配,则停止判定并
跳转至步骤202U,否则,跳转至步骤202V;
如果判定结束前过期区所关联判定桶中有过期区信息存储标签中的指纹对标位所填
充的指纹对标信息与相匹配,则将指纹验证信息与指纹对标信息匹配的过期区信
息存储标签中的指纹验证位所填充的指纹验证信息相匹配:如果匹配,则跳转至步骤202U,
否则,跳转至步骤202V;
如果判定结束前过期区所关联判定桶中有过期区信息存储标签中的指纹对标位所填
充的指纹对标信息与相匹配,将指纹验证信息与所述指纹对标信息匹配的过期区
信息存储标签中的指纹验证位所填充的指纹验证信息相匹配:如果匹配,则停止判定并跳
转至步骤202U,否则,跳转至步骤202X;
步骤202X、继续在过期区所关联判定桶的插入位区中判定与指纹对标信息相匹配
的过期区信息存储标签;如果判定结束前过期区所关联判定桶的插入位区中没有过期区信
息存储标签中的指纹对标位所填充的指纹对标信息与相匹配,且过期区所关联哈希候
选桶已被判定,则返回判定失败的标识,然后判定操作结束;如果判定结束前过期区所关
联判定桶中没有过期区信息存储标签中的指纹对标位所填充的指纹对标信息与相匹
配,但过期区所关联哈希候选桶未被判定,则跳转至步骤202T;否则,将指纹验证信息与指纹对标信息匹配的过期区信息存储标签中的指纹验证位所填充的指纹验证信息相
匹配:如果匹配,则跳转至步骤202U,否则,跳转至步骤202X。
7.根据权利要求3所述的一种带时效的自适应动态数据集合成员插入方法,其特征在于,所述重定位操作包括:
步骤20REPA、按序扫描主区所关联判定桶的插入槽位情况,根据扫描结果判断主区所关联判定桶的插入位区内是否存在同时满足重定位计数等于1和缓冲区所关联判定桶中没有相匹配的缓冲区区信息存储标签这两个条件的主区信息存储标签:
如果存在,则跳转至步骤20REPB;
如果不存在,则根据扫描结果判断桶内是否存在同时满足重定位计数等于0和缓冲区所关联判定桶中没有相匹配的缓冲区区信息存储标签这两个条件的主区信息存储标签:
如果存在,则跳转至步骤2REPC;
如果不存在,则根据扫描结果判定桶内是否存在同时满足重定位标识位中的重定位计数等于1和缓冲区所关联判定桶中有相匹配的缓冲区信息存储标签这两个条件的主区信息存储标签:
如果存在,则跳转至步骤20REPG;
如果不存在,则跳转至步骤20REPH;
步骤20REPB、分别记同时满足重定位标识位中的重定位计数等于1和缓冲区所关联判
定桶中没有相匹配的缓冲区区信息存储标签这两个条件的主区信息存储标签和其所在插
入槽位的编号为和,然后分别生成一个新的主区信
息存储标签和交换区信息存储标签,并将变量temp中对应的数据迁移至所述新的主区信息
存储标签中,以及将中对应的数据迁移至所述新的交换区信息存储标
签对应的填充位中,然后将所述新的主区信息存储标签插入中以覆盖,以及将所述新的交换区信息存储标签插入交换区所关联判定桶的插
入位区中,最后根据扫描结果更新控制区所关联判定桶的交换区成员个数、主区建议插入
位置以及重定位率;
步骤20REPC、分别记同时满足重定位标识位中的重定位计数等于0和缓冲区所关联判
定桶中没有相匹配的缓冲区区信息存储标签这两个条件的主区信息存储标签和其所在插
入槽位的编号为和,然后生成一个新的主区信息存
储标签,并将变量temp中对应的数据迁移至所述新的主区信息存储标签中,然后将中对应的数据迁移至变量temp对应的填充位中,然后将所述新的主区
信息存储标签插入所述主区所关联判定桶的中,然后将变量temp中重定
位计数位的计数值+1,并根据扫描结果更新控制区所关联判定桶的重定位率以及主区建议
插入位置,其中,主区建议插入位置将按照扫描结果更新为扫描结果中最接近过期过渡期
的主区信息存储标签所在的插入槽位,如果存在多个同等的最接近过期过渡期的主区信息
存储标签则随机选择,最后计算变量temp的另一个哈希桶并作为判定桶,并跳转至步骤
20REPD;
步骤20REPD、读取控制区所关联所述判定桶的主区建议插入位置并判断:
如果所述主区建议插入位置所指的插入槽位未填充主区信息存储标签,则首先生成一个新的主区信息存储标签,然后将变量temp中对应的数据迁移至所述新的主区信息存储标签对应的填充位中,然后将所述新的主区信息存储标签插入主区所关联判定桶的所述主区建议插入位置所指的插入槽位中,然后将主区成员个数+1,跳转至步骤20REPE;
如果所述主区建议插入位置所指的插入槽位有填充主区信息存储标签,则跳转至步骤20REPF;
步骤20REPE、按序扫描主区所关联判定桶的插入槽位情况:
如果扫描结束前首先发现有主区信息存储标签已经进入过期过渡期,记已进入过期过
渡期的主区信息存储标签所在插入槽位为,则首先生成一个新的过期区信
息存储标签,然后将所述已经进入过期过渡期的主区信息存储标签中对
应的数据迁移至对应的填充位中,然后再将插入过期
区所关联判定桶的插入位区中,同时删除所述已经进入过期过渡期的主区信息存储标签以
将置为NULL,然后更新控制区所关联判定桶的主区成员个数、过期区成员
个数以及主区建议插入位置,最后判定缓冲区所关联判定桶的插入位区中是否存在与相匹配的缓冲区信息存储标签:
如果存在,则将所述相匹配的缓冲区信息存储标签的区位标识位中的区位标识由Z修改为G,然后插入操作结束;
如果不存在,则插入操作直接结束;
如果扫描结束前首先发现有主区信息存储标签已经过期,记已过期的主区信息存储标
签所在插入槽位为,则首先删除所述已过期的主区信息存储标签以将置为NULL,然后判定缓冲区所关联判定桶的插入位区中是否存在与已过期
的主区信息存储标签相匹配的缓冲区信息存储标签:
如果存在,则将所述相匹配的缓冲区信息存储标签删除,然后更新控制区所关联判定
桶的主区成员个数、缓冲区成员个数以及主区建议插入位置,即将主区成员个数-1、将缓冲
区成员个数-1以及将主区建议插入位置设置为,插入操作结束;
如果扫描结束前未发现有主区信息存储标签已经进入过期过渡期或者过期,则根据扫描结果更新控制区所关联判定桶的主区建议插入位置,插入操作结束;
步骤20REPF、判断所述主区建议插入位置所指插入槽位中的主区信息存储标签是否过期或者进入过期过渡期:
如果所述主区信息存储标签未过期且未进入过期过渡期,则跳转至步骤20REPA;
如果所述主区信息存储标签已过期,则首先生成一个新的主区信息存储标签,然后将变量temp中对应的数据迁移至所述新的主区信息存储标签对应的填充位中,最后将所述新的主区信息存储标签插入已过期主区信息存储标签所在的插入槽位中以覆盖所述已过期主区信息存储标签,并跳转至步骤20REPE;
如果所述主区信息存储标签未过期但已经进入了过期过渡期,则分别生成一个新的主区信息存储标签和过期区信息存储标签,将变量temp中对应的数据迁移至所述新的主区信息存储标签对应的填充位中,将已进入过期过渡期但还未过期的主区信息存储标签中对应的数据迁移至所述新的过期区信息存储标签对应的填充位中,然后所述新的主区信息存储标签插入所述已进入过期过渡期但还未过期的主区信息存储标签所在的插入槽位中以覆盖所述已进入过期过渡期但还未过期的主区信息存储标签,然后将所述新的过期区信息存储标签插入过期区所关联判定桶的插入位区中,最后更新控制所关联判定桶的过期区成员个数,并跳转至步骤20REPE;
步骤20REPG、分别记同时满足重定位标识位中的重定位计数等于1和缓冲区所关联判
定桶中有相匹配的缓冲区信息存储标签这两个条件的主区信息存储标签和其所在插入槽
位的编号为和,将控制区所关联判定桶中与相匹配的缓冲区信息存储标签中区位标识位的区位标识值由Z修改为
J,分别生成一个新的主区信息存储标签和交换区信息存储标签,并将变量temp中对应的数
据迁移至所述新的主区信息存储标签中,以及将中对应的数据迁移至
所述新的交换区信息存储标签对应的填充位中,将所述新的主区信息存储标签插入中以覆盖,以及将所述新的交换区信息存储标签插
入交换区所关联判定桶的插入位区中,根据扫描结果更新控制区所关联判定桶的交换区成
员个数、主区建议插入位置以及重定位率,返回插入成功的标识,插入操作结束;
步骤20REPH、分别记同时满足重定位标识位中的重定位计数等于0和缓冲区所关联判
定桶中有相匹配的缓冲区区信息存储标签这两个条件的主区信息存储标签和其所在插入
槽位的编号为和,以及记所关
联缓冲区信息存储标签为,然后生成一个新的主区信息存储标签,然
后将变量temp中对应的数据迁移至所述新的主区信息存储标签中,然后将中对应的数据迁移至变量temp对应的标识位中,然后将中对应的数据迁移至变量temph对应的填充位中,然后删除,然后将所述新的主区信息存储标签插入主区所关联判定桶的中以覆盖,然后更新控制区所关联判定桶的重定位
率以及缓冲区成员个数,跳转至步骤20REPI;
步骤20REPI、计算变量temp的另一个哈希桶并作为判定桶,然后将变量temp中重定位计数位的计数值+1,然后读取控制区所关联判定桶的主区建议插入位置并判断:
如果所述主区建议插入位置所指插入槽位中未填充主区信息存储标签,则首先分别生成一个主区信息存储标签和缓冲区信息存储标签,然后将变量temp中对应的数据迁移至新的主区信息存储标签对应的填充位中以及将变量temph中对应的数据迁移至所述新的缓冲区信息存储标签对应的填充位中,然后将所述新的主区信息存储标签插入主区所关联判定桶的所述控制区所关联判定桶的主区建议插入位置所指的插入槽位中以及将所述新的缓冲区信息存储标签插入缓冲区所关联判定桶的插入位区中,然后更新控制区所关联判定桶的主区成员个数以及缓冲区成员个数,跳转至步骤20REPE;
如果所述主区建议插入位置所指插入槽位中有填充主区信息存储标签,则生成一个新的缓冲区信息存储标签,然后将变量temph中对应的数据迁移至所述新的缓冲区信息存储标签对应的填充位中,然后将所述新的缓冲区信息存储标签插入缓冲区所关联判定桶的插入位区中,然后更新控制区所关联判定桶的缓冲区成员个数,跳转至步骤20REPF。
9.一种带时效的自适应动态数据集合成员删除方法,其特征在于,所述方法包括以下步骤:
步骤Ⅰ、预先建立用于存储集合成员指纹信息的布谷鸟过滤器以及3个邻接表,并将布谷鸟过滤器命名为主区,3个邻接表分别命名为交换区、过期区以及缓冲区,其中,主区用于存储暂未进入过期过渡期的集合成员,交换区用于存储发生了两次重定位操作且暂未进入过期过渡期的集合成员,过期区用于存储已经进入过期过渡期但还未过期的集合成员,缓冲区用于存储被访问命中次数达到预设访问次数阈值且未过期的集合成员;
分别为主区、交换区、过期区以及缓冲区中的每一个哈希桶维护一个控制区,其中,所述控制区的参数项包括重定位率、主区成员个数、交换区成员个数、过期区成员个数、缓冲区成员个数以及主区建议插入位置;
针对主区中每一个哈希桶,其插入位区的每个插入槽位的存储单位为一个由指纹对标位、指纹验证位、重定位计数位、有效期标识位以及命中次数计数位所构成的主区信息存储标签;
针对交换区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位、命中次数计数位以及指针位所构成的交换区信息存储标签;
针对过期区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位以及指针位所构成的过期区信息存储标签;
针对缓冲区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位、区位标识位以及指针位所构成的缓冲区信息存储标签;
所述主区信息存储标签、交换区信息存储标签和过期区信息存储标签为主信息存储标签,所述缓冲区信息存储标签为副信息存储标签,未过期的集合成员对应有且只有一个主信息存储标签和一个副信息存储标签;
步骤Ⅱ、删除时,判定待删除集合成员是否存在于主区、缓冲区、过期区以及交换区的插入位区中:
若不存在,则返回删除失败的标识,删除操作结束;
若存在,则根据待删除成员所在位区的情况进行删除操作:
如果待删除集合成员所在插入位区分别为缓冲区和主区,则首先删除位于缓冲区的插入位区中关联所述待删除集合成员的缓冲区信息存储标签,然后删除位于主区的插入位区中关联所述待删除集合成员的主区信息存储标签,并将所述主区信息存储标签所在插入槽位置为NULL,最后更新控制区中相应项目的数据,返回删除失败的标识,删除操作结束;
如果待删除集合成员所在插入位区分别为缓冲区和交换区,则首先删除位于缓冲区的插入位区中关联所述待删除集合成员的缓冲区信息存储标签,然后删除位于交换区的插入位区中关联所述待删除集合成员的交换区信息存储标签,最后更新控制区中相应项目的数据,返回删除失败的标识,删除操作结束;
如果待删除集合成员所在插入位区分别为缓冲区和过期区,则首先删除位于缓冲区的插入位区中关联所述待删除集合成员的缓冲区信息存储标签,然后删除位于过期区的插入位区中关联所述待删除集合成员的过期区信息存储标签,最后更新控制区中相应项目的数据,返回删除失败的标识,删除操作结束;
如果待删除集合成员所在插入位区只位于主区,则删除主区的插入位区中关联所述待删除集合成员的主区信息存储标签,并将所述主区信息存储标签所在插入槽位置为NULL,更新控制区中相应项目的数据,返回删除失败的标识,删除操作结束;
如果待删除集合成员所在插入位区只位于交换区,则删除交换区的插入位区中关联待删除集合成员的交换区信息存储标签,并更新控制区中相应项目的数据,返回删除失败的标识,删除操作结束;
如果待删除集合成员所在插入位区只位于过期区,则删除过期区的插入位区中关联所述待删除集合成员的过期区信息存储标签,并更新控制区中相应项目的数据,返回删除失败的标识,删除操作结束。
10.一种带时效的自适应动态数据集合成员检索方法,其特征在于,所述方法包括以下步骤:
步骤A、预先建立用于存储集合成员指纹信息的布谷鸟过滤器以及3个邻接表,并将布谷鸟过滤器命名为主区,3个邻接表分别命名为交换区、过期区以及缓冲区,其中,主区用于存储暂未进入过期过渡期的集合成员,交换区用于存储发生了两次重定位操作且暂未进入过期过渡期的集合成员,过期区用于存储已经进入过期过渡期但还未过期的集合成员,缓冲区用于存储被访问命中次数达到预设访问次数阈值且未过期的集合成员;
分别为主区、交换区、过期区以及缓冲区中的每一个哈希桶维护一个控制区,其中,所述控制区的参数项包括重定位率、主区成员个数、交换区成员个数、过期区成员个数、缓冲区成员个数以及主区建议插入位置;
针对主区中每一个哈希桶,其插入位区的每个插入槽位的存储单位为一个由指纹对标位、指纹验证位、重定位计数位、有效期标识位以及命中次数计数位所构成的主区信息存储标签;
针对交换区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位、命中次数计数位以及指针位所构成的交换区信息存储标签;
针对过期区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位以及指针位所构成的过期区信息存储标签;针对缓冲区,其插入位区的存储单位为一个由指纹对标位、指纹验证位、有效期标识位、区位标识位以及指针位所构成的缓冲区信息存储标签;
所述主区信息存储标签、交换区信息存储标签和过期区信息存储标签为主信息存储标签,所述缓冲区信息存储标签为副信息存储标签,未过期的集合成员对应有且只有一个主信息存储标签和一个副信息存储标签;
步骤B、检索时,按缓冲区、主区、交换区以及过期区的顺序在所述布谷鸟过滤器以及3个邻接表中检索待检索集合成员:
如果命中待检索集合成员的信息存储标签且所述信息存储标签未过期,则返回检索成功的标识;
如果在缓冲区、主区、交换区以及过期区的插入位区中未命中待检索集合成员的信息存储标签,则返回检索失败的标识;
如果命中待检索集合成员的信息存储标签但该信息存储标签已过期,则将缓冲区、主区、交换区以及过期区的插入位区中所有与待检索集合成员相关联的信息存储标签删除,同时更新控制区所关联待检索集合成员现所在哈希桶的相关数据并返回检索失败的标识;
如果命中待检索集合成员的信息存储标签但所述信息存储标签已进入过期过渡期,且所述信息存储标签的类型只为主区信息存储标签和交换区信息存储标签中的一种,则首先返回检索成功的标识,然后将待检索集合成员的信息存储标签从主区或者交换区的插入位区中删除,然后将待检索集合成员的信息存储标签的类型更变为过期区信息存储标签并插入过期区的插入位区中,最后更新控制区的相关数据;
如果首次命中的待检索成员的信息存储标签非缓冲区信息存储标签,且所述信息存储标签未进入过期过渡期以及标签中的命中次数计数位所填充的计数值等于或者超过高访问次数阈值时,则为所述待检索集合成员生成一个新的缓冲区信息存储标签并将其插入缓冲区的插入位区中,并更新控制区的相关项目的数据。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116383795A (zh) * | 2023-06-01 | 2023-07-04 | 杭州海康威视数字技术股份有限公司 | 生物特征识别方法、装置及电子设备 |
Citations (7)
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 | 成都信息工程大学 | 基于先进先出及最小活跃数策略的集合成员管理方法 |
-
2022
- 2022-08-16 CN CN202210978406.1A patent/CN115048402B/zh active Active
Patent Citations (7)
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)
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)
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 |