位图索引压缩方法和位图索引解压方法.pdf

上传人:00****42 文档编号:4448600 上传时间:2018-10-02 格式:PDF 页数:24 大小:1.58MB
返回 下载 相关 举报
位图索引压缩方法和位图索引解压方法.pdf_第1页
第1页 / 共24页
位图索引压缩方法和位图索引解压方法.pdf_第2页
第2页 / 共24页
位图索引压缩方法和位图索引解压方法.pdf_第3页
第3页 / 共24页
点击查看更多>>
资源描述

《位图索引压缩方法和位图索引解压方法.pdf》由会员分享,可在线阅读,更多相关《位图索引压缩方法和位图索引解压方法.pdf(24页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103995887 A (43)申请公布日 2014.08.20 C N 1 0 3 9 9 5 8 8 7 A (21)申请号 201410240532.2 (22)申请日 2014.05.30 G06F 17/30(2006.01) (71)申请人上海达梦数据库有限公司 地址 201203 上海市浦东新区博霞路50号 403 (72)发明人彭青松 朱仲颖 汪龙重 (74)专利代理机构北京品源专利代理有限公司 11332 代理人邓猛烈 孟金喆 (54) 发明名称 位图索引压缩方法和位图索引解压方法 (57) 摘要 本发明实施例提供一种位图索引压缩方法及 装置,通过按。

2、预设段宽度分段,得到索引关键字对 应的位图索引的各段位图信息,并将各段位图信 息中各有效值的偏移值按对应的二进制存储位数 进行存储,得到该段位图信息的压缩信息,由于只 存储各段位图信息中各有效值的偏移值,因此能 够减小位图索引的存储空间。相应地,本发明实 施例提供一种位图索引解压方法及装置,利用各 有效值的偏移值的二进制表示信息的存储位数, 得到各段位图信息的压缩信息中各有效值的偏移 值,并通过将所述初始化位图信息中各有效值的 偏移值对应的位设置为有效值,得到该段位图信 息的压缩信息对应的解压信息,能够降低位图索 引的解压复杂度,并提高了位图索引的检索查询 效率。 (51)Int.Cl. 权利。

3、要求书3页 说明书15页 附图5页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书3页 说明书15页 附图5页 (10)申请公布号 CN 103995887 A CN 103995887 A 1/3页 2 1.一种位图索引压缩方法,其特征在于,包括: 对于预先建立的数据基表中所包含的索引关键字的位图索引,将该位图索引按预设段 宽度分段,得到多段位图信息; 对于各段位图信息,确定该段位图信息中各有效值的偏移值,其中,所述偏移值为对应 的有效值在该段位图信息中的位数;根据各有效值的偏移值确定各偏移值的二进制存储位 数;根据所述二进制存储位数得到该段位图信息中各偏移值的二进制。

4、表示信息,生成并存 储该段位图信息的压缩信息,该压缩信息包含各偏移值的二进制表示信息。 2.根据权利要求1所述的方法,其特征在于,在对于预先建立的数据基表中所包含的 索引关键字的位图索引,将该位图索引按预设段宽度分段,得到多段位图信息之后、在确定 各段位图信息中各有效值的偏移值之前,还包括: 所述对于各段位图信息,确定当前段位图信息的稀疏因子,其中当有效值为1时,所述 稀疏因子为当前段位图信息中0的个数与预设段宽度的比值;或当有效值为0时,所述稀疏 因子为当前段位图信息中1的个数与预设段宽度的比值; 确定该段位图信息中各有效值的偏移值,其中,所述偏移值为对应的有效值在该段位 图信息中的位数;根。

5、据各有效值的偏移值确定各偏移值的二进制存储位数;根据所述二进 制存储位数得到该段位图信息中各偏移值的二进制表示信息,生成并存储该段位图信息的 压缩信息,该压缩信息包含各偏移值的二进制表示信息,包括: 当当前位图信息的稀疏因子大于等于预设稀疏阈值时,确定该段位图信息中各有效值 的偏移值,其中,所述偏移值为对应的有效值在该段位图信息中的位数;根据各有效值的偏 移值确定各偏移值的二进制存储位数;根据所述二进制存储位数得到该段位图信息中各偏 移值的二进制表示信息,生成并存储该段位图信息的压缩信息,该压缩信息包含各偏移值 的二进制表示信息。 3.根据权利要求2所述的方法,其特征在于,在当前段位图信息的稀。

6、疏因子小于稀疏 阈值时,还包括: 利用普通位图压缩算法对当前段位图信息进行压缩,生成并存储该段位图信息的压缩 信息,其中所述普通位图压缩算法包括zip压缩算法或rar压缩算法。 4.根据权利要求2所述的方法,其特征在于,在根据各有效值的偏移值确定各偏移值 的二进制存储位数之后、在根据所述二进制存储位数得到该段位图信息中各偏移值的二进 制表示信息之前,还包括: 判断各偏移值的二进制存储位数的总和是否小于预设段宽度; 根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示信息,生成并存 储该段位图信息的压缩信息,该压缩信息包含各偏移值的二进制表示信息,包括: 当各偏移值的二进制存储位数的总和。

7、小于预设段宽度时,根据所述二进制存储位数得 到该段位图信息中各偏移值的二进制表示信息,生成并存储该段位图信息的压缩信息,该 压缩信息包含各偏移值的二进制表示信息。 5.根据权利要求4所述的方法,其特征在于,当各偏移值的二进制存储位数的总和不 小于预设段宽度时,还包括: 利用普通位图压缩算法对当前段位图信息进行压缩,生成并存储该段位图信息的压缩 信息,其中所述普通位图压缩算法包括zip压缩算法或rar压缩算法。 权 利 要 求 书CN 103995887 A 2/3页 3 6.根据权利要求1所述的方法,其特征在于,将该位图索引按预设段宽度分段的步骤, 与确定一个段位图信息中各有效值的偏移值,根据。

8、各有效值的偏移值确定各偏移值的二进 制存储位数,根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示信息, 生成并存储该段位图信息的压缩信息的步骤,并行执行。 7.根据权利要求1所述的方法,其特征在于,所述预设段宽度为8的整数倍。 8.根据权利要求1所述的方法,其特征在于,在对于预先建立的数据基表中所包含的 索引关键字的位图索引,将该位图索引按预设段宽度分段,得到多段位图信息之后、在确定 各段位图信息中各有效值1的偏移值之前,还包括: 确定该段位图信息的第一辅助信息,所述第一辅助信息至少包括该段位图信息的起始 行号和该段位图信息的结束行号; 在根据各有效值的偏移值确定各偏移值的二进制存。

9、储位数之后、在根据所述二进制存 储位数得到该段位图信息中各偏移值的二进制表示信息之前,还包括: 确定该段位图信息的第二辅助信息,所述第二辅助信息至少包括各偏移值的二进制存 储位数; 所述根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示信息,生成 并存储该段位图信息的压缩信息,该压缩信息包含各偏移值的二进制表示信息,包括: 根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示信息,生成并存 储该段位图信息的压缩信息,该压缩信息包含各偏移值的二进制表示信息、该段位图信息 的第一辅助信息和/或该段位图信息的第二辅助信息。 9.一种位图索引解压方法,其特征在于,包括: 获取数据基表。

10、中所包含的索引关键字的位图索引的各段位图信息的压缩信息,其中, 所述各段位图信息通过将该位图索引按预设段宽度分段获得,对于各段位图信息的压缩信 息,该段位图信息的压缩信息包含二进制表示信息和二进制存储位数,所述二进制表示信 息包含该段位图信息中各有效值的偏移值的二进制表示信息;所述二进制存储位数包含该 段位图信息中各有效值的偏移值的二进制表示信息的存储位数,所述偏移值为对应的有效 值在该段位图信息中的位数; 对于各段位图信息的压缩信息,生成宽度为预设段宽度的初始化位图信息;根据该段 位图信息的压缩信息中的二进制存储位数,将该段位图信息的压缩信息中的二进制表示信 息转换为十进制信息,得到该段位图。

11、信息的压缩信息中各有效值的偏移值;通过将所述初 始化位图信息中各有效值的偏移值对应的位设置为有效值,得到该段位图信息的压缩信息 对应的解压信息。 10.根据权利要求9所述的方法,其特征在于,所述获取数据基表中所包含的索引关键 字的位图索引的各段位图信息的压缩信息,还包括:获取各段位图信息的稀疏因子,其中当 有效值为1时,所述稀疏因子为该段位图信息中0的个数与预设段宽度的比值;或当有效值 为0时,所述稀疏因子为该段位图信息中1的个数与预设段宽度的比值; 所述根据该段位图信息的压缩信息中的二进制存储位数,将该段位图信息的压缩信息 中的二进制表示信息转换为十进制信息,得到该段位图信息的压缩信息中各有。

12、效值的偏移 值;通过将所述初始化位图信息中各有效值的偏移值对应的位设置为有效值,得到该段位 图信息的压缩信息对应的解压信息,包括: 权 利 要 求 书CN 103995887 A 3/3页 4 在当前段位图信息的压缩信息中该段位图信息的稀疏因子大于等于预设稀疏阈值时, 根据该段位图信息的压缩信息中的二进制存储位数,将该段位图信息的压缩信息中的二进 制表示信息转换为十进制信息,得到该段位图信息的压缩信息中各有效值的偏移值;通过 将所述初始化位图信息中各有效值的偏移值对应的位设置为有效值,得到该段位图信息的 压缩信息对应的解压信息。 11.根据权利要求10所述的方法,其特征在于,在当前段位图信息的。

13、压缩信息中该段 位图信息的稀疏因子小于预设稀疏阈值时,还包括: 利用普通位图解压算法对当前段位图信息的压缩信息进行解压,得到该段位图信息的 压缩信息对应的解压信息,其中所述普通位图压缩算法包括zip压缩算法或rar压缩算法。 12.根据权利要求10所述的方法,其特征在于,在当前段位图信息的压缩信息中该段 位图信息的稀疏因子大于等于预设稀疏阈值时、在根据该段位图信息的压缩信息中的二进 制存储位数,将该段位图信息的压缩信息中的二进制表示信息转换为十进制信息之前,还 包括: 判断各偏移值的二进制存储位数的总和是否小于预设段宽度; 所述在当前段位图信息的压缩信息中该段位图信息的稀疏因子大于等于预设稀疏。

14、阈 值时,根据该段位图信息的压缩信息中的二进制存储位数,将该段位图信息的压缩信息中 的二进制表示信息转换为十进制信息,得到该段位图信息的压缩信息中各有效值的偏移 值;通过将所述初始化位图信息中各有效值的偏移值对应的位设置为有效值,得到该段位 图信息的压缩信息对应的解压信息,包括: 在当前段位图信息的压缩信息中该段位图信息的稀疏因子大于等于预设稀疏阈值时, 并且当各偏移值的二进制存储位数的总和小于预设段宽度时,根据该段位图信息的压缩信 息中的二进制存储位数,将该段位图信息的压缩信息中的二进制表示信息转换为十进制信 息,得到该段位图信息的压缩信息中各有效值的偏移值;通过将所述初始化位图信息中各 有。

15、效值的偏移值对应的位设置为有效值,得到该段位图信息的压缩信息对应的解压信息。 13.根据权利要求10所述的方法,其特征在于,当各偏移值的二进制存储位数的总和 不小于预设段宽度时,还包括: 利用普通位图解压算法对当前段位图信息的压缩信息进行解压,得到该段位图信息的 压缩信息对应的解压信息,其中所述普通位图压缩算法包括zip压缩算法或rar压缩算法。 14.根据权利要求9所述的方法,其特征在于,所述预设段宽度为8的整数倍。 15.根据权利要求9所述的方法,其特征在于,所述获取数据基表中所包含的索引关键 字的位图索引的各段位图信息的压缩信息,还包括:获取各段位图信息的压缩信息对应的 各段位图信息的第。

16、一辅助信息,所述第一辅助信息至少包括该段位图信息的起始行号和该 段位图信息的结束行号; 在通过将所述初始化位图信息中各有效值的偏移值对应的位设置为有效值,得到该段 位图信息的压缩信息对应的解压信息之后,还包括: 根据各段位图信息的压缩信息对应的解压信息,并根据对应的第一辅助信息,得到对 应的索引关键字的位图索引。 权 利 要 求 书CN 103995887 A 1/15页 5 位图索引压缩方法和位图索引解压方法 技术领域 0001 本发明实施例涉及数据库技术领域,尤其涉及一种位图索引压缩方法和位图索引 解压方法。 背景技术 0002 随着计算机信息技术的快速发展,越来越多的用户对海量数据的存储。

17、和检索提出 了更高的要求。位图索引对应于数据基表中的索引关键字,位图索引在海量数据上的应用 是普遍的,例如在数据基表上通过位图索引检索某个产品在某个时间段的销售情况等等。 在提升位图索引检索性能的同时,对位图索引存储空间的要求也越来越高,因此位图索引 压缩技术应运而生。 0003 现有的位图索引压缩技术,一般是通过计算数据基表的索引关键字对应的位图索 引中每个1之前的0的个数,并确定该个数的二进制表示位数,同时通过添加控制信息对该 个数的二进制表示位数以及该个数的二进制数进行编码,从而实现数据基表的索引关键字 对应的位图索引的压缩存储。 0004 上述位图索引压缩技术的缺陷在于:虽然通过将每个。

18、1前面的0的个数用相应位 数的二进制记录,可以减少每个1前面的0的个数的存储空间,但在编码中添加的控制信息 会导致位图索引的存储空间的增大;而且复杂的编码方式增加了位图索引的解压复杂度, 从而影响位图索引的检索查询效率。 发明内容 0005 本发明实施例提供一种位图索引压缩方法及装置,以减小位图索引的存储空间; 本发明实施例还提供一种位图索引解压方法及装置,以降低位图索引的解压复杂度,以提 高位图索引的检索查询效率。 0006 第一方面,本发明实施例提供了一种位图索引压缩方法,包括: 0007 对于预先建立的数据基表中所包含的索引关键字的位图索引,将该位图索引按预 设段宽度分段,得到多段位图信。

19、息; 0008 对于各段位图信息,确定该段位图信息中各有效值的偏移值,其中,所述偏移值为 对应的有效值在该段位图信息中的位数;根据各有效值的偏移值确定各偏移值的二进制存 储位数;根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示信息,生成 并存储该段位图信息的压缩信息,该压缩信息包含各偏移值的二进制表示信息。 0009 第二方面,本发明实施例提供了一种位图索引压缩装置,包括: 0010 分段模块,用于对于预先建立的数据基表中所包含的索引关键字的位图索引,将 该位图索引按预设段宽度分段,得到多段位图信息; 0011 偏移值确定模块,用于对于各段位图信息,确定该段位图信息中各有效值的偏移。

20、 值,其中,所述偏移值为对应的有效值在该段位图信息中的位数; 0012 二进制存储位数确定模块,用于根据各有效值的偏移值确定各偏移值的二进制存 说 明 书CN 103995887 A 2/15页 6 储位数; 0013 第一存储模块,用于根据所述二进制存储位数得到该段位图信息中各偏移值的二 进制表示信息,生成并存储该段位图信息的压缩信息,该压缩信息包含各偏移值的二进制 表示信息。 0014 第三方面,本发明实施例提供了一种位图索引解压方法,包括: 0015 获取数据基表中所包含的索引关键字的位图索引的各段位图信息的压缩信息,其 中,所述各段位图信息通过将该位图索引按预设段宽度分段获得,对于各段。

21、位图信息的压 缩信息,该段位图信息的压缩信息包含二进制表示信息和二进制存储位数,所述二进制表 示信息包含该段位图信息中各有效值的偏移值的二进制表示信息;所述二进制存储位数包 含该段位图信息中各有效值的偏移值的二进制表示信息的存储位数,所述偏移值为对应的 有效值在该段位图信息中的位数; 0016 对于各段位图信息的压缩信息,生成宽度为预设段宽度的初始化位图信息;根据 该段位图信息的压缩信息中的二进制存储位数,将该段位图信息的压缩信息中的二进制表 示信息转换为十进制信息,得到该段位图信息的压缩信息中各有效值的偏移值;通过将所 述初始化位图信息中各有效值的偏移值对应的位设置为有效值,得到该段位图信息。

22、的压缩 信息对应的解压信息。 0017 第四方面,本发明实施例提供了一种位图索引解压装置,包括: 0018 压缩信息获取模块,用于获取数据基表中所包含的索引关键字的位图索引的各段 位图信息的压缩信息,其中,所述各段位图信息通过将该位图索引按预设段宽度分段获得, 对于各段位图信息的压缩信息,该段位图信息的压缩信息包含二进制表示信息和二进制存 储位数,所述二进制表示信息包含该段位图信息中各有效值的偏移值的二进制表示信息; 所述二进制存储位数包含该段位图信息中各有效值的偏移值的二进制表示信息的存储位 数,所述偏移值为对应的有效值在该段位图信息中的位数; 0019 初始化位图信息生成模块,用于对于各段。

23、位图信息的压缩信息,生成宽度为预设 段宽度的初始化位图信息; 0020 偏移值确定模块,用于根据该段位图信息的压缩信息中的二进制存储位数,将该 段位图信息的压缩信息中的二进制表示信息转换为十进制信息,得到该段位图信息的压缩 信息中各有效值的偏移值; 0021 第一解压模块,用于通过将所述初始化位图信息中各有效值的偏移值对应的位设 置为有效值,得到该段位图信息的压缩信息对应的解压信息。 0022 本发明实施例提供的位图索引压缩方法及装置,通过按预设段宽度分段,得到索 引关键字对应的位图索引的各段位图信息,并将各段位图信息中各有效值的偏移值按对应 的二进制存储位数进行存储,得到该段位图信息的压缩信。

24、息,由于只存储各段位图信息中 各有效值的偏移值,因此能够减小位图索引的存储空间。相应地,本发明实施例提供的位图 索引解压方法及装置,利用各有效值的偏移值的二进制表示信息的存储位数,得到各段位 图信息的压缩信息中各有效值的偏移值,并通过将所述初始化位图信息中各有效值的偏移 值对应的位设置为有效值,得到该段位图信息的压缩信息对应的解压信息,能够降低位图 索引的解压复杂度,并提高了位图索引的检索查询效率。 说 明 书CN 103995887 A 3/15页 7 附图说明 0023 为了更清楚地说明本发明,下面将对本发明中所需要使用的附图做一简单地介 绍,显而易见地,下面描述中的附图是本发明的一些实施。

25、例,对于本领域普通技术人员来 讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。 0024 图1为本发明实施例一提供的一种位图索引压缩方法的流程图; 0025 图2为本发明实施例二提供的一种位图索引压缩方法的流程图; 0026 图3为本发明实施例三提供的一种位图索引压缩方法的流程图; 0027 图4为本发明实施例四提供的一种位图索引压缩装置的结构示意图; 0028 图5为本发明实施例五提供的一种位图索引解压方法的流程图; 0029 图6为本发明实施例六提供的一种位图索引解压方法的流程图; 0030 图7为本发明实施例七提供的一种位图索引解压装置的结构示意图。 具体实施方式 0。

26、031 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施例 中的技术方案作进一步详细描述,显然,所描述的实施例是本发明一部分实施例,而不是全 部的实施例。可以理解的是,此处所描述的具体实施例仅用于解释本发明,而非对本发明的 限定,基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得 的所有其他实施例,都属于本发明保护的范围。另外还需要说明的是,为了便于描述,附图 中仅示出了与本发明相关的部分而非全部内容。 0032 实施例一 0033 请参阅图1,为本发明实施例一提供的一种位图索引压缩方法的流程图。本发明实 施例的方法可以由配置以硬件和/或软件实现的位图。

27、索引压缩装置来执行,该实现装置典 型的是配置于能够提供位图索引压缩服务的服务器中。如图1所示,所述方法包括: 0034 步骤110、对于预先建立的数据基表中所包含的索引关键字的位图索引,将该位图 索引按预设段宽度分段,得到多段位图信息; 0035 数据基表是数据库中一个重要的对象,由各元素组成。数据基表中所包含的索引 关键字代表数据基表中各列属性所包含的元素的取值情况。位图索引是一种使用位图的特 殊的数据库索引技术,在位图索引中,每个位的取值为1或0,表示对应的基行的元素是否 满足对应的索引关键字的值,因此,索引关键字的位图索引的长度等于基行的长度。 0036 在本步骤中,优选地,所述预设段宽。

28、度为8的整数倍。 0037 需要说明的是,一个位图索引划分为了若干段,每个段的宽度为预设段宽度,当最 后一段对应的位图索引信息小于预设段宽度时,在末尾以0补足。 0038 示例性地,通过表1中的数据基表为例进行说明。表1中的数据基表中基行的长 度为n,包含A和B两列,其中A的取值包括L、T和M三种情况,B的取值包括X和Y两种 情况,因此,A的索引关键字分别为L、T和M,B的索引关键字分别为X和Y。表2为A的索 引关键字及对应的位图索引,表3为B的索引关键字及对应的位图。以A的索引关键字L 为例说明,由表1可知,A取值为L时所对应的行号分别为1、3、.、和n,由表2可知,A的 索引关键字L对应的。

29、位图索引101000.1,该索引关键字的位图索引的长度为n,等于基行 的长度。其中,第一位的值为1,表示数据基表中A列第1行的元素的值为L,第二位的值为 说 明 书CN 103995887 A 4/15页 8 0,表示数据基表中A列第2行的元素的值不为L,第三位的值为1,表示数据基表中A列第 3行的元素的值为L,依次类推。 0039 表1 0040 行号A B 1 L X 2 T Y 3 L Y 4 M X 5 T Y 6 M Y . . . n L X 0041 表2 0042 序号索引关键字位图索引 1 L 101000.1 2 T 010010.0 3 M 000101.0 0043 表。

30、3 0044 序号索引关键字位图索引 1 X 100100.1 2 Y 011011.0 0045 例如,若索引关键字L的位图索引为101000000000100000100001,当预设段宽度 为16时,则索引关键字L的位图索引的分段结果如表4所示。其中,第1段位图信息为 1010000000001000,由于第2段信息00100001的宽度小于预设段宽度,因此在该信息末尾 用0补足,补足后,第2段位图信息为0010000100000000。 0046 表4 说 明 书CN 103995887 A 5/15页 9 0047 段号段位图信息 1 1010000000001000 2 00100。

31、00100000000 0048 步骤120、对于各段位图信息,确定该段位图信息中各有效值的偏移值,其中,所述 偏移值为对应的有效值在该段位图信息中的位数;根据各有效值的偏移值确定各偏移值的 二进制存储位数;根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示信 息,生成并存储该段位图信息的压缩信息,该压缩信息包含各偏移值的二进制表示信息。 0049 具体地,位数可以为该段位图信息从左向右数的顺序位。 0050 仍以步骤110中的实例为例进行说明。表5所示为索引关键字L所包含的两段位 图信息对应的各有效值的偏移值,其中,有效值为1。 0051 表5 0052 段号段位图信息各有效值的偏。

32、移值 1 1010000000001000 1,3,13 2 0010000100000000 3,8 0053 作为步骤120的一种实施方式,可以将根据各有效值的偏移值确定各偏移值的二 进制存储位数,优化为:对于各有效值的偏移值,分别确定该偏移值对应的最小二进制存储 位数。 0054 例如,表5中的第1段位图信息中偏移值1的最小二进制存储位数为1,偏移值3 的最小二进制存储位数为2,偏移值13的最小二进制存储位数为4。 0055 类似地,表5中的第2段位图信息中偏移值3的最小二进制存储位数为2,偏移值 8的最小二进制存储位数为4。 0056 下面分别说明步骤120中根据所述二进制存储位数得到。

33、该段位图信息中各偏移 值的二进制表示信息,生成并存储该段位图信息的压缩信息,该压缩信息包含各偏移值的 二进制表示信息。 0057 表5中的第1段位图信息中偏移值1的最小二进制存储位数为1,对应的二进制表 示信息位1;偏移值3的最小二进制存储位数为2,对应的二进制表示信息位11;偏移值13 的最小二进制存储位数为4,对应的二进制表示信息位1101。因此生成并存储的该段位图 信息的压缩信息可以为1111101。 0058 类似地,表5中的第2段位图信息中偏移值3的最小二进制存储位数为2,对应 的二进制表示信息位11;偏移值8的最小二进制存储位数为4,对应的二进制表示信息位 1000。因此生成并存储。

34、的该段位图信息的压缩信息可以为111000。具体结果如表6所示。 0059 表6 0060 说 明 书CN 103995887 A 6/15页 10 段号段位图信息压缩信息 1 1010000000001000 1111101 2 0010000100000000 111000 0061 由此可知,第1段位图信息的压缩信息的存储空间小于该段位图信息本身的段宽 度;而第2段位图信息的压缩信息的存储空间小于该段位图信息本身的段宽度,因此采用 本实施方式的方法可以减小位图索引的存储空间。 0062 作为步骤120的另一种实施方式,可以将根据各有效值的偏移值确定各偏移值的 二进制存储位数,优化为:对于。

35、各有效值的偏移值,根据各有效值中最大的偏移值,确定该 最大的偏移值的最小二进制存储位数,并将该最小二进制存储位数作为各有效值的偏移值 的二进制存储位数。 0063 例如,表5中的第1段位图信息中各有效值中最大的偏移值为13,偏移值13的最 小二进制存储位数为4,从而确定该段位图信息中偏移值1、3和13的二进制存储位数均为 4。 0064 类似地,可以得到表5中的第2段位图信息中各偏移值的二进制存储位数,此处不 再赘述,确定结果为偏移值3的二进制存储位数为4,偏移值8的二进制存储位数为4。 0065 下面分别说明步骤120中根据所述二进制存储位数得到该段位图信息中各偏移 值的二进制表示信息,生成。

36、并存储该段位图信息的压缩信息,该压缩信息包含各偏移值的 二进制表示信息。 0066 表5中的第1段位图信息中偏移值1的二进制存储位数为4,对应的二进制表示信 息位0001;偏移值3的二进制存储位数为4,对应的二进制表示信息位0011;偏移值13的 二进制存储位数为4,对应的二进制表示信息位1101。因此生成并存储的该段位图信息的 压缩信息可以为000100111101。 0067 类似地,表5中的第2段位图信息中偏移值3的二进制存储位数为4,对应的二进 制表示信息为0011;偏移值8的二进制存储位数为4,对应的二进制表示信息为1000。因 此生成并存储的该段位图信息的压缩信息可以为001110。

37、00。具体结果如表7所示。 0068 表7 0069 段号段位图信息压缩信息 1 1010000000001000 000100111101 2 0010000100000000 00111000 0070 由此可知,第1段位图信息的压缩信息的存储空间小于该段位图信息本身的段宽 度;而第2段位图信息的压缩信息的存储空间小于该段位图信息本身的段宽度,因此采用 本实施方式的方法可以减小位图索引的存储空间。 0071 本实施例的技术方案,通过按预设段宽度分段,得到索引关键字对应的位图索引 的各段位图信息,并将各段位图信息中各有效值的偏移值按对应的二进制存储位数进行存 说 明 书CN 10399588。

38、7 A 10 7/15页 11 储,得到该段位图信息的压缩信息,由于只存储各段位图信息中各有效值的偏移值,因此能 够减小位图索引的存储空间。 0072 在上述实施例中,优选地,步骤110与步骤120可以并行执行。 0073 也就是说,不需要等待该位图索引的各段位图信息都生成后,再执行步骤120,而 是当当前段的宽度达到预设段宽度时,即可对该段位图信息按步骤120进行操作,从而在 减小位图索引的存储空间的同时,可以提高位图索引的存储处理速度。 0074 实施例二 0075 请参阅图2,为本发明实施例二提供的一种位图索引压缩方法的流程图。如图2所 示,所述方法包括: 0076 步骤210、对于预先。

39、建立的数据基表中所包含的索引关键字的位图索引,将该位图 索引按预设段宽度分段,得到多段位图信息; 0077 步骤220、对于各段位图信息,确定当前段位图信息的稀疏因子; 0078 在本步骤中,当有效值为1时,所述稀疏因子为当前段位图信息中0的个数与预设 段宽度的比值;当有效值为0时,所述稀疏因子为当前段位图信息中1的个数与预设段宽度 的比值。 0079 步骤230、判断当前段位图信息的稀疏因子是否大于等于预设稀疏阈值,若是,执 行步骤240;若否,执行步骤250; 0080 步骤240、确定该段位图信息中各有效值的偏移值,其中,所述偏移值为对应的有 效值在该段位图信息中的位数;根据各有效值的偏。

40、移值确定各偏移值的二进制存储位数; 0081 在本步骤中,优选地,所述根据各有效值的偏移值确定各偏移值的二进制存储位 数,包括:对于各有效值的偏移值,分别确定该偏移值对应的最小二进制存储位数。 0082 步骤241、判断各偏移值的二进制存储位数的总和是否小于预设段宽度,若是,执 行步骤242,若否,执行步骤250; 0083 也就是说,根据各有效值的偏移值确定各偏移值的二进制存储位数的确定结果包 括两种,一种为各有效值的偏移值对应的二进制存储位数不同,例如,表5中的第1段位图 信息中偏移值1的最小二进制存储位数为1,偏移值3的最小二进制存储位数为2,偏移值 13的最小二进制存储位数为4;另一种。

41、为各有效值的偏移值对应的二进制存储位数相同, 例如,表5中的第1段位图信息中偏移值1、3和13的二进制存储位数均为4。 0084 各偏移值的二进制存储位数的总和可以表征将该段位图信息中各偏移值按对应 的二进制存储位数存储后,占用的存储空间的大小。 0085 当各有效值的偏移值对应的二进制存储位数相同时,所述各偏移值的二进制存储 位数的总和可以通过各偏移值的二进制存储位数与偏移值的个数的乘积确定。 0086 步骤242、根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示 信息,生成并存储该段位图信息的压缩信息,该压缩信息包含各偏移值的二进制表示信息, 流程结束; 0087 步骤250、。

42、利用普通位图压缩算法对当前段位图信息进行压缩,生成并存储该段位 图信息的压缩信息,其中所述普通位图压缩算法包括zip压缩算法或rar压缩算法,流程结 束。 0088 也就是说,对于多段位图信息,当当前段位图信息的稀疏因子大于等于预设稀疏 说 明 书CN 103995887 A 11 8/15页 12 阈值时,确定该段位图信息中各有效值的偏移值;根据各有效值的偏移值确定各偏移值的 二进制存储位数;当各偏移值的二进制存储位数的总和小于预设段宽度时,采用根据所述 二进制存储位数得到该段位图信息中各偏移值的二进制表示信息的方式对当前段位图信 息进行压缩;而当当前段位图信息的稀疏因子小于预设稀疏阈值时,。

43、则利用普通位图压缩 算法对当前段位图信息进行压缩。 0089 对于多段位图信息,当当前段位图信息的稀疏因子小于预设稀疏阈值时,则利用 普通位图压缩算法对当前段位图信息进行压缩。 0090 本实施例的技术方案,通过按预设段宽度分段,得到索引关键字对应的位图索引 的各段位图信息,当当前段位图信息的稀疏因子大于等于预设稀疏阈值时,确定该段位图 信息中各有效值的偏移值,并根据各有效值的偏移值确定各偏移值的二进制存储位数,当 各偏移值的二进制存储位数的总和小于预设段宽度时,将各段位图信息中各有效值的偏移 值按对应的二进制存储位数进行存储,得到该段位图信息的压缩信息,由于只存储各段位 图信息中各有效值的偏。

44、移值,因此能够减小位图索引的存储空间;当当前段位图信息的稀 疏因子小于预设稀疏阈值时,或当各偏移值的二进制存储位数的总和不小于预设段宽度 时,则利用普通位图压缩算法对当前段位图信息进行压缩,减小了位图索引的存储空间。 0091 实施例三 0092 请参阅图3,为本发明实施例三提供的一种位图索引压缩方法的流程图。如图3所 示,所述方法包括: 0093 步骤310、对于预先建立的数据基表中所包含的索引关键字的位图索引,将该位图 索引按预设段宽度分段,得到多段位图信息; 0094 优选地,所述预设段宽度为8的整数倍。 0095 步骤320、对于各段位图信息,确定该段位图信息的第一辅助信息; 0096。

45、 其中,所述第一辅助信息至少包括该段位图信息的起始行号和该段位图信息的结 束行号。所述第一辅助信息还可以包括分段号。所述结束行号与所述起始行号和预设段宽 度有关。 0097 例如,若索引关键字L的位图索引为101000000000100000100001,当预设段宽 度为16时,则索引关键字L的位图索引的分段结果如表4所示。其中,第1段位图信息 为1010000000001000,该段位图信息的起始行号为1,结束行号为16;第2段位图信息为 0010000100000000,该段位图信息的起始行号为17,结束行号为32。 0098 需要说明的是,根据各段位图信息的第一辅助信息,有利于得到分段前。

46、各段位图 信息对应的位图索引。 0099 步骤330、确定该段位图信息中各有效值的偏移值;根据各有效值的偏移值确定 各偏移值的二进制存储位数; 0100 其中,所述偏移值为对应的有效值在该段位图信息中的位数,所述有效值优选为 1。 0101 步骤340、确定该段位图信息的第二辅助信息; 0102 所述第二辅助信息至少包括各偏移值的二进制存储位数;所述第二辅助信息还可 以包括该段位图信息的压缩类型,所述压缩类型可以表征该段位图信息的压缩算法。 0103 例如,采用本实施例的方法对段位图信息中各偏移值进行压缩存储对应的压缩类 说 明 书CN 103995887 A 12 9/15页 13 型为,而。

47、采用普通位图压缩算法对当前段位图信息进行压缩的压缩类型为。 0104 需要说明的是,根据各段位图信息的第二辅助信息,有利于通过解压得到分段前 各段位图信息对应的位图索引。 0105 步骤350、根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示 信息,生成并存储该段位图信息的压缩信息,该压缩信息包含各偏移值的二进制表示信息、 该段位图信息的第一辅助信息和/或该段位图信息的第二辅助信息。 0106 本实施例的技术方案,通过按预设段宽度分段,得到索引关键字对应的位图索引 的各段位图信息,并将各段位图信息中各有效值的偏移值按对应的二进制存储位数进行存 储,得到该段位图信息的压缩信息,压缩信。

48、息中除包含各偏移值的二进制表示信息,还包含 该段位图信息的第一辅助信息和/或该段位图信息的第二辅助信息,由于只存储各段位图 信息中各有效值的偏移值,因此能够减小位图索引的存储空间,同时第一辅助信息和/或 第二辅助信息有利于降低位图索引的解压复杂度,能够提高位图索引的检索查询效率。 0107 实施例四 0108 请参阅图4,为本发明实施例四提供的一种位图索引压缩装置的结构示意图。该装 置包括:分段模块410、偏移值确定模块420、二进制存储位数确定模块430和第一存储模块 440。 0109 其中,分段模块410用于对于预先建立的数据基表中所包含的索引关键字的位图 索引,将该位图索引按预设段宽度。

49、分段,得到多段位图信息;偏移值确定模块420用于对于 各段位图信息,确定该段位图信息中各有效值的偏移值,其中,所述偏移值为对应的有效值 在该段位图信息中的位数;二进制存储位数确定模块430用于根据各有效值的偏移值确定 各偏移值的二进制存储位数;第一存储模块440用于根据所述二进制存储位数得到该段位 图信息中各偏移值的二进制表示信息,生成并存储该段位图信息的压缩信息,该压缩信息 包含各偏移值的二进制表示信息。 0110 优选地,所述预设段宽度为8的整数倍。 0111 本实施例的技术方案,通过按预设段宽度分段,得到索引关键字对应的位图索引 的各段位图信息,并将各段位图信息中各有效值的偏移值按对应的二进制存储位数进行存 储,得到该段位图信息的压缩信息,由于只存储各段位图信息中各有效值的偏移值,因此能 够减小位图索引的存储空间。 0112 在上述。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1