[发明专利]索引查找方法、系统、电子设备及可读存储介质在审
| 申请号: | 202310264179.0 | 申请日: | 2023-03-10 |
| 公开(公告)号: | CN116401412A | 公开(公告)日: | 2023-07-07 |
| 发明(设计)人: | 赵树起 | 申请(专利权)人: | 阿里巴巴(中国)有限公司 |
| 主分类号: | G06F16/901 | 分类号: | G06F16/901;G06F16/903 |
| 代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 李威 |
| 地址: | 311121 浙江省杭州市余杭*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 索引 查找 方法 系统 电子设备 可读 存储 介质 | ||
1.一种索引查找方法,所述方法包括:
获取包含待查找索引的目标索引序列;所述目标索引序列中的至少部分索引为字符串类型的索引;
将所述待查找索引编码为与所述目标索引序列对应的二叉查找树上的节点存储的索引的数据结构,并确定编码后的所述数据结构对应的第一取值;其中,所述目标索引序列对应的二叉查找树上的节点,分别用于存储所述目标索引序列中包含的各个索引;所述二叉查找树上的节点存储的索引的数据结构,包括用于填充与该节点存储的索引的至少部分索引内容的若干bit位,以及用于填充该节点存储的索引相对于该节点对应的父节点存储的索引的公共字符前缀的长度的若干bit位;
采用二分查找的方式,将所述第一取值和所述二叉查找树上的节点的数据结构对应的第二取值进行匹配,以在所述二叉查找树上查找所述待查找索引。
2.根据权利要求1所述的方法,数据库维护了用于存储数据的索引树;
所述获取包含待查找索引的目标索引序列,包括:
从数据库维护的用于存储数据的所述索引树上,采用二分查找的方式查找包含所述待查找索引的目标索引序列。
3.根据权利要求1所述的方法,所述将所述待查找索引编码为与所述目标索引序列对应的二叉查找树上的节点存储的索引的数据结构之前,还包括:
实时构建与获取到的所述目标索引序列对应的二叉查找树;
计算所述二叉查找树上的节点存储的索引,相对于该节点对应的父节点存储的索引的公共字符前缀的长度;
基于计算出的所述公共字符前缀的长度,以及所述二叉查找树上的节点存储的索引,相对于该节点对应的父节点存储的索引的公共字符前缀之后部分对应的索引内容,将所述二叉查找树上的节点存储的索引分别编码为所述数据结构。
4.根据权利要求3所述的方法,所述数据结构中的至少一位bit位为预设的第一标志位;所述第一标志位用于标志所述数据结构中用于填充所述公共字符前缀的长度的bit位;
基于计算出的所述公共字符前缀的长度,以及所述二叉查找树上的节点存储的索引,相对于该节点对应的父节点存储的索引的公共前缀之后部分对应的部分索引内容,将所述二叉查找树上的节点存储的索引分别编码为所述数据结构,包括:
基于所述第一标志位确定所述数据结构中填充所述公共字符前缀的长度的bit位,并将计算出的所述公共字符前缀的长度填充至确定出的bit位;以及,将所述二叉查找树上的节点存储的索引,相对于该节点对应的父节点存储的索引的公共字符前缀之后的部分对应的索引内容,存储至确定出的bit位以外的剩余bit位。
5.根据权利要求4所述的方法,所述第一标志位对应的取值包括第一取值和第二取值;其中,如果所述公共字符前缀的长度不超过预设阈值,则所述第一标志位的取值为第一取值,表示所述数据结构中用于填充所述公共字符前缀的长度的bit位的数量为N以及所述N个bit位在所述数据结构中的位置;如果所述公共字符前缀的长度超过预设阈值,所述第一标志位的取值为第二取值,表示所述数据结构中用于填充所述公共字符前缀的长度的bit位的数量为M以及所述M个bit位在所述数据结构中的位置;所述M的取值大于所述N的取值。
6.根据权利要求3所述的方法,所述目标索引序列中的索引包括复合索引;所述复合索引为由包含所述字符串类型的索引在内的至少两个索引组合而成的索引。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴(中国)有限公司,未经阿里巴巴(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310264179.0/1.html,转载请声明来源钻瓜专利网。





