位图索引压缩方法和位图索引解压方法技术

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

【技术实现步骤摘要】
位图索引压缩方法和位图索引解压方法
本专利技术实施例涉及数据库
,尤其涉及一种位图索引压缩方法和位图索引解压方法。
技术介绍
随着计算机信息技术的快速发展,越来越多的用户对海量数据的存储和检索提出了更高的要求。位图索引对应于数据基表中的索引关键字,位图索引在海量数据上的应用是普遍的,例如在数据基表上通过位图索引检索某个产品在某个时间段的销售情况等等。在提升位图索引检索性能的同时,对位图索引存储空间的要求也越来越高,因此位图索引压缩技术应运而生。现有的位图索引压缩技术,一般是通过计算数据基表的索引关键字对应的位图索引中每个1之前的0的个数,并确定该个数的二进制表示位数,同时通过添加控制信息对该个数的二进制表示位数以及该个数的二进制数进行编码,从而实现数据基表的索引关键字对应的位图索引的压缩存储。上述位图索引压缩技术的缺陷在于:虽然通过将每个1前面的0的个数用相应位数的二进制记录,可以减少每个1前面的0的个数的存储空间,但在编码中添加的控制信息会导致位图索引的存储空间的增大;而且复杂的编码方式增加了位图索引的解压复杂度,从而影响位图索引的检索查询效率。
技术实现思路
本专利技术实施例提供一种位图索引压缩方法及装置,以减小位图索引的存储空间;本专利技术实施例还提供一种位图索引解压方法及装置,以降低位图索引的解压复杂度,以提高位图索引的检索查询效率。第一方面,本专利技术实施例提供了一种位图索引压缩方法,包括:对于预先建立的数据基表中所包含的索引关键字的位图索引,将该位图索引按预设段宽度分段,得到多段位图信息;对于各段位图信息,确定该段位图信息中各有效值的偏移值,其中,所述有效值为位图信息中为1的值,所述偏移值为对应的有效值在该段位图信息中的位数,所述位数为该段位图信息从左向右数的顺序位;根据各有效值的偏移值确定各偏移值的二进制存储位数;根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示信息,生成并存储该段位图信息的压缩信息,该压缩信息包含各偏移值的二进制表示信息。第二方面,本专利技术实施例提供了一种位图索引压缩装置,包括:分段模块,用于对于预先建立的数据基表中所包含的索引关键字的位图索引,将该位图索引按预设段宽度分段,得到多段位图信息;偏移值确定模块,用于对于各段位图信息,确定该段位图信息中各有效值的偏移值,其中,所述偏移值为对应的有效值在该段位图信息中的位数;二进制存储位数确定模块,用于根据各有效值的偏移值确定各偏移值的二进制存储位数;第一存储模块,用于根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示信息,生成并存储该段位图信息的压缩信息,该压缩信息包含各偏移值的二进制表示信息。第三方面,本专利技术实施例提供了一种位图索引解压方法,包括:获取数据基表中所包含的索引关键字的位图索引的各段位图信息的压缩信息,其中,所述各段位图信息通过将该位图索引按预设段宽度分段获得,对于各段位图信息的压缩信息,该段位图信息的压缩信息包含二进制表示信息和二进制存储位数,所述二进制表示信息包含该段位图信息中各有效值的偏移值的二进制表示信息;所述二进制存储位数包含该段位图信息中各有效值的偏移值的二进制表示信息的存储位数,所述偏移值为对应的有效值在该段位图信息中的位数;对于各段位图信息的压缩信息,生成宽度为预设段宽度的初始化位图信息;根据该段位图信息的压缩信息中的二进制存储位数,将该段位图信息的压缩信息中的二进制表示信息转换为十进制信息,得到该段位图信息的压缩信息中各有效值的偏移值;通过将所述初始化位图信息中各有效值的偏移值对应的位设置为有效值,得到该段位图信息的压缩信息对应的解压信息。第四方面,本专利技术实施例提供了一种位图索引解压装置,包括:压缩信息获取模块,用于获取数据基表中所包含的索引关键字的位图索引的各段位图信息的压缩信息,其中,所述各段位图信息通过将该位图索引按预设段宽度分段获得,对于各段位图信息的压缩信息,该段位图信息的压缩信息包含二进制表示信息和二进制存储位数,所述二进制表示信息包含该段位图信息中各有效值的偏移值的二进制表示信息;所述二进制存储位数包含该段位图信息中各有效值的偏移值的二进制表示信息的存储位数,所述偏移值为对应的有效值在该段位图信息中的位数;初始化位图信息生成模块,用于对于各段位图信息的压缩信息,生成宽度为预设段宽度的初始化位图信息;偏移值确定模块,用于根据该段位图信息的压缩信息中的二进制存储位数,将该段位图信息的压缩信息中的二进制表示信息转换为十进制信息,得到该段位图信息的压缩信息中各有效值的偏移值;第一解压模块,用于通过将所述初始化位图信息中各有效值的偏移值对应的位设置为有效值,得到该段位图信息的压缩信息对应的解压信息。本专利技术实施例提供的位图索引压缩方法及装置,通过按预设段宽度分段,得到索引关键字对应的位图索引的各段位图信息,并将各段位图信息中各有效值的偏移值按对应的二进制存储位数进行存储,得到该段位图信息的压缩信息,由于只存储各段位图信息中各有效值的偏移值,因此能够减小位图索引的存储空间。相应地,本专利技术实施例提供的位图索引解压方法及装置,利用各有效值的偏移值的二进制表示信息的存储位数,得到各段位图信息的压缩信息中各有效值的偏移值,并通过将所述初始化位图信息中各有效值的偏移值对应的位设置为有效值,得到该段位图信息的压缩信息对应的解压信息,能够降低位图索引的解压复杂度,并提高了位图索引的检索查询效率。附图说明为了更清楚地说明本专利技术,下面将对本专利技术中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例一提供的一种位图索引压缩方法的流程图;图2为本专利技术实施例二提供的一种位图索引压缩方法的流程图;图3为本专利技术实施例三提供的一种位图索引压缩方法的流程图;图4为本专利技术实施例四提供的一种位图索引压缩装置的结构示意图;图5为本专利技术实施例五提供的一种位图索引解压方法的流程图;图6为本专利技术实施例六提供的一种位图索引解压方法的流程图;图7为本专利技术实施例七提供的一种位图索引解压装置的结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施例中的技术方案作进一步详细描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。可以理解的是,此处所描述的具体实施例仅用于解释本专利技术,而非对本专利技术的限定,基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部内容。实施例一请参阅图1,为本专利技术实施例一提供的一种位图索引压缩方法的流程图。本专利技术实施例的方法可以由配置以硬件和/或软件实现的位图索引压缩装置来执行,该实现装置典型的是配置于能够提供位图索引压缩服务的服务器中。如图1所示,所述方法包括:步骤110、对于预先建立的数据基表中所包含的索引关键字的位图索引,将该位图索引按预设段宽度分段,得到多段位图信息;数据基表是数据库中一个重要的对象,由各元素组成。数据基表中所包含的索引关键字代表数据基表中各列属性所包含的元素的本文档来自技高网...
位图索引压缩方法和位图索引解压方法

【技术保护点】
一种位图索引压缩方法,其特征在于,包括:对于预先建立的数据基表中所包含的索引关键字的位图索引,将该位图索引按预设段宽度分段,得到多段位图信息;对于各段位图信息,确定该段位图信息中各有效值的偏移值,其中,所述偏移值为对应的有效值在该段位图信息中的位数;根据各有效值的偏移值确定各偏移值的二进制存储位数;根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示信息,生成并存储该段位图信息的压缩信息,该压缩信息包含各偏移值的二进制表示信息。

【技术特征摘要】
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.一种根据权利要求...

【专利技术属性】
技术研发人员:彭青松朱仲颖汪龙重
申请(专利权)人:上海达梦数据库有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1