[发明专利]一种基于字典的位片索引压缩方法有效
申请号: | 201810716805.4 | 申请日: | 2018-07-03 |
公开(公告)号: | CN108932738B | 公开(公告)日: | 2022-08-16 |
发明(设计)人: | 刘晓光;刘欣瑀;王刚;张瞾华 | 申请(专利权)人: | 南开大学 |
主分类号: | G06T9/00 | 分类号: | G06T9/00 |
代理公司: | 天津耀达律师事务所 12223 | 代理人: | 侯力 |
地址: | 300071*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 字典 索引 压缩 方法 | ||
1.一种基于字典的位片索引压缩方法,其特征在于,所述方法包括:
步骤1,以块大小为间隔根据索引列中比特1的列密度重排文档;
假设索引列数为d,块大小为k个比特;
步骤1.1,统计索引每列中比特1的密度,将列按密度降序排列;
步骤1.2,初始化一个空索引,将比特1的密度最高的列放入索引第列;将1密度次高的列放入索引第列,以此类推,最后将比特1密度最低的列放入列;
步骤2,根据查询数据集特征自定义阈值选定一部分查询访问低频行进行压缩;
步骤2.1,自定义在查询过程中高频访问行访问频率的阈值;
步骤2.2,根据部分查询数据集和自定义阈值对行进行如下分类:高频访问行,低频访问行;
步骤2.3,建立行压缩标志位文件,判断每一行是否为低频访问行,也就是需要压缩行;
步骤3,对步骤2选定的压缩行进行字典压缩;
步骤3.1,将重排后BitFunnel位片索引以行为单位划分成块,建立字典保存一个全1块和高频出现在步骤2中选定的压缩行的块,记录高频块和块编号的映射关系;
步骤3.2,遍历索引,对出现在字典中的块,用更少比特的块编号替代;对未出现在字典中的块,用字典中最近似块的编号替代,这样虽然会导致查询请求存在误称但保证不丢解。
2.根据权利要求1所述的方法,其特征在于,该方法应用领域包括:
Bitmap、Bloom Filter和基于Bloom Filter的以BitFunnel为代表的位片索引结构。
3.根据权利要求1所述的方法,其特征在于,步骤2.1所述自定义在查询过程中高频访问行访问频率的阈值:
根据BitFunnel索引块重复度和BitFunnel索引原始误称率自定义查询过程中高频、低频行的行访问频率的阈值设置。
4.根据权利要求1所述的方法,其特征在于,压缩后恢复原始数据对应的解压方法,具体是:
在解压过程中,简单地将块编号作为索引从字典中提取出原始块定义恢复原始数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南开大学,未经南开大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810716805.4/1.html,转载请声明来源钻瓜专利网。