[发明专利]一种面向云存储的分层索引方法与检索方法在审
| 申请号: | 201610975816.5 | 申请日: | 2016-11-07 |
| 公开(公告)号: | CN106599040A | 公开(公告)日: | 2017-04-26 |
| 发明(设计)人: | 郭皓明;王之欣;魏闫艳;庞廓;田霂;焉丽 | 申请(专利权)人: | 中国科学院软件研究所 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 北京君尚知识产权代理事务所(普通合伙)11200 | 代理人: | 邱晓锋 |
| 地址: | 100190 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 面向 存储 分层 索引 方法 检索 | ||
1.一种面向云存储的分层索引方法,其步骤包括:
第一步:在master节点建立全局索引,在worker节点建立局部分页索引;在全局索引中记录各数据存储分页与数据属性取值之间的映射关系;在数据分页索引中记录数据存储分页中IO指针与数据属性取值之间的映射关系;
第二步:数据记录D在写入过程中,根据两层索引之间的组织关系进行索引内容的维护与更新:首先根据分发策略以及数据记录D中主键的取值选择对应的worker节点,worker节点完成本地数据记录写入后,维护本地分页索引信息并将其返回给master节点;master节点根据数据在worker节点中分页存储的信息维护全局索引中的内容。
2.如权利要求1所述的方法,其特征在于,所述全局索引由属性散列-属性取值散列-节点映射表三个层次构成;所述局部分页索引由属性散列-属性取值散列-倒排位图索引三个层次构成。
3.如权利要求1所述的方法,其特征在于,通过全局索引与局部分页索引两个层次的索引来存储属性取值与存储位置的映射关系信息;在全局索引与局部索引中根据属性取值的范围建立区间,将数据记录的属性取值对应在某一个特定的区间,该区间包含该取值;同时,将取值区间与存储映射信息建立散列对关系。
4.如权利要求1所述的方法,其特征在于,所述全局索引将属性取值区间与存储分页建立散列对关系,一个特定属性取值区间与一个节点映射表对应;节点映射表由一组节点和对应的分页计数队列构成;通过全局索引,快速定位到数据的存储worker节点和分页位置。
5.如权利要求1所述的方法,其特征在于,所述局部分页索引将属性取值区间与数据记录在分页存储中的行号rowId建立对应关系;同时属性取值区间中将rowId转化为以位图的方式记录,以提高检索效率;该位图为一个二进制字节流,其中第i个位为1时,表示在当前存储分页中rowId为i行的数据记录的属性取值命中当前取值区间。
6.如权利要求1所述的方法,其特征在于,数据记录D的写入过程包括以下步骤:
第一步:在数据记录D写入过程中,master节点接收到请求,首先提取数据记录D主键对应的属性取值,根据分发策略为当前数据记录D选择一个对应的worker节点,并将写入请求发送给该worker节点;
第二步:worker节点接收到该写入请求后,在本地存储分页中写入该数据记录并获得其行号rowId,而后打开局部分页索引;局部分页索引提取D中的属性,将其取值与对应的取值区间range对比,选择命中的取值区间;然后打开其中的位图bitmap,将bitmap中与rowId对应的位置为1;完成全部属性索引处理后,将存储分页与worker节点信息返回给master节点;
第三步:master节点接收到返回的存储信息后,提取D中的属性,并打开全局索引,依次将属性取值与对应的取值区间range对比,选择命中的取值区间,打开其中的节点映射表;在节点映射表中选择与前述worker对应的分页计数队列;从分页计数队列中提取与返回信息中存储分页对应的分页计数对象;将其计数器加1;完成全部属性索引处理后,实现数据写入过程中的索引更新,并返回操作结果。
7.如权利要求1所述的方法,其特征在于,在数据记录D更新过程中索引维护的步骤如下:
第一步:master节点接收到数据更新操作请求,根据D中主键取值绑定其存储worker节点,并将请求发送给该worker节点;
第二步:worker节点接收到请求,根据数据记录局部分页索引中的内容提取原始数据记录D,根据请求内容将其变更为D’;变更完毕后,首先在局部分页索引中D对应的属性取值区间中的位图进行修改;将该位图中与D存储行号对应的位置为0;而后,将D’对应的取值区间位图进行修改,将该位图中与D’存储行号对应的位置为1;完成上述操作后,将D与D’的存储分页信息,返回给master节点;
第三步:master节点接收到返回的存储分页信息后,首先在全局索引中将D对应的取值区间中的节点映射表打开。从其中分页计数队列中提取与D所属分页对应的计数器,将其减1;而后将D’对应的取值区间中的节点映射表打开,从其中分页计数队列中提取与D’所属分页对应的计数器,将其加1;完成上述操作后,返回操作信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610975816.5/1.html,转载请声明来源钻瓜专利网。





