CN103995887B - 位图索引压缩方法和位图索引解压方法 - Google Patents

位图索引压缩方法和位图索引解压方法 Download PDF

Info

Publication number
CN103995887B
CN103995887B CN201410240532.2A CN201410240532A CN103995887B CN 103995887 B CN103995887 B CN 103995887B CN 201410240532 A CN201410240532 A CN 201410240532A CN 103995887 B CN103995887 B CN 103995887B
Authority
CN
China
Prior art keywords
section
bit pattern
message bit
information
deviant
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410240532.2A
Other languages
English (en)
Other versions
CN103995887A (zh
Inventor
彭青松
朱仲颖
汪龙重
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Dameng Database Co Ltd
Original Assignee
Shanghai Dameng Database Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Dameng Database Co Ltd filed Critical Shanghai Dameng Database Co Ltd
Priority to CN201410240532.2A priority Critical patent/CN103995887B/zh
Publication of CN103995887A publication Critical patent/CN103995887A/zh
Application granted granted Critical
Publication of CN103995887B publication Critical patent/CN103995887B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2237Vectors, bitmaps or matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

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

Description

位图索引压缩方法和位图索引解压方法
技术领域
本发明实施例涉及数据库技术领域,尤其涉及一种位图索引压缩方法和位图索引解压方法。
背景技术
随着计算机信息技术的快速发展,越来越多的用户对海量数据的存储和检索提出了更高的要求。位图索引对应于数据基表中的索引关键字,位图索引在海量数据上的应用是普遍的,例如在数据基表上通过位图索引检索某个产品在某个时间段的销售情况等等。在提升位图索引检索性能的同时,对位图索引存储空间的要求也越来越高,因此位图索引压缩技术应运而生。
现有的位图索引压缩技术,一般是通过计算数据基表的索引关键字对应的位图索引中每个1之前的0的个数,并确定该个数的二进制表示位数,同时通过添加控制信息对该个数的二进制表示位数以及该个数的二进制数进行编码,从而实现数据基表的索引关键字对应的位图索引的压缩存储。
上述位图索引压缩技术的缺陷在于:虽然通过将每个1前面的0的个数用相应位数的二进制记录,可以减少每个1前面的0的个数的存储空间,但在编码中添加的控制信息会导致位图索引的存储空间的增大;而且复杂的编码方式增加了位图索引的解压复杂度,从而影响位图索引的检索查询效率。
发明内容
本发明实施例提供一种位图索引压缩方法及装置,以减小位图索引的存储空间;本发明实施例还提供一种位图索引解压方法及装置,以降低位图索引的解压复杂度,以提高位图索引的检索查询效率。
第一方面,本发明实施例提供了一种位图索引压缩方法,包括:
对于预先建立的数据基表中所包含的索引关键字的位图索引,将该位图索引按预设段宽度分段,得到多段位图信息;
对于各段位图信息,确定该段位图信息中各有效值的偏移值,其中,所述有效值为位图信息中为1的值,所述偏移值为对应的有效值在该段位图信息中的位数,所述位数为该段位图信息从左向右数的顺序位;根据各有效值的偏移值确定各偏移值的二进制存储位数;根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示信息,生成并存储该段位图信息的压缩信息,该压缩信息包含各偏移值的二进制表示信息。
第二方面,本发明实施例提供了一种位图索引压缩装置,包括:
分段模块,用于对于预先建立的数据基表中所包含的索引关键字的位图索引,将该位图索引按预设段宽度分段,得到多段位图信息;
偏移值确定模块,用于对于各段位图信息,确定该段位图信息中各有效值的偏移值,其中,所述偏移值为对应的有效值在该段位图信息中的位数;
二进制存储位数确定模块,用于根据各有效值的偏移值确定各偏移值的二进制存储位数;
第一存储模块,用于根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示信息,生成并存储该段位图信息的压缩信息,该压缩信息包含各偏移值的二进制表示信息。
第三方面,本发明实施例提供了一种位图索引解压方法,包括:
获取数据基表中所包含的索引关键字的位图索引的各段位图信息的压缩信息,其中,所述各段位图信息通过将该位图索引按预设段宽度分段获得,对于各段位图信息的压缩信息,该段位图信息的压缩信息包含二进制表示信息和二进制存储位数,所述二进制表示信息包含该段位图信息中各有效值的偏移值的二进制表示信息;所述二进制存储位数包含该段位图信息中各有效值的偏移值的二进制表示信息的存储位数,所述偏移值为对应的有效值在该段位图信息中的位数;
对于各段位图信息的压缩信息,生成宽度为预设段宽度的初始化位图信息;根据该段位图信息的压缩信息中的二进制存储位数,将该段位图信息的压缩信息中的二进制表示信息转换为十进制信息,得到该段位图信息的压缩信息中各有效值的偏移值;通过将所述初始化位图信息中各有效值的偏移值对应的位设置为有效值,得到该段位图信息的压缩信息对应的解压信息。
第四方面,本发明实施例提供了一种位图索引解压装置,包括:
压缩信息获取模块,用于获取数据基表中所包含的索引关键字的位图索引的各段位图信息的压缩信息,其中,所述各段位图信息通过将该位图索引按预设段宽度分段获得,对于各段位图信息的压缩信息,该段位图信息的压缩信息包含二进制表示信息和二进制存储位数,所述二进制表示信息包含该段位图信息中各有效值的偏移值的二进制表示信息;所述二进制存储位数包含该段位图信息中各有效值的偏移值的二进制表示信息的存储位数,所述偏移值为对应的有效值在该段位图信息中的位数;
初始化位图信息生成模块,用于对于各段位图信息的压缩信息,生成宽度为预设段宽度的初始化位图信息;
偏移值确定模块,用于根据该段位图信息的压缩信息中的二进制存储位数,将该段位图信息的压缩信息中的二进制表示信息转换为十进制信息,得到该段位图信息的压缩信息中各有效值的偏移值;
第一解压模块,用于通过将所述初始化位图信息中各有效值的偏移值对应的位设置为有效值,得到该段位图信息的压缩信息对应的解压信息。
本发明实施例提供的位图索引压缩方法及装置,通过按预设段宽度分段,得到索引关键字对应的位图索引的各段位图信息,并将各段位图信息中各有效值的偏移值按对应的二进制存储位数进行存储,得到该段位图信息的压缩信息,由于只存储各段位图信息中各有效值的偏移值,因此能够减小位图索引的存储空间。相应地,本发明实施例提供的位图索引解压方法及装置,利用各有效值的偏移值的二进制表示信息的存储位数,得到各段位图信息的压缩信息中各有效值的偏移值,并通过将所述初始化位图信息中各有效值的偏移值对应的位设置为有效值,得到该段位图信息的压缩信息对应的解压信息,能够降低位图索引的解压复杂度,并提高了位图索引的检索查询效率。
附图说明
为了更清楚地说明本发明,下面将对本发明中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种位图索引压缩方法的流程图;
图2为本发明实施例二提供的一种位图索引压缩方法的流程图;
图3为本发明实施例三提供的一种位图索引压缩方法的流程图;
图4为本发明实施例四提供的一种位图索引压缩装置的结构示意图;
图5为本发明实施例五提供的一种位图索引解压方法的流程图;
图6为本发明实施例六提供的一种位图索引解压方法的流程图;
图7为本发明实施例七提供的一种位图索引解压装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施例中的技术方案作进一步详细描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。可以理解的是,此处所描述的具体实施例仅用于解释本发明,而非对本发明的限定,基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
实施例一
请参阅图1,为本发明实施例一提供的一种位图索引压缩方法的流程图。本发明实施例的方法可以由配置以硬件和/或软件实现的位图索引压缩装置来执行,该实现装置典型的是配置于能够提供位图索引压缩服务的服务器中。如图1所示,所述方法包括:
步骤110、对于预先建立的数据基表中所包含的索引关键字的位图索引,将该位图索引按预设段宽度分段,得到多段位图信息;
数据基表是数据库中一个重要的对象,由各元素组成。数据基表中所包含的索引关键字代表数据基表中各列属性所包含的元素的取值情况。位图索引是一种使用位图的特殊的数据库索引技术,在位图索引中,每个位的取值为1或0,表示对应的基行的元素是否满足对应的索引关键字的值,因此,索引关键字的位图索引的长度等于基行的长度。
在本步骤中,优选地,所述预设段宽度为8的整数倍。
需要说明的是,一个位图索引划分为了若干段,每个段的宽度为预设段宽度,当最后一段对应的位图索引信息小于预设段宽度时,在末尾以0补足。
示例性地,通过表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对应的位图索引101000...1,该索引关键字的位图索引的长度为n,等于基行的长度。其中,第一位的值为1,表示数据基表中A列第1行的元素的值为L,第二位的值为0,表示数据基表中A列第2行的元素的值不为L,第三位的值为1,表示数据基表中A列第3行的元素的值为L,依次类推。
表1
表2
序号 索引关键字 位图索引
1 L 101000...1
2 T 010010...0
3 M 000101...0
表3
序号 索引关键字 位图索引
1 X 100100...1
2 Y 011011...0
例如,若索引关键字L的位图索引为101000000000100000100001,当预设段宽度为16时,则索引关键字L的位图索引的分段结果如表4所示。其中,第1段位图信息为1010000000001000,由于第2段信息00100001的宽度小于预设段宽度,因此在该信息末尾用0补足,补足后,第2段位图信息为0010000100000000。
表4
段号 段位图信息
1 1010000000001000
2 0010000100000000
步骤120、对于各段位图信息,确定该段位图信息中各有效值的偏移值,其中,所述偏移值为对应的有效值在该段位图信息中的位数;根据各有效值的偏移值确定各偏移值的二进制存储位数;根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示信息,生成并存储该段位图信息的压缩信息,该压缩信息包含各偏移值的二进制表示信息。
具体地,位数可以为该段位图信息从左向右数的顺序位。
仍以步骤110中的实例为例进行说明。表5所示为索引关键字L所包含的两段位图信息对应的各有效值的偏移值,其中,有效值为1。
表5
段号 段位图信息 各有效值的偏移值
1 1010000000001000 1,3,13
2 0010000100000000 3,8
作为步骤120的一种实施方式,可以将根据各有效值的偏移值确定各偏移值的二进制存储位数,优化为:对于各有效值的偏移值,分别确定该偏移值对应的最小二进制存储位数。
例如,表5中的第1段位图信息中偏移值1的最小二进制存储位数为1,偏移值3的最小二进制存储位数为2,偏移值13的最小二进制存储位数为4。
类似地,表5中的第2段位图信息中偏移值3的最小二进制存储位数为2,偏移值8的最小二进制存储位数为4。
下面分别说明步骤120中根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示信息,生成并存储该段位图信息的压缩信息,该压缩信息包含各偏移值的二进制表示信息。
表5中的第1段位图信息中偏移值1的最小二进制存储位数为1,对应的二进制表示信息位1;偏移值3的最小二进制存储位数为2,对应的二进制表示信息位11;偏移值13的最小二进制存储位数为4,对应的二进制表示信息位1101。因此生成并存储的该段位图信息的压缩信息可以为1111101。
类似地,表5中的第2段位图信息中偏移值3的最小二进制存储位数为2,对应的二进制表示信息位11;偏移值8的最小二进制存储位数为4,对应的二进制表示信息位1000。因此生成并存储的该段位图信息的压缩信息可以为111000。具体结果如表6所示。
表6
段号 段位图信息 压缩信息
1 1010000000001000 1111101
2 0010000100000000 111000
由此可知,第1段位图信息的压缩信息的存储空间小于该段位图信息本身的段宽度;而第2段位图信息的压缩信息的存储空间小于该段位图信息本身的段宽度,因此采用本实施方式的方法可以减小位图索引的存储空间。
作为步骤120的另一种实施方式,可以将根据各有效值的偏移值确定各偏移值的二进制存储位数,优化为:对于各有效值的偏移值,根据各有效值中最大的偏移值,确定该最大的偏移值的最小二进制存储位数,并将该最小二进制存储位数作为各有效值的偏移值的二进制存储位数。
例如,表5中的第1段位图信息中各有效值中最大的偏移值为13,偏移值13的最小二进制存储位数为4,从而确定该段位图信息中偏移值1、3和13的二进制存储位数均为4。
类似地,可以得到表5中的第2段位图信息中各偏移值的二进制存储位数,此处不再赘述,确定结果为偏移值3的二进制存储位数为4,偏移值8的二进制存储位数为4。
下面分别说明步骤120中根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示信息,生成并存储该段位图信息的压缩信息,该压缩信息包含各偏移值的二进制表示信息。
表5中的第1段位图信息中偏移值1的二进制存储位数为4,对应的二进制表示信息位0001;偏移值3的二进制存储位数为4,对应的二进制表示信息位0011;偏移值13的二进制存储位数为4,对应的二进制表示信息位1101。因此生成并存储的该段位图信息的压缩信息可以为000100111101。
类似地,表5中的第2段位图信息中偏移值3的二进制存储位数为4,对应的二进制表示信息为0011;偏移值8的二进制存储位数为4,对应的二进制表示信息为1000。因此生成并存储的该段位图信息的压缩信息可以为00111000。具体结果如表7所示。
表7
段号 段位图信息 压缩信息
1 1010000000001000 000100111101
2 0010000100000000 00111000
由此可知,第1段位图信息的压缩信息的存储空间小于该段位图信息本身的段宽度;而第2段位图信息的压缩信息的存储空间小于该段位图信息本身的段宽度,因此采用本实施方式的方法可以减小位图索引的存储空间。
本实施例的技术方案,通过按预设段宽度分段,得到索引关键字对应的位图索引的各段位图信息,并将各段位图信息中各有效值的偏移值按对应的二进制存储位数进行存储,得到该段位图信息的压缩信息,由于只存储各段位图信息中各有效值的偏移值,因此能够减小位图索引的存储空间。
在上述实施例中,优选地,步骤110与步骤120可以并行执行。
也就是说,不需要等待该位图索引的各段位图信息都生成后,再执行步骤120,而是当当前段的宽度达到预设段宽度时,即可对该段位图信息按步骤120进行操作,从而在减小位图索引的存储空间的同时,可以提高位图索引的存储处理速度。
实施例二
请参阅图2,为本发明实施例二提供的一种位图索引压缩方法的流程图。如图2所示,所述方法包括:
步骤210、对于预先建立的数据基表中所包含的索引关键字的位图索引,将该位图索引按预设段宽度分段,得到多段位图信息;
步骤220、对于各段位图信息,确定当前段位图信息的稀疏因子;
在本步骤中,当有效值为1时,所述稀疏因子为当前段位图信息中0的个数与预设段宽度的比值;当有效值为0时,所述稀疏因子为当前段位图信息中1的个数与预设段宽度的比值。
步骤230、判断当前段位图信息的稀疏因子是否大于等于预设稀疏阈值,若是,执行步骤240;若否,执行步骤250;
步骤240、确定该段位图信息中各有效值的偏移值,其中,所述偏移值为对应的有效值在该段位图信息中的位数;根据各有效值的偏移值确定各偏移值的二进制存储位数;
在本步骤中,优选地,所述根据各有效值的偏移值确定各偏移值的二进制存储位数,包括:对于各有效值的偏移值,分别确定该偏移值对应的最小二进制存储位数。
步骤241、判断各偏移值的二进制存储位数的总和是否小于预设段宽度,若是,执行步骤242,若否,执行步骤250;
也就是说,根据各有效值的偏移值确定各偏移值的二进制存储位数的确定结果包括两种,一种为各有效值的偏移值对应的二进制存储位数不同,例如,表5中的第1段位图信息中偏移值1的最小二进制存储位数为1,偏移值3的最小二进制存储位数为2,偏移值13的最小二进制存储位数为4;另一种为各有效值的偏移值对应的二进制存储位数相同,例如,表5中的第1段位图信息中偏移值1、3和13的二进制存储位数均为4。
各偏移值的二进制存储位数的总和可以表征将该段位图信息中各偏移值按对应的二进制存储位数存储后,占用的存储空间的大小。
当各有效值的偏移值对应的二进制存储位数相同时,所述各偏移值的二进制存储位数的总和可以通过各偏移值的二进制存储位数与偏移值的个数的乘积确定。
步骤242、根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示信息,生成并存储该段位图信息的压缩信息,该压缩信息包含各偏移值的二进制表示信息,流程结束;
步骤250、利用普通位图压缩算法对当前段位图信息进行压缩,生成并存储该段位图信息的压缩信息,其中所述普通位图压缩算法包括zip压缩算法或rar压缩算法,流程结束。
也就是说,对于多段位图信息,当当前段位图信息的稀疏因子大于等于预设稀疏阈值时,确定该段位图信息中各有效值的偏移值;根据各有效值的偏移值确定各偏移值的二进制存储位数;当各偏移值的二进制存储位数的总和小于预设段宽度时,采用根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示信息的方式对当前段位图信息进行压缩;而当当前段位图信息的稀疏因子小于预设稀疏阈值时,则利用普通位图压缩算法对当前段位图信息进行压缩。
对于多段位图信息,当当前段位图信息的稀疏因子小于预设稀疏阈值时,则利用普通位图压缩算法对当前段位图信息进行压缩。
本实施例的技术方案,通过按预设段宽度分段,得到索引关键字对应的位图索引的各段位图信息,当当前段位图信息的稀疏因子大于等于预设稀疏阈值时,确定该段位图信息中各有效值的偏移值,并根据各有效值的偏移值确定各偏移值的二进制存储位数,当各偏移值的二进制存储位数的总和小于预设段宽度时,将各段位图信息中各有效值的偏移值按对应的二进制存储位数进行存储,得到该段位图信息的压缩信息,由于只存储各段位图信息中各有效值的偏移值,因此能够减小位图索引的存储空间;当当前段位图信息的稀疏因子小于预设稀疏阈值时,或当各偏移值的二进制存储位数的总和不小于预设段宽度时,则利用普通位图压缩算法对当前段位图信息进行压缩,减小了位图索引的存储空间。
实施例三
请参阅图3,为本发明实施例三提供的一种位图索引压缩方法的流程图。如图3所示,所述方法包括:
步骤310、对于预先建立的数据基表中所包含的索引关键字的位图索引,将该位图索引按预设段宽度分段,得到多段位图信息;
优选地,所述预设段宽度为8的整数倍。
步骤320、对于各段位图信息,确定该段位图信息的第一辅助信息;
其中,所述第一辅助信息至少包括该段位图信息的起始行号和该段位图信息的结束行号。所述第一辅助信息还可以包括分段号。所述结束行号与所述起始行号和预设段宽度有关。
例如,若索引关键字L的位图索引为101000000000100000100001,当预设段宽度为16时,则索引关键字L的位图索引的分段结果如表4所示。其中,第1段位图信息为1010000000001000,该段位图信息的起始行号为1,结束行号为16;第2段位图信息为0010000100000000,该段位图信息的起始行号为17,结束行号为32。
需要说明的是,根据各段位图信息的第一辅助信息,有利于得到分段前各段位图信息对应的位图索引。
步骤330、确定该段位图信息中各有效值的偏移值;根据各有效值的偏移值确定各偏移值的二进制存储位数;
其中,所述偏移值为对应的有效值在该段位图信息中的位数,所述有效值优选为1。
步骤340、确定该段位图信息的第二辅助信息;
所述第二辅助信息至少包括各偏移值的二进制存储位数;所述第二辅助信息还可以包括该段位图信息的压缩类型,所述压缩类型可以表征该段位图信息的压缩算法。
例如,采用本实施例的方法对段位图信息中各偏移值进行压缩存储对应的压缩类型为Ⅰ,而采用普通位图压缩算法对当前段位图信息进行压缩的压缩类型为Ⅱ。
需要说明的是,根据各段位图信息的第二辅助信息,有利于通过解压得到分段前各段位图信息对应的位图索引。
步骤350、根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示信息,生成并存储该段位图信息的压缩信息,该压缩信息包含各偏移值的二进制表示信息、该段位图信息的第一辅助信息和/或该段位图信息的第二辅助信息。
本实施例的技术方案,通过按预设段宽度分段,得到索引关键字对应的位图索引的各段位图信息,并将各段位图信息中各有效值的偏移值按对应的二进制存储位数进行存储,得到该段位图信息的压缩信息,压缩信息中除包含各偏移值的二进制表示信息,还包含该段位图信息的第一辅助信息和/或该段位图信息的第二辅助信息,由于只存储各段位图信息中各有效值的偏移值,因此能够减小位图索引的存储空间,同时第一辅助信息和/或第二辅助信息有利于降低位图索引的解压复杂度,能够提高位图索引的检索查询效率。
实施例四
请参阅图4,为本发明实施例四提供的一种位图索引压缩装置的结构示意图。该装置包括:分段模块410、偏移值确定模块420、二进制存储位数确定模块430和第一存储模块440。
其中,分段模块410用于对于预先建立的数据基表中所包含的索引关键字的位图索引,将该位图索引按预设段宽度分段,得到多段位图信息;偏移值确定模块420用于对于各段位图信息,确定该段位图信息中各有效值的偏移值,其中,所述偏移值为对应的有效值在该段位图信息中的位数;二进制存储位数确定模块430用于根据各有效值的偏移值确定各偏移值的二进制存储位数;第一存储模块440用于根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示信息,生成并存储该段位图信息的压缩信息,该压缩信息包含各偏移值的二进制表示信息。
优选地,所述预设段宽度为8的整数倍。
本实施例的技术方案,通过按预设段宽度分段,得到索引关键字对应的位图索引的各段位图信息,并将各段位图信息中各有效值的偏移值按对应的二进制存储位数进行存储,得到该段位图信息的压缩信息,由于只存储各段位图信息中各有效值的偏移值,因此能够减小位图索引的存储空间。
在上述方案中,所述装置还包括:稀疏因子确定模块。
其中,稀疏因子确定模块用于在对于预先建立的数据基表中所包含的索引关键字的位图索引,将该位图索引按预设段宽度分段,得到多段位图信息之后,确定当前段位图信息的稀疏因子。其中当有效值为1时,所述稀疏因子为当前段位图信息中0的个数与预设段宽度的比值;或当有效值为0时,所述稀疏因子为当前段位图信息中1的个数与预设段宽度的比值。
偏移值确定模块420具体用于对于各段位图信息,当当前位图信息的稀疏因子大于等于预设稀疏阈值时,确定该段位图信息中各有效值的偏移值,其中,所述偏移值为对应的有效值在该段位图信息中的位数。
在上述方案中,所述装置还包括:第二存储模块。
第二存储模块用于当前段位图信息的稀疏因子小于稀疏阈值时,利用普通位图压缩算法对当前段位图信息进行压缩,生成并存储该段位图信息的压缩信息,其中所述普通位图压缩算法包括zip压缩算法或rar压缩算法。
在上述方案中,所述装置还包括:判断模块。
判断模块用于判断各偏移值的二进制存储位数的总和是否小于预设段宽度;
第一存储模块440具体用于在根据各有效值的偏移值确定各偏移值的二进制存储位数之后,当各偏移值的二进制存储位数的总和小于预设段宽度时,根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示信息,生成并存储该段位图信息的压缩信息,该压缩信息包含各偏移值的二进制表示信息。
在上述方案中,第二存储模块还用于当各偏移值的二进制存储位数的总和不小于预设段宽度时,利用普通位图压缩算法对当前段位图信息进行压缩,生成并存储该段位图信息的压缩信息,其中所述普通位图压缩算法包括zip压缩算法或rar压缩算法。
在上述方案中,所述分段模块410,与所述偏移值确定模块420、二进制存储位数确定模块430和第一存储模块440,可以并行执行。
在上述方案中,所述装置还可以包括:第一辅助信息确定模块、第二辅助信息确定模块。
其中,第一辅助信息确定模块用于在对于预先建立的数据基表中所包含的索引关键字的位图索引,将该位图索引按预设段宽度分段,得到多段位图信息之后,确定该段位图信息的第一辅助信息,所述第一辅助信息至少包括该段位图信息的起始行号和该段位图信息的结束行号;第二辅助信息确定模块用于在根据各有效值的偏移值确定各偏移值的二进制存储位数之后,确定该段位图信息的第二辅助信息,所述第二辅助信息至少包括各偏移值的二进制存储位数;第一存储模块440具体用于根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示信息,生成并存储该段位图信息的压缩信息,该压缩信息包含各偏移值的二进制表示信息、该段位图信息的第一辅助信息和/或该段位图信息的第二辅助信息。
本发明实施例提供的位图索引压缩装置可执行本发明任意实施例所提供的位图索引压缩方法,具备执行方法相应的功能模块和有益效果。
实施例五
请参阅图5,为本发明实施例五提供的一种位图索引解压方法的流程图。本发明实施例的方法可以由配置以硬件和/或软件实现的位图索引解压装置来执行,该实现装置典型的是配置于能够提供位图索引解压服务的服务器中。如图5所示,所述方法包括:
步骤510、获取数据基表中所包含的索引关键字的位图索引的各段位图信息的压缩信息;
其中,所述各段位图信息通过将该位图索引按预设段宽度分段获得,对于各段位图信息的压缩信息,该段位图信息的压缩信息包含二进制表示信息和二进制存储位数,所述二进制表示信息包含该段位图信息中各有效值的偏移值的二进制表示信息;所述二进制存储位数包含该段位图信息中各有效值的偏移值的二进制表示信息的存储位数,所述偏移值为对应的有效值在该段位图信息中的位数。
其中,优选地,所述预设段宽度为8的整数倍。
步骤520、对于各段位图信息的压缩信息,生成宽度为预设段宽度的初始化位图信息;根据该段位图信息的压缩信息中的二进制存储位数,将该段位图信息的压缩信息中的二进制表示信息转换为十进制信息,得到该段位图信息的压缩信息中各有效值的偏移值;通过将所述初始化位图信息中各有效值的偏移值对应的位设置为有效值,得到该段位图信息的压缩信息对应的解压信息。
示例性地,通过表8所示的获取的数据基表中所包含的索引关键字L的位图索引的各段位图信息的压缩信息为例进行说明,其中预设段宽度为16,各段位图信息中有效值为1。
表8
对于第1段压缩信息,生成宽度为预设宽度的初始化位图信息,可选地,所述初始化位图信息的各位均可以为0。例如,生成宽度为16的初始化位图信息,0000000000000000。根据该段位图信息的压缩信息中的二进制存储位数1、2和4,将该段位图信息的压缩信息中的二进制表示信息1111101转换为十进制信息,具体地,二进制表示信息1111101中的第1位转换为十进制信息1;二进制表示信息1111101中的第2位和第3为这2位转换为十进制信息3;二进制表示信息1111101中的第4位到第8为这4位转换为十进制信息13;因此,得到的该段位图信息的压缩信息中各有效值的偏移值为1,3和13。通过将所述初始化位图信息中各有效值的偏移值对应的位设置为有效值,即第1、3和13位设置为有效值1,从而得到该段位图信息的压缩信息对应的解压信息为1010000000001000。
类似地,对于第二段压缩信息,得到的该段位图信息的压缩信息中各有效值的偏移值为3和8。通过将所述初始化位图信息中各有效值的偏移值对应的位设置为有效值,即第3和8位设置为有效值1,从而得到该段位图信息的压缩信息对应的解压信息为0010000100000000。
本实施例的技术方案,利用各有效值的偏移值的的二进制表示信息的存储位数,得到各段位图信息的压缩信息中各有效值的偏移值,并通过将所述初始化位图信息中各有效值的偏移值对应的位设置为有效值,得到该段位图信息的压缩信息对应的解压信息,降低了位图索引的解压复杂度,并提高了位图索引的检索查询效率。
在上述方案中,在步骤510之后,还可以包括:
步骤511、获取各段位图信息的压缩信息对应的各段位图信息的第一辅助信息;
所述第一辅助信息至少包括该段位图信息的起始行号和该段位图信息的结束行号。
仍以上述实例为例进行说明。获取索引关键字L的位图索引的第1段位图信息1010000000001000的第一辅助信息,其中,所述第一辅助信息至少包括该段位图信息的起始行号1和该结束行号16。
类似地,获取索引关键字L的位图索引的第2段位图信息0010000100000000的第一辅助信息,其中,所述第一辅助信息至少包括该段位图信息的起始行号17和该结束行号32。
在步骤520之后,还可以包括:
步骤530、根据各段位图信息的压缩信息对应的解压信息,并根据对应的第一辅助信息,得到对应的索引关键字的位图索引。
仍以上述实例为例进行说明。根据索引关键字L的位图索引的第1段位图信息1010000000001000的第一辅助信息,以及第2段位图信息0010000100000000的第一辅助信息,按行号从小到大将各段位图信息进行排序,得到对应的索引关键字L的位图索引为10100000000010000010000100000000,从而实现对索引关键字L的位图索引的解压。
类似地,可以得到数据基表中其余索引关键字的位图索引,此处不再赘述。
本实施例的技术方案,通过进一步获取各段位图信息的压缩信息对应的各段位图信息的第一辅助信息,并根据各段位图信息的压缩信息对应的解压信息,可以得到对应的索引关键字的位图索引。
实施例六
请参阅图6,为本发明实施例六提供的一种位图索引解压方法的流程图。该方法包括:
步骤610、获取数据基表中所包含的索引关键字的位图索引的各段位图信息的压缩信息,并获取各段位图信息的稀疏因子;
其中,所述各段位图信息通过将该位图索引按预设段宽度分段获得,对于各段位图信息的压缩信息,该段位图信息的压缩信息包含二进制表示信息和二进制存储位数,所述二进制表示信息包含该段位图信息中各有效值的偏移值的二进制表示信息;所述二进制存储位数包含该段位图信息中各有效值的偏移值的二进制表示信息的存储位数,所述偏移值为对应的有效值在该段位图信息中的位数。
其中当有效值为1时,所述稀疏因子为该段位图信息中0的个数与预设段宽度的比值;或当有效值为0时,所述稀疏因子为该段位图信息中1的个数与预设段宽度的比值。
步骤620、判断当前段位图信息的压缩信息中该段位图信息的稀疏因子是否大于等于预设稀疏阈值;若是,执行步骤630;若否,执行步骤640;
步骤630、判断各偏移值的二进制存储位数的总和是否小于预设段宽度;若是,执行步骤631;若否,执行步骤640;
步骤631、根据该段位图信息的压缩信息中的二进制存储位数,将该段位图信息的压缩信息中的二进制表示信息转换为十进制信息,得到该段位图信息的压缩信息中各有效值的偏移值;通过将所述初始化位图信息中各有效值的偏移值对应的位设置为有效值,得到该段位图信息的压缩信息对应的解压信息,流程结束;
步骤640、利用普通位图解压算法对当前段位图信息的压缩信息进行解压,得到该段位图信息的压缩信息对应的解压信息,其中所述普通位图压缩算法包括zip压缩算法或rar压缩算法,流程结束。
也就是说,对于各段位图信息的压缩信息,当当前段位图信息的压缩信息中该段位图信息的稀疏因子大于等于预设稀疏阈值,并且当各偏移值的二进制存储位数的总和小于预设段宽度时,则将该段位图信息的压缩信息中的二进制表示信息转换为十进制信息,得到该段位图信息的压缩信息中各有效值的偏移值;通过将所述初始化位图信息中各有效值的偏移值对应的位设置为有效值,得到该段位图信息的压缩信息对应的解压信息。而当当前段位图信息的压缩信息中该段位图信息的稀疏因子小于预设稀疏阈值,或当各偏移值的二进制存储位数的总和不小于预设段宽度时,则利用普通位图解压算法对当前段位图信息的压缩信息进行解压。
本实施例的技术方案,根据当前段位图信息的压缩信息中该段位图信息的稀疏因子是否大于等于预设稀疏阈值,采用不同的解压方法。当当前段位图信息的压缩信息中该段位图信息的稀疏因子大于等于预设稀疏阈值,并且当各偏移值的二进制存储位数的总和小于预设段宽度时,利用该段位图信息的压缩信息中的二进制存储位数,得到各段位图信息的压缩信息中各有效值的偏移值,并通过将初始化位图信息中各有效值的偏移值对应的位设置为有效值,得到该段位图信息的压缩信息对应的解压信息,降低了位图索引的解压复杂度,并提高了位图索引的检索查询效率。而当当前段位图信息的压缩信息中该段位图信息的稀疏因子小于预设稀疏阈值,或当各偏移值的二进制存储位数的总和不小于预设段宽度时,则利用普通位图解压算法对当前段位图信息的压缩信息进行解压。
实施例七
请参阅图7,为本发明实施例七提供的一种位图索引解压装置的结构示意图。该装置包括:压缩信息获取模块710、初始化位图信息生成模块720、偏移值确定模块730和第一解压模块740。
其中,压缩信息获取模块710用于获取数据基表中所包含的索引关键字的位图索引的各段位图信息的压缩信息,其中,所述各段位图信息通过将该位图索引按预设段宽度分段获得,对于各段位图信息的压缩信息,该段位图信息的压缩信息包含二进制表示信息和二进制存储位数,所述二进制表示信息包含该段位图信息中各有效值的偏移值的二进制表示信息;所述二进制存储位数包含该段位图信息中各有效值的偏移值的二进制表示信息的存储位数,所述偏移值为对应的有效值在该段位图信息中的位数;初始化位图信息生成模块720用于对于各段位图信息的压缩信息,生成宽度为预设段宽度的初始化位图信息;偏移值确定模块730用于根据该段位图信息的压缩信息中的二进制存储位数,将该段位图信息的压缩信息中的二进制表示信息转换为十进制信息,得到该段位图信息的压缩信息中各有效值的偏移值;第一解压模块740用于通过将所述初始化位图信息中各有效值的偏移值对应的位设置为有效值,得到该段位图信息的压缩信息对应的解压信息。
优选地,所述预设段宽度为8的整数倍。
本实施例的技术方案,利用各有效值的偏移值的二进制表示信息的存储位数,得到各段位图信息的压缩信息中各有效值的偏移值,并通过将所述初始化位图信息中各有效值的偏移值对应的位设置为有效值,得到该段位图信息的压缩信息对应的解压信息,降低了位图索引的解压复杂度,并提高了位图索引的检索查询效率。
在上述方案中,压缩信息获取模块710可以包括:稀疏因子获取单元。
稀疏因子获取单元用于获取各段位图信息的稀疏因子,其中当有效值为1时,所述稀疏因子为该段位图信息中0的个数与预设段宽度的比值;或当有效值为0时,所述稀疏因子为该段位图信息中1的个数与预设段宽度的比值。
偏移值确定模块730具体用于在当前段位图信息的压缩信息中该段位图信息的稀疏因子大于等于预设稀疏阈值时,根据该段位图信息的压缩信息中的二进制存储位数,将该段位图信息的压缩信息中的二进制表示信息转换为十进制信息,得到该段位图信息的压缩信息中各有效值的偏移值。
在上述方案中,该装置还可以包括:第二解压模块。
第二解压模块用于在当前段位图信息的压缩信息中该段位图信息的稀疏因子小于预设稀疏阈值时,利用普通位图解压算法对当前段位图信息的压缩信息进行解压,得到该段位图信息的压缩信息对应的解压信息,其中所述普通位图压缩算法包括zip压缩算法或rar压缩算法。
在上述方案中,该装置还可以包括:判断模块。
判断模块,用于在当前段位图信息的压缩信息中该段位图信息的稀疏因子大于等于预设稀疏阈值时,判断各偏移值的二进制存储位数的总和是否小于预设段宽度。
偏移值确定模块730具体用于在当前段位图信息的压缩信息中该段位图信息的稀疏因子大于等于预设稀疏阈值时,并且当各偏移值的二进制存储位数的总和小于预设段宽度时,根据该段位图信息的压缩信息中的二进制存储位数,将该段位图信息的压缩信息中的二进制表示信息转换为十进制信息,得到该段位图信息的压缩信息中各有效值的偏移值。
在上述方案中,第二解压模块还可以用于当各偏移值的二进制存储位数的总和不小于预设段宽度时,利用普通位图解压算法对当前段位图信息的压缩信息进行解压,得到该段位图信息的压缩信息对应的解压信息,其中所述普通位图压缩算法包括zip压缩算法或rar压缩算法。
在上述方案中,压缩信息获取模块710还可以包括:第一辅助信息获取单元。
第一辅助信息获取单元用于获取各段位图信息的压缩信息对应的各段位图信息的第一辅助信息,所述第一辅助信息至少包括该段位图信息的起始行号和该段位图信息的结束行号。
所述装置还可以包括:位图索引确定模块。
位图索引确定模块用于在通过将所述初始化位图信息中各有效值的偏移值对应的位设置为有效值,得到该段位图信息的压缩信息对应的解压信息之后,根据各段位图信息的压缩信息对应的解压信息,并根据对应的第一辅助信息,得到对应的索引关键字的位图索引。
本发明实施例提供的位图索引解压装置可执行本发明任意实施例所提供的位图索引解压方法,具备执行方法相应的功能模块和有益效果。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用于说明本发明的技术方案,而非对其进行限制;实施例中优选的实施方式,并非对其进行限制,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (15)

1.一种位图索引压缩方法,其特征在于,包括:
对于预先建立的数据基表中所包含的索引关键字的位图索引,将该位图索引按预设段宽度分段,得到多段位图信息;
对于各段位图信息,确定该段位图信息中各有效值的偏移值,其中,所述有效值为位图信息中为1的值,所述偏移值为对应的有效值在该段位图信息中的位数,所述位数为该段位图信息从左向右数的顺序位;根据各有效值的偏移值确定各偏移值的二进制存储位数;根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示信息,生成并存储该段位图信息的压缩信息,该压缩信息包含各偏移值的二进制表示信息。
2.根据权利要求1所述的方法,其特征在于,在对于预先建立的数据基表中所包含的索引关键字的位图索引,将该位图索引按预设段宽度分段,得到多段位图信息之后、在确定各段位图信息中各有效值的偏移值之前,还包括:
所述对于各段位图信息,确定当前段位图信息的稀疏因子,其中当有效值为1时,所述稀疏因子为当前段位图信息中0的个数与预设段宽度的比值;或当有效值为0时,所述稀疏因子为当前段位图信息中1的个数与预设段宽度的比值;
确定该段位图信息中各有效值的偏移值,其中,所述偏移值为对应的有效值在该段位图信息中的位数;根据各有效值的偏移值确定各偏移值的二进制存储位数;根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示信息,生成并存储该段位图信息的压缩信息,该压缩信息包含各偏移值的二进制表示信息,包括:
当当前位图信息的稀疏因子大于等于预设稀疏阈值时,确定该段位图信息中各有效值的偏移值,其中,所述偏移值为对应的有效值在该段位图信息中的位数;根据各有效值的偏移值确定各偏移值的二进制存储位数;根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示信息,生成并存储该段位图信息的压缩信息,该压缩信息包含各偏移值的二进制表示信息。
3.根据权利要求2所述的方法,其特征在于,在当前段位图信息的稀疏因子小于稀疏阈值时,还包括:
利用普通位图压缩算法对当前段位图信息进行压缩,生成并存储该段位图信息的压缩信息,其中所述普通位图压缩算法包括zip压缩算法或rar压缩算法。
4.根据权利要求2所述的方法,其特征在于,在根据各有效值的偏移值确定各偏移值的二进制存储位数之后、在根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示信息之前,还包括:
判断各偏移值的二进制存储位数的总和是否小于预设段宽度;
根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示信息,生成并存储该段位图信息的压缩信息,该压缩信息包含各偏移值的二进制表示信息,包括:
当各偏移值的二进制存储位数的总和小于预设段宽度时,根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示信息,生成并存储该段位图信息的压缩信息,该压缩信息包含各偏移值的二进制表示信息。
5.根据权利要求4所述的方法,其特征在于,当各偏移值的二进制存储位数的总和不小于预设段宽度时,还包括:
利用普通位图压缩算法对当前段位图信息进行压缩,生成并存储该段位图信息的压缩信息,其中所述普通位图压缩算法包括zip压缩算法或rar压缩算法。
6.根据权利要求1所述的方法,其特征在于,将该位图索引按预设段宽度分段的步骤,与确定一个段位图信息中各有效值的偏移值,根据各有效值的偏移值确定各偏移值的二进制存储位数,根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示信息,生成并存储该段位图信息的压缩信息的步骤,并行执行。
7.根据权利要求1所述的方法,其特征在于,所述预设段宽度为8的整数倍。
8.根据权利要求1所述的方法,其特征在于,在对于预先建立的数据基表中所包含的索引关键字的位图索引,将该位图索引按预设段宽度分段,得到多段位图信息之后、在确定各段位图信息中各有效值1的偏移值之前,还包括:
确定该段位图信息的第一辅助信息,所述第一辅助信息至少包括该段位图信息的起始行号和该段位图信息的结束行号;
在根据各有效值的偏移值确定各偏移值的二进制存储位数之后、在根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示信息之前,还包括:
确定该段位图信息的第二辅助信息,所述第二辅助信息至少包括各偏移值的二进制存储位数;
所述根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示信息,生成并存储该段位图信息的压缩信息,该压缩信息包含各偏移值的二进制表示信息,包括:
根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示信息,生成并存储该段位图信息的压缩信息,该压缩信息包含各偏移值的二进制表示信息、该段位图信息的第一辅助信息和/或该段位图信息的第二辅助信息。
9.一种根据权利要求1-5,7-8任一项所述的一种位图索引压缩方法的解压方法,其特征在于,包括:
获取数据基表中所包含的索引关键字的位图索引的各段位图信息的压缩信息,其中,所述各段位图信息通过将该位图索引按预设段宽度分段获得,对于各段位图信息的压缩信息,该段位图信息的压缩信息包含二进制表示信息和二进制存储位数,所述二进制表示信息包含该段位图信息中各有效值的偏移值的二进制表示信息;所述二进制存储位数包含该段位图信息中各有效值的偏移值的二进制表示信息的存储位数,所述偏移值为对应的有效值在该段位图信息中的位数;
对于各段位图信息的压缩信息,生成宽度为预设段宽度的初始化位图信息;根据该段位图信息的压缩信息中的二进制存储位数,将该段位图信息的压缩信息中的二进制表示信息转换为十进制信息,得到该段位图信息的压缩信息中各有效值的偏移值;通过将所述初始化位图信息中各有效值的偏移值对应的位设置为有效值,得到该段位图信息的压缩信息对应的解压信息。
10.根据权利要求9所述的方法,其特征在于,所述获取数据基表中所包含的索引关键字的位图索引的各段位图信息的压缩信息,还包括:获取各段位图信息的稀疏因子,其中当有效值为1时,所述稀疏因子为该段位图信息中0的个数与预设段宽度的比值;或当有效值为0时,所述稀疏因子为该段位图信息中1的个数与预设段宽度的比值;
所述根据该段位图信息的压缩信息中的二进制存储位数,将该段位图信息的压缩信息中的二进制表示信息转换为十进制信息,得到该段位图信息的压缩信息中各有效值的偏移值;通过将所述初始化位图信息中各有效值的偏移值对应的位设置为有效值,得到该段位图信息的压缩信息对应的解压信息,包括:
在当前段位图信息的压缩信息中该段位图信息的稀疏因子大于等于预设稀疏阈值时,根据该段位图信息的压缩信息中的二进制存储位数,将该段位图信息的压缩信息中的二进制表示信息转换为十进制信息,得到该段位图信息的压缩信息中各有效值的偏移值;通过将所述初始化位图信息中各有效值的偏移值对应的位设置为有效值,得到该段位图信息的压缩信息对应的解压信息。
11.根据权利要求10所述的方法,其特征在于,在当前段位图信息的压缩信息中该段位图信息的稀疏因子小于预设稀疏阈值时,还包括:
利用普通位图解压算法对当前段位图信息的压缩信息进行解压,得到该段位图信息的压缩信息对应的解压信息,其中所述普通位图压缩算法包括zip压缩算法或rar压缩算法。
12.根据权利要求10所述的方法,其特征在于,在当前段位图信息的压缩信息中该段位图信息的稀疏因子大于等于预设稀疏阈值时、在根据该段位图信息的压缩信息中的二进制存储位数,将该段位图信息的压缩信息中的二进制表示信息转换为十进制信息之前,还包括:
判断各偏移值的二进制存储位数的总和是否小于预设段宽度;
所述在当前段位图信息的压缩信息中该段位图信息的稀疏因子大于等于预设稀疏阈值时,根据该段位图信息的压缩信息中的二进制存储位数,将该段位图信息的压缩信息中的二进制表示信息转换为十进制信息,得到该段位图信息的压缩信息中各有效值的偏移值;通过将所述初始化位图信息中各有效值的偏移值对应的位设置为有效值,得到该段位图信息的压缩信息对应的解压信息,包括:
在当前段位图信息的压缩信息中该段位图信息的稀疏因子大于等于预设稀疏阈值时,并且当各偏移值的二进制存储位数的总和小于预设段宽度时,根据该段位图信息的压缩信息中的二进制存储位数,将该段位图信息的压缩信息中的二进制表示信息转换为十进制信息,得到该段位图信息的压缩信息中各有效值的偏移值;通过将所述初始化位图信息中各有效值的偏移值对应的位设置为有效值,得到该段位图信息的压缩信息对应的解压信息。
13.根据权利要求10所述的方法,其特征在于,当各偏移值的二进制存储位数的总和不小于预设段宽度时,还包括:
利用普通位图解压算法对当前段位图信息的压缩信息进行解压,得到该段位图信息的压缩信息对应的解压信息,其中所述普通位图压缩算法包括zip压缩算法或rar压缩算法。
14.根据权利要求9所述的方法,其特征在于,所述预设段宽度为8的整数倍。
15.根据权利要求9所述的方法,其特征在于,所述获取数据基表中所包含的索引关键字的位图索引的各段位图信息的压缩信息,还包括:获取各段位图信息的压缩信息对应的各段位图信息的第一辅助信息,所述第一辅助信息至少包括该段位图信息的起始行号和该段位图信息的结束行号;
在通过将所述初始化位图信息中各有效值的偏移值对应的位设置为有效值,得到该段位图信息的压缩信息对应的解压信息之后,还包括:
根据各段位图信息的压缩信息对应的解压信息,并根据对应的第一辅助信息,得到对应的索引关键字的位图索引。
CN201410240532.2A 2014-05-30 2014-05-30 位图索引压缩方法和位图索引解压方法 Active CN103995887B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410240532.2A CN103995887B (zh) 2014-05-30 2014-05-30 位图索引压缩方法和位图索引解压方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410240532.2A CN103995887B (zh) 2014-05-30 2014-05-30 位图索引压缩方法和位图索引解压方法

Publications (2)

Publication Number Publication Date
CN103995887A CN103995887A (zh) 2014-08-20
CN103995887B true CN103995887B (zh) 2017-04-05

Family

ID=51310052

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410240532.2A Active CN103995887B (zh) 2014-05-30 2014-05-30 位图索引压缩方法和位图索引解压方法

Country Status (1)

Country Link
CN (1) CN103995887B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105824829B (zh) * 2015-01-06 2020-05-15 中国移动通信集团浙江有限公司 一种用于订购记录的压缩方法、解压缩方法及装置
CN105790771A (zh) * 2016-03-29 2016-07-20 黄河勘测规划设计有限公司 超高压缩比的三维地形数据压缩方法
CN107315535B (zh) * 2016-04-27 2019-09-20 北京京东尚科信息技术有限公司 信息处理方法和装置
CN108055266A (zh) * 2017-12-15 2018-05-18 南京邮电大学盐城大数据研究院有限公司 一种基于位置偏移的解析8583数据报文的方法及系统
CN108052657A (zh) * 2017-12-28 2018-05-18 税友软件集团股份有限公司 一种业务标签计算方法、系统、设备及计算机存储介质
CN108256087B (zh) * 2018-01-22 2020-12-04 北京腾云天下科技有限公司 一种基于位图结构的数据导入、查询及处理方法
CN108829649B (zh) * 2018-05-31 2020-04-10 西安交通大学 基于hbase键值索引的复杂类型编码序列化算法的实现方法
CN110825936B (zh) * 2018-07-23 2024-04-30 北京小度互娱科技有限公司 生成倒排索引和用倒排索引检索的方法、系统及存储介质
CN109656474B (zh) * 2018-11-15 2022-02-15 金蝶软件(中国)有限公司 数据存储方法、装置、计算机设备和存储介质
CN109597571B (zh) * 2018-11-15 2022-02-15 金蝶软件(中国)有限公司 数据存储方法、数据读取方法、装置和计算机设备
CN109740023B (zh) * 2019-01-03 2020-09-29 中国人民解放军国防科技大学 基于双向位图的稀疏矩阵压缩存储方法
CN110647508B (zh) * 2019-08-30 2022-07-01 北京达佳互联信息技术有限公司 数据压缩方法、数据解压缩方法、装置及电子设备
CN110888863A (zh) * 2019-11-25 2020-03-17 恩亿科(北京)数据科技有限公司 一种状态字段优化方法、装置、电子设备及存储介质
WO2022016532A1 (en) * 2020-07-24 2022-01-27 Alibaba Group Holding Limited Efficient scan through comprehensive bitmap-index over columnar storage format
CN112532748B (zh) * 2020-12-24 2022-05-17 北京百度网讯科技有限公司 消息推送方法、装置、设备、介质和计算机程序产品
CN114579835B (zh) * 2022-05-09 2022-08-05 深圳市大头兄弟科技有限公司 数据存储、查询方法和相关设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102420831A (zh) * 2011-12-16 2012-04-18 清华大学 一种多域网包分类方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7467150B2 (en) * 2005-10-25 2008-12-16 Oracle International Corproation Block-aware encoding of bitmap for bitmap index eliminating max-slot restriction
US9432879B2 (en) * 2012-02-29 2016-08-30 Qualcomm Incorporated Apparatus and methods for block acknowledgment compression

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102420831A (zh) * 2011-12-16 2012-04-18 清华大学 一种多域网包分类方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Bitmap Index Design and Evaluation;Chee-Yong Chan等;《ACM Sigmod Record》;19991231;第1-12页 *
分片位图索引:一种适用于云数据管理的辅助索引机制;孟必平等;《计算机学报》;20121130;第35卷(第11期);第2306-2316页 *
列存储数据库中压缩位图索引技术;王梅等;《计算机工程》;20120920;第38卷(第18期);第26-29页 *
达梦数据库块级压缩方案的设计与实现;柯军;《中国优秀硕士学位论文全文数据库信息科技辑》;20090615(第06期);第I138-576页 *

Also Published As

Publication number Publication date
CN103995887A (zh) 2014-08-20

Similar Documents

Publication Publication Date Title
CN103995887B (zh) 位图索引压缩方法和位图索引解压方法
TW502178B (en) Efficient and lossless conversion for transmission or storage of data
CN107592116B (zh) 一种数据压缩方法、装置及存储介质
CN104750571B (zh) 用以进行错误纠正的方法、存储装置与存储装置的控制器
CN106549673B (zh) 一种数据压缩方法及装置
CN112953550B (zh) 数据压缩的方法、电子设备及存储介质
CN108416427A (zh) 卷积核堆积数据流、压缩编码以及深度学习算法
US8639672B2 (en) Multiplex classification for tabular data compression
WO2019080670A1 (zh) 基因测序数据压缩解压方法、系统及计算机可读介质
CN102708183A (zh) 数据压缩的方法和装置
CN109428603A (zh) 一种数据编码方法、装置以及存储介质
CN116861041B (zh) 一种电子公文处理方法及系统
CN109428602A (zh) 一种数据编码方法、装置以及存储介质
CN101236550A (zh) 一种处理树型结构数据的方法及系统
CN113741858A (zh) 存内乘加计算方法、装置、芯片和计算设备
CN105701645A (zh) 一种物料管理方法及装置
CN110971904B (zh) 一种图像压缩的控制方法
CN111209741A (zh) 表格数据字典的处理方法及装置
CN100568284C (zh) 计算机图形数据编码装置、解码装置、编码和解码方法
Hasugian et al. File Compression Application Design Using Half Byte Algorithm
CN117439616A (zh) 基于Linux系统的数据沙盒实现方法
CN106788447B (zh) 一种lz77压缩算法的匹配长度输出方法及装置
WO2017157038A1 (zh) 数据处理的方法、装置和设备
CN109698703B (zh) 基因测序数据解压方法、系统及计算机可读介质
US20100225508A1 (en) Variable-Length Code Decoding Device and Variable-Length Code Decoding Method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Bitmap index compressing method and bitmap index decompressing method

Effective date of registration: 20181228

Granted publication date: 20170405

Pledgee: Wuhan Hongshan Branch of Industrial and Commercial Bank of China Limited

Pledgor: Shanghai Dameng Database Co.,Ltd.

Registration number: 2018420000081

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20220602

Granted publication date: 20170405

Pledgee: Wuhan Hongshan Branch of Industrial and Commercial Bank of China Ltd.

Pledgor: SHANGHAI DAMENG DATABASE Co.,Ltd.

Registration number: 2018420000081