CN112328608B - 一种基于bitmap的多维数据查询系统 - Google Patents
一种基于bitmap的多维数据查询系统 Download PDFInfo
- Publication number
- CN112328608B CN112328608B CN202110010223.6A CN202110010223A CN112328608B CN 112328608 B CN112328608 B CN 112328608B CN 202110010223 A CN202110010223 A CN 202110010223A CN 112328608 B CN112328608 B CN 112328608B
- Authority
- CN
- China
- Prior art keywords
- data
- query
- dimension
- preset
- time period
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于bitmap的多维数据查询系统,包括基于M个维度数据生成的bitmap数据表集合{G1,G2…Gm…GM}、处理器和存储有计算机程序的存储器,其中,Gm表示第m维度的数据对应的第m维度数据表子集,m=1,2…M,M为正整数,当所述计算机程序被处理器执行时,实现以下步骤:步骤S1、获取数据查询请求;步骤S2、解析所述数据查询请求,确定查询数据维度、查询时间窗、每一查询数据维度对应的参数目标状态信息;步骤S3、在每一查询数据维度对应的数据表子集中获取所述查询时间窗对应的第一查询数据;步骤S4、根据每一查询数据维度对应的参数目标状态信息和第一查询数据确定目标数据id。本发明所述系统提高了多维数据的查询效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于bitmap的多维数据查询系统。
背景技术
随着计算机技术的发展,数据量和数据维度逐渐增多。数据通常分布在不同的集群中,很多数据字符串较长,数据结构较大,且不同的集群中的数据结构可能存在差异。当需要对多个维度的数据进行分析时,同行需要从多个集群中查询并获取大量的多个维度的数据,并进行聚合处理,但由于有些数据的数据结构较大,且不同集群的数据结构的差异性、数据量大等原因,导致在对多维数据处理的过程中,数据查询速度慢、运算量大,导致处理效率低。由此可知,如何提高多维数据的查询效率成为亟待解决的技术问题。
发明内容
本发明目的在于,提供一种基于bitmap的多维数据查询系统,提高了多维数据的查询效率。
本发明提供了一种基于bitmap的多维数据查询系统,包括基于M个维度数据生成的bitmap数据表集合{G1,G2…Gm…GM}、处理器和存储有计算机程序的存储器,其中,Gm表示第m维度的数据对应的第m维度数据表子集,m=1,2…M,M为正整数,当所述计算机程序被处理器执行时,实现以下步骤:
步骤S1、获取数据查询请求;
步骤S2、解析所述数据查询请求,确定查询数据维度、查询时间窗、每一查询数据维度对应的参数目标状态信息;
步骤S3、在每一查询数据维度对应的数据表子集中获取所述查询时间窗对应的第一查询数据;
步骤S4、根据每一查询数据维度对应的参数目标状态信息和第一查询数据确定目标数据id。
本发明与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本发明提供的一种基于bitmap的多维数据查询系统可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至少具有下列优点:
本发明将多维数据采用bitmap数据表的形式存储,并基于bitmap数据表来对多维数据查询,提高了数据查询的速度,由位运算替代了现有的大量数据的聚合处理,能够实现秒级查询,减少了运算量,提高了数据查询的效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
图1为本发明实施例提供的基于bitmap的多维数据查询系统示意图;
图2为本发明实施例提供的基于bitmap的多维数据查询流程示意图。
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种基于bitmap的多维数据查询系统的具体实施方式及其功效,详细说明如后。
本发明实施例提供了一种基于bitmap的多维数据查询系统,如图1所示,包括基于M个维度数据生成的bitmap数据表集合{G1,G2…Gm…GM}、处理器和存储有计算机程序的存储器,其中,Gm表示第m维度的数据对应的第m维度数据表子集,m=1,2…M,M为正整数,bitmap数据表用一个bit位来标记某个元素所对应的value,而key即是该元素,由于数据表使用bit位来存储数据,因此可以大大节省存储空间,加快数据查询效率。
当所述计算机程序被处理器执行时,实现以下步骤,如图2所示:
步骤S1、获取数据查询请求;
步骤S2、解析所述数据查询请求,确定查询数据维度、查询时间窗、每一查询数据维度对应的参数目标状态信息;
步骤S3、在每一查询数据维度对应的数据表子集中获取所述查询时间窗对应的第一查询数据;
步骤S4、根据每一查询数据维度对应的参数目标状态信息和第一查询数据确定目标数据id。
本发明实施例所述系统将多维数据采用bitmap数据表的形式存储,并基于bitmap数据表来对多维数据查询,提高了数据查询的速度,由位运算替代了现有的大量数据的聚合处理,能够实现秒级查询,减少了运算量,提高了数据查询的效率。
作为一种实施例,所述系统还包括信息交互界面,用于接收用户输入的数据查询请求,以及显示目标数据id。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
作为一种实施例,当所述计算机程序被处理器执行时,还实现以下步骤:
步骤S11、以每一维度数据对应的维度参数信息构建对应数据表的列,以自增键值构建对应数据表的行,每一键值对应一个唯一的数据id,每一数据id对应所述M个维度的数据;
其中,如果直接在数据表上存储原始的数据id,会在磁盘上占据较大空间,因此将每一数据id对应映射一个简直,配置在每一数据表中,既能节省存储空间,又能提高查询效率。所述系统可包括第一映射表,用于配置所述数据id和所述数据表中键值的映射关系。
步骤S12、遍历数据源中的所有M维度原始数据,判断每一数据表中,数据id对应的维度参数信息是否存在,若存在,则在所述数据表中对应的位置标注第一标识,否则,标注第二标识;
步骤S13、判断每一维度数据的变化频率,若数据变化频率大于等于预设的第一频率阈值,则每间隔预设的第一时间段更新并生成一张该维度数据在该第一时间段内对应的数据表;若数据变化频率大于等于预设的第二频率阈值且小于预设的第一频率阈值,则每间隔预设的第二时间段更新并生成一张该维度数据在该第二时间段内对应的数据表,所述第一时间段小于所述第二时间段;若数据变化频率小于第二频率阈值,则实时监测该维度的数据是否更新,若有更新,则对应更新该维度的数据表。
通过步骤S12整体遍历数据源建立每一维度对应的数据表之后,基于步骤S13,根据维度数据的变化,在原始数据表的基础上更新后生成对应时间段内新的数据表,避免多次遍历数据源,减少计算量。且步骤S13中根据数据变化频率将M个维度数据范围了三种,对于变化频率小于第二频率阈值的维度数据,为静态数据,对应的维度参数信息通常不会变化,例如是用户行为特征数据,但可能会新增或少量更改,因此,可以通过监测变化频率小于第二频率阈值的维度数据的变化,根据变化来更新对应的数据表即可,无需重复生成大量的数据表。对于变化频率大于等于第二频率阈值的维度数据,可以进一步细分为数据变化频率大于等于预设的第一频率阈值的维度数据和数据变化频率大于等于预设的第二频率阈值且小于预设的第一频率阈值的维度数据,并设定对应的时间段来生成对应的数据表,既能满足查询需求,又能避免生成过多重复的数据表。作为示例,变化频率大于等于预设的第一频率阈值的维度数据可以为用户轨迹数据,具体可为用户设备实时上报的位置信息,例如geohash信息,此时可将第一时间段设置为1个小时,这样每间隔一小时会生成用户轨迹数据对应的一张数据表。数据变化频率大于等于预设的第二频率阈值且小于预设的第一频率阈值的维度数据可以为app数据,可将第二时间段设置为24小时,这样,每间隔24小时会生成app数据对应的一张数据表。
可以理解的是,数据源中的所有M维度原始数据可能分布在多个物理集群上,基于原始所有M维度原始数据生成的所有数据表也采用分布式存储方式存储在多个集群中。但由于数据维度多,数据量大,因此随着各维度数据表的生成和更新,系统中将需要存储大量的数据表,导致数据表所占存储空间逐渐增大,因此需要进一步采取存储优化措施,以提高系统处理性能,以下通过几个具体存储优化实施例来具体说明。
实施例一、
当所述计算机程序被处理器执行时,还可实现以下存储优化步骤:
步骤S101、对于数据变化频率大于等于第二频率阈值的每一维度数据对应的所有数据表,获取生成时间距离当前时间超过所述第三时间段的所有数据表的查询频率;
步骤S102、将生成时间距离当前时间超过所述第三时间段的所有数据表中查询频率低于预设查询频率的数据表删除。
例如,所述第三时间段可以设置为3个月,通过实施例一可以将3个月前的数据表中查询频率低于预设查询频率的数据表删除,避免无用的数据表占用存储空间,将仍有查询需求的数据表保留,可以理解的是,第三时间段根据具体的查询需求来设定。
实施例二、
当所述计算机程序被处理器执行时,还可实现以下存储优化步骤:
步骤S201、获取距离当前时间的预设的第四时间段内,最后一次被查询的时间距离当前时间最长的数据表,并将该数据表删除。
其中,具体可采用最近最久未使用算法LRU,来获取第四时间段最久没有使用过的数据表,并将该数据表删除,可以理解的是,第四时间段根据具体的查询需求来设定。
实施例三、
当所述计算机程序被处理器执行时,还可实现以下存储优化步骤:
步骤是301、实时监测当前所有维度的数据表所占的存储空间是否超过预设的存储阈值,若超过,则采用预设的压缩流程对当前所有维度的数据表进行压缩处理,所述预设阈值根据所述系统的当前剩余存储空间和系统性能确定。
可以理解的是,以上实施例的优化存储方法可以在本发明所述系统中单独使用,也可相互组合使用多个,例如可以将实施例一和实施例三结合使用,这样既能删除无用的数据表,节约存储空间,在当前数据表存储空间达到一定程度时,又能及时有效地压缩数据表,缓解存储压力,避免影响系统性能。
作为一种实施例,所述步骤S4包括:
步骤S41、判断每一查询数据维度对应的第一查询数据的参数状态值是否符合对应的参数目标状态信息,将所有查询数据维度对应的第一查询数据的参数状态值均符合对应的参数目标状态信息的数据id确定为目标数据id。
作为一种实施例,所述查询数据维度包括3个维度的数据,分别为用户行为特征数据、用户app数据和用户轨迹信息,所述用户特征数据对应的参数信息包括多个用户标签信息,所述用户app数据对应的参数信息包括多个app名称信息,所述用户轨迹信息包括预设地理位置范围内的位置信息,所述数据id为设备id。通过所述系统最后可查询确定目标设备id,多个目标设备id组成设备id集,并可通过信息交互界面向用户展示,提升了用户体验。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (9)
1.一种基于bitmap的多维数据查询系统,其特征在于,包括基于M个维度数据生成的bitmap数据表集合{G1,G2…Gm…GM}、处理器和存储有计算机程序的存储器,其中,Gm表示第m维度的数据对应的第m维度数据表子集,m=1,2…M,M为正整数,当所述计算机程序被处理器执行时,实现以下步骤:
步骤S1、获取数据查询请求;
步骤S2、解析所述数据查询请求,确定查询数据维度、查询时间窗、每一查询数据维度对应的参数目标状态信息;
步骤S3、在每一查询数据维度对应的数据表子集中获取所述查询时间窗对应的第一查询数据;
步骤S4、根据每一查询数据维度对应的参数目标状态信息和第一查询数据确定目标数据id;
当所述计算机程序被处理器执行时,还实现以下步骤:
步骤S11、以每一维度数据对应的维度参数信息构建对应数据表的列,以自增键值构建对应数据表的行,每一键值对应一个唯一的数据id,每一数据id对应所述M个维度的数据;
步骤S12、遍历数据源中的所有M维度原始数据,判断每一数据表中,数据id对应的维度参数信息是否存在,若存在,则在所述数据表中对应的位置的状态值标注第一标识,否则,标注第二标识;
步骤S13、判断每一维度数据的变化频率,若数据变化频率大于等于预设的第一频率阈值,则每间隔预设的第一时间段更新并生成一张该维度数据在该第一时间段内对应的数据表;若数据变化频率大于等于预设的第二频率阈值且小于预设的第一频率阈值,则每间隔预设的第二时间段更新并生成一张该维度数据在该第二时间段内对应的数据表,所述第一时间段小于所述第二时间段;若数据变化频率小于第二频率阈值,则实时监测该维度的数据是否更新,若有更新,则对应更新该维度的数据表。
2.根据权利要求1所述的系统,其特征在于,
所述系统还包括第一映射表,用于配置所述数据id和所述数据表中键值的映射关系。
3.根据权利要求1所述的系统,其特征在于,
所述M维度对应的所有数据表采用分布式存储方式存储在多个集群中。
4.根据权利要求1所述的系统,其特征在于,
当所述计算机程序被处理器执行时,还实现以下步骤:
步骤S101、对于数据变化频率大于等于第二频率阈值的每一维度数据对应的所有数据表,获取生成时间距离当前时间超过预设第三时间段的所有数据表的查询频率;
步骤S102、将生成时间距离当前时间超过所述第三时间段的所有数据表中查询频率低于预设查询频率的数据表删除。
5.根据权利要求1所述的系统,其特征在于,
当所述计算机程序被处理器执行时,还实现以下步骤:
步骤S201、获取距离当前时间的预设的第四时间段内,最后一次被查询的时间距离当前时间最长的数据表,并将该数据表删除。
6.根据权利要求1所述的系统,其特征在于,
当所述计算机程序被处理器执行时,还实现以下步骤:
步骤是301、实时监测当前所有维度的数据表所占的存储空间是否超过预设的存储阈值,若超过,则采用预设的压缩流程对当前所有维度的数据表进行压缩处理,所述预设阈值根据所述系统的当前剩余存储空间和系统性能确定。
7.根据权利要求1所述的系统,其特征在于,
所述步骤S4包括:
步骤S41、判断每一查询数据维度对应的第一查询数据的参数状态值是否符合对应的参数目标状态信息,将所有查询数据维度对应的第一查询数据的参数状态值均符合对应的参数目标状态信息的数据id确定为目标数据id。
8.根据权利要求1所述的系统,其特征在于,
所述系统还包括信息交互界面,用于接收用户输入的数据查询请求,以及显示目标数据id。
9.根据权利要求1所述的系统,其特征在于,
所述查询数据维度包括3个维度的数据,分别为用户行为特征数据、用户app数据和用户轨迹信息,所述用户特征数据对应的参数信息包括多个用户标签信息,所述用户app数据对应的参数信息包括多个app名称信息,所述用户轨迹信息包括预设地理位置范围内的位置信息,所述数据id为设备id。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110010223.6A CN112328608B (zh) | 2021-01-06 | 2021-01-06 | 一种基于bitmap的多维数据查询系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110010223.6A CN112328608B (zh) | 2021-01-06 | 2021-01-06 | 一种基于bitmap的多维数据查询系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112328608A CN112328608A (zh) | 2021-02-05 |
CN112328608B true CN112328608B (zh) | 2021-04-13 |
Family
ID=74302479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110010223.6A Active CN112328608B (zh) | 2021-01-06 | 2021-01-06 | 一种基于bitmap的多维数据查询系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112328608B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115936331B (zh) * | 2022-11-01 | 2023-10-27 | 中科雨辰科技有限公司 | 一种基于距离获取目标任务对象的数据处理系统 |
CN116610715B (zh) * | 2023-07-18 | 2023-11-28 | 国网浙江省电力有限公司宁波供电公司 | 一种用于多级存储数据的多维分析方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102456069A (zh) * | 2011-08-03 | 2012-05-16 | 中国人民解放军国防科学技术大学 | 一种数据流增量聚集统计、查询方法及查询系统 |
US9075860B2 (en) * | 2012-10-18 | 2015-07-07 | Oracle International Corporation | Data lineage system |
CN108256087B (zh) * | 2018-01-22 | 2020-12-04 | 北京腾云天下科技有限公司 | 一种基于位图结构的数据导入、查询及处理方法 |
CN108920516B (zh) * | 2018-05-31 | 2022-03-22 | 北京字节跳动网络技术有限公司 | 实时分析方法、系统、装置及计算机可读存储介质 |
-
2021
- 2021-01-06 CN CN202110010223.6A patent/CN112328608B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112328608A (zh) | 2021-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2263180B1 (en) | Indexing large-scale gps tracks | |
CN112328608B (zh) | 一种基于bitmap的多维数据查询系统 | |
US20200042507A1 (en) | Information Processing Method and Apparatus | |
US7870114B2 (en) | Efficient data infrastructure for high dimensional data analysis | |
CN112364033B (zh) | 一种数据检索系统 | |
CN107729399B (zh) | 数据处理的方法和装置 | |
CN111061758B (zh) | 数据存储方法、装置及存储介质 | |
Ma et al. | KSQ: Top-k similarity query on uncertain trajectories | |
CN110389967B (zh) | 数据存储方法、装置、服务器及存储介质 | |
US9235613B2 (en) | Flexible partitioning of data | |
JP2008225575A (ja) | 計算機負荷見積システム、計算機負荷見積方法 | |
CN108009265B (zh) | 一种云计算环境下的空间数据索引方法 | |
JP7030767B2 (ja) | 列状データの不均一なページネーション | |
WO2021120952A1 (zh) | 面向列的存储方法、装置、设备及计算机可读存储介质 | |
US10303655B1 (en) | Storage array compression based on the structure of the data being compressed | |
CN109815303B (zh) | 一种基于位置的移动数据存储系统 | |
EP3182299B1 (en) | Methods and systems for estimating the number of points in two-dimensional data | |
CN108920516B (zh) | 实时分析方法、系统、装置及计算机可读存储介质 | |
CN116982035A (zh) | 分布式数据系统中索引质量的测量与改进 | |
CN116783588A (zh) | 用于大元数据管理的列技术 | |
CN115809311B (zh) | 知识图谱的数据处理方法、装置及计算机设备 | |
CN115168499B (zh) | 数据库表的分片方法、装置、计算机设备和存储介质 | |
CN110659286A (zh) | 基于弱平衡空间树动态空间索引方法及其存储介质、装置 | |
Arnold | An entropy maximizing geohash for distributed spatiotemporal database indexing | |
CN112069172B (zh) | 一种电网数据处理方法及装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |