[发明专利]分布式顺序表片内二级索引方法及系统在审
申请号: | 201410345063.0 | 申请日: | 2014-07-18 |
公开(公告)号: | CN104133867A | 公开(公告)日: | 2014-11-05 |
发明(设计)人: | 查礼;万浩;程学旗 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 祁建国;梁挥 |
地址: | 100190 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 顺序 表片内 二级 索引 方法 系统 | ||
1.一种分布式顺序表片内二级索引方法,其特征在于,包括如下步骤:
S1索引布局管理步骤,为分布式顺序表的每个数据分片中的每个数据存储文件创建对应的索引存储文件,该索引存储文件存储列名、列值、主键;
S2一致性更新步骤,向该分布式顺序表写入数据时,先将该数据写入预写日志中,再写入内存存储中,若该内存存储中该数据部分丢失,将该预写入日志中未成功写入磁盘上的该数据重新写入该内存存储中;
S3内存存储刷写步骤,若该内存存储存量达到某阈值,先生成该内存存储中类型不为“删除”的数据记录对应的索引记录,并刷写该索引记录到该磁盘上生成该索引存储文件,再刷写该数据记录到磁盘上生成该数据存储文件;
S4合并和分裂步骤,在数据分片合并时,先将多个索引存储文件合并成一个新的索引存储文件,再将对应的多个数据存储文件合并成一个新的数据存储文件;以及
在该数据片按照某主键分裂成两个新数据分片时,首先将该数据分片内的每个索引存储文件按照该主键分裂成两个新索引存储文件后分别加入到所述两个新数据分片中,然后再把该数据分片内的每个数据存储文件按照该主键分裂成两个新数据存储文件后分别加入到所述的两个新的数据分片中;
S5多维区间查询步骤,对该分布式顺序表进行多维区间查询时,按照查询条件对每个数据分片单独查询,查询时对该查询条件进行预处理得到索引查询条件,再依次单独查询每列索引、合并多列索引查询结果、读取满足该索引查询条件的该些数据作为最终查询结果。
2.如权利要求1所述分布式顺序表片内二级索引方法,其特征在于,该索引存储文件结构包括:多个记录块,记录块索引,文件信息和结尾,每个记录块存储多条索引记录,保存每个记录块中第一条索引记录作为记录块索引。
3.如权利要求1所述分布式顺序表片内二级索引方法,其特征在于,该索引记录结构使用键值对结构存储,键主要包括列值和列名,值主要包括主键,键长度、值长度和列名长度都是用于快速读取索引记录的某部分。
4.如权利要求1所述一种分布式顺序表片内二级索引方法,其特征在于,该多维区间查询步骤S5还包括:
查询每个索引存储文件时,直接二分查找该块索引,快速查找开始、结束记录块的偏移位置,然后直接读取中间所有的记录块以获取满足该索引查询条件的主键集合。
5.如权利要求1所述分布式顺序表片内二级索引方法,其特征在于,该多维区间查询步骤S5还包括:
S51,用户对该分布式顺序表进行多维区间查询时,将查询条件发送到每个数据分片后预处理该查询条件,获得索引查询条件;
S52,分别从该索引存储文件和该内存存储中查找满足该索引查询条件的索引记录和数据记录,并分别读取该索引记录和该数据记录的主键,得到主键集合;
S53,按照该索引查询条件间关系和该查询规模大小次序合并该主键集合,按主键排序后得到最终主键集合;
S54,依据最终主键集合查询该数据分片中数据,并把满足该索引查询条件的数据放入结果集中;
S55,合并每个数据分片的结果集得到最终的查询结果集,并把该最终的查询结果集返回给该用户。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410345063.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:用户标签的生成方法和装置
- 下一篇:搜索页面评论方法及装置