位图的索引搜索方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:20916203 阅读:25 留言:0更新日期:2019-04-20 09:37
本申请涉及一种位图的索引搜索方法、装置、计算机设备和存储介质。该方法包括:获取多个目标位图间运算的运算类型,读取多个目标位图各自的数据有效性区间索引,确定运算类型所匹配的索引搜索方式,基于数据有效性区间索引,按索引搜索方式搜索多个目标位图共用的运算区间索引,运算区间索引用于标记每个目标位图中用于参与运算的局部数据区间。采用本申请的方案,在对多个位图进行运算时,能够提高位图的运算效率。

Bitmap Index Search Method, Device, Computer Equipment and Storage Media

This application relates to a bitmap index search method, device, computer equipment and storage medium. The method includes: acquiring the operation types of multiple target bitmaps, reading the data validity interval index of each target bitmap, determining the index search method matched by the operation types, searching the common operation interval index of multiple target bitmaps according to the index search method based on the data validity interval index, and marking each target bitmap with the index of operation interval. Participate in the operation of the local data interval. With the scheme of this application, the operation efficiency of bitmaps can be improved when computing multiple bitmaps.

【技术实现步骤摘要】
位图的索引搜索方法、装置、计算机设备和存储介质
本申请涉及计算机
,特别是涉及一种位图的索引搜索方法、装置、计算机设备和存储介质。
技术介绍
随着计算机技术的发展,出现了多维数据库(MultiDimensionalDatabase,MDD),将数据存放在一个多维数组中,由于存在大量稀疏矩阵,因此人们可以通过多维视图来观察数据。而当多维数据库存放的数据为多个位图时,有时需要对这些位图进行运算。而在传统的位图运算方式中,需要先对两个位图进行运算,以得到这两个位图的运算结果,再根据这两个位图的运算结果,继续与下一个位图进行运算,直到运算完所有的位图时,才能得到最终的运算结果。因此,传统的位图运算方式运算效率较低。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能够提高位图运算效率的位图的索引搜索方法、装置、计算机设备和存储介质。一种位图的索引搜索方法,所述方法包括:获取多个目标位图间运算的运算类型;读取多个目标位图各自的数据有效性区间索引;确定运算类型所匹配的索引搜索方式;基于数据有效性区间索引,按索引搜索方式搜索多个目标位图共用的运算区间索引;运算区间索引,用于标记每个目标位图中用于参与运算的局部数据区间。在其中一个实施例中,基于数据有效性区间索引,按索引搜索方式搜索多个目标位图共用的运算区间索引包括:当运算类型为与运算类型时,基于数据有效性区间索引,搜索多个目标位图间共用的、且用于标记有效数据区间的运算区间索引。在其中一个实施例中,基于数据有效性区间索引,搜索多个目标位图间共用的、且用于标记有效数据区间的运算区间索引包括:从多个目标位图的一个目标位图,搜索最近的有效数据区间索引的下限值;由当前搜索到的下限值起,对下一个目标位图搜索有效数据区间索引的下限值,直到每个目标位图中在搜索到的下限值之后为有效数据时,得到用于构成运算区间索引的下限值;基于多个目标位图各自的有效数据区间索引,相应确定距离运算区间索引的下限值最近的属于有效数据区间索引的上限值,得到用于构成运算区间索引的上限值;直到搜索到全部的运算区间索引后停止搜索。在其中一个实施例中,从多个目标位图的一个目标位图,搜索最近的有效数据区间索引的下限值包括:从多个目标位图的一个目标位图的起始位置起,确定从当前位置起往后的无效数据区间长度;在当前的无效数据区间长度大于零时,按照当前的无效数据区间长度移动当前位置到最近的有效数据区间索引的下限值。在其中一个实施例中,由当前搜索到的下限值起,对下一个目标位图搜索有效数据区间索引的下限值,直到每个目标位图中在搜索到的下限值之后为有效数据时,得到用于构成运算区间索引的下限值包括:由当前搜索到的下限值起,确定下一个目标位图中从当前位置往后的无效数据区间长度;在当前的无效数据区间长度大于零时,按照当前的无效数据区间长度移动当前位置到最近的有效数据区间索引的下限值;继续执行由当前搜索到的下限值起,确定下一个目标位图中从当前位置往后的无效数据区间长度的步骤,直到在每个目标位图中当前的无效数据区间长度均为零时,得到用于构成运算区间索引的下限值。在其中一个实施例中,基于数据有效性区间索引,按索引搜索方式搜索多个目标位图共用的运算区间索引包括:当运算类型为或运算类型时,基于数据有效性区间索引,搜索多个目标位图间共用的、且用于标记在多个目标位图间连续的有效数据区间的运算区间索引。在其中一个实施例中,基于数据有效性区间索引,搜索多个目标位图间共用的、且用于标记在多个目标位图间连续的有效数据区间的运算区间索引包括:搜索多个目标位图中距离起始位置最近的属于有效数据区间的下限值,下限值用作运算区间索引的下限值;从当前搜索到的下限值起,逐次对每个目标位图搜索无效数据区间索引的下限值,直到每个目标位图中在搜索到的下限值之后为无效数据时,得到用于构成运算区间索引的上限值;直到搜索到全部的运算区间索引后停止搜索。在其中一个实施例中,从当前搜索到的下限值起,逐次对每个目标位图搜索无效数据区间索引的下限值,直到每个目标位图中在搜索到的下限值之后为无效数据时,得到用于构成运算区间索引的上限值包括:从多个目标位图的一个目标位图中由当前搜索到的下限值起,确定当前位置往后的有效数据区间长度;在当前的有效数据区间长度大于零时,按照当前的有效数据区间长度移动当前位置到最近的无效数据区间索引的下限值,并确定下一个目标位图中当前位置往后的有效数据区间长度,直到在每个目标位图中当前的有效数据区间长度均为零时,得到用于构成运算区间索引的上限值。在其中一个实施例中,所述方法还包括:每当搜索到运算区间索引后,将多个目标位图中由运算区间索引所标记的局部数据区间进行运算,并继续搜索下一个运算区间索引,直到搜索完毕。一种位图的索引搜索装置,其特征在于,所述装置包括:运算类型获取模块,用于获取多个目标位图间运算的运算类型;索引读取模块,用于读取多个目标位图各自的数据有效性区间索引;搜索方式确定模块,用于确定运算类型所匹配的索引搜索方式;索引搜索模块,基于数据有效性区间索引,按索引搜索方式搜索多个目标位图共用的运算区间索引;运算区间索引,用于标记每个目标位图中用于参与运算的局部数据区间。一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时实现以下步骤:获取多个目标位图间运算的运算类型;读取多个目标位图各自的数据有效性区间索引;确定运算类型所匹配的索引搜索方式;基于数据有效性区间索引,按索引搜索方式搜索多个目标位图共用的运算区间索引;运算区间索引,用于标记每个目标位图中用于参与运算的局部数据区间。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:获取多个目标位图间运算的运算类型;读取多个目标位图各自的数据有效性区间索引;确定运算类型所匹配的索引搜索方式;基于数据有效性区间索引,按索引搜索方式搜索多个目标位图共用的运算区间索引;运算区间索引,用于标记每个目标位图中用于参与运算的局部数据区间。上述位图的索引搜索方法、装置、计算机设备和存储介质,基于数据有效性区间索引,按照运算类型所对应的索引搜索方式,搜索到多个目标位图共用的运算区间索引,该索引标记了各个目标位图中参与运算的局部数据区间。在对多个位图进行运算时,只需要对各个目标位图中实际参与运算的局部数据区间进行计算,缩小了位图的运算范围,以此提高了位图运算效率。附图说明图1为一个实施例中计算机设备的内部结构图;图2为一个实施例中位图的索引搜索方法的流程示意图;图3为一个实施例中搜索运算区间索引的流程示意图;图4为另一个实施例中搜索运算区间索引的流程示意图;图5为一个实施例中构建了数据有效性区间索引的目标位图的示意图;图6为一个实施例中运算类型为与运算类型的目标位图示例;图7为一个实施例中运算类型为或运算类型的目标位图示例;图8为一个实施例中位图的索引搜索装置的结构框图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。本申请提供的位图的索引搜索方法,可以应用于如图1所示的计算机设备。该计算机设备包括存储器和本文档来自技高网...

【技术保护点】
1.一种位图的索引搜索方法,所述方法包括:获取多个目标位图间运算的运算类型;读取所述多个目标位图各自的数据有效性区间索引;确定所述运算类型所匹配的索引搜索方式;基于所述数据有效性区间索引,按所述索引搜索方式搜索所述多个目标位图共用的运算区间索引;所述运算区间索引,用于标记每个所述目标位图中用于参与所述运算的局部数据区间。

【技术特征摘要】
1.一种位图的索引搜索方法,所述方法包括:获取多个目标位图间运算的运算类型;读取所述多个目标位图各自的数据有效性区间索引;确定所述运算类型所匹配的索引搜索方式;基于所述数据有效性区间索引,按所述索引搜索方式搜索所述多个目标位图共用的运算区间索引;所述运算区间索引,用于标记每个所述目标位图中用于参与所述运算的局部数据区间。2.根据权利要求1所述的方法,其特征在于,所述基于所述数据有效性区间索引,按所述索引搜索方式搜索所述多个目标位图共用的运算区间索引包括:当所述运算类型为与运算类型时,基于所述数据有效性区间索引,搜索所述多个目标位图间共用的、且用于标记有效数据区间的运算区间索引。3.根据权利要求2所述的方法,其特征在于,所述基于所述数据有效性区间索引,搜索所述多个目标位图间共用的、且用于标记有效数据区间的运算区间索引包括:从多个目标位图的一个目标位图,搜索最近的有效数据区间索引的下限值;由当前搜索到的下限值起,对下一个目标位图搜索有效数据区间索引的下限值,直到每个所述目标位图中在搜索到的下限值之后为有效数据时,得到用于构成运算区间索引的下限值;基于所述多个目标位图各自的有效数据区间索引,相应确定距离所述运算区间索引的下限值最近的属于有效数据区间索引的上限值,得到用于构成运算区间索引的上限值;直到搜索到全部的运算区间索引后停止搜索。4.根据权利要求3所述的方法,其特征在于,所述从多个目标位图的一个目标位图,搜索最近的有效数据区间索引的下限值包括:从多个目标位图的一个目标位图的起始位置起,确定从当前位置起往后的无效数据区间长度;在当前的无效数据区间长度大于零时,按照当前的所述无效数据区间长度移动当前位置到最近的有效数据区间索引的下限值。5.根据权利要求3或4所述的方法,其特征在于,所述由当前搜索到的下限值起,对下一个目标位图搜索有效数据区间索引的下限值,直到每个所述目标位图中在搜索到的下限值之后为有效数据时,得到用于构成运算区间索引的下限值包括:由当前搜索到的下限值起,确定下一个目标位图中从当前位置往后的无效数据区间长度;在当前的所述无效数据区间长度大于零时,按照当前的所述无效数据区间长度移动当前位置到最近的有效数据区间索引的下限值;继续执行所述由当前搜索到的下限值起,确定下一个目标位图中从当前位置往后的无效数据区间长度的步骤,直到在每个目标位图中当前的无效数据区间长度均为零时,得到用于构成运算区间索引的下限值。6.根据权利要求1所述的方法,其特征在于,所述基于所述数据有效性区间索引,按所述索引搜索方式搜索所述多个目...

【专利技术属性】
技术研发人员:谈少民
申请(专利权)人:金蝶软件中国有限公司
类型:发明
国别省市:广东,44

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

1