【技术实现步骤摘要】
【国外来华专利技术】快速跳跃列表清除
技术介绍
[0001]公开文本总体上涉及数据存储,并且更具体地,涉及操纵跳跃列表数据结构。
[0002]相关技术描述
[0003]在计算机科学领域,已经开发了各种复杂的数据结构来促进信息的存储。这些数据结构通常使用多个指针将记录集合连接在一起。在设计复杂结构时,开发人员通常会权衡与插入和检索信息的复杂度以及整体数据结构大小相关的问题。跳跃列表是更复杂的数据结构的一个例子,它可能很受欢迎,因为它可以保持大型数据集,同时仍然提供O(log n)插入复杂度和O(log n)搜索复杂度。在这种类型的数据结构中,根据键烦人顺序对记录进行排序,并使用数据记录序列的链接层次结构进行关联,每个连续序列跳过的元素比前一个序列少。使用变化高度的指针塔来实施这种链接的层次结构,使得在给定的塔内,可以基于跳过的记录的数量来排列指针。这种在遍历跳跃列表时跳过记录的能力可以允许比顺序扫描记录更快地定位给定的记录。
附图说明
[0004]图1是示出使用缓冲数据结构内的跳跃列表来处理并发数据库事务的数据库系统的一个实施方案的框图。
[0005]图2是示出缓冲数据结构内的记录链的一个实施方案的框图。
[0006]图3是示出缓冲数据结构内的跳跃列表的一个实施方案的框图。
[0007]图4是示出用于从跳跃列表清除记录的慢速清除过程的一个实施方案的框图。
[0008]图5A
‑
图5D是示出用于从跳跃列表清除记录的快速清除过程的实施方案的图。
[0009]图6是示出执行 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种非暂时性计算机可读介质,其上存储有程序指令,所述程序指令能够使计算系统实施包括如下的操作:存储包括多个键
‑
值记录的跳跃列表,所述键
‑
值记录包括指向所述多个键
‑
值记录中的其他键
‑
值记录的一个或多个指针;以键顺序扫描所述多个键
‑
值记录,以识别要从所述跳跃列表清除的键
‑
值记录,其中所述扫描包括:保持包括指向尚未通过所述扫描被扫描到的键
‑
值记录的指针的键
‑
值记录的列表;和响应于识别出进行清除的键
‑
值记录,通过以包括在正在被清除的所述键
‑
值记录中的指针替换包括在所述列表的键
‑
值记录中的指针而清除所述键
‑
值记录。2.根据权利要求1所述的计算机可读介质,其中所述操作还包括:响应于执行与所述键
‑
值记录相关联的数据库事务的请求,将所述键
‑
值记录插入所述跳跃列表;和响应于提交所述数据库事务和将所述键
‑
值记录存储在数据库的永久存储器中,在所述键
‑
值记录中设置标志以指示授权清除所述键
‑
值记录;并且其中所述扫描包括基于设置的标志而识别进行清除的所述键
‑
值记录。3.根据权利要求1所述的计算机可读介质,其中所述扫描包括:确定包括在所述列表中的第一键
‑
值记录的指针指向当前已经被扫描过的第二键
‑
值记录;响应于所述确定:以所述第二键
‑
值记录替换所述列表中的所述第一键
‑
值记录;和在所述列表中包括所述第二键
‑
值的同时,防止所述第二键
‑
值记录在存储器内重新定位。4.根据权利要求1所述的计算机可读介质,其中所述操作还包括:在执行所述扫描的同时,将一个或多个键
‑
值记录插入所述跳跃列表。5.根据权利要求4所述的计算机可读介质,其中所述操作还包括:响应于识别出进行清除的所述键
‑
值记录,执行键
‑
值记录的所述列表的验证,其中所述验证包括:确定包括在所述列表的所述键
‑
值记录中的指针是否指向进行清除的所述键
‑
值记录。6.根据权利要求5所述的计算机可读介质,其中所述操作还包括:响应于确定所述插入已经导致包括在所述列表的所述键
‑
值记录中的一个或多个指针不指向进行清除的所述键
‑
值记录,延迟所述键
‑
值记录的所述清除直到执行后续扫描。7.根据权利要求5所述的计算机可读介质,其中所述验证包括:获取锁存器,以防止通过除了执行所述扫描的过程之外的过程修改所述键
‑
值记录;和保持所述锁存器的获取,直到以包括在正在被清除的所述键
‑
值记录中的指针替换包括在所述列表的所述键
‑
值记录中的所述指针之后。8.根据权利要求1所述的计算机可读介质,其中所述操作还包括:在以键顺序扫描所述多个键
‑
值记录之前:向下遍历所述跳跃列表,以识别所述多个键
‑
值记录的子集;基于识别的子集中的所述键
‑
值记录,将所述跳跃列表划分为多部分;和
将所述部分分配给能够执行以并行扫描所述部分的多个线程。9.根据权利要求8所述的计算机可读介质,其中所述操作还包括:由所述多个线程中的一个接收分配的进行扫描的部分;由所述线程扫描分配的部分,其中扫描所述分配的部分包括针对所述分配的部分保持具有未解析指针的键
‑
值记录的列表;和响应于识别出所述分配的部分中进行清除的键
‑
值记录,所述线程使用用于所述分配的部分的所述键
‑
值记录的列表以清除所述分配的部分中的所述键
‑
值记录。10.根据权利要求1所述的计算机可读介质,其中所述跳跃列表中的所述多个键
‑
值记录中的第一个通过包括指向哈希表中的桶的第一指针而指向所述跳跃列表中的所述多个键...
【专利技术属性】
技术研发人员:P,
申请(专利权)人:易享信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。