一种基于bitmap的多维数据查询系统转让专利
申请号 : CN202110010223.6
文献号 : CN112328608B
文献日 : 2021-04-13
发明人 : 朱金星 , 张静雅 , 沈璞 , 祝文东
申请人 : 北京云真信科技有限公司
摘要 :
权利要求 :
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。
说明书 :
一种基于bitmap的多维数据查询系统
技术领域
背景技术
需要对多个维度的数据进行分析时,同行需要从多个集群中查询并获取大量的多个维度的
数据,并进行聚合处理,但由于有些数据的数据结构较大,且不同集群的数据结构的差异
性、数据量大等原因,导致在对多维数据处理的过程中,数据查询速度慢、运算量大,导致处
理效率低。由此可知,如何提高多维数据的查询效率成为亟待解决的技术问题。
发明内容
示第m维度的数据对应的第m维度数据表子集,m=1,2…M,M为正整数,当所述计算机程序被
处理器执行时,实现以下步骤:
业上的广泛利用价值,其至少具有下列优点:
秒级查询,减少了运算量,提高了数据查询的效率。
更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
具体实施方式
方式及其功效,详细说明如后。
储器,其中,Gm表示第m维度的数据对应的第m维度数据表子集,m=1,2…M,M为正整数,
bitmap数据表用一个bit位来标记某个元素所对应的value,而key即是该元素,由于数据表
使用bit位来存储数据,因此可以大大节省存储空间,加快数据查询效率。
合处理,能够实现秒级查询,减少了运算量,提高了数据查询的效率。
步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作
完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方
法、函数、规程、子例程、子程序等等。
据;
率。所述系统可包括第一映射表,用于配置所述数据id和所述数据表中键值的映射关系。
第二标识;
数据表;若数据变化频率大于等于预设的第二频率阈值且小于预设的第一频率阈值,则每
间隔预设的第二时间段更新并生成一张该维度数据在该第二时间段内对应的数据表,所述
第一时间段小于所述第二时间段;若数据变化频率小于第二频率阈值,则实时监测该维度
的数据是否更新,若有更新,则对应更新该维度的数据表。
次遍历数据源,减少计算量。且步骤S13中根据数据变化频率将M个维度数据范围了三种,对
于变化频率小于第二频率阈值的维度数据,为静态数据,对应的维度参数信息通常不会变
化,例如是用户行为特征数据,但可能会新增或少量更改,因此,可以通过监测变化频率小
于第二频率阈值的维度数据的变化,根据变化来更新对应的数据表即可,无需重复生成大
量的数据表。对于变化频率大于等于第二频率阈值的维度数据,可以进一步细分为数据变
化频率大于等于预设的第一频率阈值的维度数据和数据变化频率大于等于预设的第二频
率阈值且小于预设的第一频率阈值的维度数据,并设定对应的时间段来生成对应的数据
表,既能满足查询需求,又能避免生成过多重复的数据表。作为示例,变化频率大于等于预
设的第一频率阈值的维度数据可以为用户轨迹数据,具体可为用户设备实时上报的位置信
息,例如geohash信息,此时可将第一时间段设置为1个小时,这样每间隔一小时会生成用户
轨迹数据对应的一张数据表。数据变化频率大于等于预设的第二频率阈值且小于预设的第
一频率阈值的维度数据可以为app数据,可将第二时间段设置为24小时,这样,每间隔24小
时会生成app数据对应的一张数据表。
由于数据维度多,数据量大,因此随着各维度数据表的生成和更新,系统中将需要存储大量
的数据表,导致数据表所占存储空间逐渐增大,因此需要进一步采取存储优化措施,以提高
系统处理性能,以下通过几个具体存储优化实施例来具体说明。
询需求的数据表保留,可以理解的是,第三时间段根据具体的查询需求来设定。
阈值根据所述系统的当前剩余存储空间和系统性能确定。
数据表,节约存储空间,在当前数据表存储空间达到一定程度时,又能及时有效地压缩数据
表,缓解存储压力,避免影响系统性能。
应的参数目标状态信息的数据id确定为目标数据id。
息,所述用户app数据对应的参数信息包括多个app名称信息,所述用户轨迹信息包括预设
地理位置范围内的位置信息,所述数据id为设备id。通过所述系统最后可查询确定目标设
备id,多个目标设备id组成设备id集,并可通过信息交互界面向用户展示,提升了用户体
验。
员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰
为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质
对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。