CN113742385A - 数据查询方法及装置 - Google Patents
数据查询方法及装置 Download PDFInfo
- Publication number
- CN113742385A CN113742385A CN202111081452.3A CN202111081452A CN113742385A CN 113742385 A CN113742385 A CN 113742385A CN 202111081452 A CN202111081452 A CN 202111081452A CN 113742385 A CN113742385 A CN 113742385A
- Authority
- CN
- China
- Prior art keywords
- query
- data
- data source
- template
- query statement
- 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
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000037406 food intake Effects 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
-
- 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/242—Query formulation
- G06F16/2433—Query languages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种数据查询方法及装置。该方法包括:接收终端输入的查询语言,其中,查询语言中携带有查询参数;根据查询参数和查询语言对应的查询语句模板,获取查询语句,其中,查询语句模板预先存储在模板库;基于查询语句获取查询语言对应的目标数据并反馈给终端。
Description
技术领域
本申请涉及数据查询领域,以下描述涉及一种数据查询方法及装置。
背景技术
策略性系统(如推荐系统、搜索系统等),通常分为离线和在线两部分,其均需要对数据进行批量、流式或者在线即时的查询操作,所查询的数据所在的数据源通常是结构化的且多种多样,如来自于mysql,hdfs,hive,也有来自于kafka,elasticsearch等。而每一种数据源都对应着一种查询语法,开发者需要管理各种数据服务客户端,并结合业务逻辑翻译成不同的查询语言进行查询,这样带来的最大问题就是数据管理和查询的复杂性变高,开发效率低下。基于上述问题,为了降低多数据源存储查询方式的差异,开发了cacite,presto,OpenLookeng等产品来解决,这类解决方案的基本特点是,定义一种类结构化查询语言(Structured Query Language,缩写为SQL)的查询语法统一异构数据源的查询逻辑,能基本解决异构数据源的离线的数据查询。但是,这类解决方案通常是采用SQL解释翻译的方式实现,中间多了SQL语法解析、转化为原生查询等过程,无法直接应用在对时延要求很低的在线即时查询的场景上,因此,在线即时查询不得不仍然采用原来的方式查询,可见,虽然离线层面有了一定的复杂度简化,但从整体系统来看,在线查询的复杂度仍然存在,并且还会带来在线和离线查询逻辑的不一致带来可能的潜在正确性问题。
发明内容
本公开的示例性实施例可至少解决上述问题,也可不解决上述问题。
根据本公开的第一方面,提供了一种数据查询方法,该方法包括:接收终端输入的查询语言,其中,查询语言中携带有查询参数;根据查询参数和查询语言对应的查询语句模板,获取查询语句,其中,查询语句模板预先存储在模板库;基于查询语句获取查询语言对应的目标数据并反馈给终端。
可选地,查询语言中还携带有目标数据库对应的数据源信息,根据查询参数和查询语言对应的查询语句模板,获取查询语句包括:根据目标数据库对应的数据源信息,确定目标数据库对应的数据源的类别;根据数据源的类别在模板库中匹配对应的查询语句模板;将查询语句模板中的形参替换为查询参数得到查询语句。
可选地,基于查询语句获取查询语言对应的目标数据并反馈给终端包括:基于查询语句在目标数据库中查询,获取目标数据;将目标数据转换为预定的预定格式的数据;将预定格式的数据发送给终端。
可选地,在根据查询参数和查询语言对应的查询语句模板,获取查询语句之前,方法还包括:接收终端输入的预定查询语言,其中,预定查询语言与查询语言的格式相同且预定查询语言携带有目标数据库对应的数据源信息;基于目标数据库对应的数据源信息,确定目标数据库对应的数据源的类别;根据数据源的类别在所述模板库中匹配对应的查询语句模板;在未匹配到对应的查询语句模板的情况下,基于目标数据库对应的数据源信息,将预定查询语言转换为与数据源的类别对应的查询语句模板;将查询语句模板存储于模板库。
可选地,基于目标数据库对应的数据源信息,将预定查询语言转换为与数据源的类别对应的查询语句模板包括:根据目标数据库对应的数据源信息和预定工具,将预定查询语言转换为与数据源的类别对应的查询语句模板。
可选地,上述预定工具包括以下之一:结构化查询语言解析工具Apache Calcite,结构化语言查询引擎Presto,虚拟化引擎openLooKeng。
根据本公开的第二方面,提供了一种数据查询装置,该装置包括:第一接收模块,用于接收终端输入的查询语言,其中,查询语言中携带有查询参数;获取模块,用于根据查询参数和查询语言对应的查询语句模板,获取查询语句,其中,查询语句模板预先存储在模板库;查询模块,用于基于查询语句获取查询语言对应的目标数据并反馈给终端。
可选地,查询语言中还携带有目标数据库对应的数据源信息,获取模块,还用于根据目标数据库对应的数据源信息,确定目标数据库对应的数据源的类别;根据数据源的类别在模板库中匹配对应的查询语句模板;将查询语句模板中的形参替换为查询参数得到查询语句。
可选地,查询模块,还用于基于查询语句在目标数据库中查询,获取目标数据;将目标数据转换为预定的预定格式的数据;将预定格式的数据发送给终端。
可选地,上述装置还包括:第二接收模块,用于接收终端输入的预定查询语言,其中,预定查询语言与查询语言的格式相同且预定查询语言携带有目标数据库对应的数据源信息;类别确定单元,被配置为基于目标数据库对应的数据源信息,确定目标数据库对应的数据源的类别;匹配单元,被配置为根据数据源的类别在模板库中匹配对应的查询语句模板;转换模块,用于在未匹配到对应的查询语句模板的情况下,基于目标数据库对应的数据源信息,将预定查询语言转换为与数据源的类别对应的查询语句模板;存储模块,用于将查询语句模板存储于模板库。
可选地,转换模块,还用于根据目标数据库对应的数据源信息和预定工具,将预定查询语言转换为与数据源的类别对应的查询语句模板。
可选地,预定工具包括以下之一:结构化查询语言解析工具Apache Calcite,结构化语言查询引擎Presto,虚拟化引擎openLooKeng。
根据本公开的第三方面,提供一种存储指令的计算机可读存储介质,其中,当指令被至少一个计算装置运行时,促使至少一个计算装置执行如上的数据查询方法。
根据本公开的第四方面,提供一种包括至少一个计算装置和至少一个存储指令的存储装置的系统,其中,指令在被至少一个计算装置运行时,促使至少一个计算装置执行如上的数据查询方法。
根据本示例性实施例的数据查询方法及装置,基于查询语言中的参数和模板即可获取查询语言对应的查询语句,即在查询过程中无需对查询语言进行解析和翻译来获取查询语句,也即避免了解析、翻译等步骤,减少了查询时延,使得本公开不仅可以应用在离线查询的场景上,也可以应用于在线查询的场景上,克服了相关技术仅能应用于离线场景,使得在线和离线查询逻辑不一致导致查询错误的问题。
附图说明
通过结合附图,从实施例的下面描述中,本发明这些和/或其它方面及优点将会变得清楚,并且更易于理解,其中:
图1示出根据本公开示例性实施例的数据查询方法的流程图;
图2示出相关技术中查询逻辑示意图;
图3示出根据本公开示例性实施例一种查询逻辑示意图;
图4示出根据本公开示例性实施例一种数据查询方法的流程图;
图5示出根据本公开示例性实施例另一种查询逻辑示意图;
图6示出根据本公开示例性实施例另一种数据查询方法的流程图;
图7示出根据本公开示例性实施例的数据查询装置的框图。
具体实施方式
提供参照附图的以下描述以帮助对由权利要求及其等同物限定的本发明的实施例的全面理解。包括各种特定细节以帮助理解,但这些细节仅被视为是示例性的。因此,本领域的普通技术人员将认识到在不脱离本发明的范围和精神的情况下,可对描述于此的实施例进行各种改变和修改。此外,为了清楚和简洁,省略对公知的功能和结构的描述。
在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括A和B之中的至少一个”即包括如下三种并列的情况:(1)包括A;(2)包括B;(3)包括A和B。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
以下将通过参照附图1至7来说明本公开的实施例,以便解释本公开。
图1示出根据本公开示例性实施例的数据查询方法的流程图。如图1所示,该数据查询方法包括如下步骤:
在步骤S101中,接收终端输入的查询语言,其中,查询语言中携带有查询参数。上述查询语言可以是任何数据源对应的查询语言,本公开对此并不进行限定。
在步骤S102中,根据查询参数和查询语言对应的查询语句模板,获取查询语句,其中,查询语句模板预先存储在模板库。
根据本公开的示例性实施例,上述查询语言中还携带有目标数据库对应的数据源信息,此时,根据查询参数和查询语言对应的查询语句模板,获取查询语句可以包括:根据目标数据库对应的数据源信息,确定目标数据库对应的数据源的类别;根据数据源的类别在模板库中匹配对应的查询语句模板;将查询语句模板中的形参替换为查询参数得到查询语句。通过本实施例,通过简单替换模板中对应的参数,即可得到所需的查询语句,使得可以便捷、高效的获取到查询语句。上述形参在模板中的格式可以是占位符、空白、样例参数等,本公开对此并不进行限定。上述数据源信息可以是数据源前缀,以mysql数据源为例,数据源前缀可以是mysqlA或mysqlB,具体是A还是B,与目标数据库相关,但是这两个数据源前缀属于同一类别的数据源,即同属于mysql数据源,对应同一个模板。
需要说明的是,数据源(Data Source),顾名思义,是数据的来源,是提供某种所需要数据的器件或原始媒体,更形象来说,如果数据是水,数据库就是水库,数据源就是连接水库的管道。在数据源中存储了所有建立数据库连接的信息。
根据本公开的示例性实施例,在根据查询参数和查询语言对应的查询语句模板,获取查询语句之前,还包括:接收终端输入的预定查询语言,其中,预定查询语言与查询语言的格式相同且预定查询语言携带有目标数据库对应的数据源信息;基于目标数据库对应的数据源信息,确定目标数据库对应的数据源的类别;根据数据源的类别在所述模板库中匹配对应的查询语句模板;在未匹配到对应的查询语句模板的情况下,基于目标数据库对应的数据源信息,将预定查询语言转换为与数据源的类别对应的查询语句模板;将查询语句模板存储于模板库。通过本实施例,可以预先获取到查询语句模板,并存储在模板库中,使得后续在线查询时可以直接在模板库中调用所需的查询语句模板即可,节省了采用SQL解释翻译的时间,从而减少了查询时间。
根据本公开的示例性实施例,基于目标数据库对应的数据源信息,将预定查询语言转换为与数据源的类别对应的查询语句模板包括:根据目标数据库对应的数据源信息和预定工具,将所述预定查询语言转换为与数据源的类别对应的查询语句模板。通过本实施例,可以得到与目标数据库的数据源类别对应的查询语句模板,方便后续调用。
根据本公开的示例性实施例,上述预定工具包括以下之一:结构化查询语言解析工具Apache Calcite,结构化语言查询引擎Presto,虚拟化引擎openLooKeng。
根据本公开的示例性实施例,上述查询语言和所述预定查询语言可以为结构化查询语言,也可以是类SQL(也可表示为sql)语言,需要说明的是,本公开不局限于SQL、类SQL语法,也可以使用其他自定义语法。
在步骤S103中,基于查询语句获取查询语言对应的目标数据并反馈给终端。
根据本公开的示例性实施例,基于查询语句获取查询语言对应的目标数据并反馈给终端可以包括:基于查询语句在目标数据库中查询,获取目标数据;将目标数据转换为预定格式的数据;将预定格式的数据发送给终端。上述预定格式可以是表格,但本公开并不局限于此。通过本实施例,将查询得到的数据从各种各样的格式转换为预定格式,使得用户接收到的目标数据的格式是一致结构,方便用户后续统一管理、查阅。
为了方便理解上述实施例,下面对上述实施例进行详细的说明。
首先,简单介绍本公开所依据的技术背景,策略性系统中的子系统-数据系统,其通常包含数据摄取、数据处理、数据服务三个部分,这其中常常涉及到大量的数据查询及分析语言,但存储数据的数据源是多种多样的。那么如何查询存在其上的数据就变得非常繁琐,通常做法是使用每个数据源对应存储的查询方法去读取数据,如图2所示,查询数据的过程是直接穿透数据平台,根据不同的数据源的情况,分别使用相应的查询语言进行查询,此种方式下上层服务必须了解下层的细节,比如需要知道是关系型数据库还是非关系型数据库,是批数据还是流数据,这对于用户来讲,使用成本及使用门槛很高。
针对上述查询过程进行了改进,如图3所示,即可以在数据平台增加一个模块(管理模块),用来解析该数据平台定义的领域专用语言(Domain Specified Language,缩写为DSL),其采用了类SQL语法,即不去考虑数据源的不同,所有的输入均采用类SQL语法,需要说明的是,该DSL并不局限于类SQL语法,也可以使用其他自定义语法。具体地,用户输入查询SQL后,增加的模块会解析该查询SQL,并翻译成对应的数据源相应的查询语句,并执行该相应的查询语句,从对应的数据源中查询得到目标数据,具体实现流程如图4所示。
一般情况下,上述方案已经能满足离线的数据查询和分析语言了,但是并不适用于实时性要求高的在线服务场景。如使用上述方案来应对在线的数据查询服务时,每次查询请求都会有一个解析翻译的过程,即解析查询SQL并翻译成对应的数据源相应的查询语句的过程,这会使得整体请求处理速度大大下降。为了避免这一问题,对于有性能要求的在线服务场景,本公开将解析翻译与执行分成两个阶段,如图5所示,即在开发配置时采用类SQL的方式,系统通过解析类SQL语法的语言模版,并将其解析翻译成对应的数据源所对应查询语句模版。在线上实际运行时,直接调用对应的查询语句模板(即从模板库匹配的query模板),然后将查询语言中携带的参数自动和对应的查询语句模版进行合成得到查询语句(即最终的原生query),这里的合成即将查询语句模版中的形参替换为查询语言中携带的参数。在得到查询语句后执行该查询语句得到相应的目标数据,而从对应的数据源中查询得到目标数据后,该模块再将查询到的目标数据封装成统一的结构化表返回给用户,具体流程如图6所示,这样即保证了查询性能,还降低了使用门槛,也降低了查询时间,可以很好的应用在在线服务场景。对于离线服务场景可以采用本公开的方案,也可以沿用如图4所述的方法,本公开对此并不进行限定。
需要说明的是,上述基于模版中参数替换生成原生query,亦支持必要的脚本语言如groovy的方式编写以支持比较复杂的原生query。也即,上述模版库的定义方式和编写逻辑,可以使用一些脚本语言来定义解析,而编译SQL模版(也即上述查询语言)时在运行首次访问时即时编译,后期复用该编译结果。上述实施例可以应用到数据流服务,如推荐召回,排序流程对存储的查询操作。
图7示出根据本公开示例性实施例的数据查询装置的框图。如图7所示,该数据查询装置包括:第一接收模块70、获取模块72和查询模块74。
第一接收模块70,用于接收终端输入的查询语言,其中,查询语言中携带有查询参数;获取模块72,用于根据查询参数和查询语言对应的查询语句模板,获取查询语句,其中,查询语句模板预先存储在模板库;查询模块74,用于基于查询语句获取查询语言对应的目标数据并反馈给终端。
根据本公开的示例性实施例,查询语言中还携带有目标数据库对应的数据源信息,获取模块72,还用于根据目标数据库对应的数据源信息,确定目标数据库对应的数据源的类别;根据数据源的类别在模板库中匹配对应的查询语句模板;将查询语句模板中的形参替换为查询参数得到查询语句。
根据本公开的示例性实施例,查询模块74,还用于基于查询语句在目标数据库中查询,获取目标数据;将目标数据转换为预定的预定格式的数据;将预定格式的数据发送给终端。
根据本公开的示例性实施例,上述装置还包括:第二接收模块,用于接收终端输入的预定查询语言,其中,预定查询语言与查询语言的格式相同且预定查询语言携带有目标数据库对应的数据源信息;类别确定单元,被配置为基于目标数据库对应的数据源信息,确定目标数据库对应的数据源的类别;匹配单元,被配置为根据数据源的类别在模板库中匹配对应的查询语句模板;转换模块,用于在未匹配到对应的查询语句模板的情况下,基于目标数据库对应的数据源信息,将预定查询语言转换为与数据源的类别对应的查询语句模板;存储模块,用于将查询语句模板存储于模板库。
根据本公开的示例性实施例,转换模块,还用于根据目标数据库对应的数据源信息和预定工具,将预定查询语言转换为与数据源的类别对应的查询语句模板。
根据本公开的示例性实施例,预定工具包括以下之一:结构化查询语言解析工具Apache Calcite,结构化语言查询引擎Presto,虚拟化引擎openLooKeng。
以上已参照图1至图7描述了根据本公开示例性实施例的数据查询方法及装置。
图7所示出的数据查询装置中的各个单元可被配置为执行特定功能的软件、硬件、固件或上述项的任意组合。例如,各个单元可对应于专用的集成电路,也可对应于纯粹的软件代码,还可对应于软件与硬件相结合的模块。此外,各个单元所实现的一个或多个功能也可由物理实体设备(例如,处理器、客户端或服务器等)中的组件来统一执行。
此外,参照图1所描述的数据查询方法可通过记录在计算机可读存储介质上的程序(或指令)来实现。例如,根据本公开的示例性实施例,可提供存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行根据本公开的数据查询方法。
上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,应注意,计算机程序还可用于执行除了上述步骤以外的附加步骤或者在执行上述步骤时执行更为具体的处理,这些附加步骤和进一步处理的内容已经在参照图1进行相关方法的描述过程中提及,因此这里为了避免重复将不再进行赘述。
应注意,根据本公开示例性实施例的数据查询装置中的各个单元可完全依赖计算机程序的运行来实现相应的功能,即,各个单元在计算机程序的功能架构中与各步骤相应,使得整个系统通过专门的软件包(例如,lib库)而被调用,以实现相应的功能。
另一方面,图7所示的各个单元也可以通过硬件、软件、固件、中间件、微代码或其任意组合来实现。当以软件、固件、中间件或微代码实现时,用于执行相应操作的程序代码或者代码段可以存储在诸如存储介质的计算机可读介质中,使得处理器可通过读取并运行相应的程序代码或者代码段来执行相应的操作。
例如,本公开的示例性实施例还可以实现为计算装置,该计算装置包括存储部件和处理器,存储部件中存储有计算机可执行指令集合,当计算机可执行指令集合被处理器执行时,执行根据本公开的示例性实施例的数据查询方法。
具体说来,计算装置可以部署在服务器或客户端中,也可以部署在分布式网络环境中的节点装置上。此外,计算装置可以是PC计算机、平板装置、个人数字助理、智能手机、web应用或其他能够执行上述指令集合的装置。
这里,计算装置并非必须是单个的计算装置,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。计算装置还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子装置。
在计算装置中,处理器可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
根据本公开示例性实施例的数据查询方法中所描述的某些操作可通过软件方式来实现,某些操作可通过硬件方式来实现,此外,还可通过软硬件结合的方式来实现这些操作。
处理器可运行存储在存储部件之一中的指令或代码,其中,存储部件还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。
存储部件可与处理器集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储部件可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储部件和处理器可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得处理器能够读取存储在存储部件中的文件。
此外,计算装置还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。计算装置的所有组件可经由总线和/或网络而彼此连接。
根据本公开示例性实施例的数据查询方法可被描述为各种互联或耦合的功能块或功能示图。然而,这些功能块或功能示图可被均等地集成为单个的逻辑装置或按照非确切的边界进行操作。
因此,参照图1所描述的数据查询方法可通过包括至少一个计算装置和至少一个存储指令的存储装置的系统来实现。
根据本公开的示例性实施例,至少一个计算装置是根据本公开示例性实施例的用于数据查询方法的计算装置,存储装置中存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个计算装置执行时,执行参照图1所描述的数据查询方法。
以上描述了本公开的各示例性实施例,应理解,上述描述仅是示例性的,并非穷尽性的,本公开不限于所披露的各示例性实施例。在不偏离本公开的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。因此,本公开的保护范围应该以权利要求的范围为准。
Claims (10)
1.一种数据查询方法,其中,所述方法包括:
接收终端输入的查询语言,其中,所述查询语言中携带有查询参数;
根据所述查询参数和所述查询语言对应的查询语句模板,获取查询语句,其中,所述查询语句模板预先存储在模板库;
基于所述查询语句获取所述查询语言对应的目标数据并反馈给所述终端。
2.根据权利要求1中所述的方法,其中,所述查询语言中还携带有目标数据库对应的数据源信息,所述根据所述查询参数和所述查询语言对应的查询语句模板,获取查询语句包括:
根据所述目标数据库对应的数据源信息,确定所述目标数据库对应的数据源的类别;
根据所述数据源的类别在所述模板库中匹配对应的查询语句模板;
将所述查询语句模板中的形参替换为所述查询参数得到所述查询语句。
3.根据权利要求1中所述的方法,其中,所述基于所述查询语句获取所述查询语言对应的目标数据并反馈给所述终端包括:
基于所述查询语句在目标数据库中查询,获取所述目标数据;
将所述目标数据转换为预定格式的数据;
将所述预定格式的数据发送给所述终端。
4.根据权利要求1中所述的方法,其中,在根据所述查询参数和所述查询语言对应的查询语句模板,获取查询语句之前,所述方法还包括:
接收所述终端输入的预定查询语言,其中,所述预定查询语言与所述查询语言的格式相同且所述预定查询语言携带有目标数据库对应的数据源信息;
基于所述目标数据库对应的数据源信息,确定所述目标数据库对应的数据源的类别;
根据所述数据源的类别在所述模板库中匹配对应的查询语句模板;
在未匹配到对应的查询语句模板的情况下,基于所述目标数据库对应的数据源信息,将所述预定查询语言转换为与所述数据源的类别对应的查询语句模板;
将所述查询语句模板存储于所述模板库。
5.根据权利要求4中所述的方法,其中,所述基于所述目标数据库对应的数据源信息,将所述预定查询语言转换为与所述数据源的类别对应的查询语句模板包括:
根据所述目标数据库对应的数据源信息和预定工具,将所述预定查询语言转换为与所述数据源的类别对应的查询语句模板。
6.根据权利要求5中所述的方法,其中,所述预定工具包括以下之一:结构化查询语言解析工具Apache Calcite,结构化语言查询引擎Presto,虚拟化引擎openLooKeng。
7.一种数据查询装置,其中,所述装置包括:
第一接收模块,用于接收终端输入的查询语言,其中,所述查询语言中携带有查询参数;
获取模块,用于根据所述查询参数和所述查询语言对应的查询语句模板,获取查询语句,其中,所述查询语句模板预先存储在模板库;
查询模块,用于基于所述查询语句获取所述查询语言对应的目标数据并反馈给所述终端。
8.根据权利要求7中所述的装置,其中,所述查询语言中还携带有目标数据库对应的数据源信息,所述获取模块,还用于根据所述目标数据库对应的数据源信息,确定所述目标数据库对应的数据源的类别;根据所述数据源的类别在所述模板库中匹配对应的查询语句模板;将所述查询语句模板中的形参替换为所述查询参数得到所述查询语句。
9.一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行如权利要求1至6中的任一权利要求所述的数据查询方法。
10.一种包括至少一个计算装置和至少一个存储指令的存储装置的系统,其中,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行如权利要求1至6中的任一权利要求所述的数据查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111081452.3A CN113742385A (zh) | 2021-09-15 | 2021-09-15 | 数据查询方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111081452.3A CN113742385A (zh) | 2021-09-15 | 2021-09-15 | 数据查询方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113742385A true CN113742385A (zh) | 2021-12-03 |
Family
ID=78739103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111081452.3A Pending CN113742385A (zh) | 2021-09-15 | 2021-09-15 | 数据查询方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113742385A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115481448A (zh) * | 2022-09-16 | 2022-12-16 | 昆仑数智科技有限责任公司 | 数据获取方法、装置、服务器及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106997393A (zh) * | 2017-04-10 | 2017-08-01 | 深圳乐信软件技术有限公司 | 数据查询方法、装置、服务器及存储介质 |
US20200293519A1 (en) * | 2019-03-12 | 2020-09-17 | Alibaba Group Holding Limited | Solution for implementing computing service based on structured query language statement |
CN111782923A (zh) * | 2020-06-24 | 2020-10-16 | 平安科技(深圳)有限公司 | 数据查询方法、装置、电子设备及存储介质 |
CN112163000A (zh) * | 2020-08-31 | 2021-01-01 | 阿里巴巴集团控股有限公司 | 一种数据查询方法和装置 |
CN112650766A (zh) * | 2019-10-10 | 2021-04-13 | 腾讯科技(深圳)有限公司 | 数据库数据操作的方法、系统及服务器 |
-
2021
- 2021-09-15 CN CN202111081452.3A patent/CN113742385A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106997393A (zh) * | 2017-04-10 | 2017-08-01 | 深圳乐信软件技术有限公司 | 数据查询方法、装置、服务器及存储介质 |
US20200293519A1 (en) * | 2019-03-12 | 2020-09-17 | Alibaba Group Holding Limited | Solution for implementing computing service based on structured query language statement |
CN112650766A (zh) * | 2019-10-10 | 2021-04-13 | 腾讯科技(深圳)有限公司 | 数据库数据操作的方法、系统及服务器 |
CN111782923A (zh) * | 2020-06-24 | 2020-10-16 | 平安科技(深圳)有限公司 | 数据查询方法、装置、电子设备及存储介质 |
CN112163000A (zh) * | 2020-08-31 | 2021-01-01 | 阿里巴巴集团控股有限公司 | 一种数据查询方法和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115481448A (zh) * | 2022-09-16 | 2022-12-16 | 昆仑数智科技有限责任公司 | 数据获取方法、装置、服务器及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108037961B (zh) | 一种应用程序配置方法、装置、服务器和存储介质 | |
US11461111B2 (en) | Method for running applets, and electronic device | |
CN110351325B (zh) | 一种数据处理方法及相关设备 | |
CN114880346B (zh) | 一种数据处理方法及相关组件、加速处理器 | |
CN106648569B (zh) | 目标序列化实现方法和装置 | |
EP3279816A1 (en) | Data analysis processing method, apparatus, computer device, and storage medium | |
CN111026931A (zh) | 一种数据查询方法、装置、设备及介质 | |
CN113641700A (zh) | 一种基于Spring boot框架的数据处理方法及装置 | |
CN109062906B (zh) | 程序语言资源的翻译方法及装置 | |
CN114461955A (zh) | 一种基于web页面配置自动生成http接口的方法 | |
CN113742385A (zh) | 数据查询方法及装置 | |
CN114090672A (zh) | 一种业务数据导入导出方法、系统、计算机设备及介质 | |
WO2021259290A1 (zh) | 存储过程转换方法、装置、设备和存储介质 | |
CN112905178A (zh) | 业务功能页面生成方法、装置、设备及介质 | |
CN110825622A (zh) | 软件测试方法、装置、设备和计算机可读介质 | |
CN115114321A (zh) | 一种动态查询方法及系统 | |
CN115344614A (zh) | 数据处理方法、装置、存储介质及电子设备 | |
CN110471708B (zh) | 基于可重用组件的配置项获取的方法及装置 | |
CN114116866A (zh) | 一种数据获取方法、装置、终端设备及存储介质 | |
CN114063943A (zh) | 数据传输系统、方法、装置、介质和设备 | |
CN112445811A (zh) | 基于sql配置的数据服务方法、装置、存储介质及组件 | |
CN115552369A (zh) | 编译方法、编译装置、编译系统、存储介质与电子设备 | |
CN111078736A (zh) | 一种数据聚合处理方法、装置、终端及存储介质 | |
CN116662031A (zh) | 确定目标脚本的方法、装置、电子设备及存储介质 | |
US20230367786A1 (en) | Unified cloud storage data processing framework for multi-source systems |
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 |