[发明专利]一种基于压缩合并异步更新的索引读写方法有效
申请号: | 201410422587.5 | 申请日: | 2014-08-26 |
公开(公告)号: | CN104199892A | 公开(公告)日: | 2014-12-10 |
发明(设计)人: | 吴植民 | 申请(专利权)人: | 上海爱数软件有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 上海科盛知识产权代理有限公司 31225 | 代理人: | 赵继明 |
地址: | 201112 上海市闵行*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 压缩 合并 异步 更新 索引 读写 方法 | ||
1.一种基于压缩合并异步更新的索引读写方法,其特征在于,该方法包括:
1)将内存中缓存的索引分为多个存储区域写入索引库,按照存储区域编号生 成索引缓存文件;
2)异步获取至少一个索引缓存文件;
3)过滤并剔除不完整或正在写的索引缓存文件;
4)判断当前索引缓存文件的总个数是否满足发起异步更新的条件,若是,则 执行步骤5),若否,则结束;
5)分别读取步骤3)中获取的各索引缓存文件中相同存储区域编号对应的存 储区域的数据,存储区域编号初始值为0;
6)合并并按索引从小到大排序步骤5)中读取的数据;
7)读取步骤5)中当前存储区域编号在索引库中对应的存储区域的数据;
8)解压步骤7)中读取的数据;
9)合并并按索引从小到大排序步骤6)执行后的数据及步骤8)执行后的数据;
10)压缩步骤9)执行后的数据;
11)将步骤10)执行后的数据覆盖更新到步骤5)中存储区域编号在索引库中 对应的存储区域并更新元数据;
12)判断步骤5)中的索引缓存文件是否读到文件尾,若是,则结束,若否, 则执行步骤5)并将步骤5)中的存储区域编号加1。
2.根据权利要求1所述的一种基于压缩合并异步更新的索引读写方法,其特 征在于,所述步骤1)具体为:
101)将内存中缓存的索引按存储区域编号对应分流,写入索引库;
102)对每一个存储区域编号对应的索引按照从小到大的顺序排序;
103)各个存储区域编号对应排序后的索引序列化成数据流;
104)步骤103)获得的数据流按存储区域编号从小到大的顺序组合成唯一的 一个数据流;
105)将步骤104)生成的数据流写入磁盘生成一个索引缓存文件。
3.根据权利要求1所述的一种基于压缩合并异步更新的索引读写方法,其特 征在于,所述步骤4)中,发起异步更新的条件为当前索引缓存文件的总个数大于 或等于设定个数n。
4.根据权利要求1所述的一种基于压缩合并异步更新的索引读写方法,其特 征在于,还包括:
删除步骤3)过滤后更新完成的索引缓存文件及步骤3)过滤掉的不完整索引 缓存文件。
5.根据权利要求1所述的一种基于压缩合并异步更新的索引读写方法,其特 征在于,所述压缩和解压采用的算法为snappy算法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海爱数软件有限公司;,未经上海爱数软件有限公司;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410422587.5/1.html,转载请声明来源钻瓜专利网。