数据查询方法、装置及计算机可读存储介质制造方法及图纸

技术编号:21628682 阅读:34 留言:0更新日期:2019-07-17 11:00
本发明专利技术公开了一种数据查询方法、装置及计算机可读存储介质,属于大数据处理技术领域。所述方法包括:当接收到目标数据的查询请求时,确定目标数据对应的时间属性值,并根据目标数据对应的时间属性值,从数据立方表中查询目标数据。由于数据立方表包括的近期数据立方表用于存储时间属性值位于所述第一预设时间段内的数据,且数据立方表包括的历史数据立方表用于存储时间属性值位于所述第二预设时间段内的数据,因此可以根据目标数据对应的时间属性值,从历史数据立方表或近期数据立方表中查找目标数据,避免直接从整个数据立方表中查询目标数据,降低了从数据立方表中查询目标数据的工作量,从而可以提高目标数据的查询效率。

Data Query Method, Device and Computer Readable Storage Media

【技术实现步骤摘要】
数据查询方法、装置及计算机可读存储介质
本专利技术涉及大数据处理
,特别涉及一种数据查询方法、装置及计算机可读存储介质。
技术介绍
随着互联网技术的发展,通常需要根据用户的需求对海量数据进行查询,以得到用户想要查询的数据,为了便于描述,将用户想要查询的数据称为目标数据。实际应用中,目标数据通常为一定时间段内的数据,如用户想要查询某个超市昨天的销售额,目标数据即为昨天一天该超市的销售额。相关技术中,为了提高从海量数据中查询目标数据的效率,可以预先建立多维度的数据立方表,每个维度对应数据的一种属性类型,数据在某个属性类型上的属性值对应该维度上的维度值。比如,销售额数据的属性类型包括销售时间、产品类别和销售区域,则对应的多个维度分别为销售时间、产品类别和销售区域,其中,销售额数据在属性类型为销售时间上的属性值对应维度为销售时间上的维度值。其中,数据立方表包括多个立方单元,每个维度均包括多个层级粒度,每个立方单元用于存储该多个维度中一个层级粒度的数据。比如,对于销售额数据,销售时间这个维度包括的层级粒度可以为天、月、年,产品类别这个维度包括的层级粒度可以为牛奶、面包、饮料,销售区域这个维度包括的层级粒度可以为北京、上海、西安,此时,对于该多个立方单元中的某个立方单元,该立方单元可以用于存储一天内牛奶在西安的销售额。在建立数据立方表之后,对于该多个立方单元中的每个立方单元,从源数据库中查找该立方单元对应的所有数据,并对查找的数据进行处理得到该立方单元的聚集值,比如对查找的数据进行求和处理或平均值处理等。后续当需要查询目标数据时,根据目标数据的属性类型,遍历该数据立方表中的每个立方单元,确定与该目标数据对应的立方单元,并将该立方单元的聚集值确定为目标数据。当源数据库的数据量较多时,上述数据立方表包括的立方单元的数量也较多,此时,如果直接从该数据立方表中查询目标数据,导致查询量过大,从而影响查询目标数据的效率。
技术实现思路
为了解决相关技术从数据立方表中查询目标数据效率低的问题,本专利技术实施例提供了一种数据查询方法、装置及计算机可读存储介质。所述技术方案如下:第一方面,提供了一种数据查询方法,所述方法包括:当接收到目标数据的查询请求时,确定所述目标数据对应的时间属性值;当所述时间属性值位于第一预设时间段内时,从预先存储的数据立方表包括的近期数据立方表中查询所述目标数据,所述第一预设时间段为当前时间之前且与当前时间之间相差第一预设时长的时间段,所述近期数据立方表用于存储时间属性值位于所述第一预设时间段内的数据;当所述时间属性值位于第二预设时间段内时,从所述数据立方表包括的历史数据立方表中查询所述目标数据,所述第二预设时间段为所述第一预设时间段中最早时间之前的时间段,所述历史数据立方表用于存储时间属性值位于所述第二预设时间段内的数据。可选地,所述确定所述目标数据对应的时间属性值之后,还包括:当所述时间属性值中的一部分位于所述第一预设时间段内,另一部分位于所述第二预设时间段内时,根据所述一部分的时间属性值从所述近期数据立方表中查询数据,得到第一数据;根据所述另一部分的时间属性值从所述历史数据立方表中查询数据,得到第二数据,所述近期数据立方表的时间维度的层级粒度比所述历史数据立方表的时间维度的层级粒度细;根据所述第一数据和所述第二数据,确定所述目标数据。可选地,所述从预先存储的数据立方表包括的近期数据立方表中查询所述目标数据之前,还包括:创建空白的数据立方表,所述空白的数据立方表包括空白的近期数据立方表和空白的历史数据立方表;从源数据库中查找所述近期数据立方表中的每个立方单元对应的数据,并基于查找的数据确定所述近期数据立方表中每个立方单元的聚集值;从所述源数据库中查找所述历史数据立方表中的每个立方单元对应的数据,并基于查找的数据确定所述历史数据立方表中每个立方单元的聚集值。可选地,所述从源数据库中查找所述近期数据立方表中的每个立方单元对应的数据,并基于查找的数据确定所述近期数据立方表中每个立方单元的聚集值之后,还包括:当所述源数据库中新增数据时,从所述近期数据立方表中查找与所述源数据库中新增的数据对应的立方单元;根据所述新增的数据,更新查找到的立方单元的聚集值。可选地,所述从所述源数据库中查找所述历史数据立方表中的每个立方单元对应的数据,并基于查找的数据确定所述历史数据立方表中每个立方单元的聚集值之后,还包括:对于所述近期数据立方表中的每个立方单元,每隔第二预设时长确定所述立方单元的时间维度值;当所述立方单元的时间维度值位于所述第二预设时间段内时,将所述立方单元从所述近期数据立方表中删除,并将所述立方单元的聚集值添加至所述历史数据立方表中对应的立方单元中。可选地,所述从所述源数据库中查找所述历史数据立方表中的每个立方单元对应的数据,并基于查找的数据确定所述历史数据立方表中每个立方单元的聚集值之后,还包括:当接收到数据更改请求时,确定待更改的数据的时间属性值;当所述待更改的数据的时间属性值位于所述第一预设时间段内时,更改所述近期数据立方表中与所述待更改的数据对应的立方单元的聚集值;当所述待更改的数据的时间属性值位于所述第二预设时间段内时,更改所述历史数据立方表中与所述待更改的数据对应的立方单元的聚集值。第二方面,提供了一种数据查询装置,所述装置包括:第一确定模块,用于当接收到目标数据的查询请求时,确定所述目标数据对应的时间属性值;第一查询模块,用于当所述时间属性值位于第一预设时间段内时,从预先存储的数据立方表包括的近期数据立方表中查询所述目标数据,所述第一预设时间段为当前时间之前且与当前时间之间相差第一预设时长的时间段,所述近期数据立方表用于存储时间属性值位于所述第一预设时间段内的数据;第二查询模块,用于当所述时间属性值位于第二预设时间段内时,从所述数据立方表包括的历史数据立方表中查询所述目标数据,所述第二预设时间段为所述第一预设时间段中最早时间之前的时间段,所述历史数据立方表用于存储时间属性值位于所述第二预设时间段内的数据。可选地,所述装置还包括:第三查询模块,用于当所述时间属性值中的一部分位于所述第一预设时间段内,另一部分位于所述第二预设时间段内时,根据所述一部分的时间属性值从所述近期数据立方表中查询数据,得到第一数据;第四查询模块,用于根据所述另一部分的时间属性值从所述历史数据立方表中查询数据,得到第二数据,所述近期数据立方表的时间维度的层级粒度比所述历史数据立方表的时间维度的层级粒度细;第二确定模块,用于根据所述第一数据和所述第二数据,确定所述目标数据。可选地,所述装置还包括:创建模块,用于创建空白的数据立方表,所述空白的数据立方表包括空白的近期数据立方表和空白的历史数据立方表;第一查找模块,用于从源数据库中查找所述近期数据立方表中的每个立方单元对应的数据,并基于查找的数据确定所述近期数据立方表中每个立方单元的聚集值;第二查找模块,用于从所述源数据库中查找所述历史数据立方表中的每个立方单元对应的数据,并基于查找的数据确定所述历史数据立方表中每个立方单元的聚集值。可选地,所述装置还包括:第三查找模块,用于当所述源数据库中新增数据时,从所述近期数据立方表中查找与所述源数据库中新增的数据对应的立方单元;更新模块本文档来自技高网
...

【技术保护点】
1.一种数据查询方法,其特征在于,所述方法包括:当接收到目标数据的查询请求时,确定所述目标数据对应的时间属性值;当所述时间属性值位于第一预设时间段内时,从预先存储的数据立方表包括的近期数据立方表中查询所述目标数据,所述第一预设时间段为当前时间之前且与当前时间之间相差第一预设时长的时间段,所述近期数据立方表用于存储时间属性值位于所述第一预设时间段内的数据;当所述时间属性值位于第二预设时间段内时,从所述数据立方表包括的历史数据立方表中查询所述目标数据,所述第二预设时间段为所述第一预设时间段中最早时间之前的时间段,所述历史数据立方表用于存储时间属性值位于所述第二预设时间段内的数据。

【技术特征摘要】
1.一种数据查询方法,其特征在于,所述方法包括:当接收到目标数据的查询请求时,确定所述目标数据对应的时间属性值;当所述时间属性值位于第一预设时间段内时,从预先存储的数据立方表包括的近期数据立方表中查询所述目标数据,所述第一预设时间段为当前时间之前且与当前时间之间相差第一预设时长的时间段,所述近期数据立方表用于存储时间属性值位于所述第一预设时间段内的数据;当所述时间属性值位于第二预设时间段内时,从所述数据立方表包括的历史数据立方表中查询所述目标数据,所述第二预设时间段为所述第一预设时间段中最早时间之前的时间段,所述历史数据立方表用于存储时间属性值位于所述第二预设时间段内的数据。2.如权利要求1所述的方法,其特征在于,所述确定所述目标数据对应的时间属性值之后,还包括:当所述时间属性值中的一部分位于所述第一预设时间段内,另一部分位于所述第二预设时间段内时,根据所述一部分的时间属性值从所述近期数据立方表中查询数据,得到第一数据;根据所述另一部分的时间属性值从所述历史数据立方表中查询数据,得到第二数据,所述近期数据立方表的时间维度的层级粒度比所述历史数据立方表的时间维度的层级粒度细;根据所述第一数据和所述第二数据,确定所述目标数据。3.如权利要求1所述的方法,其特征在于,所述从预先存储的数据立方表包括的近期数据立方表中查询所述目标数据之前,还包括:创建空白的数据立方表,所述空白的数据立方表包括空白的近期数据立方表和空白的历史数据立方表;从源数据库中查找所述近期数据立方表中的每个立方单元对应的数据,并基于查找的数据确定所述近期数据立方表中每个立方单元的聚集值;从所述源数据库中查找所述历史数据立方表中的每个立方单元对应的数据,并基于查找的数据确定所述历史数据立方表中每个立方单元的聚集值。4.如权利要求3所述的方法,其特征在于,所述从源数据库中查找所述近期数据立方表中的每个立方单元对应的数据,并基于查找的数据确定所述近期数据立方表中每个立方单元的聚集值之后,还包括:当所述源数据库中新增数据时,从所述近期数据立方表中查找与所述源数据库中新增的数据对应的立方单元;根据所述新增的数据,更新查找到的立方单元的聚集值。5.如权利要求3所述的方法,其特征在于,所述从所述源数据库中查找所述历史数据立方表中的每个立方单元对应的数据,并基于查找的数据确定所述历史数据立方表中每个立方单元的聚集值之后,还包括:对于所述近期数据立方表中的每个立方单元,每隔第二预设时长确定所述立方单元的时间维度值;当所述立方单元的时间维度值位于所述第二预设时间段内时,将所述立方单元从所述近期数据立方表中删除,并将所述立方单元的聚集值添加至所述历史数据立方表中对应的立方单元中。6.如权利要求3所述的方法,其特征在于,所述从所述源数据库中查找所述历史数据立方表中的每个立方单元对应的数据,并基于查找的数据确定所述历史数据立方表中每个立方单元的聚集值之后,还包括:当接收到数据更改请求时,确定待更改的数据的时间属性值;当所述待更改的数据的时间属性值位于所述第一预设时间段内时,更改所述近期数据立方表中与所述待更改的数据对应的立方单元的聚集值;当所述待更改的数据的时间属性值位于所述第二预设时间段内时,更改所述历史数据立方表中与所述待更改的数据对应的立方单元的聚集值。7.一种数据查询装置,其特征在于,所述装置包括:第一确定模块,用于当接收到目标数据的查询请求时,确定所述目标数...

【专利技术属性】
技术研发人员:席大超
申请(专利权)人:杭州海康威视数字技术股份有限公司
类型:发明
国别省市:浙江,33

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

1