CN107491454A - 数据查询方法及装置 - Google Patents
数据查询方法及装置 Download PDFInfo
- Publication number
- CN107491454A CN107491454A CN201610412853.5A CN201610412853A CN107491454A CN 107491454 A CN107491454 A CN 107491454A CN 201610412853 A CN201610412853 A CN 201610412853A CN 107491454 A CN107491454 A CN 107491454A
- Authority
- CN
- China
- Prior art keywords
- inquiry
- query
- operator
- data source
- data
- 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.)
- Pending
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/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24573—Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
-
- 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/2453—Query optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种数据查询方法及装置,所述方法包括:基于用户输入信息生成查询请求;基于所述查询请求获取查询元数据和物理元数据;基于所述查询元数据获取查询指标和算子,并基于所述物理元数据确定使用的数据源;基于所述查询指标、算子和数据源得到查询结果。本发明实施例通过基于用户输入的查询请求获取查询元数据和物理元数据,并基于所述查询元数据获取查询指标和算子,基于所述物理元数据确定使用的数据源,基于所述查询指标、算子和数据源得到查询结果,能够避免由于过度的人员交流带来的干扰,提高查询效率。
Description
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种数据查询方法及装置。
背景技术
随着信息系统日新月异的发展,计算机数据处理技术也越来越信息化,这些计算机的数据处理技术,都是由专业的程序员使用不同的计算机语言开发实现,数据的处理过程需要很高的技术能力及专业知识,使得一般的程序员或用户无法胜任。
尤其在做数据查询的过程中,需要了解其查询模型,对数据查询的使用者增加了使用的门槛。目前,在这种情况下,使用者只能通过文档及当面沟通的形式将查询的需求转告到专业的程序员,让了解查询模型的程序员实现使用者的查询需求。并且由于底层数据源的不同,对应的查询模型也随之不同,所以更进一步加大了实现查询逻辑的难度。
在这种工作模式下会带来如下两个问题:(1)使用者的查询需求在与专业程序员的交流过程中,会有部分的理解错误、漏传,此情况会导致项目延期、与需求实现有偏差。(2)查询业务的实现需要跨越多个团队甚至部门,在这种情况下,会产生沟通效率低下,沟通不畅等问题。
发明内容
本发明实施例提供一种数据查询方法及装置,以提高查询效率。
第一方面,本发明实施例提供了一种数据查询方法,包括:
基于用户输入信息生成查询请求;
基于所述查询请求获取查询元数据和物理元数据;
基于所述查询元数据获取查询指标和算子,并基于所述物理元数据确定使用的数据源;
基于所述查询指标、算子和数据源得到查询结果。
第二方面,本发明实施例还提供了一种数据查询装置,包括:
查询请求获取模块,用于基于用户输入信息生成查询请求;
查询模块,用于基于所述查询请求获取查询元数据和物理元数据,基于所述查询元数据获取查询指标和算子,并基于所述物理元数据确定使用的数据源,基于所述查询指标、算子和数据源得到查询结果。
本发明实施例通过基于用户输入的查询请求获取查询元数据和物理元数据,并基于所述查询元数据获取查询指标和算子,基于所述物理元数据确定使用的数据源,基于所述查询指标、算子和数据源得到查询结果,能够避免由于过度的人员交流带来的干扰,提高查询效率。
附图说明
图1A是本发明实施例一中的一种数据查询方法的流程图;
图1B是本发明实施例一中的一种数据查询方法中的供用户选择数据源的查询界面示意图;
图1C是本发明实施例一中的一种数据查询方法中的供用户选择算子的查询界面示意图;
图1D是本发明实施例一中的一种数据查询方法中的供用户配置算子的查询界面示意图;
图2是本发明实施例二中的一种数据查询方法的流程图;
图3是本发明实施例三中的一种数据查询方法的流程图;
图4是本发明实施例四中的一种数据查询方法的流程图;
图5是本发明实施例五中的一种数据查询装置的结构图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1A为本发明实施例一提供的一种数据查询方法的流程图,本实施例可适用于在多个数据源场景下统一进行数据查询的情况,该方法可以由本发明实施例提供的数据查询装置来执行,该装置可集成于移动终端、固定终端或服务器中,如图1A所示,具体包括:
S101、基于用户输入信息生成查询请求。
其中,用户输入信息包括但不限于数据源、查询指标和算子等。其中,查询指标具体是指数据源中数据的某个数据项,算子是对数据项的数学计算函数。
具体的,本实施例预先为用户提供用户查询界面,由用户根据自己的查询需求在所述用户查询界面中输入查询请求,基于用户在所述查询界面输入的查询指标和算子构建查询元数据,并基于用户在所述查询界面配置的数据源信息构建物理元数据;基于所述构建的查询元数据和物理元数据生成查询请求。
例如,本实施例预先在数据查询装置中配置常用的数据源,包括但限于以下至少一种数据源:关系型数据库MySQL、关系型数据库管理系统代理服务MySQL-DBPROXY、基于Hadoop的数据仓库工具的数据库系统HIVE、百度联机分析处理引擎PALO、百度基于分析处理的数据库DRUID和分布式文件系统(Hadoop Distributed File System,HDFS)。本实施例支持对不同的数据源进行查询,该装置将符合接口标准的数据源适配插件打成程序包,放入到相应的目录下,该装置会自动识别到数据源适配插件程序包,并自动加载到装置中,实现插件热插拔功能。例如,将HDFS数据源配置到该装置中,所经过的流程如下:开发人员根据接口标准开发出数据源适配插件,并打成程序包。将程序包上传到装置指定的目录下。该装置自动识别此数据源适配插件,即可访问此数据源。
在数据源配置完成之后,本实施例提供如图1B、1C和1D所示的用户查询界面,供用户输入查询请求。用户在图1B所示的界面可以选择要查询的数据源,以及通过图1C和图1D所示的用户查询界面输入查询指标,并选择计算算子,其中计算算子包括但不限于求和SUM、统计符合条件的数据条数COUNT、统计符合条件的非重复结果的数据条数DISTINCT_COUNT等。在用户将查询数据输入完毕之后,通过点击如图1B所示的提交按钮完成提交,则根据用户的输入生成对应的查询元数据以及物理元数据。其中生成的查询元数据包括但不限于用户输入的查询指标信息、算子信息、维度信息和查询动作信息。其中查询指标信息包括但不限于消费同比、当日消费情况等;算子信息包括但不限于高级算子信息(例如,对消费计算同比)、AGG算子信息(例如,对当日消费求和)和基本算子信息(例如,查询某月的当日消费情况),高级算子信息是由AGG算子信息和/或基本算子信息组成的;维度信息包括但不限于按日、按月、按季度、按年或区域进行查询;查询动作信息包括但不限于查询某天的消费情况,并按消费同比排序等。生成的物理元数据为如何从数据源获取查询操作相关数据的支持数据,例如包括但不限于物理连接信息、用户认证信息和连接数据源的配置信息。其中,物理连接信息包括但不限于连接网络的IP地址、端口和数据源名称等,通过物理连接信息可以连接到数据源所在设备;用户认证信息包括但不限于登录系统的用户名和密码,通过用户认证信息可以有权限获得数据;连接数据源的配置信息包括但不限于符合访问该数据源的描述语言信息,例如,字符编码信息、数据源配置信息,通过连接数据源的配置信息,可以获知基于何种格式从数据源读取数据,以及是否需要进行编码等。
S102、基于所述查询请求获取查询元数据和物理元数据。对上述步骤生成的查询请求进行解析,获取其中的查询元数据和物理元数据。例如,获取的查询元数据为SUM(A,B),获取的物理元数据为连接到数据源HDFS的信息。
S103、基于所述查询元数据获取查询指标和算子,并基于所述物理元数据确定使用的数据源。
具体的,基于所述查询元数据获取查询指标和算子,基于所述物理元数据的物理连接信息连接到对应的数据源,将所述连接到的数据源确定为使用的数据源;或,基于所述物理元数据的物理连接信息连接到对应的数据源,并基于所述用户认证信息验证用户是否具有使用所述连接到的数据源的权限,若是,则将所述连接到的数据源确定为使用的数据源。例如,通过上述解析,获取到对应的查询指标为A和B,对应的算子为SUM,确定使用的数据源为HDFS。
S104、基于所述查询指标、算子和数据源得到查询结果。
基于上述步骤获取的查询指标A和B,算子SUM,确定使用的数据源HDFS,从HDFS中查询得到查询指标A和B对应的查询数据,根据算子SUM得到A与B的和作为查询结果,返回用户。
本实施例通过基于用户输入的查询请求获取查询元数据和物理元数据,并基于所述查询元数据获取查询指标和算子,基于所述物理元数据确定使用的数据源,基于所述查询指标、算子和数据源得到查询结果,能够避免由于过度的人员交流带来的干扰,提高查询效率。
在上述实施例的基础上,基于所述查询指标、算子和数据源得到查询结果,包括:
基于所述物理元数据采用所述数据源对应的语言格式描述所述查询指标,生成对应的查询语句;
根据所述查询语句查询所述数据源得到与所述查询指标匹配的查询数据;
基于所述算子对所述查询数据进行计算,返回计算结果。
其中,每个数据源均对应各自的语言描述方式,只有采用各自的语言描述方式生成对应的查询语句,才能访问该数据源。本实施例将该语言描述方式配置在物理元数据中,通过解析物理元数据即可获取到对应的语言描述方式,从而生成对应的查询语句。
例如,通过解析查询元数据可知用户的查询请求为查询区域A的销售总额即SUM(A),通过分析可知,对应的查询指标区域A、销售额,对应的算子为求和;通过解析物理元数据可知用户使用的查询数据源为MySQL,则采用MySQL对应的语言来描述查询指标,生成对应的查询语句,即select A from table,则根据查询语句查询数据源MySQL可知符合区域A的数据有两条:区域A销售额1亿美元,区域A销售额3亿美元,通过计算可知SUM(A)=4亿美元,则将查询结果返回用户。
在上述实施例的基础上,为了提高查询效率,基于所述查询指标、算子和数据源得到查询结果,包括:
基于所述物理元数据采用所述数据源对应的语言格式描述所述查询指标和算子,生成对应的查询语句;
根据所述查询语句查询所述数据源得到与所述查询指标匹配的查询数据,并基于所述算子在所述数据源中对所述查询数据进行计算,返回计算结果。
具体的,如果数据源具有对应算子的计算功能的话,可将查询指标和算子通过数据源适配器一起传入所述数据源,在所述数据源中进行计算,然后返回计算结果,这样,就节省了将查询数据传送到本地的时间,进一步提高查询效率。例如,通过解析查询元数据可知用户的查询请求为查询区域A的销售总额即SUM(A),通过分析可知,对应的查询指标区域A、销售额,对应的算子为求和;通过解析物理元数据可知用户使用的查询数据源为MySQL,则采用MySQL对应的语言来描述查询指标和算子,生成对应的查询语句,即select SUM(A)from table,则根据查询语句查询数据源MySQL可知符合区域A的数据有两条:区域A销售额1亿美元,区域A销售额3亿美元,并在数据源中计算可知SUM(A)=4亿美元,则将查询结果返回用户。在上述实施例的基础上,基于所述算子对所述查询数据进行计算,包括:
当所述算子为多个时,基于各算子执行的先后顺序进行排序,形成算子执行列表;
基于所述算子执行列表对所述查询数据进行计算。
例如,通过解析查询元数据可知用户的查询请求为查询区域A的销售总额与点击总次数之比,即SUM(MA)/SUM(NA),通过分析可知,对应的查询指标为区域A、销售额、点击次数,对应的算子为销售额求和、点击次数求和、销售总额与点击总次数之比,则通过算子的执行顺序进行排序可得到如下表一所示的算子执行列表:
表一
执行顺序 | 算子 |
1 | 销售额求和 |
2 | 点击次数求和 |
3 | 销售总额与点击总次数之比 |
通过解析物理元数据可知用户使用的查询数据源为MySQL。通过查询数据源MySQL可知符合区域A的销售额数据有两条:区域A销售额1亿美元,区域A销售额3亿美元;通过查询数据源MySQL可知符合区域A的点击次数数据有两条:区域A点击次数10次,区域A点击次数30次;按照上述表一所示的算子执行列表可知,首先计算区域A的销售总额,通过计算可知SUM(MA)=4亿美元,然后计算区域A的点击总次数,通过计算可知SUM(NA)=40次,最后计算销售总额与点击总次数之比,即SUM(MA)/SUM(NA)=0.1亿美元/次,将查询结果返回用户。
在上述实施例的基础上,当对应的查询指标为多个维度时,为便于计算分析,基于所述算子执行列表对所述查询数据进行计算,包括:
将所述查询指标拆分成多个查询子指标;
对拆分后的子查询数据进行以下至少一项计算:基本计算、聚合计算、行合并计算、二次聚合计算、连接算子操作、二次计算和列合并计算。
其中,所述基本计算包括但不限于加、减、乘、除等计算。所述聚合计算包括但不限于SUM、AVG、COUNT等计算。二次聚合计算为基于聚合计算以后进行的二次聚合计算,因为在多个查询指标和算子的情况下,数据汇总后,需要再次进行聚合计算。所述连接算子操作为接入到对应的数据源,将查询指标和算子接入到数据源进行计算。所述二次计算为二次聚合计算后,进行的基本计算。所述列合并计算为在一列计算完成后,将多列合并,形成一个统一的二维表数据。
例如,通过解析查询元数据可知用户的查询请求为查询区域A的销售总额与点击总次数之比即SUM(MA)/SUM(NA),以及查询区域B的销售总额与点击总次数之比,即SUM(MB)/SUM(NB)。通过分析可知,对应的查询指标为区域A、区域A销售额、区域A点击次数和区域B、区域B销售额、区域B点击次数,对应的查询子指标为区域A的销售总额、区域B的销售总额,对应的算子为区域A销售额求和、区域B销售额求和、区域A点击次数求和、区域B点击次数求和、区域A销售总额与区域A点击总次数之比、区域B销售总额与区域B点击总次数之比,则通过算子的执行顺序进行排序可得到如下表二所示的算子执行列表:
表二
通过解析物理元数据可知用户使用的查询数据源为MySQL。通过查询数据源MySQL可知符合条件的查询数据有如下表三和表四所示的各4条:
表三
销售额 | 区域 |
1 | 区域A |
2 | 区域B |
3 | 区域A |
4 | 区域B |
表四
点击次数 | 区域 |
10 | 区域A |
20 | 区域B |
30 | 区域A |
40 | 区域B |
通过上述表格,可知查询子指标区域A的销售总额SUM(MA)=4亿美元,查询子指标区域A的点击总次数SUM(NA)=40次,查询子指标区域B的销售总额SUM(MB)=6亿美元,查询子指标区域B的点击总次数SUM(NB)=60次。将上述数据按照一定的格式进行排列,如下表五所示:
表五
总金额 | 总次数 |
SUM(MA)=4 | SUM(NA)=40 |
SUM(MB)=6 | SUM(NB)=60 |
此时,根据表五进行二次计算,这里只需要进行查询子指标的行计算,得到查询结果,即SUM(MA)/SUM(NA)=0.1,SUM(MB)/SUM(NB)=0.1,将此结果以行形式或列的形式返回用户。
上述实施例通过基于用户输入的查询请求获取查询元数据和物理元数据,并基于所述查询元数据获取查询指标和算子,基于所述物理元数据确定使用的数据源,基于所述查询指标、算子和数据源得到查询结果,能够避免由于过度的人员交流带来的干扰,提高查询效率。
实施例二
图2为本发明实施例二提供的一种数据查询方法的流程图,本实施例在上述实施例的基础上,将基于所述查询指标、算子和数据源得到查询结果,优化为基于所述物理元数据采用所述数据源对应的语言格式描述所述查询指标,生成对应的查询语句;根据所述查询语句查询所述数据源得到与所述查询指标匹配的查询数据;基于所述算子对所述查询数据进行计算,返回计算结果。如图2所示,具体包括:
S201、基于用户输入信息生成查询请求。
S202、基于所述查询请求获取查询元数据和物理元数据。
其中,查询元数据包括但不限于用户输入的查询指标信息、算子信息、维度信息和查询动作信息。其中查询指标信息包括但不限于消费同比、当日消费情况等;算子信息包括但不限于高级算子信息(例如,对消费计算同比)、AGG算子信息(例如,对当日消费求和)和基本算子信息(例如,查询某月的当日消费情况);维度信息包括但不限于按日、按月、按季度、按年或区域进行查询;查询动作信息包括但不限于查询某天的消费情况,并按消费同比排序等。物理元数据包括但不限于物理连接信息、用户认证信息和连接数据源的配置信息。其中,物理连接信息包括但不限于连接网络的IP地址、端口和数据源名称等;用户认证信息包括但不限于登录系统的用户名和密码;连接数据源的配置信息包括但不限于字符编码信息、数据源配置信息。
S203、基于所述查询元数据获取查询指标和算子,并基于所述物理元数据确定使用的数据源。
S204、基于所述物理元数据采用所述数据源对应的语言格式描述所述查询指标,生成对应的查询语句。
例如,如果通过解析查询元数据可知查询指标为区域A的销售额,通过解析物理元数据可知用户使用的查询数据源为MySQL,则采用MySQL对应的语言来描述查询指标,生成对应的查询语句,即select A from table。
S205、根据所述查询语句查询所述数据源得到与所述查询指标匹配的查询数据。
S206、基于所述算子对所述查询数据进行计算,返回计算结果。
本实施例通过基于用户输入的查询请求获取查询元数据和物理元数据,并基于所述查询元数据获取查询指标和算子,基于所述物理元数据确定使用的数据源,通过查询所述数据源得到与所述查询指标匹配的查询数据,基于所述算子在本地对所述查询数据进行计算,返回计算结果,能够避免由于过度的人员交流带来的干扰,提高查询效率。
实施例三
图3为本发明实施例三提供的一种数据查询方法的流程图,本实施例在上述实施例的基础上,将基于所述算子对所述查询数据进行计算,优化为当所述算子为多个时,基于各算子执行的先后顺序进行排序,形成算子执行列表;基于所述算子执行列表对所述查询数据进行计算。如图3所示,具体包括:
S301、基于用户输入信息生成查询请求。
S302、基于所述查询请求获取查询元数据和物理元数据。
S303、基于所述查询元数据获取查询指标和算子,并基于所述物理元数据确定使用的数据源。
S304、基于所述物理元数据采用所述数据源对应的语言格式描述所述查询指标,生成对应的查询语句。
S305、根据所述查询语句查询所述数据源得到与所述查询指标匹配的查询数据。
S306、当所述算子为多个时,基于各算子执行的先后顺序进行排序,形成算子执行列表。
S307、基于所述算子执行列表对所述查询数据进行计算,返回计算结果。
关于本实施例的各步骤的详细描述参见上述实施例,这里不再赘述。
本实施例通过基于用户输入的查询请求获取查询元数据和物理元数据,并基于所述查询元数据获取查询指标和算子,基于所述物理元数据确定使用的数据源,通过查询所述数据源得到与所述查询指标匹配的查询数据,基于所述算子在本地对所述查询数据进行计算,返回计算结果,能够避免由于过度的人员交流带来的干扰,提高查询效率。
实施例四
图4为本发明实施例四提供的一种数据查询方法的流程图,本实施例在上述实施例的基础上,将基于所述查询指标、算子和数据源得到查询结果,优化为基于所述物理元数据采用所述数据源对应的语言格式描述所述查询指标和算子,生成对应的查询语句;根据所述查询语句查询所述数据源得到与所述查询指标匹配的查询数据,并基于所述算子在所述数据源中对所述查询数据进行计算,返回计算结果。如图4所示,具体包括:
S401、基于用户输入信息生成查询请求。
S402、基于所述查询请求获取查询元数据和物理元数据。
S403、基于所述查询元数据获取查询指标和算子,并基于所述物理元数据确定使用的数据源。
S404、基于所述物理元数据采用所述数据源对应的语言格式描述所述查询指标和算子,生成对应的查询语句。
例如,通过解析查询元数据可知查询指标为区域A、销售额,对应的算子为求和SUM;通过解析物理元数据可知用户使用的查询数据源为MySQL,则采用MySQL对应的语言来描述查询指标和算子,生成对应的查询语句,即select SUM(A)from table。
S405、根据所述查询语句查询所述数据源得到与所述查询指标匹配的查询数据,并基于所述算子在所述数据源中对所述查询数据进行计算,返回计算结果。
关于本实施例的各步骤的详细描述参见上述实施例,这里不再赘述。
本实施例通过基于用户输入的查询请求获取查询元数据和物理元数据,并基于所述查询元数据获取查询指标和算子,基于所述物理元数据确定使用的数据源,通过查询所述数据源得到与所述查询指标匹配的查询数据,基于所述算子在数据源中对所述查询数据进行计算,返回计算结果,能够避免由于过度的人员交流带来的干扰,提高查询效率。
实施例五
图5所示为本发明实施例五提供的一种数据查询装置的结构示意图,该装置可采用软件或硬件的方式实现,该装置可集成于移动终端、固定终端或服务器中,如图5所示,该装置的具体结构如下:查询请求获取模块51和查询模块52;
所述查询请求获取模块51用于基于用户输入信息生成查询请求;
所述查询模块52用于基于所述查询请求获取查询元数据和物理元数据,基于所述查询元数据获取查询指标和算子,并基于所述物理元数据确定使用的数据源,基于所述查询指标、算子和数据源得到查询结果。
本实施例所述数据查询装置用于执行上述各实施例所述的数据查询方法,其技术原理和产生的技术效果类似,这里不再赘述。
在上述实施例的基础上,所述查询模块52包括:第一获取单元521、第二获取单元522、第一确定单元523和第三获取单元524。
所述第一获取单元521用于基于所述查询请求获取查询元数据和物理元数据;
所述第二获取单元522用于基于所述查询元数据获取查询指标和算子;
所述第一确定单元523用于基于所述物理元数据确定使用的数据源;
所述第三获取单元524用于基于所述查询指标、算子和数据源得到查询结果。
在上述实施例的基础上,所述第三获取单元524包括:第一查询语句生成子单元5241、第一数据查询子单元5242和第一数据计算子单元5243。
所述第一查询语句生成子单元5241用于基于所述物理元数据采用所述数据源对应的语言格式描述所述查询指标,生成对应的查询语句;
所述第一数据查询子单元5242用于根据所述查询语句查询所述数据源得到与所述查询指标匹配的查询数据;
所述第一数据计算子单元5243用于基于所述算子对所述查询数据进行计算,返回计算结果。
在上述实施例的基础上,所述查询模块524包括:第二查询语句生成子单元5244、第二数据查询子单元5245和第二数据计算子单元5246;
所述第二查询语句生成子单元5244用于基于所述物理元数据采用所述数据源对应的语言格式描述所述查询指标和算子,生成对应的查询语句;
所述第二数据查询子单元5245用于根据所述查询语句查询所述数据源得到与所述查询指标匹配的查询数据;
所述第二数据计算子单元5246用于基于所述算子在所述数据源中对所述查询数据进行计算,返回计算结果。
在上述实施例的基础上,所述第一或第二数据计算子单元具体用于,当所述算子为多个时,基于各算子执行的先后顺序进行排序,形成算子执行列表;基于所述算子执行列表对所述查询数据进行计算。
在上述实施例的基础上,所述述第一或第二数据计算子单元具体用于,将所述查询指标拆分成多个查询子指标;对拆分后的子查询数据进行以下至少一项计算:基本计算、聚合计算、行合并计算、二次聚合计算、连接算子操作、二次计算和列合并计算。
在上述实施例的基础上,所述查询请求获取模块51,具体用于,提供用户查询界面;基于用户在所述查询界面输入的查询指标和算子构建查询元数据,并基于用户在所述查询界面配置的数据源信息构建物理元数据;基于所述构建的查询元数据和物理元数据生成查询请求。
在上述实施例的基础上,所述物理元数据包括以下至少一种:物理连接信息、用户认证信息和连接数据源的配置信息。
在上述实施例的基础上,所述查询元数据包括以下至少一种:查询指标信息、算子信息、维度信息和查询动作信息。
在上述实施例的基础上,所述第一确定单元523具体用于,基于所述物理连接信息连接到对应的数据源,将所述连接到的数据源确定为使用的数据源;或,基于所述物理连接信息连接到对应的数据源,并基于所述用户认证信息验证用户是否具有使用所述连接到的数据源的权限,若是,则将所述连接到的数据源确定为使用的数据源。
上述各实施例所述数据查询装置用于执行上述各实施例所述的数据查询方法,其技术原理和产生的技术效果类似,这里不再赘述。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (19)
1.一种数据查询方法,其特征在于,包括:
基于用户输入信息生成查询请求;
基于所述查询请求获取查询元数据和物理元数据;
基于所述查询元数据获取查询指标和算子,并基于所述物理元数据确定使用的数据源;
基于所述查询指标、算子和数据源得到查询结果。
2.根据权利要求1所述的方法,其特征在于,基于所述查询指标、算子和数据源得到查询结果,包括:
基于所述物理元数据采用所述数据源对应的语言格式描述所述查询指标,生成对应的查询语句;
根据所述查询语句查询所述数据源得到与所述查询指标匹配的查询数据;
基于所述算子对所述查询数据进行计算,返回计算结果。
3.根据权利要求1所述的方法,其特征在于,基于所述查询指标、算子和数据源得到查询结果,包括:
基于所述物理元数据采用所述数据源对应的语言格式描述所述查询指标和算子,生成对应的查询语句;
根据所述查询语句查询所述数据源得到与所述查询指标匹配的查询数据,并基于所述算子在所述数据源中对所述查询数据进行计算,返回计算结果。
4.根据权利要求2所述的方法,其特征在于,基于所述算子对所述查询数据进行计算,包括:
当所述算子为多个时,基于各算子执行的先后顺序进行排序,形成算子执行列表;
基于所述算子执行列表对所述查询数据进行计算。
5.根据权利要求4所述的方法,其特征在于,基于所述算子执行列表对所述查询数据进行计算,包括:
将所述查询指标拆分成多个查询子指标;
对拆分后的子查询数据进行以下至少一项计算:基本计算、聚合计算、行合并计算、二次聚合计算、连接算子操作、二次计算和列合并计算。
6.根据权利要求1~5任一项所述的方法,其特征在于,基于用户输入信息生成查询请求,包括:
提供用户查询界面;
基于用户在所述查询界面输入的查询指标和算子构建查询元数据,并基于用户在所述查询界面配置的数据源信息构建物理元数据;
基于所述构建的查询元数据和物理元数据生成查询请求。
7.根据权利要求1~5任一项所述的方法,其特征在于,所述物理元数据包括以下至少一种:物理连接信息、用户认证信息和连接数据源的配置信息。
8.根据权利要求1~5任一项所述的方法,其特征在于,所述查询元数据包括以下至少一种:查询指标信息、算子信息、维度信息和查询动作信息。
9.根据权利要求7所述的方法,其特征在于,基于所述物理元数据确定使用的数据源,包括:
基于所述物理连接信息连接到对应的数据源,将所述连接到的数据源确定为使用的数据源;
或,基于所述物理连接信息连接到对应的数据源,并基于所述用户认证信息验证用户是否具有使用所述连接到的数据源的权限,若是,则将所述连接到的数据源确定为使用的数据源。
10.一种数据查询装置,其特征在于,包括:
查询请求获取模块,用于基于用户输入信息生成查询请求;
查询模块,用于基于所述查询请求获取查询元数据和物理元数据,基于所述查询元数据获取查询指标和算子,并基于所述物理元数据确定使用的数据源,基于所述查询指标、算子和数据源得到查询结果。
11.根据权利要求10所述的装置,其特征在于,所述查询模块包括:
第一获取单元,用于基于所述查询请求获取查询元数据和物理元数据;
第二获取单元,用于基于所述查询元数据获取查询指标和算子;
第一确定单元,用于基于所述物理元数据确定使用的数据源;
第三获取单元,用于基于所述查询指标、算子和数据源得到查询结果。
12.根据权利11所述的装置,其特征在于,所述第三获取单元包括:
第一查询语句生成子单元,用于基于所述物理元数据采用所述数据源对应的语言格式描述所述查询指标,生成对应的查询语句;
第一数据查询子单元,用于根据所述查询语句查询所述数据源得到与所述查询指标匹配的查询数据;
第一数据计算子单元,用于基于所述算子对所述查询数据进行计算,返回计算结果。
13.根据权利要求11所述的装置,其特征在于,所述第三获取单元包括:
第二查询语句生成子单元,用于基于所述物理元数据采用所述数据源对应的语言格式描述所述查询指标和算子,生成对应的查询语句;
第二数据查询子单元,用于根据所述查询语句查询所述数据源得到与所述查询指标匹配的查询数据;
第二数据计算子单元,用于基于所述算子在所述数据源中对所述查询数据进行计算,返回计算结果。
14.根据权利要求12或13所述的装置,其特征在于,所述第一或第二数据计算子单元具体用于,当所述算子为多个时,基于各算子执行的先后顺序进行排序,形成算子执行列表;基于所述算子执行列表对所述查询数据进行计算。
15.根据权利要求14所述的装置,其特征在于,所述第一或第二数据计算子单元具体用于,将所述查询指标拆分成多个查询子指标;对拆分后的子查询数据进行以下至少一项计算:基本计算、聚合计算、行合并计算、二次聚合计算、连接算子操作、二次计算和列合并计算。
16.根据权利要求10~15任一项所述的装置,其特征在于,所述查询请求获取模块,具体用于,提供用户查询界面;基于用户在所述查询界面输入的查询指标和算子构建查询元数据,并基于用户在所述查询界面配置的数据源信息构建物理元数据;基于所述构建的查询元数据和物理元数据生成查询请求。
17.根据权利要求10~15任一项所述的装置,其特征在于,所述物理元数据包括以下至少一种:物理连接信息、用户认证信息和连接数据源的配置信息。
18.根据权利要求10~15任一项所述的装置,其特征在于,所述查询元数据包括以下至少一种:查询指标信息、算子信息、维度信息和查询动作信息。
19.根据权利要求17所述的装置,其特征在于,所述第一确定单元具体用于,基于所述物理连接信息连接到对应的数据源,将所述连接到的数据源确定为使用的数据源;
或,基于所述物理连接信息连接到对应的数据源,并基于所述用户认证信息验证用户是否具有使用所述连接到的数据源的权限,若是,则将所述连接到的数据源确定为使用的数据源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610412853.5A CN107491454A (zh) | 2016-06-13 | 2016-06-13 | 数据查询方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610412853.5A CN107491454A (zh) | 2016-06-13 | 2016-06-13 | 数据查询方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107491454A true CN107491454A (zh) | 2017-12-19 |
Family
ID=60642605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610412853.5A Pending CN107491454A (zh) | 2016-06-13 | 2016-06-13 | 数据查询方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107491454A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111831684A (zh) * | 2019-04-15 | 2020-10-27 | 北京沃东天骏信息技术有限公司 | 数据的查询方法、装置和计算机可读存储介质 |
CN112463814A (zh) * | 2019-09-06 | 2021-03-09 | 阿里巴巴集团控股有限公司 | 一种数据查询方法及装置 |
CN112749194A (zh) * | 2020-06-03 | 2021-05-04 | 腾讯科技(深圳)有限公司 | 可视化的数据处理方法、装置、电子设备及可读存储介质 |
WO2023115252A1 (en) * | 2021-12-20 | 2023-06-29 | Boe Technology Group Co., Ltd. | Data query method, data query apparatus, and computer-program product |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101221566A (zh) * | 2007-07-15 | 2008-07-16 | 杨筑平 | 信息搜索和存取授权方法 |
CN201111049Y (zh) * | 2007-06-27 | 2008-09-03 | 中国科学院遥感应用研究所 | 一种数字地球原型系统 |
CN101615192A (zh) * | 2009-07-09 | 2009-12-30 | 河北全通通信有限公司 | 决策支持系统共享语义层的实现方法 |
CN101710336A (zh) * | 2009-12-14 | 2010-05-19 | 浪潮通信信息系统有限公司 | 一种利用关系中间件加速数据处理的方法 |
CN102799644A (zh) * | 2012-06-28 | 2012-11-28 | 用友软件股份有限公司 | 基于元数据的数据库动态查询系统和数据库动态查询方法 |
CN104794247A (zh) * | 2015-05-14 | 2015-07-22 | 东南大学 | 一种多结构数据库集成查询方法 |
CN104933173A (zh) * | 2015-06-30 | 2015-09-23 | 北京京东尚科信息技术有限公司 | 一种用于异构多数据源的数据处理方法、装置和服务器 |
US20150324423A1 (en) * | 2012-11-26 | 2015-11-12 | Zte Corporation | Report creation method, device and system |
CN105550206A (zh) * | 2015-12-01 | 2016-05-04 | 珠海多玩信息技术有限公司 | 结构化查询语句的版本控制方法及装置 |
-
2016
- 2016-06-13 CN CN201610412853.5A patent/CN107491454A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201111049Y (zh) * | 2007-06-27 | 2008-09-03 | 中国科学院遥感应用研究所 | 一种数字地球原型系统 |
CN101221566A (zh) * | 2007-07-15 | 2008-07-16 | 杨筑平 | 信息搜索和存取授权方法 |
CN101615192A (zh) * | 2009-07-09 | 2009-12-30 | 河北全通通信有限公司 | 决策支持系统共享语义层的实现方法 |
CN101710336A (zh) * | 2009-12-14 | 2010-05-19 | 浪潮通信信息系统有限公司 | 一种利用关系中间件加速数据处理的方法 |
CN102799644A (zh) * | 2012-06-28 | 2012-11-28 | 用友软件股份有限公司 | 基于元数据的数据库动态查询系统和数据库动态查询方法 |
US20150324423A1 (en) * | 2012-11-26 | 2015-11-12 | Zte Corporation | Report creation method, device and system |
CN104794247A (zh) * | 2015-05-14 | 2015-07-22 | 东南大学 | 一种多结构数据库集成查询方法 |
CN104933173A (zh) * | 2015-06-30 | 2015-09-23 | 北京京东尚科信息技术有限公司 | 一种用于异构多数据源的数据处理方法、装置和服务器 |
CN105550206A (zh) * | 2015-12-01 | 2016-05-04 | 珠海多玩信息技术有限公司 | 结构化查询语句的版本控制方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111831684A (zh) * | 2019-04-15 | 2020-10-27 | 北京沃东天骏信息技术有限公司 | 数据的查询方法、装置和计算机可读存储介质 |
CN111831684B (zh) * | 2019-04-15 | 2024-04-05 | 北京沃东天骏信息技术有限公司 | 数据的查询方法、装置和计算机可读存储介质 |
CN112463814A (zh) * | 2019-09-06 | 2021-03-09 | 阿里巴巴集团控股有限公司 | 一种数据查询方法及装置 |
CN112749194A (zh) * | 2020-06-03 | 2021-05-04 | 腾讯科技(深圳)有限公司 | 可视化的数据处理方法、装置、电子设备及可读存储介质 |
WO2023115252A1 (en) * | 2021-12-20 | 2023-06-29 | Boe Technology Group Co., Ltd. | Data query method, data query apparatus, and computer-program product |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109918453B (zh) | 一种以自然语言搜索关系型复杂管理信息系统数据的方法及系统 | |
US11263401B2 (en) | Method and system for securely storing private data in a semantic analysis system | |
Park et al. | Information systems interoperability: What lies beneath? | |
US7225197B2 (en) | Data entry, cross reference database and search systems and methods thereof | |
US7673282B2 (en) | Enterprise information unification | |
US7702685B2 (en) | Querying social networks | |
US8108367B2 (en) | Constraints with hidden rows in a database | |
Kim et al. | Information retrieval framework for hazard identification in construction | |
CN111767303A (zh) | 一种数据查询方法、装置、服务器及可读存储介质 | |
US11907184B1 (en) | Collaborative data mapping system | |
CN103262076A (zh) | 分析数据处理 | |
CN109241068A (zh) | 前后台数据比对的方法、装置及终端设备 | |
CN107491454A (zh) | 数据查询方法及装置 | |
Nunamaker Jr et al. | Computer-aided analysis and design of information systems | |
CN110109893A (zh) | 数据建模和操作的方法和装置 | |
CN103678396B (zh) | 一种基于数据模型的数据备份方法和装置 | |
CN107748748A (zh) | 水利水电技术标准全文检索系统 | |
Gorman | Database management systems: understanding and applying database technology | |
Gusenkov et al. | On ontology based data integration: problems and solutions | |
CN114490571A (zh) | 一种建模方法、服务器及存储介质 | |
Truong et al. | A hybrid method for fuzzy ontology integration | |
CN108804460A (zh) | 一种基于sql的查询语言 | |
CN112231380A (zh) | 采集数据的综合处理方法、系统、存储介质及电子设备 | |
KR102547033B1 (ko) | 키워드 인식 기능을 활용하여 사용자가 선택한 방식으로 정보를 제공하는 방법 | |
CN103092574B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171219 |
|
RJ01 | Rejection of invention patent application after publication |