CN114691713A - 数据查询方法和装置 - Google Patents
数据查询方法和装置 Download PDFInfo
- Publication number
- CN114691713A CN114691713A CN202210310831.3A CN202210310831A CN114691713A CN 114691713 A CN114691713 A CN 114691713A CN 202210310831 A CN202210310831 A CN 202210310831A CN 114691713 A CN114691713 A CN 114691713A
- Authority
- CN
- China
- Prior art keywords
- query
- statement
- sql
- end server
- server
- 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
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/242—Query formulation
- G06F16/2433—Query languages
-
- 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
- G06F16/244—Grouping and aggregation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种数据查询方法和装置,涉及数据分析领域技术领域,包括:通过获取用户输入的第一结构化查询语言SQL语句,并将第一SQL语句进行拆解,获得多个子SQL语句;使用预设的模板变量替换子SQL语句,并进行拼接处理,得到第二SQL语句;将第二SQL语句转化为后端服务器可识别的请求语句,将请求语句发送至所述后端服务器,并获取后端服务器返回的执行结果。通过对SQL语句的拆解和模板变量的替换,不仅简化了复杂的SQL语句,也实现了多数据源的查询。
Description
技术领域
本申请涉及数据分析领域,特别涉及有一种数据查询方法和装置
背景技术
Grafana是一个跨平台的开源多数据源可视化工具,可将数据库中采集到的数据即时进行可视化的展示。Grafana在接收到用户输入的请求时,可以将对应的结构化查询语言(structured query language,sql)语句发送到被选择的数据源中执行,返回执行结果并进行可视化展示。
但是,当sql语句比较复杂时,若该语句出现问题,排查较为困难且Grafana无法实现多数据源的查询。
发明内容
本申请实施例提供一种数据查询方法和装置,通过对SQL语句进行拆解,使用预设的模板变量来进行替换,实现对复杂SQL语句的简化,并且通过模板变量实现了在多数据源进行查询。
第一方面,本申请实施例提供一种数据查询方法,应用于前端服务器,包括:
通过获取用户输入的第一结构化查询语言SQL语句,并将第一SQL语句进行拆解,获得多个子SQL语句,其中,每个子SQL语句可执行不同的查询操作;
使用预设的模板变量替换子SQL语句,并进行拼接处理,得到第二SQL语句,其中,模板变量与所述子SQL语句执行的查询操作相同;将第二SQL语句转化为后端服务器可识别的请求语句,将请求语句发送至所述后端服务器,并获取后端服务器返回的执行结果。
可选的,将请求语句发送至后端服务器,包括:
创建ClickHouse服务器的统一资源定位符url表引擎,根据表引擎指定的url地址,将请求语句发送至后端服务器;获取后端服务器返回的执行结果,包括:通过ClickHouse服务器获取后端服务器返回的执行结果。
可选的,获取后端服务器返回的执行结果之后,数据查询方法还包括:
根据第一SQL语句对应的可视化标识,在可视化模板库中选择可视化标识对应的可视化模板;将执行结果存储到可视化模板中;根据可视化模板对应的图表标识,将执行结果进行可视化绘制,得到图表标识对应的图表。
可选的,在使用模板变量替换子SQL语句之前,数据查询方法还包括:
根据子SQL语句所执行的查询操作,获取子SQL语句的操作标识;在模板变量库中,判断是否存在与操作标识匹配的模板变量,得到的判断结果为是。
第二方面,本申请实施例提供一种数据查询方法,应用于后端服务器,包括:
接收ClickHouse服务器发送的请求语句,请求语句是SQL语句转化得到的后端服务器可识别的请求语句;根据请求语句,在多个数据源中分别执行查询操作,获取多个查询结果;对多个查询结果进行聚合处理,获取执行结果,并将执行结果转化为前端服务器可识别的执行结果;将执行结果发送至ClickHouse服务器。
可选的,根据请求语句,在多个数据源中分别执行查询操作,获取多个查询结果,包括:
根据请求语句,在第一数据源中执行查询操作,获取第一查询结果;若第一查询结果中存在缺失信息,则在第二数据源中执行查询操作,获取第二查询结果;若第二查询结果中存在缺失信息,则重复执行在其他数据源中执行查询操作的步骤,直至查询结果中不存在缺失信息。
第三方面,本申请实施例提供一种数据查询装置,应用于前端服务器,包括:
简化模块,用于获取用户输入的第一SQL语句,并将SQL语句进行拆解,获得多个子SQL语句,其中,每个子SQL语句可执行不同的查询操作;
替换模块,用于使用预设的模板变量替换子SQL语句,并进行拼接处理,得到第二SQL语句,其中,模板变量与子SQL语句执行的查询操作相同;
转换处理模块,用于将第二SQL语句转化为后端服务器可识别的请求语句,将请求语句发送至所述后端服务器,并获取后端服务器返回的执行结果。
第四方面,本申请实施例提供一种数据查询装置,应用于后端服务器,包括:
接收模块,用于接收ClickHouse服务器发送的请求语句,请求语句是SQL语句转化得到的后端服务器可识别的请求语句;
查询模块,用于根据请求语句,在多个数据源中分别执行查询操作,获取多个查询结果;
聚合处理模块,对多个查询结果进行聚合处理,获取执行结果,并将执行结果转化为前端服务器可识别的执行结果,并将执行结果发送至ClickHouse服务器。
第五方面,本申请实施例提供一种电子设备,包括:存储器和处理器;
存储器用于存储计算机指令;处理器用于运行存储器存储的计算机指令实现第一方面或者第二方面中任一项的方法。
第六方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现第一方面或者第二方面中任一项的方法。
第七方面,本申请实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面中或者第二方面任一项的方法。
本申请实施例提供的数据查询方法,通过将复杂的SQL语句进行拆解,获得多个子SQL语句,并使用预设的与子SQL语句具有相同查询操作的模板变量来替换该子SQL语句,将多个模板变量合并成一个合语法要求的第二SQL语句,执行第二SQL语句获得对应的查询结果。由于可以对复杂的SQL语句进行拆解并使用模板变量来进行替换,有效提升了复杂的SQL语句的可读性,在该语句出现问题时,降低了排查难度,并且由于子SQL语句可以执行不同的查询操作,解决了无法实现多数据源的数据查询的问题。
附图说明
图1为本申请实施例提供的场景示意图;
图2为本申请实施例提供的数据查询方法的流程示意图;
图3为本申请实施例二提供的数据查询方法的流程示意图;
图4为本申请实施例提供的应用场景示意图;
图5为本申请实施例提供的数据查询装置的结构示意图;
图6为本申请实施例提供的数据查询装置二的结构示意图
图7为本申请实施例提供的电子设备结构示意图。
具体实施方式
为了便于清楚描述本申请实施例的技术方案,以下,对本申请实施例中所涉及的部分术语和技术进行简单介绍:
1)grafana是一个开源的,拥有丰富数据面板和图表编辑的指标分析平台,可将数据库中采集到的数据即时进行可视化的展示。
2)clickhouse是一个在线分析处理查询的列式存储数据库,能够使用sql语句查询实时生成分析数据报告。
3)统一资源定位符(uniform resource locator,url),是用于完整地描述互联网上网页和其他资源的地址的一种标识方法。每一个网页都具有一个唯一的名称标识,通常称之为URL地址。
4)其他术语
在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
下面结合附图对本申请实施例提供的数据查询方法进行详细地介绍。需要说明的是,本申请实施例中的“在……时”,可以为在某种情况发生的瞬时,也可以为在某种情况发生后的一段时间内,本申请实施例对此不作具体限定。
Grafana是一个跨平台的开源多数据源可视化工具,可将数据库中采集到的数据即时进行可视化的展示。Grafana在接收到用户输入的请求时,可以将对应的结构化查询语言(structured query language,sql)语句发送到被选择的数据源中执行,返回执行结果并进行可视化展示。
但是,当sql语句比较复杂时,若该语句出现问题,排查较为困难且Grafana无法实现多数据源的数据进行聚合查询。
有鉴于此,本申请提出一种数据查询方法,通过对复杂的sql语句进行拆解,使用配置好的小型sql语句进行替换并引入clickhouse系统,可以将复杂的sql语句进行简化并实现了对多数据查询的支持。
下面以具体地实施例对本发明的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
图1为本申请实施例提供的场景示意图,包括显示设备、前端服务器和后端服务器,显示设备可以接收用户对其的操作,并将用户输入的请求发送至与其相连接的前端处理器,前端服务器可以接收用户通过显示设备输入的请求进行预先处理,发送至后端服务器,并接收后端服务器返回的对应的请求结果,再将请求结果返回至显示设备,以供用户查看。
例如,用户可以通过显示设备输入一个SQL语句,前端服务器获取该SQL语句后,可以对该SQL语句进行拆分拼接处理,并将处理后的SQL语句发送至后端服务器,后端服务器执行该SQL语句后,将执行结果返回至前端服务器,前端服务器可以将执行结果发送至显示设备,以供用户进行查看。
显示设备可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑等电子设备,本申请实施例对此不做限定;显示设备可以接收用户对其的操作可以但不限于点击或者触摸等,本申请实施例对此不做限定。
上面对本申请实施例提供的应用场景进行了简单说明,下面以应用于图1中的服务器为例,来详细说明本申请实施例提供的数据查询方法。
图2为本申请实施例提供的数据查询方法的流程示意图,包括如下步骤:
S201、获取用户输入的第一SQL语句,并将第一SQL语句进行拆解,获得多个子SQL语句,其中,每个子SQL语句可执行不同的查询操作。
第一SQL语句为一个复合的SQL语句,其中嵌套了多个单层SQL语句。每个子SQL语句可执行不同的查询操作是指不同的子SQL语句可以查询不同的数据源。
前端服务器可以将获取的第一SQL语句拆分成多个单层SQL语句,每个单层SQL语句为一个子SQL语句。
S202、使用预设的模板变量替换子SQL语句,并进行拼接处理,得到第二SQL语句,其中,模板变量与子SQL语句执行的查询操作相同。
模板变量为预先配置的小型SQL语句,查询操作相同是指模板变量与子SQL语句可以执行相同的查询操作,获得相同的查询结果。拼接处理是指将替换子SQL语句的模板变量合并处理,得到一个符合语法要求的SQL语句。
前端服务器使用与子SQL语句具有相同查询操作的模板变量来替换子SQL语句,并将多个模板变量合并成一个符合语法要求的第二SQL语句。
示例性的,子SQL语句select distinct appName from xxx where xxx对应的模板变量为$appName。
S203、将第二SQL语句转化为后端服务器可识别的请求语句,将请求语句发送至后端服务器,并获取后端服务器返回的执行结果。
请求语句为对第二SQL语句的语言格式进行转换后,得到的后端服务器可识别的查询语句。
示例性的,前端服务器对第二SQL语句进行转换,例如,将插入insert、选择select等SQL语言转换成post或者get请求,发送至后端服务器,后端服务器根据该查询语句进行结果查询,并讲查询结果返回至前端服务器。
本申请实施例提供的数据查询方法,通过将复杂的SQL语句进行拆解,获得多个子SQL语句,并使用预设的与子SQL语句具有相同查询操作的模板变量来替换该子SQL语句,将多个模板变量合并成一个合语法要求的第二SQL语句,执行第二SQL语句获得对应的查询结果。由于可以对复杂的SQL语句进行拆解并使用模板变量来进行替换,有效提升了复杂的SQL语句的可读性,在该语句出现问题时,降低了排查难度,并且由于子SQL语句可以执行不同的查询操作,解决了无法实现多数据源的数据进行聚合查询的问题。
图3为本申请提供的数据查询方法实施例二的流程示意图,包括如下步骤:
S301、获取用户输入的第一SQL语句,并将第一SQL语句进行拆解,获得多个子SQL语句。
本申请实施例中S301的实现方式与图2所示实施例中S201的实现方式类似,此处不在赘述。
S302、判断模板变量库中是否存在与子SQL语句具有相同查询操作的模板变量,若有,可以执行S303所示步骤,若无,流程结束。
模板变量库为储存有多个模板变量的数据库,可以接收用户将配置好的SQL语句以模板变量的形式储存于其中。每个模板变量具有对应的操作标识,操作标识用于表示该模板变量所执行的操作。
前端服务器根据子SQL语句所执行的查询操作,获取子SQL语句的操作标识。其中,子SQL语句的操作标识用于识别子SQL语句的所执行的操作。根据子SQL语句的操作标识在模板变量库中,判断是否存在与该操作标识匹配的模板变量的操作标识。若有,可以执行S303所示步骤,若无,流程结束。
S303、使用模板变量替换对应的子SQL语句并进行拼接处理,获得第二SQL语句。
本申请实施例中,以GRAFANA系统为基本框架,引入SQL简化系统和ClickHouse系统共同构成前端服务器。ClickHouse系统又可以称为ClickHouse服务器,SQL简化系统执行SQL语句的拆解与模板变量的替换,GRAFANA执行对模板变量的执行和合并SQL语句。
GRAFANA系统将使用模板变量替换对应的子SQL语句,将模板变量与其余子SQL语句合并成第二SQL语句后,发送至ClickHouse服务器进行进一步处理。
S304、将第二SQL语句转化为后端服务器可识别的请求语句。
本申请实施例中S304的实现方式与图2所示实施例中S203的实现方式类似,此处不在赘述。
S305、创建ClickHouse服务器的url表引擎,根据表引擎指定的URL地址,将请求语句发送至后端服务器。
ClickHouse服务器可以连接多个后端服务器,url表引擎用于指示连接的后端服务器的地址以及后端服务器中数据库数据的储存地址、方式等信息。
ClickHouse服务器根据url表引擎指定请求语句对应的url地址,将请求语句发送到对应的后端服务器。
示例性的,url表引擎指定的url地址为http://127.0.0.1:12345,ClickHouse服务器将请求语句发送至对应的后端服务器。
S306、根据请求语句,在第一数据源中执行查询操作,获取第一查询结果。
本申请实施例中,后端服务器中包括多个数据源,如es、mysql、oracle等数据源。第一数据源可以为后端服务器中的任一数据源,可以根据实际需求,对后端服务器中的数据源进行排序。例如可以根据数据源的大小进行排序,本申请实施例对数据源的排序并不进行限定。
后端服务器接收到ClickHouse服务器发送的请求语句,根据请求语句在第一数据源中执行查询操作,获得对应的第一查询结果。
S307、判断第一查询结果中是否存在缺失信息,若存在缺失信息,可以执行S308所示步骤若不存在缺失信息,可以执行S309所示步骤。
示例性的,请求语句需要查询一条链路的上下游关系,例如,关联应用的应用名、SpanId、互联网协议地址、调用类型、调用状态(成功/失败)、服务信息概览和耗时等信息,后端服务器在es数据库中获得的查询结果为关联应用的应用名、SpanId,缺少其余信息,则在mysql数据库中继续执行该请求语句,直至获得全部信息或者遍历所有数据库。
S308、在第二数据源中执行查询操作,获取第二查询结果。
若第二查询结果中还存在缺失信息,则重复执行在其他数据源中执行查询操作的步骤,直至查询结果中不存在缺失信息。
S309、将多个查询结果进行聚合处理,获得执行结果并发送至ClickHouse服务器。
聚合处理是指将多个查询结果进行合并,整理成一条关联信息。
后端服务器将查询的结果合并为一条关联信息后,发送至ClickHouse服务器。
S310、对执行结果进行转换处理并发送至GRAFANA系统。
转换处理是指将应用服务器响应的数据转换成clickhouse表,供grafana进行查数操作。
ClickHouse服务器将数据转换成clickhouse表后发送至GRAFANA系统。
S311、对转换处理后的执行结果进行可视化绘制,得到第一SQL语句对应的可视化结果。
可视化绘制是指将接收到的查询结果转换成图表形式,例如曲线图、柱状图、饼图等。
GRAFANA系统接收到ClickHouse服务器的结果,根据第一SQL语句对应的可视化标识,在可视化模板库中选择对应的可视化模板,其中,第一SQL语句对应的可视化标识为用户在输入的第一SQL语句时同步选择的可视化需求,参考图4,用户在输入第一SQL语句时,可以选择将查询结果以何种方式呈现,前端服务器根据获取的用户需求,将对应的查询结果例如以柱状图的方式呈现给用户。
可视化模板库为储存有多个可视化模板的数据库,每个可视化模板都具有对应的图表标识,图表标识用于表示该可视化模板所执行的可视化操作,每一个图表标识对应一种可视化操作。例如,柱状图标识、曲线图标识分别对应柱状图操作、曲线图操作。
GRAFANA系统将执行结果转储到可视化模板中,根据可视化模板对应的图表标识,将执行结果进行可视化绘制,得到图表标识对应的图表。
示例性的,第一SQL语句对应的可视化标识为柱状图标识,GRAFANA系统在可视化模板库中选择图标标识为柱状图标识的可视化模板,将执行结果存储至柱状图模板中,并将执行结果绘制成柱状图,呈现给用户。
本申请实施例提供的数据查询方法,通过在以GRAFANA系统为基本框架,引入SQL简化系统和ClickHouse系统共同构成前端服务器,可以对复杂的SQL语句进行拆解、替换以及拼接处理,并通过ClickHouse的表引擎,指向对应的后端服务器,通过配置的模板变量进行多数据源的查询,并对查询结果进行聚合以及可视化绘制。不仅简化了复杂的SQL语句,也实现多数据源的数据的聚合查询及可视化。
如图5所示,本申请实施例还提供一种数据查询装置50,包括,接收模块501、查询模块502以及聚合处理模块503
接收模块501,用于接收ClickHouse服务器发送的请求语句,请求语句是SQL语句转化得到的后端服务器可识别的请求语句。
查询模块502,用于根据请求语句,在多个数据源中分别执行查询操作,获取多个查询结果。
聚合处理模块503,用于对多个查询结果进行聚合处理,获取执行结果,并将执行结果转化为前端服务器可识别的执行结果,并将执行结果发送至所述ClickHouse服务器。
本实施例提供的数据查询装置可以执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
如图6所示,本申请实施例还提供一种数据查询装置60,包括,前端服务器601和后端服务器602。
前端服务器601包括SQL简化模块6011、GRAFANA模块6012以及ClickHouse模块6013。
SQL简化模块6011可以分为SQL拆分单元和SQL组装单元,用于对复杂SQL语句进行拆分以及对子SQL语句进行模板变量的替换。
GRAFANA模块6012可以分为请求发送装置、响应接收装置以及模板绘制装置,用于将执行结果替换后的语句发送至clickhouse服务器、将接受自clickhouse服务器的执行结果,转储到grafana的可视化页面的模板中以及对执行结果进行可视化绘制。
ClickHouse模块6013可以分为SQL处理装置、请求发送装置以及响应处理装置。用于将sql语言转换成后端服务器能识别的请求格式、将转换后的请求语句发送对应的后端服务器以及将后端服务器响应的数据转换成clickhouse表。
后端服务器602包括以查询装置6021及数据库6022。
查询装置6021包括多数据源聚合装置、响应装置。用于根据请求语句在数据库中进行查询并将查询结果进行聚合处理并发送至前端服务器。
数据库6022用于提供数据支持。
本实施例提供的数据查询装置可以执行图3所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图7为本申请实施例提供的数据查询电子设备的结构示意图。如图7所示,本实施例提供的数据查询电子设备70可以包括:
处理器701。
存储器702,用于存储电子设备的可执行指令。
其中,处理器配置为经由执行可执行指令来执行上述数据查询方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本申请实施例中还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述数据查询方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
一种可能的实现方式中,计算机可读介质可以包括随机存取存储器(RandomAccess Memory,RAM),只读存储器(Read-Only Memory,ROM),只读光盘(compact discread-only memory,CD-ROM)或其它光盘存储器,磁盘存储器或其它磁存储设备,或目标于承载的任何其它介质或以指令或数据结构的形式存储所需的程序代码,并且可由计算机访问。而且,任何连接被适当地称为计算机可读介质。例如,如果使用同轴电缆,光纤电缆,双绞线,数字用户线(Digital Subscriber Line,DSL)或无线技术(如红外,无线电和微波)从网站,服务器或其它远程源传输软件,则同轴电缆,光纤电缆,双绞线,DSL或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所使用的磁盘和光盘包括光盘,激光盘,光盘,数字通用光盘(Digital Versatile Disc,DVD),软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。上述的组合也应包括在计算机可读介质的范围内。
本申请实施例中还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述数据查询方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
在上述终端设备或者服务器的具体实现中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本领域技术人员可以理解,上述任一方法实施例的全部或部分步骤可以通过与程序指令相关的硬件来完成。前述的程序可以存储于计算机可读取存储介质中,该程序被执行时,执行上述方法实施例的全部或部分的步骤。
本申请技术方案如果以软件的形式实现并作为产品销售或使用时,可以存储在计算机可读取存储介质中。基于这样的理解,本申请的技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括计算机程序或者若干指令。该计算机软件产品使得计算机设备(可以是个人计算机、服务器、网络设备或者类似的电子设备)执行本申请实施例所述方法的全部或部分步骤。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本发申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种数据查询方法,其特征在于,应用于前端服务器,包括:
获取用户输入的第一结构化查询语言SQL语句,并将所述第一SQL语句进行拆解,获得多个子SQL语句,其中,每个所述子SQL语句可执行不同的查询操作;
使用预设的模板变量替换所述子SQL语句,并进行拼接处理,得到第二SQL语句,其中,所述模板变量与所述子SQL语句执行的查询操作相同;
将所述第二SQL语句转化为后端服务器可识别的请求语句,将所述请求语句发送至所述后端服务器,并获取所述后端服务器返回的执行结果。
2.根据权利要求1所述的方法,其特征在于,所述将所述请求语句发送至所述后端服务器,包括:
创建ClickHouse服务器的统一资源定位符url表引擎,根据所述表引擎指定的url地址,将所述请求语句发送至后端服务器;
所述获取所述后端服务器返回的执行结果,包括:
通过所述ClickHouse服务器获取所述后端服务器返回的执行结果。
3.根据权利要求1所述的方法,其特征在于,所述获取所述后端服务器返回的执行结果之后,所述方法还包括:
根据所述第一SQL语句对应的可视化标识,在可视化模板库中选择所述可视化标识对应的可视化模板;
将所述执行结果存储到所述可视化模板中;
根据可视化模板对应的图表标识,将所述执行结果进行可视化绘制,得到所述图表标识对应的图表。
4.根据权利要求1所述的方法,其特征在于,在所述使用模板变量替换所述子SQL语句之前,所述方法还包括:
根据所述子SQL语句所执行的查询操作,获取所述子SQL语句的操作标识;
在模板变量库中,判断是否存在与所述操作标识匹配的模板变量,得到的判断结果为是。
5.一种数据查询方法,其特征在于,应用于后端服务器,包括:
接收ClickHouse服务器发送的请求语句,所述请求语句是SQL语句转化得到的所述后端服务器可识别的请求语句;
根据所述请求语句,在多个数据源中分别执行查询操作,获取多个查询结果;
对多个所述查询结果进行聚合处理,获取执行结果,并将所述执行结果转化为前端服务器可识别的执行结果;
将所述执行结果发送至所述ClickHouse服务器。
6.根据权利要求5所述的方法,其特征在于,所述根据所述请求语句,在多个数据源中分别执行查询操作,获取多个查询结果,包括:
根据所述请求语句,在第一数据源中执行查询操作,获取第一查询结果;
若所述第一查询结果中存在缺失信息,则在第二数据源中执行查询操作,获取第二查询结果;
若所述第二查询结果中存在缺失信息,则重复执行在其他数据源中执行查询操作的步骤,直至查询结果中不存在缺失信息。
7.一种数据查询装置,其特征在于,应用于前端服务器,包括:
简化模块,用于获取用户输入的第一SQL语句,并将所述SQL语句进行拆解,获得多个子SQL语句,其中,每个所述子SQL语句可执行不同的查询操作;
替换模块,用于使用预设的模板变量替换所述子SQL语句,并进行拼接处理,得到第二SQL语句,其中,所述模板变量与所述子SQL语句执行的查询操作相同;
转换处理模块,用于将所述第二SQL语句转化为后端服务器可识别的请求语句,将所述请求语句发送至所述后端服务器,并获取所述后端服务器返回的执行结果。
8.一种数据查询装置,其特征在于,应用于后端服务器,包括:
接收模块,用于接收ClickHouse服务器发送的请求语句,所述请求语句是SQL语句转化得到的所述后端服务器可识别的请求语句;
查询模块,用于根据所述请求语句,在多个数据源中分别执行查询操作,获取多个查询结果;
聚合处理模块,对多个所述查询结果进行聚合处理,获取执行结果,并将所述执行结果转化为前端服务器可识别的执行结果,并将所述执行结果发送至所述ClickHouse服务器。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现权利要求1-4中,或者权利要求5-6中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1-4中,或者权利要求5-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210310831.3A CN114691713A (zh) | 2022-03-28 | 2022-03-28 | 数据查询方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210310831.3A CN114691713A (zh) | 2022-03-28 | 2022-03-28 | 数据查询方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114691713A true CN114691713A (zh) | 2022-07-01 |
Family
ID=82140130
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210310831.3A Pending CN114691713A (zh) | 2022-03-28 | 2022-03-28 | 数据查询方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114691713A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115271514A (zh) * | 2022-08-11 | 2022-11-01 | 中国铁塔股份有限公司 | 通讯企业的监控方法、装置、电子设备及存储介质 |
-
2022
- 2022-03-28 CN CN202210310831.3A patent/CN114691713A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115271514A (zh) * | 2022-08-11 | 2022-11-01 | 中国铁塔股份有限公司 | 通讯企业的监控方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112099768B (zh) | 业务流程处理方法、装置及计算机可读存储介质 | |
CN111177231A (zh) | 报表生成方法和报表生成装置 | |
US8903809B2 (en) | Contextual search history in collaborative archives | |
US11494395B2 (en) | Creating dashboards for viewing data in a data storage system based on natural language requests | |
CN112084208A (zh) | 数据可视化方法及系统、存储介质及电子设备 | |
CN111858760A (zh) | 一种异构数据库的数据处理方法及装置 | |
CN111221852A (zh) | 基于大数据的混合查询处理方法及装置 | |
CN105786941B (zh) | 一种信息挖掘方法和装置 | |
CN114691713A (zh) | 数据查询方法和装置 | |
US8862609B2 (en) | Expanding high level queries | |
CN114186024A (zh) | 推荐方法及装置 | |
CN114065765A (zh) | 结合ai和rpa的武器装备文本处理方法、装置及电子设备 | |
CN112818070A (zh) | 基于全域数据字典的数据查询方法、装置及电子设备 | |
CN117271584A (zh) | 数据处理方法及装置、计算机可读存储介质和电子设备 | |
CN110555178A (zh) | 数据代理方法及装置 | |
CN115422202A (zh) | 业务模型的生成方法、业务数据查询方法、装置及设备 | |
CN113704486A (zh) | 图谱数据构建方法及装置和图谱数据查询方法及装置 | |
CN113407598A (zh) | 需求文档的生成方法、装置、存储介质及电子设备 | |
CN112948472A (zh) | 处理数据方法、装置、设备和计算机可读介质 | |
CN110737662A (zh) | 一种数据分析方法、装置、服务器及计算机存储介质 | |
CN112784195A (zh) | 一种页面数据发布方法和系统 | |
CN110955722A (zh) | 数据同步方法及装置 | |
US20190034555A1 (en) | Translating a natural language request to a domain specific language request based on multiple interpretation algorithms | |
JP2015022723A (ja) | 文書を検索する装置及び方法 | |
US11616744B2 (en) | Context-dependent message extraction and transformation |
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 |