CN106933906A - 数据多维度的查询方法及装置 - Google Patents
数据多维度的查询方法及装置 Download PDFInfo
- Publication number
- CN106933906A CN106933906A CN201511032355.XA CN201511032355A CN106933906A CN 106933906 A CN106933906 A CN 106933906A CN 201511032355 A CN201511032355 A CN 201511032355A CN 106933906 A CN106933906 A CN 106933906A
- Authority
- CN
- China
- Prior art keywords
- data
- fact table
- fact
- dimension
- association
- 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.)
- Granted
Links
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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种数据多维度的查询方法及装置。该方法包括:获取查询条件,其中,查询条件包括维度剖析链和待查询指标,维度剖析链由至少一个维度组成,用于对多个事实数据表进行过滤;获取与查询条件相关联的事实数据表,得到关联事实数据表集合;根据关联事实数据表集合中事实数据表的连接关系生成解析树,其中,解析树是由查询条件和连接关系生成并用于反应数据流过程的数据结构;根据解析树生成相应的数据查询语言,并通过数据查询语言执行查询处理。通过本申请,解决了数据多维度查询效率较低的问题。
Description
技术领域
本申请涉及数据处理领域,具体而言,涉及一种数据多维度的查询方法及装置。
背景技术
在联机分析处理(On-LineAnalytical Processing,简称OLAP)的环境下,目前常用的查询引擎有Hive,Impala这些结构化的带元数据的数据库,在这些数据库中,通常,将各类事件的数据记录在各个事实数据表中。例如,在“教学管理系统”中,教学管理”数据库包含以下几个事实数据表:“教师”表、“课程”表、“成绩”表、“学生”表、“班级”表和“授课”表等,通过以上事实数据表用来管理教学过程中学生、教师、课程等信息。再例如,互联网进行的会话监测,一般会有会话表(Session),页面浏览表(PageView),站内搜索表(SiteSearch),订单表(Ecommerce),自定义事件表(Event)等很多代表各种业务场景的事实数据表,但都会通过客户的会话标识(SessionID)进行关联起来,形成整个会话的所有实体。当用户需要从多个角度跨越多个事实数据表将数据关联进行查看指标数据和剖析维度时,相关技术中,根据用户查询需求,编写相应代码,从而在数据库中去查询相关的指标数据和相关维度,由于相关技术中缺乏统一将用户查询需求转化为查询的技术方案,导致在分析领域中的数据多维度查询效率较低。
针对相关技术中数据多维度查询效率较低的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种数据多维度的查询方法及装置,以解决数据多维度查询效率较低的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种数据多维度的查询方法。该方法包括:获取查询条件,其中,查询条件包括维度剖析链和待查询指标,维度剖析链由至少一个维度组成,用于对多个事实数据表进行过滤;获取与查询条件相关联的事实数据表,得到关联事实数据表集合;根据关联事实数据表集合中事实数据表的连接关系生成解析树,其中,解析树是由查询条件和连接关系生成并用于反应数据流过程的数据结构;以及根据解析树生成相应的数据查询语言,并通过数据查询语言执行查询处理。
进一步地,在获取与查询条件相关联的事实数据表,得到关联事实数据表集合之后,在根据关联事实数据表集合中事实数据表的连接关系生成解析树之前,该方法还包括:获取关联事实数据表集合中各事实数据表对应的连接键值;以及根据连接键值将关联事实数据表集合中的各个事实数据表进行连接。
进一步地,根据关联事实数据表集合中事实数据表的连接关系生成解析树包括:确定关联事实数据表集合中各个事实数据表之间连接的顺序关系;按照预设条件调整各个事实数据表之间连接的顺序关系;以及根据调整后的各个事实数据表之间连接的顺序关系生成解析树。
进一步地,获取与查询条件相关联的事实数据表,得到关联事实数据表集合包括:获取与查询条件相关联的事实数据表,得到多个关联事实数据表;获取关联键,其中,关联键用于关联多个关联事实数据表;以及通过关联键关联多个关联事实数据表,得到关联事实数据表集合。
进一步地,获取查询条件包括:接收外部输入的查询指令;根据查询指令确定维度剖析链和待查询指标;以及将维度剖析链和待查询指标作为查询条件。
为了实现上述目的,根据本申请的另一方面,提供了一种数据多维度的查询装置。该装置包括:第一获取单元,用于获取查询条件,其中,查询条件包括维度剖析链和待查询指标,维度剖析链由至少一个维度组成,用于对多个事实数据表进行过滤;第二获取单元,用于获取与查询条件相关联的事实数据表,得到关联事实数据表集合;生成单元,用于根据关联事实数据表集合中事实数据表的连接关系生成解析树,其中,解析树是由查询条件和连接关系生成并用于反应数据流过程的数据结构;以及处理单元,用于根据解析树生成相应的数据查询语言,并通过数据查询语言执行查询处理。
进一步地,该装置还包括:第三获取单元,用于获取关联事实数据表集合中各事实数据表对应的连接键值;以及连接单元,用于根据连接键值将关联事实数据表集合中的各个事实数据表进行连接。
进一步地,生成单元包括:第一确定模块,用于确定关联事实数据表集合中各个事实数据表之间连接的顺序关系;调整模块,用于按照预设条件调整各个事实数据表之间连接的顺序关系;以及生成模块,用于根据调整后的各个事实数据表之间连接的顺序关系生成解析树。
进一步地,第二获取单元包括:第一获取模块,用于获取与查询条件相关联的事实数据表,得到多个关联事实数据表;第二获取模块,用于获取关联键,其中,关联键用于关联多个关联事实数据表;以及关联模块,用于通过关联键关联多个关联事实数据表,得到关联事实数据表集合。
进一步地,第一获取单元包括:接收模块,用于接收外部输入的查询指令;第二确定模块,用于根据查询指令确定维度剖析链和待查询指标;以及第三确定模块,用于将维度剖析链和待查询指标作为查询条件。
通过本申请,采用以下步骤:获取查询条件,其中,查询条件包括维度剖析链和待查询指标,维度剖析链由至少一个维度组成,用于对多个事实数据表进行过滤;获取与查询条件相关联的事实数据表,得到关联事实数据表集合;根据关联事实数据表集合中事实数据表的连接关系生成解析树,其中,解析树是由查询条件和连接关系生成并用于反应数据流过程的数据结构;根据解析树生成相应的数据查询语言,并通过数据查询语言执行查询处理,解决了数据多维度查询效率较低的问题,进而达到了提升数据多维度查询效率的效果。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的数据多维度的查询方法的流程图;以及
图2是根据本申请实施例的数据多维度的查询装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于理解,以下对本申请实施例涉及的几个术语进行解释说明:
指标:是指可以进行聚合运算的值,例如,综合浏览量是一个指标,使用求和进行聚合;平均停留时间也是一个指标,使用平均进行聚合,其中,聚合运算包括求和、平均、计数等。
维度:是指查看指标的角度,例如,浏览器是一个维度,可以从浏览器这个维度查询页面浏览(Page View,简称为PV),从而可以知道用户使用哪些浏览器查看页面,以及使用这些浏览器查看页面的次数;操作系统为另一个维度,也可以从操作系统这个维度查询PV,从而可以知道用户使用哪些操作系统查看页面,以及使用这些操作系统查看页面的次数。
成员:是指维度具体对应的对象,例如,浏览器是一个维度,而IE浏览器、Chrome浏览器即为该维度的一个成员。
多维剖析:是指可以从多个维度剖析多个指标的值,例如,从操作系统维度查看会话量值后,选择其中几个成员后,继续从浏览器维度查看会话值,即从两个维度剖析会话值。依次类推,可以从多个维度进行自由的剖析。
维度表:维度表可以看作是用户来分析数据的窗口,维度表中包含事实数据表中事实记录的特性,有些特性提供描述性信息,有些特性指定如何汇总事实数据表数据,以便为分析者提供有用的信息,维度表包含帮助汇总数据的特性的层次结构。例如,包含产品信息的维度表通常包含将产品分为食品、饮料、非消费品等若干类的层次结构,这些产品中的每一类进一步多次细分,直到各产品达到最低级别。在维度表中,每个表都包含独立于其他维度表的事实特性,例如,客户维度表包含有关客户的数据。维度表中的列字段可以将信息分为不同层次的结构级。
事实数据表:数据仓库架构中的中央表,它包含联系事实与维度表的数字度量值和键。事实数据表包含描述业务(如银行事务或产品销售)内特定事件的数据。一般来说,一个事实数据表都要和一个或多个维度表相关联,用户在利用事实数据表创建多维数据集时,可以使用一个或多个维度表。根据本申请的实施例,提供了一种数据多维度的查询方法。
图1是根据本申请实施例的数据多维度的查询方法的流程图。如图1所示,该方法包括以下步骤:
步骤S101,获取查询条件,其中,查询条件包括维度剖析链和待查询指标,维度剖析链由至少一个维度组成,用于对多个事实数据表进行过滤。
多维剖析时,会传入一个维度剖析链(预设过滤条件)和待查询指标,根据剖析链对多个事实数据表进行过滤,例如,维度剖析链为:操作系统版本(window7)>>浏览器(chrome)>>是否新访问者(是)>>页面查看量(1)>>访问时长。待查询指标是访问量等。
获取包括维度剖析链和待查询指标的查询条件。
可选地,在申请实施例的数据多维度的查询方法中,获取查询条件还可以通过以下步骤实现:接收外部输入的查询指令;根据查询指令确定维度剖析链和待查询指标;以及将维度剖析链和待查询指标作为查询条件。
在获取查询条件之前,需要配置维度和指标的元数据信息,确定维度和指标的相关属性,例如,维度配置的一个示例:
"Dimensions":[
{
"name":"SourceType",//名称,类型
"column":"sourcetype",//列,类型
"Tables":["session","pageview","ecommerce","sitesearch","mouseclick","event"]},//表:会话表,页面游览表,订单表,网站搜索表,点击表,自定义事件表{
"name":"ChannelName",//名称,来源渠道名称
"column":"channelname",//列
"Tables":["session","pageview","ecommerce","sitesearch","mouseclick","event"]}//表:会话表,页面游览表,订单表,网站搜索表,点击表,自定义事件表]
指标配置的一个示例:
"Measures":[
{
"Name":"Visits",//名称,访问量
"Table":"session",//表,会话表
"Column":null,
"AggregateType":"COUNT"
},
{
"Name":"BouncesVisits",//名称,访问量
"Table":"session",//表,会话表
"Column":"isbouce",//列,isbouce列
"AggregateType":"SUM"
}
]
步骤S102,获取与查询条件相关联的事实数据表,得到关联事实数据表集合。
维度(dimension)是多维数据集的结构性特性。它们是事实数据表中用来描述数据的分类的有组织层次结构(级别)。这些分类和级别描述了一些相似的成员集合,用户将基于这些成员集合进行分析。维度表可以看作是用户来分析数据的窗口,维度表中包含事实数据表中事实记录的特性,有些特性提供描述性信息,有些特性指定如何汇总事实数据表数据,以便为分析者提供有用的信息,维度表包含帮助汇总数据的特性的层次结构。例如,事实数据表为销量表,维度表就是地区表。剖析某地区商品的销量,是从地区这个角度观察商品销量,剖析北京、上海和广州等地区商品的销量,是从多个角度观察商品销量。
步骤S102的查询条件中的至少一个维度为本申请实施例的数据多维度自由剖析的查询方法中需要进行剖析的维度,在分布式数据库中,获取与需要进行剖析的维度组成的维度剖析链相关联的事实数据表,得到多个事实数据表,多个事实数据表组成关联事实数据表集合。
通过上述步骤,获取到与查询条件相关联的多个事实数据表,即获取到后续查询数据的元数据信息。
可选地,为了提升获取关联事实数据表集合的准确性,在本申请实施例的数据多维度自由剖析的查询方法中,获取与查询条件相关联的事实数据表,得到关联事实数据表集合还可以通过以下步骤实现:获取与查询条件相关联的事实数据表,得到多个关联事实数据表;获取关联键,其中,关联键用于关联多个关联事实数据表;以及通过关联键关联多个关联事实数据表,得到关联事实数据表集合。
例如,关联键为会话标识(SessionID),通过会话标识(SessionID)关联多个关联事实数据表,得到关联事实数据表集合。
需要说明的是,本申请提供的数据多维度自由剖析的查询方法为在分析领域中的数据多维度自由剖析的查询方法。
步骤S103,根据关联事实数据表集合中事实数据表的连接关系生成解析树,其中,解析树是由查询条件和连接关系生成并用于反应数据流过程的数据结构。
在本申请提供的数据多维度自由剖析的查询方法中,解析树是一种数据结构,该结构记录了生成结构化查询语言所需要的所有条件和样式,根据查询需求的维度链,剖析维度和指标(即上述的查询条件),计算出所需要的表结点以及过滤信息,并将所有表结点通过相关的关联关系连接起来。其中,解析树中的每一个节点,相当于定义了一个临时表数据结构。整个解析树反映了如何从原始的数据表中通过相应的过滤、选取、变化,逐步得到最终结果的过程,解析树中记录了所有的数据表结点。
可选地,在本申请实施例的数据多维度自由剖析的查询方法中,在获取与查询条件相关联的事实数据表,得到关联事实数据表集合之后,在根据关联事实数据表集合中事实数据表的连接关系生成解析树之前,该方法还包括:获取关联事实数据表集合中各事实数据表对应的连接键值;以及根据连接键值将关联事实数据表集合中的各个事实数据表进行连接。
例如,关联事实数据表集合中各事实数据表对应的连接键值为相应的ID等共有维度字段,根据ID等共有维度字段将关联事实数据表集合中的各个事实数据表进行连接。
可选地,在本申请实施例的数据多维度自由剖析的查询方法中,根据关联事实数据表集合中事实数据表的连接关系生成解析树还可以通过以下步骤实现:确定关联事实数据表集合中各个事实数据表之间连接的顺序关系;按照预设条件调整各个事实数据表之间连接的顺序关系;以及根据调整后的各个事实数据表之间连接的顺序关系生成解析树。
各个事实数据表中包括大表和小表,在本申请中的将数据表中数据量超过阈值的表称为大表,数据表中数据量未超过阈值的表称为小表。由于各表之间的链接顺序会极大的影响性能开销,在本申请中按照预设条件调节各个事实数据表之间连接的顺序关系,可以将小表与小表先连接,再与大表连接,优化表的连接顺序,从而减小性能开销,极大的提高性能。
步骤S104,根据解析树生成相应的数据查询语言,并通过数据查询语言执行查询处理。
本申请实施例的数据多维度自由剖析的查询方法中的数据查询语言为结构化查询语言(Structured Query Language,简称SQL),SQL为数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
例如,维度剖析链为:IsBounce=0AND PageDuration>10AND SessionPageViews>10;剖析维度为:OSBrief;待查询指标为:Visits,AvgSessionDuration,SessionpageViews。
获取到与维度剖析链、剖析维度和待查询指标相关联的事实数据表,根据关联事实数据表集合中事实数据表的连接关系生成解析树,根据解析树生成相应的数据查询语言。
例如,实现代码可以如下所示:
with s as(select serversessionid,osbrief,pvcount,sessionduration from session whereisbounce=0and PVCount>10)
pv as(select serversessionid from pageview group by serversessionid havingmax(pageduration)>10)
select osbrief,sum(pvcount)as sessionpageviews,count(*)as visits,avg(sessionduration)as avgsessionduration
from s inner join pv on s.serversessionid=pv.serversessionid
group by osbrief
order by count(*)desc
limit 10
通过上述生成的数据查询语言执行查询处理。
又例如,维度剖析链为:IsBounce=0AND PageDuration>10AND SessionPageView>10;剖析维度:OSBrief;待查询指标为:Visits,AvgSessionDuratuon,SessionpageViews。
获取到与维度剖析链、剖析维度和待查询指标相关联的事实数据表,根据关联事实数据表集合中事实数据表的连接关系生成解析树,根据解析树生成相应的数据查询语言。
实现代码可以如下所示:
PV_Jion_Session(SelectColumns:osbrief,Measures GroupBy:OSBrief OrderBy:Visits descpaging:1,10)
通过上述生成的数据查询语言执行查询处理。
根据上述生成的数据查询语言执行数据查询,解决了现有技术中由于相关技术中缺乏统一将用户查询需求转化为查询的技术方案,导致分析领域中的数据多维度查询效率较低的问题。
对于数据仓库,各事实数据表都可能有相应的关系,并且通过相应的ID等共有维度字段会进行关联,本申请实施例提供的数据多维度的查询方法处理的是展平后的事实数据表,例如,会话等字段会派生到其子实体,如页面浏览,电商订单等事实数据表上,这样在仅剖析会话类的维度,如浏览器等,就不需要进行会话表的关联,以达到性能提升的目的。
本申请实施例提供的数据多维度的查询方法,通过获取查询条件,其中,查询条件包括维度剖析链和待查询指标,维度剖析链由至少一个维度组成,用于对多个事实数据表进行过滤;获取与查询条件相关联的事实数据表,得到关联事实数据表集合;根据关联事实数据表集合中事实数据表的连接关系生成解析树,其中,解析树是由查询条件和连接关系生成并用于反应数据流过程的数据结构;根据解析树生成相应的数据查询语言,并通过数据查询语言执行查询处理,解决了数据多维度查询效率较低的问题,进而达到了提升数据多维度查询效率的效果。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例还提供了一种数据多维度的查询装置,需要说明的是,本申请实施例的数据多维度的查询装置可以用于执行本申请实施例所提供的用于数据多维度的查询方法。以下对本申请实施例提供的数据多维度的查询装置进行介绍。
图2是根据本申请实施例的数据多维度的查询装置的示意图。如图2所示,该装置包括:第一获取单元10、第二获取单元20、生成单元30和处理单元40。
第一获取单元10,用于获取查询条件,其中,查询条件包括维度剖析链和待查询指标,维度剖析链由至少一个维度组成,用于对多个事实数据表进行过滤。
第二获取单元20,用于获取与查询条件相关联的事实数据表,得到关联事实数据表集合。
生成单元30,用于根据关联事实数据表集合中事实数据表的连接关系生成解析树,其中,解析树是由查询条件和连接关系生成并用于反应数据流过程的数据结构。
处理单元40,用于根据解析树生成相应的数据查询语言,并通过数据查询语言执行查询处理。
本申请实施例提供的数据多维度的查询装置,通过第一获取单元10获取查询条件,其中,查询条件包括维度剖析链和待查询指标,维度剖析链由至少一个维度组成,用于对多个事实数据表进行过滤;第二获取单元20获取与查询条件相关联的事实数据表,得到关联事实数据表集合;生成单元30根据关联事实数据表集合中事实数据表的连接关系生成解析树,其中,解析树是由查询条件和连接关系生成并用于反应数据流过程的数据结构;处理单元40根据解析树生成相应的数据查询语言,并通过数据查询语言执行查询处理,解决了数据多维度查询效率较低的问题,进而达到了提升数据多维度查询效率的效果。
可选地,在本申请实施例提供的数据多维度的查询装置中,该装置还包括:第三获取单元,用于获取关联事实数据表集合中各事实数据表对应的连接键值;以及连接单元,用于根据连接键值将关联事实数据表集合中的各个事实数据表进行连接。
可选地,在本申请实施例提供的数据多维度的查询装置中,生成单元30包括:第一确定模块,用于确定关联事实数据表集合中各个事实数据表之间连接的顺序关系;调整模块,用于按照预设条件调整各个事实数据表之间连接的顺序关系;以及生成模块,用于根据调整后的各个事实数据表之间连接的顺序关系生成解析树。
可选地,在本申请实施例提供的数据多维度的查询装置中,第二获取单元20包括:第一获取模块,用于获取与查询条件相关联的事实数据表,得到多个关联事实数据表;第二获取模块,用于获取关联键,其中,关联键用于关联多个关联事实数据表;以及关联模块,用于通过关联键关联多个关联事实数据表,得到关联事实数据表集合。
可选地,在本申请实施例提供的数据多维度的查询装置中,第一获取单元10包括:接收模块,用于接收外部输入的查询指令;第二确定模块,用于根据查询指令确定维度剖析链和待查询指标;以及第三确定模块,用于将维度剖析链和待查询指标作为查询条件。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种数据多维度的查询方法,其特征在于,包括:
获取查询条件,其中,所述查询条件包括维度剖析链和待查询指标,所述维度剖析链由至少一个维度组成,用于对多个事实数据表进行过滤;
获取与所述查询条件相关联的事实数据表,得到关联事实数据表集合;
根据所述关联事实数据表集合中事实数据表的连接关系生成解析树,其中,所述解析树是由所述查询条件和所述连接关系生成并用于反应数据流过程的数据结构;以及
根据所述解析树生成相应的数据查询语言,并通过所述数据查询语言执行查询处理。
2.根据权利要求1所述的方法,其特征在于,在获取与所述查询条件相关联的事实数据表,得到关联事实数据表集合之后,在根据所述关联事实数据表集合中事实数据表的连接关系生成解析树之前,所述方法还包括:
获取所述关联事实数据表集合中各事实数据表对应的连接键值;以及
根据所述连接键值将所述关联事实数据表集合中的各个事实数据表进行连接。
3.根据权利要求2所述的方法,其特征在于,根据所述关联事实数据表集合中事实数据表的连接关系生成解析树包括:
确定所述关联事实数据表集合中各个事实数据表之间连接的顺序关系;
按照预设条件调整各个事实数据表之间连接的顺序关系;以及
根据调整后的各个事实数据表之间连接的顺序关系生成所述解析树。
4.根据权利要求1所述的方法,其特征在于,获取与所述查询条件相关联的事实数据表,得到关联事实数据表集合包括:
获取与所述查询条件相关联的事实数据表,得到多个关联事实数据表;
获取关联键,其中,所述关联键用于关联所述多个关联事实数据表;以及
通过所述关联键关联所述多个关联事实数据表,得到所述关联事实数据表集合。
5.根据权利要求1所述的方法,其特征在于,获取所述查询条件包括:
接收外部输入的查询指令;
根据所述查询指令确定所述维度剖析链和所述待查询指标;以及
将所述维度剖析链和所述待查询指标作为所述查询条件。
6.一种数据多维度的查询装置,其特征在于,包括:
第一获取单元,用于获取查询条件,其中,所述查询条件包括维度剖析链和待查询指标,所述维度剖析链由至少一个维度组成,用于对多个事实数据表进行过滤;
第二获取单元,用于获取与所述查询条件相关联的事实数据表,得到关联事实数据表集合;
生成单元,用于根据所述关联事实数据表集合中事实数据表的连接关系生成解析树,其中,所述解析树是由所述查询条件和所述连接关系生成并用于反应数据流过程的数据结构;以及
处理单元,用于根据所述解析树生成相应的数据查询语言,并通过所述数据查询语言执行查询处理。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第三获取单元,用于获取所述关联事实数据表集合中各事实数据表对应的连接键值;以及
连接单元,用于根据所述连接键值将所述关联事实数据表集合中的各个事实数据表进行连接。
8.根据权利要求7所述的装置,其特征在于,所述生成单元包括:
第一确定模块,用于确定所述关联事实数据表集合中各个事实数据表之间连接的顺序关系;
调整模块,用于按照预设条件调整各个事实数据表之间连接的顺序关系;以及
生成模块,用于根据调整后的各个事实数据表之间连接的顺序关系生成所述解析树。
9.根据权利要求6所述的装置,其特征在于,所述第二获取单元包括:
第一获取模块,用于获取与所述查询条件相关联的事实数据表,得到多个关联事实数据表;
第二获取模块,用于获取关联键,其中,所述关联键用于关联所述多个关联事实数据表;以及
关联模块,用于通过所述关联键关联所述多个关联事实数据表,得到所述关联事实数据表集合。
10.根据权利要求6所述的装置,其特征在于,所述第一获取单元包括:
接收模块,用于接收外部输入的查询指令;
第二确定模块,用于根据所述查询指令确定所述维度剖析链和所述待查询指标;以及
第三确定模块,用于将所述维度剖析链和所述待查询指标作为所述查询条件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511032355.XA CN106933906B (zh) | 2015-12-31 | 2015-12-31 | 数据多维度的查询方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511032355.XA CN106933906B (zh) | 2015-12-31 | 2015-12-31 | 数据多维度的查询方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106933906A true CN106933906A (zh) | 2017-07-07 |
CN106933906B CN106933906B (zh) | 2020-05-22 |
Family
ID=59444148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511032355.XA Active CN106933906B (zh) | 2015-12-31 | 2015-12-31 | 数据多维度的查询方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106933906B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109254966A (zh) * | 2018-08-23 | 2019-01-22 | 平安科技(深圳)有限公司 | 数据表查询方法、装置、计算机设备及存储介质 |
CN109614402A (zh) * | 2018-12-11 | 2019-04-12 | 北京京东金融科技控股有限公司 | 多维数据查询方法和装置 |
CN110020142A (zh) * | 2017-11-17 | 2019-07-16 | 上海宝信软件股份有限公司 | 一种面向钢铁电商综合检索的快速分类聚合方法及系统 |
CN110413634A (zh) * | 2019-06-27 | 2019-11-05 | 北京奇艺世纪科技有限公司 | 数据查询方法、系统、装置及计算机可读存储介质 |
CN111552792A (zh) * | 2020-04-30 | 2020-08-18 | 中国建设银行股份有限公司 | 一种信息查询方法、装置、电子设备及存储介质 |
CN111881110A (zh) * | 2020-06-18 | 2020-11-03 | 贝壳技术有限公司 | 数据迁移方法及装置 |
CN110019357B (zh) * | 2017-09-29 | 2021-06-29 | 北京国双科技有限公司 | 数据库查询脚本生成方法及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070250503A1 (en) * | 2002-05-10 | 2007-10-25 | International Business Machines Corporation | Querying markup language data sources using a relational query processor |
CN102521416A (zh) * | 2011-12-28 | 2012-06-27 | 用友软件股份有限公司 | 数据关联查询方法和数据关联查询装置 |
CN102667774A (zh) * | 2009-12-01 | 2012-09-12 | 国际商业机器公司 | 当从报告规范生成olap查询时补偿不平衡层级 |
CN103020301A (zh) * | 2012-12-31 | 2013-04-03 | 中国科学院自动化研究所 | 一种多维度数据查询和存储方法及系统 |
CN103853820A (zh) * | 2014-02-20 | 2014-06-11 | 北京用友政务软件有限公司 | 一种数据处理方法及系统 |
CN104063376A (zh) * | 2013-03-18 | 2014-09-24 | 阿里巴巴集团控股有限公司 | 多维度分组运算方法及系统 |
CN104182544A (zh) * | 2014-09-05 | 2014-12-03 | 北京国双科技有限公司 | 分析数据库的维度剖析方法及装置 |
CN104462434A (zh) * | 2014-12-15 | 2015-03-25 | 北京国双科技有限公司 | 数据查询方法及装置 |
US9081825B1 (en) * | 2014-03-17 | 2015-07-14 | Linkedin Corporation | Querying of reputation scores in reputation systems |
CN105095249A (zh) * | 2014-05-05 | 2015-11-25 | 中国石油化工股份有限公司 | 一种生成多维度报表的方法 |
-
2015
- 2015-12-31 CN CN201511032355.XA patent/CN106933906B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070250503A1 (en) * | 2002-05-10 | 2007-10-25 | International Business Machines Corporation | Querying markup language data sources using a relational query processor |
CN102667774A (zh) * | 2009-12-01 | 2012-09-12 | 国际商业机器公司 | 当从报告规范生成olap查询时补偿不平衡层级 |
CN102521416A (zh) * | 2011-12-28 | 2012-06-27 | 用友软件股份有限公司 | 数据关联查询方法和数据关联查询装置 |
CN103020301A (zh) * | 2012-12-31 | 2013-04-03 | 中国科学院自动化研究所 | 一种多维度数据查询和存储方法及系统 |
CN104063376A (zh) * | 2013-03-18 | 2014-09-24 | 阿里巴巴集团控股有限公司 | 多维度分组运算方法及系统 |
CN103853820A (zh) * | 2014-02-20 | 2014-06-11 | 北京用友政务软件有限公司 | 一种数据处理方法及系统 |
US9081825B1 (en) * | 2014-03-17 | 2015-07-14 | Linkedin Corporation | Querying of reputation scores in reputation systems |
CN105095249A (zh) * | 2014-05-05 | 2015-11-25 | 中国石油化工股份有限公司 | 一种生成多维度报表的方法 |
CN104182544A (zh) * | 2014-09-05 | 2014-12-03 | 北京国双科技有限公司 | 分析数据库的维度剖析方法及装置 |
CN104462434A (zh) * | 2014-12-15 | 2015-03-25 | 北京国双科技有限公司 | 数据查询方法及装置 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110019357B (zh) * | 2017-09-29 | 2021-06-29 | 北京国双科技有限公司 | 数据库查询脚本生成方法及装置 |
CN110020142A (zh) * | 2017-11-17 | 2019-07-16 | 上海宝信软件股份有限公司 | 一种面向钢铁电商综合检索的快速分类聚合方法及系统 |
CN109254966A (zh) * | 2018-08-23 | 2019-01-22 | 平安科技(深圳)有限公司 | 数据表查询方法、装置、计算机设备及存储介质 |
CN109614402A (zh) * | 2018-12-11 | 2019-04-12 | 北京京东金融科技控股有限公司 | 多维数据查询方法和装置 |
CN109614402B (zh) * | 2018-12-11 | 2020-09-29 | 京东数字科技控股有限公司 | 多维数据查询方法和装置 |
CN110413634A (zh) * | 2019-06-27 | 2019-11-05 | 北京奇艺世纪科技有限公司 | 数据查询方法、系统、装置及计算机可读存储介质 |
CN110413634B (zh) * | 2019-06-27 | 2022-03-29 | 北京奇艺世纪科技有限公司 | 数据查询方法、系统、装置及计算机可读存储介质 |
CN111552792A (zh) * | 2020-04-30 | 2020-08-18 | 中国建设银行股份有限公司 | 一种信息查询方法、装置、电子设备及存储介质 |
CN111552792B (zh) * | 2020-04-30 | 2023-11-21 | 中国建设银行股份有限公司 | 一种信息查询方法、装置、电子设备及存储介质 |
CN111881110A (zh) * | 2020-06-18 | 2020-11-03 | 贝壳技术有限公司 | 数据迁移方法及装置 |
CN111881110B (zh) * | 2020-06-18 | 2024-04-09 | 贝壳技术有限公司 | 数据迁移方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106933906B (zh) | 2020-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106933906A (zh) | 数据多维度的查询方法及装置 | |
CN105117422B (zh) | 智能社交网络推荐系统 | |
CN103914478B (zh) | 网页训练方法及系统、网页预测方法及系统 | |
US8326869B2 (en) | Analysis of object structures such as benefits and provider contracts | |
DE112012006300T5 (de) | Prädiktives verhaltensorientiertes Targeting | |
DE102014204842A1 (de) | Clustering von Daten | |
CN106933893A (zh) | 多维度数据的查询方法及装置 | |
US20140195984A1 (en) | Analytic frameworks for persons of interest | |
CN103605738A (zh) | 网页访问数据统计方法及装置 | |
CN106708841A (zh) | 网站访问路径的聚合方法和装置 | |
CN107046557A (zh) | 移动云计算环境下动态Skyline查询的智能医疗呼叫查询系统 | |
CN103678350B (zh) | 社交网络搜索结果展示方法及装置 | |
CN106933902A (zh) | 数据多维度自由剖析的查询方法及装置 | |
CN104408180A (zh) | 内存数据的查询方法和装置 | |
CN108170707A (zh) | 一种数据质量检测的方法和系统 | |
EP4272087A1 (en) | Automated linear clustering recommendation for database zone maps | |
CN103605744B (zh) | 网站搜索引擎流量数据的分析方法及装置 | |
Nove Eka Variant Anna et al. | Analysis of bibliometrics research in library philosophy and practice from 1998-2021 | |
CN110717089A (zh) | 一种基于网络日志的用户行为分析系统及方法 | |
US10719561B2 (en) | System and method for analyzing popularity of one or more user defined topics among the big data | |
CN103425705B (zh) | 一种否定关键词的获取方法及装置和搜索方法及装置 | |
CN106933909B (zh) | 多维度数据的查询方法及装置 | |
CN113722288A (zh) | 一种时空数据统计的建模方法 | |
CN110516184A (zh) | 一种统计uv数量的模拟运算方法 | |
CN105159899A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing Applicant after: Beijing Guoshuang Technology Co.,Ltd. Address before: 100086 Cuigong Hotel, 76 Zhichun Road, Shuangyushu District, Haidian District, Beijing Applicant before: Beijing Guoshuang Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |