数据查询方法、装置、设备和存储介质转让专利

申请号 : CN201910298551.3

文献号 : CN110032575A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 董则恒刘柏

申请人 : 网易(杭州)网络有限公司

摘要 :

本发明实施例提供一种数据查询方法、装置、设备和存储介质,该方法包括:用户通过客户端向服务器发送了SQL查询语句,在服务器接收到该SQL查询语句之后,首先进行解析得到对应的AST,然后从AST中获取查询的数据的元数据信息,根据元数据信息从各个不同的数据库中获取到查询结果,然后返回给客户端,实现同时支持对数据系统的多数据源进行查询的功能,也不限制数据库所存储的内容,方便了用户在多数据源上进行数据查询,系统扩展性较好。

权利要求 :

1.一种数据查询方法,其特征在于,所述方法包括:接收客户端发送的第一结构化查询语言SQL查询语句;

将所述第一SQL查询语句进行解析,得到对应的第一抽象语法树AST;

根据所述第一AST,获取所述第一SQL查询语句查询的第一数据的第一元数据信息;

根据所述第一元数据信息获取查询结果,并将所述查询结果返回所述客户端。

2.根据权利要求1所述的方法,其特征在于,所述AST包括所述第一数据所属的第一表名,所述根据所述第一AST,获取所述第一SQL查询语句查询的第一数据的第一元数据信息,包括:从所述第一AST中提取所述第一表名;

根据所述第一表名和表名与元数据信息之间的对应关系,获取所述第一元数据信息。

3.根据权利要求1所述的方法,其特征在于,所述根据所述第一元数据信息获取查询结果,包括:根据所述第一元数据信息,获取第一数据源;

通过SQL路由器进行将所述第一SQL查询语句路由到所述第一数据源;

从所述第一数据源查询获取所述查询结果,所述查询结果包括所述第一数据。

4.根据权利要求3所述的方法,其特征在于,所述方法还包括:若所述第一数据源不支持SQL语句,则对所述第一SQL查询语句进行转换,转换为所述第一数据源支持的查询语句。

5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:根据预设周期扫描各个数据源,对本地存储的各个数据源对应的元数据信息进行同步,每个元数据信息至少包括数据源类型、数据库名以及表名。

6.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:对所述查询结果进行存储,并通过第一标识对所述查询结果进行标识。

7.根据权利要求1至4任一项所述的方法,其特征在于,所述将所述查询结果返回所述客户端,包括:将所述查询结果包装成JSON返回所述客户端。

8.一种数据查询装置,其特征在于,包括:接收模块,用于接收客户端发送的第一结构化查询语言SQL查询语句;

处理模块,用于将所述第一SQL查询语句进行解析,得到对应的第一抽象语法树AST;

所述处理模块还用于根据所述第一AST,获取所述第一SQL查询语句查询的第一数据的第一元数据信息;

查询模块,用于根据所述第一元数据信息获取查询结果;

发送模块,用于将所述查询结果返回所述客户端。

9.根据权利要求8所述的装置,其特征在于,所述AST包括所述第一数据所属的第一表名,所述处理模块具体用于:从所述第一AST中提取所述第一表名;

根据所述第一表名和表名与元数据信息之间的对应关系,获取所述第一元数据信息。

10.根据权利要求8所述的装置,其特征在于,所述查询模块,具体用于:根据所述第一元数据信息,获取第一数据源;

通过SQL路由器进行将所述第一SQL查询语句路由到所述第一数据源;

从所述第一数据源查询获取所述查询结果,所述查询结果包括所述第一数据。

11.根据权利要求10所述的装置,其特征在于,所述处理模块还用于:若所述第一数据源不支持SQL语句,则对所述第一SQL查询语句进行转换,转换为所述第一数据源支持的查询语句。

12.根据权利要求8至11任一项所述的装置,其特征在于,所述处理模块还用于:根据预设周期扫描各个数据源,对本地存储的各个数据源对应的元数据信息进行同步,每个元数据信息至少包括数据源类型、数据库名以及表名。

13.根据权利要求8至11任一项所述的装置,其特征在于,所述装置还包括:存储模块,用于对所述查询结果进行存储,并通过第一标识对所述查询结果进行标识。

14.根据权利要求8至11任一项所述的装置,其特征在于,所述发送模块具体用于:将所述查询结果包装成JSON返回所述客户端。

15.一种服务器,其特征在于,包括:

接收器、处理器、存储器以及发送器;

存储器用于存储计算机程序和数据,所述处理器调用存储器存储的计算机程序,以执行权利要求1至7任一项所述的数据查询方法。

16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,所述计算机程序在被处理器执行时用于执行权利要求1至7任一项所述的数据查询方法。

说明书 :

数据查询方法、装置、设备和存储介质

技术领域

[0001] 本发明涉及数据管理技术领域,尤其涉及一种数据查询方法、装置、设备和存储介质。

背景技术

[0002] 在大型企业的数据管理场景下,会根据具体的使用需求,用到各种不同的数据库系统,比如:MySQL、Hive、HBase、Oracle、Elasticsearch、MongoDB等。开发人员需要学习这些系统使用方式的学习成本较高,且使用配置不方便。
[0003] 现有技术中,提供一种基于查询资源与精确度的自动路由数据库查询系统,包括结构化查询语言(Structured Query Language,SQL)标准化查询引擎模块、统一的查询入口模块、查询结果缓存模块和跨结构的数据传输模块,SQL标准化查询引擎模块包括用于提供基础数据的HIVE、用于提供对象获取和高速对象服务的HBase、用于提供数据建模和模型服务的MySQL、用于提供Cube的ElasticSearch、用于提供配置表和Meta信息的MongoDB;所述查询结果缓存模块用于统一的查询入口模块的数据缓存;所述SQL标准化查询引擎模块分别与所述统一的查询入口模块和跨结构的数据传输模块相连,通过对数据获取的类型进行引擎分割和适度使用,并将实际数据引擎向实际用户隐匿,为用户提供数据服务。
[0004] 然而,上述方案中的SQL标准化查询引擎模块包括用于提供基础数据的HIVE、用于提供对象获取和高速对象服务的HBase、用于提供数据建模和模型服务的MySQL、用于提供Cube的ElasticSearch、用于提供配置表和Meta信息的MongoDB,该方法的实现时,不同类型数据库中所需要存储的数据类型的限制,导致数据系统扩展性较低。

发明内容

[0005] 本发明提供一种数据查询方法、装置、设备和存储介质,用于解决现有技术中不同类型数据库中所需要存储的数据类型的限制,导致数据系统扩展性较低的问题。
[0006] 本发明第一方面提供一种数据查询方法,所述方法包括:
[0007] 接收客户端发送的第一SQL查询语句;
[0008] 将所述第一SQL查询语句进行解析,得到对应的第一AST;
[0009] 根据所述第一AST,获取所述第一SQL查询语句查询的第一数据的第一元数据信息;
[0010] 根据所述第一元数据信息获取查询结果,并将所述查询结果返回所述客户端。
[0011] 在一种具体的实现方式中,所述AST包括所述第一数据所属的第一表名,所述根据所述第一AST,获取所述第一SQL查询语句查询的第一数据的第一元数据信息,包括:
[0012] 从所述第一AST中提取所述第一表名;
[0013] 根据所述第一表名和表名与元数据信息之间的对应关系,获取所述第一元数据信息。
[0014] 在一种具体的实现方式中,所述根据所述第一元数据信息获取查询结果,包括:
[0015] 根据所述第一元数据信息,获取第一数据源;
[0016] 通过SQL路由器进行将所述第一SQL查询语句路由到所述第一数据源;
[0017] 从所述第一数据源查询获取所述查询结果,所述查询结果包括所述第一数据。
[0018] 进一步地,所述方法还包括:
[0019] 若所述第一数据源不支持SQL语句,则对所述第一SQL查询语句进行转换,转换为所述第一数据源支持的查询语句。
[0020] 在一种具体的实现方式中,所述方法还包括:
[0021] 根据预设周期扫描各个数据源,对本地存储的各个数据源对应的元数据信息进行同步,每个元数据信息至少包括数据源类型、数据库名以及表名。
[0022] 在另一种具体的实现方式中,所述方法还包括:
[0023] 对所述查询结果进行存储,并通过第一标识对所述查询结果进行标识。
[0024] 可选的,所述将所述查询结果返回所述客户端,包括:
[0025] 将所述查询结果包装成JSON返回所述客户端。
[0026] 本发明第二方面提供一种数据查询装置,所述装置包括:
[0027] 接收模块,用于接收客户端发送的第一结构化查询语言SQL查询语句;
[0028] 处理模块,用于将所述第一SQL查询语句进行解析,得到对应的第一抽象语法树AST;
[0029] 所述处理模块还用于根据所述第一AST,获取所述第一SQL查询语句查询的第一数据的第一元数据信息;
[0030] 查询模块,用于根据所述第一元数据信息获取查询结果;
[0031] 发送模块,用于将所述查询结果返回所述客户端。
[0032] 在一种具体的实现方式中,所述AST包括所述第一数据所属的第一表名,所述处理模块具体用于:
[0033] 从所述第一AST中提取所述第一表名;
[0034] 根据所述第一表名和表名与元数据信息之间的对应关系,获取所述第一元数据信息。
[0035] 10、根据权利要求8所述的装置,其特征在于,所述查询模块,具体用于:
[0036] 根据所述第一元数据信息,获取第一数据源;
[0037] 通过SQL路由器进行将所述第一SQL查询语句路由到所述第一数据源;
[0038] 从所述第一数据源查询获取所述查询结果,所述查询结果包括所述第一数据。
[0039] 11、根据权利要求10所述的装置,其特征在于,所述处理模块还用于:
[0040] 若所述第一数据源不支持SQL语句,则对所述第一SQL查询语句进行转换,转换为所述第一数据源支持的查询语句。
[0041] 12、根据权利要求8至11任一项所述的装置,其特征在于,所述处理模块还用于:
[0042] 根据预设周期扫描各个数据源,对本地存储的各个数据源对应的元数据信息进行同步,每个元数据信息至少包括数据源类型、数据库名以及表名。
[0043] 13、根据权利要求8至11任一项所述的装置,其特征在于,所述装置还包括:
[0044] 存储模块,用于对所述查询结果进行存储,并通过第一标识对所述查询结果进行标识。
[0045] 14、根据权利要求8至11任一项所述的装置,其特征在于,所述发送模块具体用于:
[0046] 将所述查询结果包装成JSON返回所述客户端。
[0047] 本发明第三方面提供一种服务器,包括:
[0048] 接收器、处理器、存储器以及发送器;
[0049] 存储器用于存储计算机程序和数据,所述处理器调用存储器存储的计算机程序,以执行第一方面任一实施方式提供的数据查询方法。
[0050] 本发明第四方面提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,所述计算机程序在被处理器执行时用于执行第一方面任一实现方式提供的数据查询方法。
[0051] 本发明实施例提供的一种数据查询方法、装置、设备和存储介质,用户通过客户端向服务器发送了SQL查询语句,在服务器接收到该SQL查询语句之后,首先进行解析得到对应的AST,然后从AST中获取查询的数据的元数据信息,根据元数据信息从各个不同的数据库中获取到查询结果,然后返回给客户端,实现同时支持对数据系统的多数据源进行查询的功能,也不限制数据库所存储的内容,方便了用户在多数据源上进行数据查询,系统扩展性较好。

附图说明

[0052] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0053] 图1为本发明实施例提供的数据查询方法实施例一的流程示意图;
[0054] 图2为本发明实施例提供的数据查询方法实施例二的流程示意图;
[0055] 图3为本发明实施例提供的数据查询方法一实例的流程示意图;
[0056] 图4为本发明实施例提供的数据查询装置实施例一的结构示意图;
[0057] 图5为本发明实施例提供的数据查询装置实施例二的结构示意图;
[0058] 图6为本发明实施例提供的服务器实施例的结构示意图。

具体实施方式

[0059] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0060] 在大型企业的数据管理场景下,会根据具体的使用需求,用到各种不同的数据库系统,比如:MySQL、Hive、HBase、Oracle、Elasticsearch、MongoDB等,按照以前的方案,开发人员需要学习这些系统使用方式的学习成本较高,且使用配置不方便,如果按照背景技术中提供的另一种方案去实现,则还存在数据系统扩展性较低的问题。针对该些问题,本专利提出了一种数据查询方法,以解决上述问题。
[0061] 下面对本案中涉及的名词等进行解释:
[0062] 结构化查询语言(Structured Query Language,SQL):SQL是一种特定目的编程语言,用于管理关系数据库管理系统(Relational Database Management System,RDBMS),或在关系流数据管理系统(RDSMS)中进行流处理。
[0063] 抽象语法树(Abstract Syntax Tree,AST),或简称语法树(Syntax tree),是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。
[0064] 元数据(英语:metadata),又称诠释数据、中介数据、中继数据、后设数据等,为描述其他数据信息的数据。有三种不同类型的元数据,分别是记叙性元数据、结构性元数据和管理性元数据。
[0065] HBase是一个开源的非关系型分布式数据库(NoSQL)。
[0066] hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。
[0067] MySQL是一个开放源代码的关系数据库管理系统,
[0068] Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。
[0069] 基于上述内容,下面对本申请提供的数据查询方法进行详细的介绍。
[0070] 用户需要进行数据查询时,可通过安装在终端设备中的客户端向服务器发送查询请求,服务器根据接收到的查询请求,按照本申请提供的查询方案获取到查询结果返回给客户端,完成数据的查询过程,本申请提供的数据查询方法主要是应用于服务器侧的实现方案。
[0071] 图1为本发明实施例提供的数据查询方法实施例一的流程示意图,如图1所示,该数据查询方法应用在进行数据服务的服务器中,具体包括以下步骤:
[0072] S101:接收客户端发送的第一SQL查询语句。
[0073] 在本步骤中,在需要进行数据的查询时,服务器对外开放API,客户端通过提交http请求的方式,提交SQL查询语句,即用户可以通过客户端向服务器发送SQL查询语句,对于服务器来说,则可以接收不同的客户端发送的第一SQL查询语句,分别进行处理,后续以其中一个客户端发送的第一SQL查询语句为例,对本方案进行说明。该SQL查询语句中至少携带用户需要的查询的数据的信息,例如表名。
[0074] S102:将第一SQL查询语句进行解析,得到对应的第一AST。
[0075] 在本步骤中,服务器在接收到该第一SQL查询语句之后,对该第一SQL查询语句自动进行解析,将其解析成抽象语法树的形式,即得到对应的第一AST,该AST中包括要查询的数据所在的表名,服务器可以根据该表名关联到相应的元数据信息。
[0076] S103:根据第一AST,获取第一SQL查询语句查询的第一数据的第一元数据信息。
[0077] 该步骤的具体实现中,服务器需要从第一AST中提取所述第一表名,这个第一表名表示的是第一SQL查询语句要查询的数据所属的表名,然后根据所述第一表名和表名与元数据信息之间的对应关系,获取所述第一元数据信息。
[0078] S104:根据第一元数据信息获取查询结果,并将查询结果返回客户端。
[0079] 在上述两个步骤中,服务器在获取到第一SQL查询语句对应的第一AST之后,该第一AST中包括要查询的数据的信息,例如包括了需要查询的数据所在的表名,服务器可以根据该表名关联到相应的元数据信息,也就是上述的第一元数据信息,然后根据该元数据信息向对应的数据源进行查询,得到查询结果返回给客户端,完成数据的查询结果。
[0080] 在该方案的一种具体实现中,在查询过程中,服务器需要根据得到的表名,匹配对应的元数据信息,如果匹配不到对应的元数据信息,则直接向客户端返回查询失败的结果。
[0081] 本实施例提供的数据查询方法,用户通过客户端向服务器发送了SQL查询语句,在服务器接收到该SQL查询语句之后,首先进行解析得到对应的AST,然后从AST中获取查询的数据的元数据信息,根据元数据信息从各个不同的数据库中获取到查询结果,然后返回给客户端,实现同时支持对数据系统的多数据源进行查询的功能,也不限制数据库所存储的内容,方便了用户在多数据源上进行数据查询,系统扩展性较好。
[0082] 在上述实施例的基础上,本申请提供的数据查询方法是基于SQL解析器的多数据源查询方法,即需要对接收到的SQL查询语句进行解析,然后通过关联元数据信息的方式在不同的数据源中进行数据的查询,因此在本地中则需要存储元数据信息。在该方案的具体实现中,服务器需要对关联的多个数据源进行扫描,扫描每个数据源中的元数据,将每个数据源中的相关信息进行同步存储,即对于数据源中的数据的变更、修改、新增、删除等操作后的信息也能同步到本地进行存储。一般来说,可以根据预设周期扫描各个数据源对信息进行同步。
[0083] 对于在服务器中存储的信息中,也就是元数据信息中至少包括了数据源类型,数据库名以及表名等。在服务器确定了与SQL查询语句对应的表名之后,通过元数据信息中的信息,通过遍历查询,获取是预先获取的表名与元数据信息之间的对应关系,可以获取与该SQL查询语句对应的元数据信息。在获取到元数据信息之后,可按照下面的过程进行数据查询:
[0084] 图2为本发明实施例提供的数据查询方法实施例二的流程示意图,如图2所示,图1中的步骤S104中的根据第一元数据信息获取查询结果具体包括:
[0085] S1041:根据第一元数据信息,获取第一数据源。
[0086] 根据第一元数据信息中存储的数据源、表名之间的对应关系,获取前述的第一SQL查询语句查询的数据所在的数据源,也就是上述的第一数据源。
[0087] S1042:通过SQL路由器进行将第一SQL查询语句路由到第一数据源。
[0088] S1043:从第一数据源查询获取查询结果,查询结果包括第一数据。
[0089] 在上述步骤中,然后将第一SQL查询语句直接通过SQL路由器发送给该第一数据源进行查询,以得到后续的查询结果,该查询结果中至少包括接收到的第一SQL查询语句要查询的第一数据。
[0090] 在完成上述过程获取到查询结果之后,可以通过开放的API返回给客户端,一种具体的实现方式中,服务器可以将该查询结果包装成统一JSON或者其他的格式返回给查询的用户,对此本方案不做限制。
[0091] 在上述各个实施例的基础上,下面通过一具体实现方式对该基于SQL解析器的多个数据源中进行的数据源查询方法进行说明。
[0092] 图3为本发明实施例提供的数据查询方法一实例的流程示意图,如图3所示,图3中示出了服务器内部实现该数据查询方法的组件以及流程,如图3所示,该服务器中至少包括了SQL解析器、SQL路由器、能够进行本地存储的存储空间、查询接口,元数据扫描定时器。完整的数据查询过程中还涉及到外部客户端以及多个不同类型的数据源,图3中示出了MySQL、Hive、HBase、Oracle、Elasticsearch、MongoDB几种数据源,本方案不限制数据源的类型,具体应用中可以根据需求进行扩展。该方案的具体实现包括以下步骤:
[0093] 1)、扫描各个数据源的元数据,同步并存储各个数据源的元数据相关信息到本地数据库,存储信息包括但不限于数据源类型、数据库名、表名等。
[0094] 2)、系统启动任务定时器,定时执行步骤(1)。通过定时器的方式来确保如果数据源的表被新增、删除,也会及时更新到本地的数据库。
[0095] 3)、本系统对外开放API,客户端通过提交http请求的方式,提交SQL查询语句,并等待返回结果。
[0096] 4)、系统根据提交的SQL语句,自动将其解析成AST语法树,并提取出将AST语法树中的表名(table name),并关联存储的元数据信息。
[0097] 5)、根据关联的元数据信息,得到该表名的元数据信息。得到的表名称-数据源类型-数据库名-表名的匹配信息,如果匹配不到表名相对于的元数据信息,则直接返回查询失败。
[0098] 6)、将上一步匹配到的元数据信息,提交给SQL路由器进行数据源路由。
[0099] 7)、SQL路由器将SQL语句自动路由到指定的数据源中,执行查询。如果指定的数据源不支持SQL语句,比如HBase数据源,则需要提供插件,实现从SQL语句到该数据源接口的转换。例如:若第一数据源不支持SQL语句,则对第一SQL查询语句进行转换,转换为第一数据源支持的查询语句,以保证能够完成该数据查询过程。
[0100] 8)、数据源返回查询结果,同时,生成一个唯一的ID(UUID),并对本次查询的结果进行缓存,即对所述查询结果进行存储,并通过第一标识对所述查询结果进行标识,以便于用户后续获取结果,大大缩减二次查询时间。
[0101] 9)、将查询结果包装成统一JSON或者其他格式返回给查询用户。
[0102] 本申请的技术方案提供了一种多类型数据源的数据查询方法。利用SQL自动解析,并关联元数据的步骤,实现了SQL查询语句自动提交到不同数据源的功能,用户不需要关心背后数据源的存储形式,从而解决了客户端需要适配不同数据源的问题。
[0103] 图4为本发明实施例提供的数据查询装置实施例一的结构示意图,如图4所示,该数据查询装置10包括:
[0104] 接收模块11,用于接收客户端发送的第一SQL查询语句;
[0105] 处理模块12,用于将所述第一SQL查询语句进行解析,得到对应的第一AST;
[0106] 所述处理模块12还用于根据所述第一AST,获取所述第一SQL查询语句查询的第一数据的第一元数据信息;
[0107] 查询模块13,用于根据所述第一元数据信息获取查询结果;
[0108] 发送模块14,用于将所述查询结果返回所述客户端。
[0109] 本实施例提供的数据查询装置,用于实现前述任一方法实施例的技术方案,其实现原理和技术效果类似,用户通过客户端向数据查询装置发送了SQL查询语句,在该数据查询装置接收到该SQL查询语句之后,首先进行解析得到对应的AST,然后从AST中获取查询的数据的元数据信息,根据元数据信息从各个不同的数据库中获取到查询结果,然后返回给客户端,实现同时支持对数据系统的多数据源进行查询的功能,也不限制数据库所存储的内容,方便了用户在多数据源上进行数据查询,系统扩展性较好。
[0110] 在上述实施例的基础上,可选的,所述AST包括所述第一数据所属的第一表名,所述处理模块12具体用于:
[0111] 从所述第一AST中提取所述第一表名;
[0112] 根据所述第一表名和表名与元数据信息之间的对应关系,获取所述第一元数据信息。
[0113] 可选的,所述查询模块13具体用于:
[0114] 根据所述第一元数据信息,获取第一数据源;
[0115] 通过SQL路由器进行将所述第一SQL查询语句路由到所述第一数据源;
[0116] 从所述第一数据源查询获取所述查询结果,所述查询结果包括所述第一数据。
[0117] 可选的,所述处理模块12还用于:
[0118] 若所述第一数据源不支持SQL语句,则对所述第一SQL查询语句进行转换,转换为所述第一数据源支持的查询语句。
[0119] 可选的,所述处理模块12还用于:
[0120] 根据预设周期扫描各个数据源,对本地存储的各个数据源对应的元数据信息进行同步,每个元数据信息至少包括数据源类型、数据库名以及表名。
[0121] 上述任一实现方式的提供的数据查询装置,用于执行前述任一方法实施例中的技术方案,其实现原理和技术效果类似,在此不再赘述。
[0122] 图5为本发明实施例提供的数据查询装置实施例二的结构示意图,如图5所示,该数据查询装置10还包括:
[0123] 存储模块15,用于对所述查询结果进行存储,并通过第一标识对所述查询结果进行标识。
[0124] 在上述任一实施例的基础上,所述发送模块14具体用于:
[0125] 将所述查询结果包装成JSON返回所述客户端。
[0126] 上述任一实现方式的提供的数据查询装置,用于执行前述任一方法实施例中的技术方案,其实现原理和技术效果类似,在此不再赘述。
[0127] 图6为本发明实施例提供的服务器实施例一的结构示意图,如图6所示,本实施例提供的服务器可以包括:接收器、存储器、处理器以及发送器。
[0128] 可选的,该服务器还可以包括总线。其中,总线用于实现各元件之间的连接。
[0129] 所述存储器用于存储计算机程序和数据,所述处理器调用存储器存储的计算机程序,以执行前述任一方法实施例提供的数据查询方法的技术方案。
[0130] 其中,存储器和处理器之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可以通过一条或者多条通信总线或信号线实现电性连接,如可以通过总线连接。存储器中存储有实现数据访问控制方法的计算机执行指令,包括至少一个可以软件或固件的形式存储于存储器201中的软件功能模块,处理器通过运行存储在存储器内的计算机程序以及模块,从而执行各种功能应用以及数据处理。
[0131] 存储器可以是,但不限于,随机存取存储器(Random Access Memory,简称:RAM),只读存储器(Read Only Memory,简称:ROM),可编程只读存储器(Programmable Read-Only Memory,简称:PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,简称:EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,简称:EEPROM)等。其中,存储器用于存储程序,处理器在接收到执行指令后,执行程序。进一步地,上述存储器内的软件程序以及模块还可包括操作系统,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通信,从而提供其他软件组件的运行环境。
[0132] 处理器可以是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称:CPU)、网络处理器(Network Processor,简称:NP)等。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。可以理解,图6的结构仅为示意,还可以包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。图6中所示的各组件可以采用硬件和/或软件实现。
[0133] 本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时可以实现上述任一方法实施例提供的数据查询方法。
[0134] 本实施例中的计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备,可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如SSD)等。
[0135] 本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0136] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。