为数据集合构建索引的方法、数据查询方法及计算设备技术

技术编号:23604849 阅读:35 留言:0更新日期:2020-03-28 05:54
本发明专利技术公开了一种为数据集合构建索引的方法、数据查询方法及计算设备,数据集合以有序单链表的形式存储在计算设备中,数据集合的各元素分别对应单链表的不同数据节点,为数据集合构建索引的方法包括:在单链表中插入多个虚节点、以将单链表划分为多个子链表,其中虚节点为子链表的起始节点;为多个虚节点建立数组索引、以便根据数组索引定位到子链表,其中数组索引的键为虚节点的节点值,值为虚节点的地址;为数据节点建立哈希索引、以便根据哈希索引定位到数据节点,其中哈希索引的键为数据节点的节点值,值为数据节点的地址。

The method of building index for data set, data query method and computing equipment

【技术实现步骤摘要】
为数据集合构建索引的方法、数据查询方法及计算设备
本专利技术涉及数据库领域,特别涉及一种为数据集合构建索引的方法、数据查询方法及计算设备。
技术介绍
随着互联网的迅速发展,数据量的急剧增长,所包含的信息日益丰富,对数据的应用已经深入到生活和工作的方方面面,与此同时,对数据进行检索,得到期望的结果成为应用数据的一个重要方面。目前,针对数据进行检索的主要方式是基于存储有序数据集合的单链表,通过多个逐层稀疏的单链表实现对有序数据集合的索引。一方面,由于在进行单点查询时,需要从顶层单链表开始索引到底层存储链表,导致索引平均时间较长,索引效率较低。另一方面,由于每一层索引链表中的结点及个数决定了索引的效率,为每一层链表增加结点并建立层之间的关联比较复杂,限制了索引效率的提升。如何使服务端尽快的查到符合条件的数据,往往是技术人员提升程序效率、服务方提高用户体验的关键。为此,需要一种新的为数据集合构建索引的方法。
技术实现思路
为此,本专利技术提供一种为数据集合构建索引的方法,以力图解决或者至少缓解上面存在的问题。本文档来自技高网...

【技术保护点】
1.一种为数据集合构建索引的方法,在计算设备中执行,所述数据集合以有序单链表的形式存储在所述计算设备中,所述数据集合的各元素分别对应所述单链表的不同数据节点,所述方法包括:/n在所述单链表中插入多个虚节点,以将所述单链表划分为多个子链表,其中所述虚节点为子链表的起始节点;/n为所述多个虚节点建立数组索引,以便根据所述数组索引定位到子链表,其中所述数组索引的键为虚节点的节点值、值为虚节点的地址;/n为所述数据节点建立哈希索引,以便根据所述哈希索引定位到数据节点,其中所述哈希索引的键为数据节点的节点值、值为数据节点的地址。/n

【技术特征摘要】
1.一种为数据集合构建索引的方法,在计算设备中执行,所述数据集合以有序单链表的形式存储在所述计算设备中,所述数据集合的各元素分别对应所述单链表的不同数据节点,所述方法包括:
在所述单链表中插入多个虚节点,以将所述单链表划分为多个子链表,其中所述虚节点为子链表的起始节点;
为所述多个虚节点建立数组索引,以便根据所述数组索引定位到子链表,其中所述数组索引的键为虚节点的节点值、值为虚节点的地址;
为所述数据节点建立哈希索引,以便根据所述哈希索引定位到数据节点,其中所述哈希索引的键为数据节点的节点值、值为数据节点的地址。


2.如权利要求1所述的方法,其中,所述在所述单链表中插入多个虚节点,以将所述单链表划分为多个子链表,包括:
获取所述数据集合中数据的取值区间;
将所述取值区间划分为多个等长度的子区间;
分别将各子区间的起始值作为虚节点的节点值,插入到所述单链表中。


3.如权利要求2所述的方法,其中,若所述子区间的起始值为所述单链表中数据节点的节点值,则将该数据节点作为虚节点,并且将该虚节点的状态标记为有效。


4.如权利要求1至3中任一项所述的方法,还包括:
在预定的子链表中插入多个虚节点,以将该子链表划分为多个下级子链表;
为该预定的子链表中的多个虚节点建立下级数组索引;
将所述数组索引中该子链表对应的地址,更新为下级数组索引的地址。


5.一种数据查询方法,在计算设备中执行,所述计算设备中以有序单链表的形式存储有数据集合,所述数据集合的各元素分别对应所述单链表的不同数据节点,所述数据集合按照如权利要求1-4中任一项所述的方法建立有数组索引和哈希索引,所述数据查询方法包括:
获取待查询的目标数据;
通过所述哈希索引确定所述目标数据是否在所...

【专利技术属性】
技术研发人员:杨明哲
申请(专利权)人:车智互联北京科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1