基于jdbc的数据查询方法、装置、服务器及介质
技术领域
1.本发明涉及数据查询技术领域,尤其涉及一种基于jdbc的数据查询方法、装置、服务器及介质。
背景技术:
2.在数据化时代,终端设备中的应用程序与数据库的交互是必不可少的过程。随着数据量的增长,各类型的数据库不断出现并推广,如何查询不同数据库的数据是目前研究的重点。
3.jdbc(英文全称为:java database connectivity)标准,指计算机语言java数据库连接,可以为各类型数据库提供统一的api(application programming interface,应用程序接口),仅由数据库厂商提供jdbc标准驱动就能统一查询接口。终端设备中应用程序可以通过加载数据库对应的jdbc驱动包即可以从该查询接口处查询数据。
4.然而,如果终端设备中应用程序需要查询不同数据库中的数据,需要加载不同数据库对应的jdbc驱动包,加载的效率较低,同时,也影响了数据查询服务器通过加载相同jdbc驱动包进行查询时的效率,查询的整体效率较低。
技术实现要素:
5.本发明提供一种基于jdbc的数据查询方法、装置、服务器及介质,用以解决目前终端设备应用程序在需要查询不同数据库中的数据时,需要加载不同数据库对应的jdbc驱动包,所导致的查询的整体效率较低的问题。
6.本发明第一方面提供一种基于jdbc的数据查询方法,应用于数据查询服务器,所述方法包括:
7.接收终端设备发送的数据查询指令;所述数据查询指令为所述终端设备根据已加载的标准驱动生成的;所述标准驱动与所述数据查询服务器相匹配;
8.确定与所述数据查询指令匹配的预设jdbc数据库驱动;
9.根据所述预设jdbc数据库驱动和所述数据查询指令从与所述预设jdbc数据库驱动匹配的目标数据库中提取与所述数据查询指令匹配的目标查询数据;
10.将所述目标查询数据发送至终端设备。
11.进一步地,如上所述的方法,所述数据查询指令包括终端设备的数据库查询标识;
12.所述确定与所述数据查询指令匹配的预设jdbc数据库驱动,包括:
13.根据所述数据库查询标识确定对应的数据库标识;
14.根据所述数据库标识确定与所述数据查询指令匹配的预设jdbc数据库驱动。
15.进一步地,如上所述的方法,所述数据查询指令还包括:终端设备的待查询数据信息;
16.所述根据所述预设jdbc数据库驱动和所述数据查询指令从与所述预设jdbc数据库驱动匹配的目标数据库中提取与所述数据查询指令匹配的目标查询数据,包括:
17.采用所述预设jdbc数据库驱动建立与所述目标数据库之间的数据源连接池;
18.将所述待查询数据信息转化为结构化查询语言;
19.以所述数据源连接池为媒介,根据所述结构化查询语言从所述目标数据库中提取所述目标查询数据。
20.进一步地,如上所述的方法,所述数据查询指令还包括:终端设备的数据权限信息;
21.所述采用所述预设jdbc数据库驱动建立与所述目标数据库之间的数据源连接池之前,还包括:
22.将所述数据权限信息与预设的权限验证信息进行对比验证;
23.若对比验证结果为通过,则执行所述采用所述预设jdbc数据库驱动建立与所述目标数据库之间的数据源连接池的步骤。
24.进一步地,如上所述的方法,所述数据查询服务器包括存储有终端设备查询的历史查询数据的资料库;
25.所述采用所述预设jdbc数据库驱动建立与所述目标数据库之间的数据源连接池之前,还包括:
26.确定所述资料库中是否存在与所述数据权限信息和所述待查询数据信息都匹配的目标查询数据;
27.若所述资料库中没有存储所述目标查询数据,则执行所述采用所述预设jdbc数据库驱动建立与所述目标数据库之间的数据源连接池的步骤;
28.若所述资料库中存储有所述目标查询数据,则根据所述数据权限信息和所述待查询数据信息从所述资料库中提取所述目标查询数据。
29.进一步地,如上所述的方法,所述资料库中的所述历史查询数据按照所属库表进行存储;
30.所述确定所述资料库中是否存在与所述数据权限信息和所述待查询数据信息都匹配的目标查询数据,包括:
31.确定所述数据权限信息在所述目标数据库中对应的库表与所述待查询数据信息在所述目标数据库中对应的库表;
32.将所述数据权限信息在所述目标数据库中对应的库表与所述待查询数据信息在所述目标数据库中对应的库表的交集确定为目标查询库表;
33.确定所述资料库中是否存在目标查询库表对应的所述目标查询数据。
34.本发明第二方面提供一种基于jdbc的数据查询装置,位于数据查询服务器,所述装置包括:
35.接收模块,用于接收终端设备发送的数据查询指令;所述数据查询指令为所述终端设备根据已加载的标准驱动生成的;所述标准驱动与所述数据查询服务器相匹配;
36.确定模块,用于确定与所述数据查询指令匹配的预设jdbc数据库驱动;
37.提取模块,用于根据所述预设jdbc数据库驱动和所述数据查询指令从与所述预设jdbc数据库驱动匹配的目标数据库中提取与所述数据查询指令匹配的目标查询数据;
38.发送模块,用于将所述目标查询数据发送至终端设备。
39.进一步地,如上所述的装置,所述数据查询指令包括终端设备的数据库查询标识;
40.所述确定模块具体用于:
41.根据所述数据库查询标识确定对应的数据库标识;根据所述数据库标识确定与所述数据查询指令匹配的预设jdbc数据库驱动。
42.进一步地,如上所述的装置,所述数据查询指令还包括:终端设备的待查询数据信息;
43.所述提取模块具体用于:
44.采用所述预设jdbc数据库驱动建立与所述目标数据库之间的数据源连接池;将所述待查询数据信息转化为结构化查询语言;以所述数据源连接池为媒介,根据所述结构化查询语言从所述目标数据库中提取所述目标查询数据。
45.进一步地,如上所述的装置,所述数据查询指令还包括:终端设备的数据权限信息;
46.所述装置还包括:
47.权限验证模块,用于将所述数据权限信息与预设的权限验证信息进行对比验证;若对比验证结果为通过,则执行所述采用所述预设jdbc数据库驱动建立与所述目标数据库之间的数据源连接池的步骤。
48.进一步地,如上所述的装置,所述数据查询服务器包括存储有终端设备查询的历史查询数据的资料库;
49.所述装置还包括:
50.资料库查询模块,用于确定所述资料库中是否存在与所述数据权限信息和所述待查询数据信息都匹配的目标查询数据;若所述资料库中没有存储所述目标查询数据,则执行所述采用所述预设jdbc数据库驱动建立与所述目标数据库之间的数据源连接池的步骤;若所述资料库中存储有所述目标查询数据,则根据所述数据权限信息和所述待查询数据信息从所述资料库中提取所述目标查询数据。
51.进一步地,如上所述的装置,所述资料库中的所述历史查询数据按照所属库表进行存储;
52.所述资料库查询模块在确定所述资料库中是否存在与所述数据权限信息和所述待查询数据信息都匹配的目标查询数据时,具体用于:
53.确定所述数据权限信息在所述目标数据库中对应的库表与所述待查询数据信息在所述目标数据库中对应的库表;将所述数据权限信息在所述目标数据库中对应的库表与所述待查询数据信息在所述目标数据库中对应的库表的交集确定为目标查询库表;确定所述资料库中是否存在目标查询库表对应的所述目标查询数据。
54.本发明第三方面提供一种数据查询服务器,包括:处理器,以及与所述处理器通信连接的存储器;
55.所述存储器存储计算机执行指令;
56.所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面任一项所述的基于jdbc的数据查询方法。
57.本发明第四方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现第一方面任一项所述的基于jdbc的数据查询方法。
58.本发明第五方面提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面任一项所述的基于jdbc的数据查询方法。
59.本发明提供的一种基于jdbc的数据查询方法、装置、服务器及介质,该方法包括:接收终端设备发送的数据查询指令;所述数据查询指令为所述终端设备根据已加载的标准驱动生成的;所述标准驱动与所述数据查询服务器相匹配;确定与所述数据查询指令匹配的预设jdbc数据库驱动;根据所述预设jdbc数据库驱动和所述数据查询指令从与所述预设jdbc数据库驱动匹配的目标数据库中提取与所述数据查询指令匹配的目标查询数据;将所述目标查询数据发送至终端设备。本发明的基于jdbc的数据查询方法,终端设备只需要预先加载一次标准驱动,建立与数据查询服务器之间的连接。在需要查询不同数据库的数据时,不需要再加载数据库对应的驱动,仅需要发送数据查询指令至数据查询服务器,然后数据查询服务器确定与所述数据查询指令匹配的预设jdbc数据库驱动,从而根据预设jdbc数据库驱动和所述数据查询指令从与所述预设jdbc数据库驱动匹配的目标数据库中提取与所述数据查询指令匹配的目标查询数据,查询的整体效率较高。
附图说明
60.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
61.图1为可以实现本发明实施例的基于jdbc的数据查询方法的场景图;
62.图2为本发明第一实施例提供的基于jdbc的数据查询方法的流程示意图;
63.图3为本发明第二实施例提供的基于jdbc的数据查询方法的流程示意图;
64.图4为本发明第二实施例提供的基于jdbc的数据查询方法的架构示意图;
65.图5为本发明第三实施例提供的基于jdbc的数据查询装置的结构示意图;
66.图6为本发明第四实施例提供的基于jdbc的数据查询装置的结构示意图;
67.图7为本发明第五实施例提供的数据查询服务器的结构示意图。
68.通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
69.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
70.下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
71.为了清楚理解本技术的技术方案,首先对现有技术的方案进行详细介绍。终端设备中应用程序的数据一般与数据库中的元数据相关,如果终端设备中的应用程序需要进行更新、查询等操作,需要与数据库进行交互。目前数据库的种类很多,比如mysql关系型数据
库,oracle关系型数据库等,每种数据库都需要特定的驱动来进行查询和数据交互。
72.为了方便终端设备与应用程序之间的交互,jdbc标准提供了各类型数据库统一的api。在终端设备的应用程序需要查询数据库的数据时,加载与该数据库对应的jdbc驱动包,建立与数据查询服务器之间的连接。然后数据查询服务器根据该应用程序加载的jdbc驱动包,启动相同的jdbc包来查询对应数据库中的数据。由于终端设备中应用程序在查询不同数据库中的数据时,需要加载不同数据库对应的jdbc驱动包,影响了数据查询服务器通过加载相同jdbc驱动包进行查询时的效率,导致查询的整体效率较低。
73.所以针对现有技术中终端设备应用程序在需要查询不同数据库中的数据时,需要加载不同数据库对应的jdbc驱动包,所导致的查询的整体效率较低的问题,发明人在研究中发现,为了解决该问题,可以进一步提供统一的驱动,使终端设备仅需要加载统一的驱动即可实现数据查询,从而提高数据查询效率。具体的,首先终端设备发送数据查询指令,数据查询服务器在接收到数据查询指令后,确定与数据查询指令匹配的预设jdbc数据库驱动,然后数据查询服务器根据预设jdbc数据库驱动和数据查询指令从与预设jdbc数据库驱动匹配的目标数据库中提取与数据查询指令匹配的目标查询数据,并将目标查询数据发送至终端设备以完成数据查询。由于终端设备只需要预先加载一次标准驱动,在需要查询不同数据库的数据时,不需要再加载数据库对应的驱动,提高了查询的整体效率。
74.发明人基于上述的创造性发现,提出了本技术的技术方案。
75.下面对本发明实施例提供的基于jdbc的数据查询方法的应用场景进行介绍。如图1所示,其中,1为数据查询服务器,2为终端设备集群,3为数据库集群。本发明实施例提供的基于jdbc的数据查询方法对应的应用场景的网络架构中包括:数据查询服务器1、终端设备集群2和数据库集群3。数据库集群3包括多个数据库,如数据库a、数据库b
…
数据库n,终端设备集群2包括多个不同的终端设备如终端设备a、终端设备b
…
终端设备n。终端设备集群2中的各个终端设备可以在预先加载与数据查询服务器1匹配的标准驱动后,通过数据查询服务器1来查询数据库集群3中各个数据库的数据。
76.当数据查询服务器1接收到终端设备发送的数据查询指令时,比如接收到终端设备集群2中的终端设备a发送的数据查询指令。数据查询服务器1根据终端设备a发送的数据查询指令,确定与数据查询指令匹配的预设jdbc数据库驱动。假设终端设备a想查询数据库a中的数据,则预设jdbc数据库驱动与数据库a具有匹配度。数据查询服务器1根据预设jdbc数据库驱动和数据查询指令从数据库a中提取与数据查询指令匹配的目标查询数据,并将该目标查询数据发送回终端设备a。
77.下面结合说明书附图对本发明实施例进行介绍。
78.图2为本发明第一实施例提供的基于jdbc的数据查询方法的流程示意图,如图2所示,本实施例中,本发明实施例的执行主体为基于jdbc的数据查询装置,该基于jdbc的数据查询装置可以集成在数据查询服务器中。则本实施例提供的基于jdbc的数据查询方法包括以下几个步骤:
79.步骤s101,接收终端设备发送的数据查询指令。数据查询指令为终端设备根据已加载的标准驱动生成的。标准驱动与数据查询服务器相匹配。
80.本实施例中,终端设备可以预先加载与数据查询服务器匹配的标准驱动,同时建立与数据查询服务器之间的连接。终端设备在其包含的应用程序需要与数据库交互时,向
数据查询服务器发送数据查询指令。
81.标准驱动主要用于构建终端设备与数据查询服务器之间的连接、数据交互、权限认证等内容,是终端设备与数据查询服务器之间交互的重要部分。
82.步骤s102,确定与数据查询指令匹配的预设jdbc数据库驱动。
83.本实施例中,数据查询服务器中预先配置有与数据库匹配的jdbc数据库驱动,在数据查询服务器需要查询某个数据库的数据时,可以通过与该数据库匹配的预设jdbc数据库驱动来实现查询处理。假设数据库为mysql关系型数据库,则预设jdbc数据库驱动与mysql相匹配,如果数据库是oracle关系型数据库,则预设jdbc数据库驱动与oracle相匹配。
84.步骤s103,根据预设jdbc数据库驱动和数据查询指令从与预设jdbc数据库驱动匹配的目标数据库中提取与数据查询指令匹配的目标查询数据。
85.本实施例中,数据查询指令可以包括用户账户、密码等权限信息,需要查询的数据相关信息,需要查询的数据库信息等。通过预设jdbc数据库驱动结合数据查询指令可以从匹配的目标数据库中提取目标查询数据。
86.步骤s104,将目标查询数据发送至终端设备。
87.在提取到目标查询数据后,将目标查询数据反馈回终端设备,以满足终端设备应用程序的需求。
88.本发明实施例提供的一种基于jdbc的数据查询方法,该方法包括:接收终端设备发送的数据查询指令。数据查询指令为终端设备根据已加载的标准驱动生成的。标准驱动与数据查询服务器相匹配。确定与数据查询指令匹配的预设jdbc数据库驱动。根据预设jdbc数据库驱动和数据查询指令从与预设jdbc数据库驱动匹配的目标数据库中提取与数据查询指令匹配的目标查询数据。将目标查询数据发送至终端设备。本发明的基于jdbc的数据查询方法,终端设备只需要预先加载一次标准驱动,建立与数据查询服务器之间的连接。在需要查询不同数据库的数据时,不需要再加载数据库对应的驱动,仅需要发送数据查询指令至数据查询服务器,然后数据查询服务器确定与数据查询指令匹配的预设jdbc数据库驱动,从而根据预设jdbc数据库驱动和数据查询指令从与预设jdbc数据库驱动匹配的目标数据库中提取与数据查询指令匹配的目标查询数据,查询的整体效率较高。
89.图3为本发明第二实施例提供的基于jdbc的数据查询方法的流程示意图,如图3所示,本实施例提供的基于jdbc的数据查询方法,是在本发明上一实施例提供的基于jdbc的数据查询方法的基础上,对步骤103进行了进一步的细化。则本实施例提供的基于jdbc的数据查询方法包括以下步骤。
90.步骤s201,接收终端设备发送的数据查询指令。数据查询指令为终端设备根据已加载的标准驱动生成的。标准驱动与数据查询服务器相匹配。
91.本实施例中,步骤201的实现方式与本发明上一实施例中的步骤101的实现方式类似,在此不再一一赘述。
92.需要说明的是,数据查询指令包括终端设备的数据库查询标识、终端设备的待查询数据信息、终端设备的数据权限信息。
93.步骤s202,根据数据库查询标识确定对应的数据库标识。
94.本实施例中,数据库查询标识指需要查询的数据库的标识信息,根据该数据库查
询标识即可以确定对应的数据库标识,以确定所需查询的目标数据库。
95.步骤s203,根据数据库标识确定与数据查询指令匹配的预设jdbc数据库驱动。
96.本实施例中,由于数据查询服务器中预先设置了与各数据库匹配的预设jdbc数据库驱动,根据需要查询的数据库标识即可以确定与数据查询指令匹配的预设jdbc数据库驱动。从而通过该预设jdbc数据库驱动对目标数据库进行查询处理。
97.需要说明的是,数据查询服务器包括存储有终端设备查询的历史查询数据的资料库。
98.步骤s204,确定资料库中是否存在与数据权限信息和待查询数据信息都匹配的目标查询数据。若是则执行步骤s209,若否,则执行步骤s205。
99.本实施例中,通过预先设置存储有终端设备查询的历史查询数据的资料库,当终端设备再次查询时,可以首先确定资料库中是否存在满足终端设备权限且需要查询的目标查询数据,若存在,则可以直接从资料库中提取目标查询数据,而不需要重新从目标数据库中提取目标查询数据。一方面,可以提高数据查询的效率,另一方面,也可以降低与数据库的交互频率,同时,提高对终端设备的权限的控制,提高数据安全性。
100.可选的,本实施例中,资料库中的历史查询数据可以按照所属库表进行存储,同时,也可以按照字段和库表的方式进行存储。
101.本实施例中,按照所属库表进行存储。则确定资料库中是否存在与数据权限信息和待查询数据信息都匹配的目标查询数据的流程,可以具体为:
102.确定数据权限信息在目标数据库中对应的库表与待查询数据信息在目标数据库中对应的库表。
103.将数据权限信息在目标数据库中对应的库表与待查询数据信息在目标数据库中对应的库表的交集确定为目标查询库表。
104.确定资料库中是否存在目标查询库表对应的目标查询数据。
105.本实施例中,各终端设备都具有相应的权限,每个终端设备的权限都对应不同范围的数据,该范围可以以库表的形式展现。
106.示例性的,假设终端设备a具有权限a,权限a对应库表为库表1-3,而终端设备a发送的待查询数据信息为查询库表2-4,则目标查询库表为库表2-3。
107.步骤s205,采用预设jdbc数据库驱动建立与目标数据库之间的数据源连接池。
108.本实施例中,数据源连接池为数据库的缓冲区域,可以与数据库之间建立连接。
109.可选的,本实施例中,在采用预设jdbc数据库驱动建立与目标数据库之间的数据源连接池之前,还可以进行权限验证流程,具体如下:
110.将数据权限信息与预设的权限验证信息进行对比验证。
111.若对比验证结果为通过,则执行采用预设jdbc数据库驱动建立与目标数据库之间的数据源连接池的步骤。
112.本实施例中,预先设置有权限验证信息,用于验证终端设备的权限。如将数据权限信息与预设的权限验证信息进行对比验证即可以验证终端设备是否具有查询的权限,验证终端设备查询权限的范围等。同时,也可以通过其他的验证方式进行验证,本实施例对此不做限定。
113.步骤s206,将待查询数据信息转化为结构化查询语言。
114.本实施例中,结构化查询语言的英文为sql,用于查询的语言,通过将待查询数据信息转化为结构化查询语言可以为查询数据库中的目标查询数据提供基础。
115.步骤s207,以数据源连接池为媒介,根据结构化查询语言从目标数据库中提取目标查询数据。
116.本实施例中,通过sql语言可以以数据源连接池为媒介从目标数据库中提取目标查询数据,完成数据查询处理。
117.步骤s208,将目标查询数据发送至终端设备。
118.本实施例中,步骤208的实现方式与本发明上一实施例中的步骤104的实现方式类似,在此不再一一赘述。
119.步骤s209,根据数据权限信息和待查询数据信息从资料库中提取目标查询数据。
120.本实施例中,各终端设备都具有相应的权限,每个终端设备的权限都对应不同范围的数据,该范围可以以库表的形式展现。为了避免出现由于终端设备的权限不够而查询到权限外数据的情况,会结合数据权限信息和待查询数据信息从资料库中提取目标查询数据。
121.为了更方便的理解本实施例的方法,下面将结合附图详细说明实现基于jdbc的数据查询方法的架构。如图4所示,实现本实施例的方法的电子设备为数据查询服务器,也可以称呼为数据查询引擎。本实施例的数据查询服务器目标是隔离不同数据源差异,提供统一标准的数据查询引,使应用程序真正做到与底层数据源隔离。数据查询服务器的框架包括库表主题、数据服务驱动、数据服务api三个部分。数据库包括常用的mysql、oracle、hive、greenplum、kylin数据库等。
122.库表主题部分:是从数据库即物理数据源中获取终端设备具有权限的库表与字段子集,并定义为库表主题,该有权限的库表与字段子集可以是终端设备历史查询到的库表与字段子集,也可以预先根据大数据提前设置的终端设备查询频率较高的库表与字段子集。
123.数据服务api部分:数据查询服务器可以提供统一的数据库权限验证,元数据接口,以及统一的执行查询接口,并对数据库库表权限以及数据连接池进行统一管理。
124.数据服务驱动部分:提供统一的标准驱动包,该驱动包与数据查询服务器匹配,且可以实现远程客户端连接、声明等供应用程序统一使用。
125.库表主题部分设置在数据查询服务器的资料库中,资料库中存储有不同终端设备的权限信息,如用户名、密码、对应的库表等,通过添加用户名密码等信息可以保证数据安全。
126.库表由数据库即物理数据源的元数据子集构成,上述实施例所指的目标查询数据主要也是数据库中的元数据子集。
127.数据服务api部分,数据查询服务器提供统一的数据库权限验证,元数据接口,以及数据执行查询接口,并对数据库库表权限以及数据连接池进行统一管理。
128.主要功能为:其一:提供统一的数据库权限验证接口,该接口作为应用程序与数据查询服务器权限验证的接口,通过用户名与密码进行权限校验。
129.其二:提供统一的元数据接口,该接口作为应用程序与数据查询服务器的元数据查询接口,查询资料库中的库表。
130.其三:提供统一的数据执行接口,作为应用程序与数据查询服务器的数据查询接口。该接口通过与物理数据源建立数据源连接池,根据输入的sql语言查询数据信息。并采用druid sql-parse解析sql的语法树。其中,druid是源码开源的一个jdbc连接池组件,sql-parse是sql语言的解析器,可以用于解析、拆分、格式化sql语句。同时,对于资料库中主题库表信息外的库表以及字段进行越权拦截。
131.其四:作为统一的查询引擎,api同时进行数据库连接池的管理,数据库管理员可根据实际情况调整数据源连接池的最大连接数,最小连接数,最大等待时间,申请是否验证等连接池常用参数。
132.数据服务驱动部分:本实施例提供统一的标准驱动包,该标准驱动包实现远程客户端(英文全称为:iremoteclient)、连接(英文全称为:connection)、声明(英文全称为:statement)等供应用程序统一使用。
133.根据统一的jdbc标准,该驱动包实现远程客户端与数据服务api部分的连接,实现api权限验证、元数据查询。
134.本发明实施例提供的一种基于jdbc的数据查询方法可以隔离不同数据源厂商差异,提供统一标准的数据查询服务器,使应用程序真正做到与底层数据源隔离。同时,应用程序无需处理数据源的差异,应用代码与sql更加简易可移植。
135.图5为本发明第三实施例提供的基于jdbc的数据查询装置的结构示意图,如图5所示,本实施例中,该基于jdbc的数据查询装置300包括:
136.接收模块301,用于接收终端设备发送的数据查询指令。数据查询指令为终端设备根据已加载的标准驱动生成的。标准驱动与数据查询服务器相匹配。
137.确定模块302,用于确定与数据查询指令匹配的预设jdbc数据库驱动。
138.提取模块303,用于根据预设jdbc数据库驱动和数据查询指令从与预设jdbc数据库驱动匹配的目标数据库中提取与数据查询指令匹配的目标查询数据。
139.发送模块304,用于将目标查询数据发送至终端设备。
140.本实施例提供的基于jdbc的数据查询装置可以执行图2所示方法实施例的技术方案,其实现原理和技术效果与图2所示方法实施例类似,在此不再一一赘述。
141.图6为本发明第四实施例提供的基于jdbc的数据查询装置的结构示意图,如图6所示,本发明提供的基于jdbc的数据查询装置在上一实施例提供的基于jdbc的数据查询装置的基础上,对基于jdbc的数据查询装置进行了进一步的细化。本实施例的基于jdbc的数据查询装置与上一实施例的基于jdbc的数据查询装置相同,仅作为不同实施例的区分,将本实施例中的基于jdbc的数据查询装置标号确定为400。
142.可选的,本实施例中,数据查询指令包括终端设备的数据库查询标识。
143.确定模块302具体用于:
144.根据数据库查询标识确定对应的数据库标识。根据数据库标识确定与数据查询指令匹配的预设jdbc数据库驱动。
145.可选的,本实施例中,数据查询指令还包括:终端设备的待查询数据信息。
146.提取模块303具体用于:
147.采用预设jdbc数据库驱动建立与目标数据库之间的数据源连接池。将待查询数据信息转化为结构化查询语言。以数据源连接池为媒介,根据结构化查询语言从目标数据库
中提取目标查询数据。
148.可选的,本实施例中,数据查询指令还包括:终端设备的数据权限信息。
149.基于jdbc的数据查询装置400还包括:
150.权限验证模块401,用于将数据权限信息与预设的权限验证信息进行对比验证。若对比验证结果为通过,则执行采用预设jdbc数据库驱动建立与目标数据库之间的数据源连接池的步骤。
151.可选的,本实施例中,数据查询服务器包括存储有终端设备查询的历史查询数据的资料库。
152.基于jdbc的数据查询装置400还包括:
153.资料库查询模块402,用于确定资料库中是否存在与数据权限信息和待查询数据信息都匹配的目标查询数据。若资料库中没有存储目标查询数据,则执行采用预设jdbc数据库驱动建立与目标数据库之间的数据源连接池的步骤。若资料库中存储有目标查询数据,则根据数据权限信息和待查询数据信息从资料库中提取目标查询数据。
154.可选的,本实施例中,资料库中的历史查询数据按照所属库表进行存储。
155.资料库查询模块402在确定资料库中是否存在与数据权限信息和待查询数据信息都匹配的目标查询数据时,具体用于:
156.确定数据权限信息在目标数据库中对应的库表与待查询数据信息在目标数据库中对应的库表。将数据权限信息在目标数据库中对应的库表与待查询数据信息在目标数据库中对应的库表的交集确定为目标查询库表。确定资料库中是否存在目标查询库表对应的目标查询数据。
157.本实施例提供的基于jdbc的数据查询装置可以执行图2-图4所示方法实施例的技术方案,其实现原理和技术效果与图2-图4所示方法实施例类似,在此不再一一赘述。
158.根据本发明的实施例,本发明还提供了一种数据查询服务器、一种计算机可读存储介质和一种计算机程序产品。
159.如图7所示,图7是本发明第五实施例提供的数据查询服务器的结构示意图。数据查询服务器旨在各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、刀片式服务器、大型计算机、和其它适合的计算机。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
160.如图7所示,该数据查询服务器包括:处理器501、存储器502。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在数据查询服务器内执行的指令进行处理。
161.存储器502即为本发明所提供的非瞬时计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本发明所提供的基于jdbc的数据查询方法。本发明的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本发明所提供的基于jdbc的数据查询方法。
162.存储器502作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本发明实施例中的基于jdbc的数据查询方法对应的程序指令/模块(例如,附图5所示的接收模块301、确定模块302、提取模块303和发送模块
304)。处理器501通过运行存储在存储器502中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的基于jdbc的数据查询方法。
163.同时,本实施例还提供一种计算机产品,当该计算机产品中的指令由数据查询服务器的处理器执行时,使得数据查询服务器能够执行上述实施例的基于jdbc的数据查询方法。
164.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明实施例的其它实施方案。本发明旨在涵盖本发明实施例的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明实施例的一般性原理并包括本发明实施例未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明实施例的真正范围和精神由下面的权利要求书指出。
165.应当理解的是,本发明实施例并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明实施例的范围仅由所附的权利要求书来限制。
技术特征:
1.一种基于jdbc的数据查询方法,其特征在于,应用于数据查询服务器,所述方法包括:接收终端设备发送的数据查询指令;所述数据查询指令为所述终端设备根据已加载的标准驱动生成的;所述标准驱动与所述数据查询服务器相匹配;确定与所述数据查询指令匹配的预设jdbc数据库驱动;根据所述预设jdbc数据库驱动和所述数据查询指令从与所述预设jdbc数据库驱动匹配的目标数据库中提取与所述数据查询指令匹配的目标查询数据;将所述目标查询数据发送至终端设备。2.根据权利要求1所述的方法,其特征在于,所述数据查询指令包括终端设备的数据库查询标识;所述确定与所述数据查询指令匹配的预设jdbc数据库驱动,包括:根据所述数据库查询标识确定对应的数据库标识;根据所述数据库标识确定与所述数据查询指令匹配的预设jdbc数据库驱动。3.根据权利要求2所述的方法,其特征在于,所述数据查询指令还包括:终端设备的待查询数据信息;所述根据所述预设jdbc数据库驱动和所述数据查询指令从与所述预设jdbc数据库驱动匹配的目标数据库中提取与所述数据查询指令匹配的目标查询数据,包括:采用所述预设jdbc数据库驱动建立与所述目标数据库之间的数据源连接池;将所述待查询数据信息转化为结构化查询语言;以所述数据源连接池为媒介,根据所述结构化查询语言从所述目标数据库中提取所述目标查询数据。4.根据权利要求3所述的方法,其特征在于,所述数据查询指令还包括:终端设备的数据权限信息;所述采用所述预设jdbc数据库驱动建立与所述目标数据库之间的数据源连接池之前,还包括:将所述数据权限信息与预设的权限验证信息进行对比验证;若对比验证结果为通过,则执行所述采用所述预设jdbc数据库驱动建立与所述目标数据库之间的数据源连接池的步骤。5.根据权利要求4所述的方法,其特征在于,所述数据查询服务器包括存储有终端设备查询的历史查询数据的资料库;所述采用所述预设jdbc数据库驱动建立与所述目标数据库之间的数据源连接池之前,还包括:确定所述资料库中是否存在与所述数据权限信息和所述待查询数据信息都匹配的目标查询数据;若所述资料库中没有存储所述目标查询数据,则执行所述采用所述预设jdbc数据库驱动建立与所述目标数据库之间的数据源连接池的步骤;若所述资料库中存储有所述目标查询数据,则根据所述数据权限信息和所述待查询数据信息从所述资料库中提取所述目标查询数据。6.根据权利要求5所述的方法,其特征在于,所述资料库中的所述历史查询数据按照所
属库表进行存储;所述确定所述资料库中是否存在与所述数据权限信息和所述待查询数据信息都匹配的目标查询数据,包括:确定所述数据权限信息在所述目标数据库中对应的库表与所述待查询数据信息在所述目标数据库中对应的库表;将所述数据权限信息在所述目标数据库中对应的库表与所述待查询数据信息在所述目标数据库中对应的库表的交集确定为目标查询库表;确定所述资料库中是否存在目标查询库表对应的所述目标查询数据。7.一种基于jdbc的数据查询装置,其特征在于,位于数据查询服务器,所述装置包括:接收模块,用于接收终端设备发送的数据查询指令;所述数据查询指令为所述终端设备根据已加载的标准驱动生成的;所述标准驱动与所述数据查询服务器相匹配;确定模块,用于确定与所述数据查询指令匹配的预设jdbc数据库驱动;提取模块,用于根据所述预设jdbc数据库驱动和所述数据查询指令从与所述预设jdbc数据库驱动匹配的目标数据库中提取与所述数据查询指令匹配的目标查询数据;发送模块,用于将所述目标查询数据发送至终端设备。8.一种数据查询服务器,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至6任一项所述的基于jdbc的数据查询方法。9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至6任一项所述的基于jdbc的数据查询方法。10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一项所述的基于jdbc的数据查询方法。
技术总结
本发明提供一种基于JDBC的数据查询方法、装置、服务器及介质,该方法包括:接收终端设备发送的数据查询指令;所述数据查询指令为所述终端设备根据已加载的标准驱动生成的;所述标准驱动与所述数据查询服务器相匹配;确定与所述数据查询指令匹配的预设JDBC数据库驱动;根据所述预设JDBC数据库驱动和所述数据查询指令从与所述预设JDBC数据库驱动匹配的目标数据库中提取与所述数据查询指令匹配的目标查询数据;将所述目标查询数据发送至终端设备。本发明的基于JDBC的数据查询方法,在需要查询不同数据库的数据时,不需要再加载数据库对应的驱动,仅需要发送数据查询指令至数据查询服务器,查询的整体效率较高。查询的整体效率较高。查询的整体效率较高。
技术研发人员:林文奇 朱荣华 张峰
受保护的技术使用者:中国建设银行股份有限公司
技术研发日:2021.12.02
技术公布日:2022/3/8