[发明专利]一种基于字符串后缀的数据索引方法有效
申请号: | 201710432310.4 | 申请日: | 2017-06-09 |
公开(公告)号: | CN107291858B | 公开(公告)日: | 2021-06-08 |
发明(设计)人: | 吴春中;张浩阳 | 申请(专利权)人: | 成都索贝数码科技股份有限公司 |
主分类号: | G06F16/31 | 分类号: | G06F16/31;G06F16/33 |
代理公司: | 成都金英专利代理事务所(普通合伙) 51218 | 代理人: | 袁英 |
地址: | 610041 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 字符串 后缀 数据 索引 方法 | ||
1.一种基于字符串后缀的数据索引方法,包括创建索引步骤和数据索引步骤,其特征在于:所述创建索引步骤包括以下子步骤:
S1:写入数据,并提取元数据、行ID、 添加字符串后缀;
所述的步骤S1写入数据包括以下子步骤:
S11:修改或插入新数据形成新表,开启事务锁,锁定新表,避免脏数据;
S12:将新表数据同步到旧表,新表和旧表之间通过时间戳保证数据一致性;
S13:将更新的数据拷贝到索引缓存区,并提取元数据、行ID、添加字符串后缀;
所述的索引缓存区的数据结构如下:
索引缓存区的每一条数据都由元数据、行ID和数据内容构成;
元数据:包括时间戳、索引+长度;时间戳用于判断索引缓存区的数据与原始数据是否相同,若不相同则同步数据;索引+长度可以确定索引的词组;
行ID:记录该条数据的行ID,相同的词组可能出现在不同的数据中,行ID作为数据条目的区分;
数据内容:包括数据内容及字符串后缀,以字符为单位加5个字符或6个字符的字符串后缀,字符串后缀用于排列组合进行分词建立索引;
S2:建立索引,基于字符串后缀对所有字符进行排列组合分词并对分词进行排序,利用B+树算法构建索引;
所述的步骤S2建立索引包括以下子步骤:
S21:基于字符串后缀采用后缀排序算法对这条数据的所有字符进行排列组合分词;
S22:按拼音+编码的方式计算分词的数值并进行排序;
S23:将排好的序列利用B+树算法构建索引,其中B+树的分支节点保存下级节点范围数组,B+树的叶子节点保存索引缓存区指针列表数组;
S3:事务判断,对写入数据事务进行判定,若写入成功则解开事务锁;若写入失败,则进逻辑删除并回收数据;
所述数据索引步骤包括以下子步骤:
S01:索引匹配,计算索引对应的编码数值并将该编码数值在B+树中匹配;其中,所述的步骤S01索引匹配具体包括根据索引和长度计算该索引对应的编码数值,将计算出的编码数值在B+树中匹配;
S02:获取索引指针列表,在B+树中快速定位到索引的编码数值,该数值的叶子节点即为包含该索引关键字的索引指针列表;
S03:读取数据,根据索引指针数组找到索引结果,对索引结果进行判断,若索引缓存区的时间戳与原始数据的时间戳一致,则直接返回结果;若不一致,则读取原始数据的值,并将原始数据同步给索引缓存区,更新索引;
其中,所述的步骤S03读取数据包括:根据索引指针数组指向的行ID,到索引缓存区的索引结果;对索引缓存区的索引结果进行判断,若索引缓存区的时间戳与原始数据的时间戳一致,则直接返回结果;若不一致,则读取原始数据的值,并将原始数据同步给索引缓存区,更新索引。
2.根据权利要求1所述的一种基于字符串后缀的数据索引方法,其特征在于:所述的步骤S02获取索引指针列表具体包括,B+树的分支节点表示其下级节点的编码数值范围,依次对范围进行判定,快速定位到索引的编码数值,该数值的叶子节点即为包含该索引关键字的索引指针列表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都索贝数码科技股份有限公司,未经成都索贝数码科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710432310.4/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置