一种数据查询方法、装置、电子设备及存储介质与流程

文档序号:31304797发布日期:2022-08-30 20:20阅读:40来源:国知局
一种数据查询方法、装置、电子设备及存储介质与流程

1.本技术涉及数据处理领域,尤其涉及一种数据查询方法、装置、电子设备及存储介质。


背景技术:

2.随着单个物理表中数据量的逐步增加,对含有大量数据的单个物理表进行数据查询时需要消耗较多的时间。基于此,在对含有大量数据的数据表进行存储时,将其拆分为多个子表,然后将拆分得到的多个子表存储至数据库,在进行数据查询时则可并发地对多个子表进行数据查询,以减少耗时。
3.然而,将数据表拆分后,在针对数据表进行数据查询时,就会由原来只需对一个数据表进行查询,变为需要对多个子表分别进行查询。不同的子表通常对应不同的数据查询请求(例如sql语句),数据查询请求需要数据库中的连接来处理,一个连接通常一次只能处理一个数据查询请求,即一个连接一次只能查询一个子表,同时数据库对应的数据库连接池中可用数据库连接的数量是有限的,这就导致在数据库中包含多个子表情况下,如何为子表分配数据库连接成为亟待解决的技术问题。


技术实现要素:

4.为了解决多子表情况下,如何为子表分配数据库连接的技术问题,本技术提供了一种数据查询方法、装置、电子设备及存储介质。
5.第一方面,本技术提供了一种数据查询方法,所述方法包括:
6.接收针对目标数据库中目标数据表的数据查询请求,所述目标数据表包括多个目标子表;
7.基于多个所述目标子表的数目和所述目标数据库的可用数据库连接数目,确定目标数据库连接分配策略;
8.基于所述目标数据库连接分配策略为多个所述目标子表分配数据库连接,以利用分配的数据库连接对多个所述目标子表进行数据查询。
9.作为一种可能的实施方式,所述基于多个所述目标子表的数目和所述目标数据库的可用数据库连接数目确定目标数据库连接分配策略,包括:
10.比较所述目标子表的数目和所述目标数据库的可用数据库连接数目;
11.基于所述目标子表的数目和所述目标数据库的可用数据库连接数目的大小关系确定目标数据库连接分配策略。
12.作为一种可能的实施方式,所述基于所述目标子表的数目和目标数据库的可用数据库连接数目的大小关系确定目标数据库连接分配策略,包括:
13.在所述目标数据库未被配置默认数据库连接分配策略的情况下,若所述可用数据库连接数目大于等于所述目标子表的数目,则将预设的第一连接分配策略确定为目标连接分配策略,所述第一连接分配策略是指为每个所述目标子表分别分配一个数据库连接;
14.若所述可用数据库连接数目小于所述目标子表的数目,则将预设的第二连接分配策略确定为目标连接分配策略,所述第二连接分配策略是指将每个所述可用数据库连接分别分配给至少一个所述目标子表。
15.作为一种可能的实施方式,所述基于所述目标子表的数目和所述目标数据库的可用数据库连接数目的大小关系确定目标数据库连接分配策略,包括:
16.在所述目标数据库被配置有默认数据库连接分配策略的情况下,若所述目标子表的数目和所述可用数据库连接数目的大小关系与所述默认数据库连接分配策略相匹配,则将所述默认数据库连接分配策略确定为所述目标数据库连接分配策略;
17.所述方法还包括:
18.若多个所述目标子表的数目和所述可用数据库连接数目的大小关系与所述默认数据库连接分配策略不匹配,则生成用于指示所述默认数据库连接分配策略不适用的异常提醒消息。
19.作为一种可能的实施方式,若所述目标连接分配策略为第二连接分配策略,则所述基于所述目标数据库连接分配策略为多个所述目标子表分配数据库连接,以利用分配的数据库连接对多个所述目标子表数据库进行数据查询,包括:
20.根据所述可用数据库连接数目和所述目标子表的数目,确定每个可用数据库连接对应的最大目标子表分配数目;
21.根据所述最大目标子表分配数目将每个所述可用数据库连接分别分配给至少一个目标子表,以利用每个可用数据库连接分别对至少一个所述目标子表进行数据查询。
22.作为一种可能的实施方式,所述根据所述可用数据库连接数目和所述目标子表的数目,确定每个可用数据库连接对应的最大目标子表分配数目,包括:
23.确定所述目标子表的数目与所述可用数据库连接数目的比值;
24.若所述比值为整数,则将所述比值确定为每个所述可用数据库连接对应的最大目标子表分配数目;
25.若所述比值不是整数,则对所述比值进行向上取整,将向上取整得到的值作为每个所述可用数据库连接对应的最大目标子表分配数目。
26.作为一种可能的实施方式,所述目标数据库中可用数据库连接数目采用下述方式确定:
27.确定所述目标数据库对应的数据连接池的最大连接数目;
28.确定所述最大连接数目与设定阈值的乘积,将所述乘积确定为所述目标数据库的可用数据库连接数目。
29.第二方面,本技术实施例还提供了一种数据查询装置,包括:
30.接收模块,用于接收针对目标数据库中目标数据表的数据查询请求,所述目标数据表包括多个目标子表;
31.策略确定模块,用于基于多个所述目标子表的数目和所述目标数据库的可用数据库连接数目,确定目标数据库连接分配策略;
32.查询模块,用于基于所述目标数据库连接分配策略为多个所述目标子表分配数据库连接,以利用分配的数据库连接对多个所述目标子表进行数据查询。
33.第三方面,本技术实施例还提供了一种电子设备,包括:处理器和存储器,所述处
理器用于执行所述存储器中存储的数据处理程序,以实现第一方面所述的数据查询方法。
34.第四方面,本技术实施例还提供了一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现第一方面所述的数据查询方法。
35.本技术实施例提供的上述技术方案与现有技术相比具有如下优点:
36.本发明实施例提供了一种数据查询方法,该方法接收用于对目标数据库中目标数据表进行查询的数据查询请求,目标数据表包括多个目标子表,根据多个目标子表的数目和目标数据库的可用数据库连接数目确定目标数据库连接分配策略,进而基于目标数据库连接分配策略为多个目标子表分配数据库连接,从而利用分配的数据库连接对多个目标子表进行数据查询,实现了对多子表分配数据库连接。进一步的,由于上述目标数据库连接分配策略是基于目标子表数目和可用数据库连接数目确定的,同时兼顾了目标子表数目和可用数据库连接数目,如此则能够提高数据库连接分配的合理性,进而提升了数据查询的效率。
附图说明
37.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
38.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
39.图1为本技术实施例提供的一种数据库系统的示意图;
40.图2为本技术实施例提供的一种数据查询方法的流程图;
41.图3为本技术实施例提供的一种步骤s22的实现流程图;
42.图4为本技术实施例提供的另一种步骤s22的实现流程图;
43.图5为本技术实施例提供的一种中间件与目标数据库的示意图;
44.图6为本技术实施例提供的一种数据查询装置的框图;
45.图7为本技术实施例提供的一种电子设备的示意图。
具体实施方式
46.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
47.参见图1为本技术实施例提供的一种数据库系统的示意图,如图1所示,该数据库系统中包含用户端100、中间件101以及数据库102。
48.其中,用户端100用于与用户进行交互,并基于用户执行的操作生成对应的请求,比如用户在用户端100上执行数据查询操作,则基于用户的操作生成对应的数据查询请求。其中用户端100可以为具有显示屏的智能终端,包括但不限于智能手机、台式电脑、笔记本电脑等具有显示屏的智能设备。
49.数据库102用于存储数据,数据在数据库中通常以数据表的形式进行存储。需要说明的是,数据库系统中可以包含一个或多个数据库,数据库的数量可以根据实际需求设定,本发明实施例仅以一个数据库为例。
50.中间件101设置在用户端100与数据库102之间,分别与用户端100和数据库102进行通信连接,用于接收用户端100发送的数据处理请求,并根据数据处理请求对数据库102进行相应的处理。进一步的,中间件101中还设置有与数据库102对应的数据库连接池,当接收到用户端100发送的数据查询请求后,则基于数据查询请求利用数据库连接池中的数据库连接对数据库102进行数据查询。
51.在应用中,基于图1所示的数据库系统,用户在对包含大量数据的目标数据表进行存储时,通常会将其拆分为多个子表,然后将拆分得到的多个子表存储至数据库102中。这就导致在对目标数据表进行查询时,需要中间件101对目标数据表的多个子表分别进行查询。中间件101通常使用数据库连接池中的数据库连接对数据库102中的子表进行查询,但是一个数据库连接一次只能对一个子表进行查询,且数据库连接池中可用数据库连接数目是有限的,因此在对数据库102中的多个子表进行查询时,如何对数据库连接进行分配,提高查询效率,成为目前亟待解决的技术问题。
52.为了解决多子表情况下,数据库连接分配的技术问题,以充分发挥多线程优势,提高查询效率,本发明实施例提供了一种数据查询方法,下面结合附图以具体实施例对本发明提供的数据查询方法进行解释说明,需要说明的是,实施例并不构成对本发明实施例的限定。
53.参见图2,为本发明一示例性实施例提供的一种数据查询方法的流程图,该方法可以应用于图1所示的中间件101,如图2所示,该方法可以包括如下步骤:
54.s21.接收针对目标数据库中目标数据表的数据查询请求,目标数据表包括多个目标子表。
55.上述目标数据表是指待进行数据查询的数据表,为描述方便,将其称为目标数据表;相应地,为描述方便,将目标数据表所属数据库称为目标数据库。
56.在本实施例中,假设目标数据表中包含大量数据,那么如上所述,在将目标数据表存储至目标数据库时,可先将目标数据表拆分为多个子表(以下称目标子表),然后将多个目标子表存储至目标数据库中。基于此,对目标数据表进行数据查询,即指对目标数据表包括的多个目标子表进行数据查询。
57.作为一个实施例,上述数据查询请求可以为结构化查询语言(structured query language,简称sql),比如,若目标数据表的表名为a,目标数据表a包含3个目标子表,该3个目标子表的表名分别为a1、a2和a3,则上述数据查询请求可以为“select*from(a1,a2,a3)”。需要说明的是,上述以sql语句示例的数据查询请求仅仅作为一种示例,并不构成对本发明实施例中数据查询请求的限定。
58.在应用中,用户可通过用户端触发生成上述数据查询请求,用户端则可将触发生成的数据查询请求发送至中间件,如此中间件可接收到针对目标数据库中目标数据表的数据查询请求。
59.s22.基于多个目标子表的数目和目标数据库的可用数据库连接数目,确定目标数据库连接分配策略。
60.由上述描述可知,数据查询请求中包含目标子表的表名,一个表名对应一个目标子表,因此,可通过对接收到数据查询请求进行解析,获取其中包含的目标子表的表名,将获取到的表名的数目确定为目标子表的数目。
61.一个例子,若数据查询请求为sql语句,则可以通过sql解析器(比如hive)对数据查询请求进行解析,得到对应的语法树,然后从语法树中获取数据查询请求中包含的表名,进而再确定表名的数目,也即目标子表的数目。
62.作为一个实施例,可通过下述公式(一)确定目标数据库的可用数据库连接数目:
63.公式(一):adptiveconnnum=connpoolsize*ratio
64.上述公式(一)中,adptiveconnnum表示可用数据库连接数目,connpoolsize表示数据库连接池的最大连接数目,ratio表示设定阈值。在应用中,数据库连接池的最大连接数目为数据库连接池能申请的最大连接数目,具体值可以根据实际需求设定,设定阈值为根据实际需求设定的值,例如20%。
65.由上述公式(一)可见,确定目标数据库对应的数据连接池的最大连接数目,确定该最大连接数目与设定阈值的乘积,将该乘积确定为目标数据库的可用数据库连接数目。
66.由本步骤s22中的描述可知,在本发明实施例中,是根据目标子表的数目和目标数据库的可用数据库连接数目确定目标数据库连接分配策略的,如此可实现合理分配数据库连接,在保障每一目标子表都能被分配一个可用数据库连接的基础上,还能够使得每一个可用数据库连接都能够得到有效利用,从而提高查询效率。至于是如何根据目标子表的数目和目标数据库的可用数据库连接数目确定目标数据库连接分配策略的,可参见下述图3和图4所示流程中的描述,这里先不详述。
67.s23.基于目标数据库连接分配策略为多个目标子表分配数据库连接,以利用分配的数据库连接对多个目标子表进行数据查询。
68.以下对步骤s22-s23进行统一说明:
69.在进行数据查询时,若数据库连接分配不合理,则可能会导致查询效率低,耗时长等问题。因此,在进行数据查询时,选取合适的数据库连接分配策略尤为重要。本发明实施例提供了一种数据查询方法,该方法接收用于对目标数据库中目标数据表进行查询的数据查询请求,目标数据表包括多个目标子表,根据多个目标子表的数目和目标数据库的可用数据库连接数目确定目标数据库连接分配策略,进而基于目标数据库连接分配策略为多个目标子表分配数据库连接,从而利用分配的数据库连接对多个目标子表进行数据查询。本方案进行数据库连接分配时,同时兼顾目标子表数目和可用数据库连接数目,保证了数据库连接分配的合理性,最大限度的发挥多线程并发优势。
70.上面为对本发明实施例提供的一种数据查询方法整体的描述,下面结合图3和图4以具体实施例对上述步骤s22的实现流程进行描述。
71.参见图3,为本技术一示例性实施例提供的一种s22的实施例流程图,如图3所示,该流程可以包括如下步骤:
72.s31.判断可用数据库连接数目是否大于等于目标子表的数目,若是,则执行s32,若否,则执行s33。
73.作为一个实施例,可以在中间件中预先设置比较器,通过比较器来确定目标子表的数目和目标数据库的可用数据库连接数目的大小关系。
74.若可用数据库连接数目大于等于目标子表的数目,则意味足以为每一目标子表分别分配一个可用数据库连接,这可以实现使用专有数据库连接对目标子表进行查询,从而最大化并行查询,提高查询效率。
75.s32.将预设的第一连接分配策略确定为目标连接分配策略。
76.在本实施例中,预先设置第一连接分配策略和第二连接分配策略两个数据库连接分配策略,其中,第一连接分配策略为流式分配策略,指为每个目标子表分别分配一个数据库连接;第二连接分配策略为自适应分配策略,将每个可用数据库连接分别分配给至少一个目标子表。
77.在应用中,多个数据库连接可以并行处理,因此,在可用数据库连接数目大于等于目标子表的数目时,分别为每个目标子表分配一个数据库连接可以充分发挥线程并发优势,进而最大限度的提高数据查询效率。
78.s33.将预设的第二连接分配策略确定为目标连接分配策略。
79.在应用中,当可用数据库连接数目小于目标子表的数目时,无法满足为每个目标子表分别分配一个数据库连接,此时为了最大限度的提高数据查询效率,将所有可用数据库连接均投入使用,将每个可用数据库连接分别分配给至少一个目标子表。
80.作为一种可能的实现方式,可以采用下述方式将每个可用数据库连接分别分配给至少一个目标子表:根据可用数据库连接数目和目标子表的数目,确定每个可用数据库连接对应的最大目标子表分配数目,根据最大目标子表分配数目将每个可用数据库连接分别分配给至少一个目标子表。
81.进一步的,根据最大目标子表分配数目将每个可用数据库连接分别分配给至少一个目标子表,需要保证每个可用数据库连接分配给的目标子表的数目不大于对应的最大目标子表分配数目。
82.为了减少由于数据库连接分配不均导致的数据库连接阻塞的问题,在应用中,可以采用下述方式确定每个可用数据库连接对应的最大目标子表分配数目:确定所述目标子表的数目与所述可用数据库连接数目的比值;若该比值为整数,则将该比值确定为每个可用数据库连接对应的最大目标子表分配数目;若该比值不是整数,则对该比值进行向上取整,将向上取整得到的值作为每个可用数据库连接对应的最大目标子表分配数目。比如,如图5所示,目标数据库中包含5个目标子表,分别为子表0、子表1、子表2、子表3和子表4,中间件中目标数据库的可用数据库连接数目为3,分别为th0、th1和th3,则每个可用数据库连接对应的最大目标子表分配数目是2,基于此,在根据最大目标子表分配数目将每个可用数据库连接分别分配给至少一个目标子表时,可以将3个可用数据库连接中的任意其2个可用数据库连接分别分配给任意2个目标子表,但需要保证一个目标子表最多分配一个可用数据库连接,将另一个可用数据库连接分配给1个目标子表,例如图5所示,将th0分配给子表0和子表1,将th1分配给子表2和子表3,将th2分配给子表4。
83.至此,完成图3所示流程的描述。
84.在应用中,还可以预先由用户或数据库管理员根据需求为目标数据库配置默认数据库连接分配策略,该默认数据库连接分配策略可以为预先设置的数据库连接分配策略中的任意一个,比如为上述第一连接分配策略和第二连接分配策略中任意一个。
85.进一步的,可以在中间件中预先为每个数据库连接分配策略分别设置一个切换开
关,并设置在同一时刻下最多允许一个切换开关开启的限制条件。则在有一个切换开关开启的情况下,其他切换开关无法再开启,则用户或数据库管理员可以通过开启切换开关来配置默认数据库连接分配策略,基于此,在应用中,在确定目标数据库连接分配策略时,可以先判断目标数据库是否被配置了默认数据库连接分配策略,具体的,可以通过检测是否有切换开关开启来确定目标数据库是否被配置了默认数据表连接分配策略,若有切换开关开启,则确定目标数据库被配置了默认数据表连接分配策略,并确定该开启的切换开关对应的数据库连接分配策略为默认数据库连接分配策略,若所有切换开关均未开启,则确定目标数据库未被配置默认数据库连接分配策略。在确定目标数据库被配置了默认数据表连接分配策略的情况下,则可通过图4所示实施例来确定目标数据库连接分配策略,在确定目标数据库未被配置默认数据表连接分配策略的情况下,则可通过图3所示实施例来确定目标数据库连接分配策略。
86.参见图4,为本技术一示例性实施例提供的一种s22的实施例流程图,如图4所示,该流程可以包括如下步骤:
87.s41.判断目标子表的数目和目标数据库的可用数据库连接数目的大小关系与默认数据库连接分配策略是否匹配,若是,则执行s42,若否,则执行s43。
88.作为一个实施例,若确定默认数据库连接分配策略为第一连接分配策略,则判断目标子表的数目和目标数据库的可用数据库连接数目的大小关系是否为目标数据库的可用数据库连接数目大于等于目标子表的数目,若是,则确定目标子表的数目和目标数据库的可用数据库连接数目的大小关系与默认数据库连接分配策略相匹配,若否,则确定目标子表的数目和目标数据库的可用数据库连接数目的大小关系与默认数据库连接分配策略不匹配。
89.作为另一个实施例,若确定默认数据库连接分配策略为第二连接分配策略,则判断目标子表的数目和目标数据库的可用数据库连接数目的大小关系是否为目标数据库的可用数据库连接数目小于目标子表的数目,若是,则确定目标子表的数目和目标数据库的可用数据库连接数目的大小关系与默认数据库连接分配策略相匹配;若否,则确定目标子表的数目和目标数据库的可用数据库连接数目的大小关系与默认数据库连接分配策略不匹配。
90.s42.将默认数据库连接分配策略确定为目标数据库连接分配策略。
91.s43.生成用于指示默认数据库连接分配策略不适用的异常提醒消息。
92.作为一个实施例,生成异常提醒消息后将异常提醒消息发送至用户端,以使用户及时根据提醒消息做出应对,不同的默认数据库连接分配策略对应的异常提醒消息可以不同。
93.作为一种可能的实现方式,若默认数据库连接分配策略为第一连接分配策略,则其对应的异常提醒消息可以为用于提示用户当前可用数据库连接数量不足的消息,用户基于此提醒消息可以在目标数据库对应的数据库连接池中创建更多的数据库连接,或手动关闭第一连接分配策略的切换开关,进而使中间件采用图3所示的方法来进行数据查询,或者手动关闭第一连接分配策略的切换开关,并开启第二连接分配策略的切换开关,进而使中间件将第二连接分配策略作为默认数据库连接分配策略来进行数据查询。
94.作为一种可能的实现方式,若默认数据库连接分配策略为第二连接分配策略,则
其对应的异常提醒消息可以为用于提示用户当前可用数据库连接数量充足建议采用第一连接分配策略的消息,用户基于此提醒可以手动关闭第二连接分配策略的切换开关,进而使中间件采用图3所示的方法来进行数据查询,或者手动关闭第二连接分配策略的切换开关,并开启第一连接分配策略的切换开关,进而使中间件将第一连接分配策略作为默认数据库连接分配策略来进行数据查询。
95.由上述内容可知,本实施例通过比较目标子表的数目和目标数据库的可用数据库连接数目,基于目标子表的数目和目标数据库的可用数据库连接数目的大小关系,确定目标数据库连接分配策略,具体的,可以预先设置目标数据库对应的默认数据库连接分配策略,也可以根据目标子表的数目和可用数据库连接分配策略从预先设置的多种数据库连接分配策略中选取合适的目标数据库连接分配策略,使得数据库连接分配策略设置更灵活,并且最终确定的目标数据库连接分配策略更符合实际需求,进而提升了数据查询效率。
96.参见图6,为本发明一示例性实施例提供的数据查询装置的框图,如图6所示,该装置可以包括:接收模块601、策略确定模块602和查询模块603。
97.其中,接收模块601,用于接收针对目标数据库中目标数据表的数据查询请求,目标数据表包括多个目标子表;
98.策略确定模块602,用于基于多个目标子表的数目和目标数据库的可用数据库连接数目,确定目标数据库连接分配策略;
99.查询模块603,用于基于目标数据库连接分配策略为多个目标子表分配数据库连接,以利用分配的数据库连接对多个目标子表进行数据查询。
100.作为一个实施例,所述策略确定模块602包括(图6中未示出)
101.比较单元,用于比较目标子表的数目和目标数据库的可用数据库连接数目;
102.确定单元,用于基于目标子表的数目和目标数据库的可用数据库连接数目的大小关系,确定目标数据库连接分配策略。
103.作为一个实施例,上述确定单元具体用于:
104.在目标数据库未被配置默认数据库连接分配策略的情况下,若可用数据库连接数目大于等于目标子表的数目,则将预设的第一连接分配策略确定为目标连接分配策略,第一连接分配策略是指为每个目标子表分别分配一个数据库连接;
105.若可用数据库连接数目小于目标子表的数目,则将预设的第二连接分配策略确定为目标连接分配策略,第二连接分配策略是指将每个可用数据库连接分别分配给至少一个目标子表。
106.作为一个实施例,上述确定单元具体用于:
107.在目标数据库被配置有默认数据库连接分配策略的情况下,若目标子表的数目和目标数据库的可用数据库连接数目的大小关系与默认数据库连接分配策略相匹配,则将默认数据库连接分配策略确定为目标数据库连接分配策略。
108.该数据查询装置还包括(图6中未示出):
109.提示模块,用于若目标子表的数目和目标数据库的可用数据库连接数目的大小关系与默认数据库连接分配策略不匹配,则生成用于指示所述默认数据库连接分配策略不适用的异常提醒消息。
110.作为一个实施例,若目标连接分配策略为第二连接分配策略,则查询模块603包
括:
111.分配数目确定单元,用于根据可用数据库连接数目和目标子表的数目,确定每个可用数据库连接对应的最大目标子表分配数目;
112.查询单元,用于根据最大目标子表分配数目将每个可用数据库连接分别分配给至少一个目标子表,以利用每个可用数据库连接分别对至少一个目标子表进行数据查询。
113.作为一个实施例,分配数目确定单元具体用于:
114.确定目标子表的数目与可用数据库连接数目的比值;
115.若该比值为整数,则将该比值确定为每个可用数据库连接对应的最大目标子表分配数目;
116.若该比值不是整数,则对该比值进行向上取整,将向上取整得到的值作为每个可用数据库连接对应的最大目标子表分配数目。
117.作为一个实施例,目标数据库中可用数据库连接数目采用下述方式确定:
118.确定目标数据库对应的数据连接池的最大连接数目;
119.确定最大连接数目与设定阈值的乘积,将乘积确定为目标数据库的可用数据库连接数目。
120.在本技术另一实施例中,还提供了一种电子设备,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信;
121.存储器703,用于存放计算机程序;
122.处理器701,用于执行存储器703上所存放的程序时,实现如下步骤:
123.接收针对目标数据库中目标数据表的数据查询请求,目标数据表包括多个目标子表;
124.基于多个目标子表的数目和目标数据库的可用数据库连接数目,确定目标数据库连接分配策略;
125.基于所述目标数据库连接分配策略为多个目标子表分配数据库连接,以利用分配的数据库连接对多个目标子表进行数据查询。
126.上述电子设备提到的通信总线704可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线704可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
127.通信接口702用于上述电子设备与其他设备之间的通信。
128.存储器703可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
129.上述的处理器701可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,
简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
130.在本技术另一实施例中,还提供了一种计算机可读存储介质,计算机可读存储介质上存储有数据查询程序,数据查询程序被处理器执行时实现上述任一数据查询方法的步骤。
131.本发明实施例在具体实现时,可以参阅上述各个实施例,具有相应的技术效果。
132.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
133.以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1