[发明专利]一种数据查询方法、终端设备及计算机可读存储介质有效
申请号: | 201910749968.7 | 申请日: | 2019-08-14 |
公开(公告)号: | CN110597855B | 公开(公告)日: | 2022-03-29 |
发明(设计)人: | 彭炯瑜;解静仪;农革 | 申请(专利权)人: | 中山大学 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/2457 |
代理公司: | 深圳中一联合知识产权代理有限公司 44414 | 代理人: | 曾文洪 |
地址: | 510275 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 查询 方法 终端设备 计算机 可读 存储 介质 | ||
1.一种数据查询方法,其特征在于,包括:
获取搜索关键词,从缓存中查找与所述搜索关键词的首字符对应的目标链表;所述目标链表用于存储以所述搜索关键词的首字符为首字符的后缀字符串对应的索引的信息;
检测所述目标链表中是否存在与所述搜索关键词相匹配的目标索引;
若所述目标链表中不存在与所述搜索关键词相匹配的目标索引,则从磁盘中查找并获取与所述搜索关键词相匹配的目标索引;
将所述目标索引添加至所述缓存中的所述目标链表中,并输出所述目标索引对应的后缀字符串;
若所述目标链表中存在与所述搜索关键词相匹配的目标索引,则获取并输出所述目标索引对应的后缀字符串。
2.根据权利要求1所述的数据查询方法,其特征在于,所述索引的信息包括最长公共前缀长度、源位置标识、非公共字符串、被检索次数及后继索引的地址;所述最长公共前缀长度用于描述所述索引对应的后缀字符串与其前继后缀字符串的最长公共前缀的长度,所述源位置标识用于描述所述索引对应的后缀字符串在源文件中的位置,所述非公共字符串用于描述所述索引对应的后缀字符串与其前继后缀字符串的预设长度的非公共字符串,所述被检索次数用于描述所述索引被检索到的次数,所述后继索引的地址用于描述所述索引的后继索引在所述目标链表中的地址;
所述检测所述目标链表中是否存在与所述搜索关键词相匹配的目标索引,包括:
检测所述目标链表中的第一个索引是否为空;
若所述目标链表中的第一个索引不为空,则获取所述第一个索引的非公共字符串,将预先定义的初始长度为0的字符串变量与所述第一个索引的非公共字符串进行组合得到所述第一个索引对应的后缀字符串,将所述第一个索引对应的后缀字符串与所述搜索关键词进行对比;
若所述第一个索引对应的后缀字符串与所述搜索关键词相等,则将所述第一个索引确定为与所述搜索关键词相匹配的目标索引;
获取所述第一个索引的各个后续索引的最长公共前缀长度;
若所述第一个索引的后续索引的最长公共前缀长度大于或等于所述搜索关键词的长度,则将所述第一个索引的后续索引确定为与所述搜索关键词相匹配的目标索引。
3.根据权利要求2所述的数据查询方法,其特征在于,所述将所述第一个索引对应的后缀字符串与所述搜索关键词进行对比之后,还包括:
若所述第一个索引对应的后缀字符串小于所述搜索关键词,则获取所述第一个索引的各个后续索引的最长公共前缀长度及非公共字符串,从各个所述后续索引的前继索引对应的后缀字符串中提取前n个字符,得到各个所述后续索引的待组合字符,将每一所述后续索引的所述待组合字符与该后续索引的非公共字符串进行组合,得到每一所述后继索引对应的后缀字符串;其中,n为所述后继索引的最长公共前缀长度;
依次将所述第一个索引的各个所述后继索引对应的后缀字符串与所述搜索关键词进行大小对比,基于对比结果确定所述第一个索引的后继索引是否为与所述搜索关键词相匹配的目标索引。
4.根据权利要求1所述的数据查询方法,其特征在于,所述若所述目标链表中不存在与所述搜索关键词相匹配的目标索引,则从磁盘中查找与所述搜索关键词相匹配的目标索引,包括:
若所述目标链表中不存在与所述搜索关键词相匹配的目标索引,则基于二分法从磁盘中存储的索引文件中确定待查找的索引,并获取所述待查找的索引的源位置标识;
基于所述待查找的索引的源位置标识,从所述磁盘中存储的源文件中获取所述待查找的索引对应的后缀字符串;
若所述待查找的索引对应的后缀字符串中包含所述搜索关键词,则将所述待查找的索引确定为与所述搜索关键词相匹配的目标索引。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910749968.7/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置