CN108520037B - 数据查询方法、装置及数据可视化系统 - Google Patents
数据查询方法、装置及数据可视化系统 Download PDFInfo
- Publication number
- CN108520037B CN108520037B CN201810278318.4A CN201810278318A CN108520037B CN 108520037 B CN108520037 B CN 108520037B CN 201810278318 A CN201810278318 A CN 201810278318A CN 108520037 B CN108520037 B CN 108520037B
- Authority
- CN
- China
- Prior art keywords
- api interface
- query
- data
- target
- inquiry request
- 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.)
- Active
Links
Abstract
本申请实施例提供一种数据查询方法、装置及数据可视化系统,方法及装置应用于中间服务层节点。中间服务层节点通过选定的第一API接口接收可视化工具发送的查询请求,选定的第一API接口根据该查询请求确定目标第二API接口;选定的第一API接口调用目标第二API接口,将与该查询请求对应的查询语句发送给搜索引擎,使搜索引擎执行接收到的查询语句并返回对应的查询结果给目标第二API接口;选定的第一API接口从目标第二API接口获得查询结果,对该查询结果进行转换,并将转换得到的数据发送给可视化工具进行展示。如此,用户可以不受搜索引擎特有的查询语法的限制,通过一般的可视化工具来查询搜索引擎的数据。
Description
技术领域
本申请涉及大数据技术领域,具体而言,涉及一种数据查询方法、装置及数据可视化系统。
背景技术
现有的一些搜索引擎,由于其不支持传统的SQL(Structured Query Language)语句查询,而是维护有一套独立的数据查询语法,造成现有的大多数可视化工具无法从该搜索引擎中获取数据进行展示。
发明内容
有鉴于此,本申请的目的在于提供一种数据查询方法、装置及数据可视化系统,以改善上述问题。
为了达到上述目的,本申请实施例采用如下技术方案:
第一方面,本申请实施例提供一种数据查询方法,应用于中间服务层节点,该中间服务层节点包括至少一个与不同查询请求对应的第一API接口,该中间服务层节点通过至少一个第二API接口与搜索引擎通信,该方法包括:
通过选定的第一API接口接收可视化工具发送的查询请求;
所述选定的第一API接口根据所述查询请求确定目标第二API接口;
所述选定的第一API接口调用所述目标第二API接口,将与所述查询请求对应的查询语句发送给搜索引擎,使所述搜索引擎执行所述查询语句并将对应的查询结果返回给所述目标第二API接口;
所述选定的第一API接口从所述目标第二API接口获得所述查询结果,对所述查询结果进行转换,并将转换得到的数据发送给所述可视化工具进行展示。
可选地,在上述数据查询方法中,所述查询请求中携带有用于表示查询条件的字段,所述中间服务层节点中存储有字段与查询指令之间的对应关系;
所述选定的第一API接口根据所述查询请求确定目标第二API接口,包括:
所述选定的第一API接口确定与所述查询请求中携带的字段对应的目标查询指令,并查找包括所述目标查询指令的第二API接口,作为所述目标第二API接口。
可选地,在上述数据查询方法中,所述选定的第一API接口调用所述目标第二API接口,将与所述查询请求对应的查询语句发送给所述搜索引擎,包括:
所述选定的第一API接口将所述查询请求中携带的字段所对应的参数值传递给所述目标第二API接口,以使所述目标第二API接口生成与所述查询请求对应的查询语句并发送给所述搜索引擎。
可选地,在上述数据查询方法中,每个第一API接口中规定有相应的预设数据格式;
所述选定的第一API接口对所述查询结果进行转换,并将转换得到的数据发送给所述可视化工具进行展示,包括:
所述选定的第一API接口将所述查询结果转换为所述选定的第一API接口中规定的预设数据格式的数据,并将所述选定的第一API接口中规定的预设数据格式的数据发送给所述可视化工具进行展示。
第二方面,本申请实施例还提供一种数据查询装置,应用于中间服务层节点,该中间服务层节点包括至少一个与不同查询请求对应的第一API接口,该中间服务层节点通过至少一个第二API接口与搜索引擎通信,该装置包括:
请求接收模块,用于通过选定的第一API接口接收可视化工具发送的查询请求;
转换模块,用于控制所述选定的第一API接口根据所述查询请求确定目标第二API接口,并调用所述目标第二API接口,将与所述查询请求对应的查询语句发送给搜索引擎,使所述搜索引擎执行所述查询语句并将对应的查询结果返回给所述目标第二API接口;
结果展示模块,用于控制所述选定的第一API接口从所述目标第二API接口获得所述查询结果,对所述查询结果进行转换,并将转换得到的数据发送给所述可视化工具进行展示。
可选地,在上述的数据查询装置中,所述查询请求中携带有用于表示查询条件的字段,所述中间服务层节点中存储有字段与查询指令之间的对应关系;
所述转换模块控制所述选定的第一API接口根据所述查询请求确定目标第二API接口的方式,为:
确定与所述查询请求中携带的字段对应的目标查询指令,并查找包括所述目标查询指令的第二API接口,作为所述目标第二API接口。
可选地,在上述的数据查询装置中,所述转换模块调用所述目标第二API接口,将与所述查询请求对应的查询语句发送给所述搜索引擎的方式,为:
将所述查询请求中携带的字段所对应的参数值传递给所述目标第二API接口,以使所述目标第二API接口生成与所述查询请求对应的查询语句并发送给所述搜索引擎。
可选地,在上述的数据查询装置中,每个第一API接口中规定有相应的预设数据格式;
所述结果展示模块对所述查询结果进行转换,并将转换得到的数据发送给所述可视化工具进行展示的方式,为:
将所述查询结果转换为所述选定的第一API接口中规定的预设数据格式的数据,并将所述选定的第一API接口中规定的预设数据格式的数据发送给所述可视化工具进行展示。
第三方面,本申请实施例还提供一种数据可视化系统,包括可视化工具、中间服务层节点及搜索引擎,所述中间服务层节点包括至少一个与不同查询请求对应的第一API接口,并通过至少一个第二API接口与搜索引擎通信;
所述可视化工具,用于向所述中间服务层节点发送查询请求;
所述中间服务层节点包括:
请求接收模块,用于通过选定的第一API接口接收所述可视化工具发送的查询请求;
转换模块,用于控制所述选定的第一API接口根据所述查询请求确定用于向所述搜索引擎发送与所述查询请求对应的查询语句的目标第二API接口,并调用所述目标第二API接口将与所述查询请求对应的查询语句发送给所述搜索引擎;
所述搜索引擎,用于根据接收到的查询语句进行查询,并将得到的查询结果返回给所述目标第二API接口;
所述中间服务层节点还包括:
结果展示模块,用于控制所述选定的第一API接口从所述目标第二API接口获得所述查询结果,对所述查询结果进行转换,并将转换得到的数据发送给所述可视化工具进行展示。
第四方面,本申请实施例还提供一种机器可读存储介质,其上存储有机器可执行指令,该机器可执行指令被执行时实现本申请实施例第一方面提供的数据查询方法。
相较于现有技术,本申请实施例具有以下有益效果:
本申请实施例提供的一种数据查询方法、装置及数据可视化系统,中间服务层节点通过选定的第一API接口接收可视化工具发送的查询请求,根据该查询请求确定目标第二API接口;选定的第一API接口调用目标第二API接口,将与该查询请求对应的查询语句发送给搜索引擎,使搜索引擎执行接收到的查询语句并返回对应的查询结果给目标第二API接口。选定的第一API接口从目标第二API接口获得查询结果,对该查询结果进行转换,并将转换得到的数据发送给可视化工具进行展示。如此,用户可以不受搜索引擎特有的查询语法的限制,通过一般的可视化工具查询该搜索引擎的数据并展示。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种数据可视化系统的连接框图;
图2为本申请实施例提供的又一种数据可视化系统的连接框图;
图3为本申请实施例提供的一种数据查询方法的流程示意图;
图4为本申请实施例提供的一种数据查询装置的功能模块框图。
图标:10-数据可视化系统;100-可视化工具;200-中间服务层节点;210-数据查询装置;211-请求接收模块;212-转换模块;213-结果展示模块;220-第二API接口;230-第一API接口;300-搜索引擎。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
目前,通常需要通过可视化工具来从搜索引擎获取数据并进行可视化展示。现有的大多数可视化工具支持的都是SQL语句,对于一些不支持SQL语句查询的搜索引擎(如,ElasticSearch搜索引擎),无法使用通用的一般可视化工具进行查询,非常不便。
为了让用户能够通过通用的可视化工具从不支持SQL查询语句的搜索引擎中查询数据,并对查询到的数据进行展示,本申请实施例提供一种数据查询方法、装置及数据可视化系统,在可视化工具与搜索引擎之间提供一中间服务层节点,通过该中间服务层节点将可视化工具发出的查询请求转换为该搜索引擎支持的查询语句并发送给该搜索引擎,以使该搜索引擎根据接收到的查询语句进行数据查询。下面将对该内容进行详细阐述。
请参阅图1,图1是本申请实施例提供的一种数据可视化系统10的连接框图,该数据可视化系统10包括可视化工具100、中间服务层节点200及搜索引擎300,所述搜索引擎300提供有客户端,该中间服务层节点200可以通过该客户端与所述搜索引擎300通信连接。
在本实施例中,所述搜索引擎300通常可以部署在一台独立的服务器上,也可以部署在多台服务器上以形成分布式搜索引擎,比如,ElasticSearch搜索引擎。其中,部署有ElasticSearch搜索引擎的多个服务器通常被称作“ElasticSearch集群”。在此情形下,所述中间服务层节点200可以部署在ElasticSearch集群外的其他设备上,也可以部署在ElasticSearch集群中的任一服务器上,本实施例对此不做限制。
所述客户端中包括至少一个第二API(Application Programming Interface,应用程序编程接口)接口220,所述第二API接口220用于操作所述搜索引擎300中的数据。
所述中间服务层节点200包括数据查询装置210以及至少一个第一API接口230,所述第一API接口230可以用于接收可视化工具发送的查询请求,并根据接收到的查询请求调用所述客户端中的第二API接口220。
请参阅图2,图2是搜索引擎300为ElasticSearch时的数据可视化系统10的示意图。以ElasticSearch为例,所述客户端可以为JAVA客户端,如传输客户端(TransportClient),对应地,第二API接口220可以是TransportClient中提供的用于操作ElasticSearch中数据的ElasticSearch API接口。通过第一API接口230可以调用所述ElasticSearch API接口,进而得到相应的ElasticSearch查询语句并将该ElasticSearch查询语句发送给所述ElasticSearch集群,使所述ElasticSearch按照该ElasticSearch查询语句执行相应操作(如,增、删、查、改等),并返回相应的查询结果。
在本申请实施例中,所述可视化工具100可以是任意能够对数据库中的数据进行可视化展示的应用程序,例如DVE、BI工具等。所述可视化工具100可以与所述中间服务层节点200运行在同一设备上;所述可视化工具100和所述中间服务层节点200也可以分别运行在相互通信连接的两个设备上,本实施例对此不做限定。
请参阅图3,是本申请实施例提供的一种数据查询方法的示意图,该数据查询方法应用于图1中所示的中间服务层节点200。下面结合图3对该方法进行详细描述。
步骤S301,通过选定的第一API接口230接收可视化工具100发送的查询请求。
在本实施例中,所述查询请求可以是HTTP请求,其中HTTP请求可以通过POST、GET、PUT等方式实现,也可以通过RESTful API实现,本申请实施例对此不做限定。
实施时,可视化工具100可以通过不同的方式获得该查询请求。例如,可视化工具100可以在用户界面提供一输入框,用户可以在该输入框中直接输入查询请求,可视化工具100可以获取该查询请求并发送给中间服务层节点200。又如,可视化工具100可以设置有供用户设置或输入查询条件的选项,通过获取用户设置或输入的查询条件,可以得到包括该查询条件的查询请求,并将该查询请求发送给中间服务层节点200。
下面以ElasticSearch为例,对步骤S301做进一步阐述。
在一种实例中,假设用户需要统计某一索引(Index)XXX中的数据量,以GET请求为例,用户可以直接输入如下格式的请求:
http://IP:端口号/应用名称/indexCount?indexName=XXX
其中,IP为中间服务层节点200所在设备的IP地址,端口号为用于通信的端口,当使用JAVA API与ElasticSearch通信时,该端口号默认为9300。应用名称为可视化工具100的名称,用于标识该可视化工具100。“XXX”为待统计的索引的名称,indexCount表示需要统计索引XXX中的数据量。
此外,用户也可以在仅在可视化工具100的用户界面上选取或输入查询条件,以表示需要查询并统计索引XXX的数据量,以自动生成上述的查询请求并发送给中间服务层节点200。
步骤S302,所述选定的第一API接口230根据所述查询请求确定目标第二API接口。
其中,所述查询请求包括查询条件,该查询条件中包括相应的字段,以标识需要查询的索引、类型、字段及所需执行操作等。
在本实施例中,所述中间服务层节点200中可以存储有字段与查询指令之间的对应关系。其中,所述查询指令是指所述客户端提供的操作搜索引擎中数据的方法。基于此,中间服务层节点200在接收到所述查询请求后,可以根据所述查询请求中携带的字段确定对应的目标查询指令,并在所述客户端提供的第二API接口220中查找包括该目标查询指令的第二API接口220,作为所述目标第二API。
下面再次以ElasticSearch为例进行详细阐述:
以上述的统计索引XXX中的数据量的查询请求为例,该查询请求中包括indexName、indexCount两个字段,假设中间服务层节点200中存储有如下对应关系:indexName与client.prepareSearch(indexName)对应,indexCount与getHits().getTotalHits()对应。
则,可以在TransportClient提供的ElasticSearch API接口中查找包括与该两个字段对应的查询指令的目标ElasticSearch API接口,具体可以是:
SearchResponse response=client.prepareSearch(indexName)
.setSize(0)
.execute()
.actionGet();
再通过response.getHits().getTotalHits()获取索引的数据量。
步骤S303,所述选定的第一API接口230调用所述目标第二API接口,将与所述查询请求对应的查询语句发送给所述搜索引擎300,使所述搜索引擎300执行所述查询语句并将对应的查询结果返回给所述目标第二API接口。
仍旧以上述的统计索引XXX中的数据量的查询请求为例,在确定目标ElasticSearch API接口之后,只需将索引名称“XXX”传递给该接口中的indexName,并调用该目标ElasticSearch API接口,即可生成用于统计索引XXX中数据量的ElasticSearch查询语句并发送给ElasticSearch。
ElasticSearch在接收到该ElasticSearch查询语句时,会执行该ElasticSearch查询语句,继而得到相应的查询结果,即索引XXX中的数据量,然后将该查询结果返回给所述目标ElasticSearch API接口(目标第二API接口)。
步骤S304,所述选定的第一API接口230从所述目标API接口获得所述查询结果,对所述查询结果进行转换,并将转换得到的数据发送给所述可视化工具100进行展示。
通过上述过程,可以通过调用第二API接口220将与可视化工具100发送的查询请求对应的查询语句发送给搜索引擎300,使得用户可以使用通用的可视化工具100来从搜索引擎300获取数据并展示,而不必受限于搜索引擎要求的查询语法的限制。
在实际应用中,存在对数据格式有特殊要求的可视化工具100,为了进一步扩大可视化工具100的适用范围,每个第一API接口230中规定有相应的预设数据格式,例如,JSON(JavaScript Object Notation,JS对象标记)格式、XML(eXtensible Markup Language,可扩展标记语言)格式等。
在实施时,在有查询请求到达中间服务层节点200时,可以根据该查询请求以及可视化工具100所需的数据格式来选定接收该查询请求的第一API接口230。
下面给出一些实例,以对选定接收查询请求的第一API接口230的过程做详细阐述:
在一种实例中,中间服务层节点200可以预先存储有不同的第一API接口230与不同的查询请求及不同的预设数据格式之间的对应关系。例如,假设存在如下两个HTTP请求:
查询请求A1,http://IP:端口号/YYY1/indexCount?indexName=XXX;
查询请求A2,http://IP:端口号/YYY2/indexCount?indexName=XXX。
其中,YYY1和YYY2表示表示不同的应用名称,分别表示不同的可视化工具100,YYY1表示可视化工具B1,YYY2表示可视化工具B2,摒弃可视化工具B1所需的数据格式为JSON格式,可视化工具B2所需的数据格式为XML格式。
若所述中间服务层节点200包括第一API接口S1和第一API接口S2,均能确定并调用用于统计某一索引的数据量的ElasticSearch API接口,但第一API接口S1中规定有JSON格式,第二API接口S2中规定有XML格式,则可以建立HTTP请求A1与第一API接口S1的对应关系,建立HTTP请求A2与第一API接口S2的对应关系。
如此,当中间服务层节点200接收到可视化工具B1发送的查询请求A1时,可以根据预先建立的对应关系选定第一API接口S1来接收查询请求A1,并调用第一API接口S1,以便在接收到ElasticSearch返回的查询结果时,将该查询结果转换为JSON格式的数据。
对应地,当中间服务层节点200接收到可视化工具B2发送的查询请求A2时,可以根据预先建立的对应关系选定第一API接口S2来接收查询请求A2,并调用第一API接口S2,以便在接收到ElasticSearch返回的查询结果时,将该查询结果转换为XML格式的数据。
在又一种实例中,每个第一API接口230可以包括一说明文档,用于说明该第一API接口230支持的预设数据格式以及该第一API接口230对应的查询请求。实施时,当中间服务层节点200接收到查询请求时,可以在可视化工具100的用户界面上显示各个第一API接口230的说明文档,以使用户根据所述说明文档选定一第一API接口230。中间服务层节点200调用用户选定的第一API接口230,可以在TransportClient提供的至少一个ElasticSearchAPI接口中确定并调用目标ElasticSearch API接口,并在获得ElasticSearch返回的查询结果时将该查询结果转换成自身规定的预设数据格式。
因而,在此情形下,步骤S304可以包括如下子步骤:
所述选定的第一API接口230将所述查询结果转换为所述选定的第一API接口230中规定的预设数据格式的数据,并将所述选定的第一API接口230中规定的预设数据格式的数据发送给所述可视化工具100进行展示。
通过上述过程,可以采用不同的可视化工具100从ElasticSearch(搜索引擎)获取数据并展示,而不必受限于ElasticSearch特有的查询语法的限制,便于ElasticSearch搜索引擎的推广应用。
在实际应用中,大多数可视化工具100都支持JSON格式,因而,在本实施例中,可以预先在中间服务层节点200中设置规定有JSON格式的第一API接口230,在有需求时,再根据需求设置规定有其他数据格式(如,XML格式)的第一API接口230。
目前,存在与ElasticSearch配套使用的可视化工具Kibana,Kibana通过一套复杂的机制,直接根据用户的操作升成相应的ElasticSearch查询语句,再通过该ElasticSearch查询语句在ElasticSearch中查询相应的数据,并对查询到的数据进行展示。但这套机制仅能在Kibana上实现,不支持其他可视化工具使用。并且由于该机制实现较为复杂,因此,Kibana的可扩展性差,难以针对用户的个性化需求在Kibana上做进一步的开发。
而根据本申请实施例中的上述描述,面对用户的个性化需求,只需在中间服务层节点200中增设相应的第一API接口230即可,实现起来非常简单。
此外,通过上述描述,还实现了可视化工具100与搜索引擎300的解耦合,使得可视化工具100和搜索引擎300对彼此的依赖程度降低,便于后续管理。
如图4所示,是本申请实施例提供的一种数据查询装置210的功能模块框图,该数据查询装置210应用于图1中所示的中间服务层节点200。
数据查询装置210包括请求接收模块211、转换模块212以及结果展示模块213。
其中,请求接收模块211用于通过选定的第一API接口230接收可视化工具100发送的查询请求。
在本实施例中,关于所述请求接收模块211的描述具体可参考对图3所示步骤S301的详细描述,即步骤S301可以由请求接收模块211执行。
转换模块212用于控制所述选定的第一API接口230根据所述查询请求确定目标第二API接口,并调用所述目标第二API接口,将与所述查询请求对应的查询语句发送给搜索引擎300,使所述搜索引擎300执行所述查询语句并将对应的查询结果返回给所述目标第二API接口。
在本实施例中,关于所述转换模块212的描述具体可参考对图3所示步骤S302和步骤S303的详细描述,即步骤S302和步骤S303可以由接口确定模块212执行。
可选地,每个第一API接口230中规定有相应的预设数据格式。在此情形下,所述转换模块212控制所述选定的第一API接口230根据所述查询请求确定目标第二API接口的方式,可以为:
确定与所述查询请求中携带的字段对应的目标查询指令,并查找包括所述目标查询指令的第二API接口220,作为所述目标第二API接口。
结果展示模块213,用于控制所述选定的第一API接口230从所述目标第二API接口获得所述查询结果,对所述查询结果进行转换,并将转换得到的数据发送给所述可视化工具进行展示。
在本实施例中,关于结果展示模块213的描述具体可参考对图3所示步骤S304的详细描述,即步骤S304可以由结果展示模块213执行。
可选地,结果展示模块213可以将所述查询结果转换为所述选定的第一API接口230中规定的预设数据格式的数据,并将所述选定的第一API接口230中规定的预设数据格式的数据发送给所述可视化工具100进行展示。
综上所述,本申请实施例提供的一种数据查询方法、装置及数据可视化系统,中间服务层节点通过选定的第一API接收可视化工具发送的查询请求,根据该查询请求确定目标第二API接口。选定的第一API接口调用目标第二API接口,将与该查询请求对应的查询语句发送给搜索引擎,使搜索引擎执行接收到的查询语句并返回对应的查询结果给目标第二API接口。选定的第一API接口从目标第二API接口获得搜索引擎返回的查询结果,对该查询结果进行转换,并将转换得到的数据发送给可视化工具进行展示。如此,用户可以不受搜索引擎特有的查询语法的限制,通过一般的可视化工具查询搜索引擎的数据并展示。
在本申请提供的实施例中,应当理解,所揭露的装置、系统和方法,也可以通过其它方式实现。以上所描述的实施例仅仅是示例性的,例如,附图中的流程图和框图显示了根据本申请实施例的装置、系统和方法可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分保护一个或多个用于实现对应的逻辑功能的可执行指令。
此外,还应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发发生。例如,两个连续的方框实际上可以并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。还应注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
最后,应说明的是,以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (8)
1.一种数据查询方法,其特征在于,应用于中间服务层节点,该中间服务层节点包括至少一个第一API接口,该中间服务层节点通过至少一个第二API接口与搜索引擎通信,该方法包括:
通过选定的第一API接口接收可视化工具发送的查询请求;其中,所述查询请求携带有用于表示查询条件的字段,所述中间服务层节点存储有字段与查询指令之间的对应关系;
所述选定的第一API接口确定与所述查询请求中携带的字段对应的目标查询指令,并查找包括所述目标查询指令的第二API接口作为目标第二API接口;
所述选定的第一API接口调用所述目标第二API接口,将与所述查询请求对应的查询语句发送给搜索引擎,使所述搜索引擎执行所述查询语句并将对应的查询结果返回给所述目标第二API接口;
所述选定的第一API接口从所述目标第二API接口获得所述查询结果,对所述查询结果进行转换,并将转换得到的数据发送给所述可视化工具进行展示。
2.根据权利要求1所述的数据查询方法,其特征在于,所述选定的第一API接口调用所述目标第二API接口,将与所述查询请求对应的查询语句发送给所述搜索引擎,包括:
所述选定的第一API接口将所述查询请求中携带的字段所对应的参数值传递给所述目标第二API接口,以使所述目标第二API接口生成与所述查询请求对应的查询语句并发送给所述搜索引擎。
3.根据权利要求2所述的数据查询方法,其特征在于,每个第一API接口中规定有相应的预设数据格式;
所述选定的第一API接口对所述查询结果进行转换,并将转换得到的数据发送给所述可视化工具进行展示,包括:
所述选定的第一API接口将所述查询结果转换为所述选定的第一API接口中规定的预设数据格式的数据,并将所述选定的第一API接口中规定的预设数据格式的数据发送给所述可视化工具进行展示。
4.一种数据查询装置,其特征在于,应用于中间服务层节点,该中间服务层节点包括至少一个第一API接口,该中间服务层节点通过至少一个第二API接口与搜索引擎通信,该装置包括:
请求接收模块,用于通过选定的第一API接口接收可视化工具发送的查询请求;其中,所述查询请求携带有用于表示查询条件的字段,所述中间服务层节点存储有字段与查询指令之间的对应关系;
转换模块,用于控制所述选定的第一API接口确定与所述查询请求中携带的字段对应的目标查询指令,并查找包括所述目标查询指令的第二API接口作为目标第二API接口,并调用所述目标第二API接口,将与所述查询请求对应的查询语句发送给搜索引擎,使所述搜索引擎执行所述查询语句并将对应的查询结果返回给所述目标第二API接口;
结果展示模块,用于控制所述选定的第一API接口从所述目标第二API接口获得所述查询结果,对所述查询结果进行转换,并将转换得到的数据发送给所述可视化工具进行展示。
5.根据权利要求4所述的数据查询装置,其特征在于,所述转换模块调用所述目标第二API接口,将与所述查询请求对应的查询语句发送给所述搜索引擎的方式,为:
将所述查询请求中携带的字段所对应的参数值传递给所述目标第二API接口,以使所述目标第二API接口生成与所述查询请求对应的查询语句并发送给所述搜索引擎。
6.根据权利要求5所述的数据查询装置,其特征在于,每个第一API接口中规定有相应的预设数据格式;
所述结果展示模块对所述查询结果进行转换,并将转换得到的数据发送给所述可视化工具进行展示的方式,为:
将所述查询结果转换为所述选定的第一API接口中规定的预设数据格式的数据,并将所述选定的第一API接口中规定的预设数据格式的数据发送给所述可视化工具进行展示。
7.一种数据可视化系统,其特征在于,包括可视化工具、中间服务层节点及搜索引擎,所述中间服务层节点包括多个与不同查询请求对应的第一API接口,并通过至少一个第二API接口与搜索引擎通信;
所述可视化工具,用于向所述中间服务层节点发送查询请求;
所述中间服务层节点包括:
请求接收模块,用于通过选定的第一API接口接收所述可视化工具发送的查询请求;其中,所述查询请求携带有用于表示查询条件的字段,所述中间服务层节点存储有字段与查询指令之间的对应关系;
转换模块,用于控制所述选定的第一API接口确定与所述查询请求中携带的字段对应的目标查询指令,并查找包括所述目标查询指令的第二API接口作为目标第二API接口,并调用所述目标第二API接口将与所述查询请求对应的查询语句发送给所述搜索引擎;
所述搜索引擎,用于根据接收到的查询语句进行查询,并将得到的查询结果返回给所述目标第二API接口;
所述中间服务层节点还包括:
结果展示模块,用于控制所述选定的第一API接口从所述目标第二API接口获得所述查询结果,对所述查询结果进行转换,并将转换得到的数据发送给所述可视化工具进行展示。
8.一种机器可读存储介质,其上存储有机器可执行指令,其特征在于,该机器可执行指令被执行时,实现权利要求1-3中任一项所述的数据查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810278318.4A CN108520037B (zh) | 2018-03-30 | 2018-03-30 | 数据查询方法、装置及数据可视化系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810278318.4A CN108520037B (zh) | 2018-03-30 | 2018-03-30 | 数据查询方法、装置及数据可视化系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108520037A CN108520037A (zh) | 2018-09-11 |
CN108520037B true CN108520037B (zh) | 2019-10-18 |
Family
ID=63430977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810278318.4A Active CN108520037B (zh) | 2018-03-30 | 2018-03-30 | 数据查询方法、装置及数据可视化系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108520037B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109361707B (zh) * | 2018-12-13 | 2021-07-13 | 北京知道创宇信息技术股份有限公司 | 一种批量查询方法、装置、服务器及存储介质 |
CN109753504A (zh) * | 2018-12-13 | 2019-05-14 | 新华三大数据技术有限公司 | 数据查询方法及装置 |
CN109933589B (zh) * | 2019-03-15 | 2021-03-05 | 北京计算机技术及应用研究所 | 用于数据汇总的基于ElasticSearch聚合运算结果的数据结构转换方法 |
CN110505273B (zh) * | 2019-07-12 | 2022-04-22 | 苏州浪潮智能科技有限公司 | 一种服务能力限制的使用方法、设备及可读介质 |
CN111026574B (zh) * | 2019-11-25 | 2024-03-12 | 中盈优创资讯科技有限公司 | 诊断Elasticsearch集群问题的方法及装置 |
CN111026931A (zh) * | 2019-12-09 | 2020-04-17 | 中国建设银行股份有限公司 | 一种数据查询方法、装置、设备及介质 |
CN111008212A (zh) * | 2019-12-09 | 2020-04-14 | 国家电网有限公司客户服务中心 | 基于数据关联关系的检索路径分析与可视化系统及方法 |
CN112199233B (zh) * | 2020-10-16 | 2022-08-26 | 新华三信息安全技术有限公司 | 一种elasticsearch可视化数据的校验方法、装置及设备 |
CN112416964A (zh) * | 2020-11-17 | 2021-02-26 | 深圳依时货拉拉科技有限公司 | 一种数据处理的方法、装置、系统、计算机设备及计算机可读存储介质 |
CN112463816A (zh) * | 2020-11-23 | 2021-03-09 | 上海好屋网信息技术有限公司 | 基于api的查询系统及方法 |
CN112464099A (zh) * | 2020-12-10 | 2021-03-09 | 北京明略软件系统有限公司 | 基于查询数据生成文档的方法、装置、电子设备及介质 |
CN112749215B (zh) * | 2020-12-31 | 2023-03-17 | 成都泛微网络科技有限公司 | 一种数据展示方法及相关设备 |
CN113111641A (zh) * | 2021-04-20 | 2021-07-13 | 上海渠杰信息科技有限公司 | 一种基于全文搜索引擎的数据操作方法及设备 |
CN113806394A (zh) * | 2021-09-30 | 2021-12-17 | 北京蓝海医信科技有限公司 | 一种基于sql查询器的查询系统 |
CN114357276B (zh) * | 2021-12-23 | 2023-08-22 | 北京百度网讯科技有限公司 | 数据查询方法、装置、电子设备以及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106934062A (zh) * | 2017-03-28 | 2017-07-07 | 广东工业大学 | 一种查询elasticsearch的实现方法及系统 |
CN107066499A (zh) * | 2016-12-30 | 2017-08-18 | 江苏瑞中数据股份有限公司 | 面向异构存储多源数据管理及可视化系统的数据查询方法 |
CN107729428A (zh) * | 2017-09-28 | 2018-02-23 | 南威软件股份有限公司 | 一种基于Presto和Elasticsearch的SQL查询方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170206249A1 (en) * | 2016-01-20 | 2017-07-20 | Systems And Methods For Implementing Urban Voices | Systems and methods for implementing urban voices |
-
2018
- 2018-03-30 CN CN201810278318.4A patent/CN108520037B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107066499A (zh) * | 2016-12-30 | 2017-08-18 | 江苏瑞中数据股份有限公司 | 面向异构存储多源数据管理及可视化系统的数据查询方法 |
CN106934062A (zh) * | 2017-03-28 | 2017-07-07 | 广东工业大学 | 一种查询elasticsearch的实现方法及系统 |
CN107729428A (zh) * | 2017-09-28 | 2018-02-23 | 南威软件股份有限公司 | 一种基于Presto和Elasticsearch的SQL查询方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108520037A (zh) | 2018-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108520037B (zh) | 数据查询方法、装置及数据可视化系统 | |
US11411804B1 (en) | Actionable event responder | |
CN110083650B (zh) | 一种基于元数据自发现的数据查询接口自动生成方法 | |
US11288319B1 (en) | Generating trending natural language request recommendations | |
US8229936B2 (en) | Content storage mapping method and system | |
US9558473B2 (en) | Collaborative contact management | |
CN100466548C (zh) | 设备业务数据的查询方法及其系统 | |
CN110309334A (zh) | 图数据库的查询方法、系统、计算机设备和可读存储介质 | |
US11544911B1 (en) | Manipulation of virtual object position within a plane of an extended reality environment | |
US10169117B2 (en) | Interfacing between a caller application and a service module | |
CN106611000A (zh) | 一种检索资源对象的方法、装置和系统 | |
CN113032419B (zh) | 一种多源数据聚合搜索方法、装置、设备及存储介质 | |
US11089107B1 (en) | Management of connected sensor devices | |
KR20110054370A (ko) | Fdt/dtm과 eddl 기반의 디바이스 통합을 위한 opc ua 서버 | |
US20230044850A1 (en) | Tracing and exposing data used for generating analytics | |
US9178952B2 (en) | Systems and methods for service assurance using virtualized federated presence infrastructure | |
CN1326363C (zh) | 网络管理配置方法及其装置 | |
JP2004164313A (ja) | サービス連携装置 | |
CN101110858A (zh) | 电信报表生成系统及方法 | |
CN110020243A (zh) | 物联网数据的查询方法、装置、物联网服务器和存储介质 | |
KR100496871B1 (ko) | 웹서비스 테스터 및 웹서비스 테스트 방법 | |
CN110515750B (zh) | 一种应用拓扑生成方法、系统及集群 | |
CN106980697A (zh) | 一种目录分布查询方法及装置 | |
CN111814020A (zh) | 一种数据的获取方法和装置 | |
CN109255065A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |