【技术实现步骤摘要】
位图索引压缩方法和位图索引解压方法
本专利技术实施例涉及数据库
,尤其涉及一种位图索引压缩方法和位图索引解压方法。
技术介绍
随着计算机信息技术的快速发展,越来越多的用户对海量数据的存储和检索提出了更高的要求。位图索引对应于数据基表中的索引关键字,位图索引在海量数据上的应用是普遍的,例如在数据基表上通过位图索引检索某个产品在某个时间段的销售情况等等。在提升位图索引检索性能的同时,对位图索引存储空间的要求也越来越高,因此位图索引压缩技术应运而生。现有的位图索引压缩技术,一般是通过计算数据基表的索引关键字对应的位图索引中每个1之前的0的个数,并确定该个数的二进制表示位数,同时通过添加控制信息对该个数的二进制表示位数以及该个数的二进制数进行编码,从而实现数据基表的索引关键字对应的位图索引的压缩存储。上述位图索引压缩技术的缺陷在于:虽然通过将每个1前面的0的个数用相应位数的二进制记录,可以减少每个1前面的0的个数的存储空间,但在编码中添加的控制信息会导致位图索引的存储空间的增大;而且复杂的编码方式增加了位图索引的解压复杂度,从而影响位图索引的检索查询效率。
技术实现思路
本专利技术实施例提供一种位图索引压缩方法及装置,以减小位图索引的存储空间;本专利技术实施例还提供一种位图索引解压方法及装置,以降低位图索引的解压复杂度,以提高位图索引的检索查询效率。第一方面,本专利技术实施例提供了一种位图索引压缩方法,包括:对于预先建立的数据基表中所包含的索引关键字的位图索引,将该位图索引按预设段宽度分段,得到多段位图信息;对于各段位图信息,确定该段位图信息中各有效值的偏移值, ...
【技术保护点】
一种位图索引压缩方法,其特征在于,包括:对于预先建立的数据基表中所包含的索引关键字的位图索引,将该位图索引按预设段宽度分段,得到多段位图信息;对于各段位图信息,确定该段位图信息中各有效值的偏移值,其中,所述偏移值为对应的有效值在该段位图信息中的位数;根据各有效值的偏移值确定各偏移值的二进制存储位数;根据所述二进制存储位数得到该段位图信息中各偏移值的二进制表示信息,生成并存储该段位图信息的压缩信息,该压缩信息包含各偏移值的二进制表示信息。
【技术特征摘要】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。