数据库数据查询方法、装置、设备及存储介质制造方法及图纸

技术编号:36117900 阅读:43 留言:0更新日期:2022-12-28 14:22
本发明专利技术公开了一种数据库数据查询方法、装置、设备及存储介质。该方法包括:在业务线程获取到客户端发送的执行请求时,创建用于执行数据库语句的生产者线程;通过业务线程或生产者线程创建结果临时表;通过生产者线程根据语句信息从数据库中获取与执行请求关联的查询结果数据,并将查询结果数据写入结果临时表;通过业务线程向客户端发送请求执行完成指令,使客户端基于请求执行完成指令,生成本轮结果查询中的当前数据获取请求;通过业务线程根据当前数据获取请求,从结果临时表中获取与当前数据获取请求关联的目标结果数据;通过业务线程将查询结果数据反馈至客户端,直到完成本轮结果查询和/或接收到客户端发送的终止指令后结束数据查询。束数据查询。束数据查询。

【技术实现步骤摘要】
数据库数据查询方法、装置、设备及存储介质


[0001]本专利技术涉及数据处理
,尤其涉及一种数据库数据查询方法、装置、设备及存储介质。

技术介绍

[0002]目前,数据库如果带fetch属性的execute(执行)请求,则可以解决execute请求处理时延较长,且需要等待数据库将所有的结果集都传给客户端,才认为execute请求完成的问题。
[0003]但作为当前主流数据库系统普遍支持的数据访问方法,对于带有fetch属性的execute方式仍存在以下缺点:execute请求处理时延仍然较长,需要等待数据库将所有的结果集都写入本地结果集临时表中,才可以被认为execute请求执行完成。

技术实现思路

[0004]本专利技术提供了一种数据库数据查询方法、装置、设备及存储介质,以降低执行请求处理时延,提高数据库数据查询效率。
[0005]根据本专利技术的一方面,提供了一种数据库数据查询方法,所述方法包括:
[0006]在业务线程获取到客户端发送的执行请求时,创建用于执行数据库语句的生产者线程;其中,所述执行请求中包括所述数据库语句的语句信息;
[0007]通过所述业务线程或所述生产者线程创建结果临时表;
[0008]通过所述生产者线程根据所述语句信息从数据库中获取与所述执行请求关联的查询结果数据,并将所述查询结果数据写入所述结果临时表;
[0009]通过所述业务线程向所述客户端发送请求执行完成指令,以使所述客户端基于所述请求执行完成指令,生成本轮结果查询中的当前数据获取请求;
[0010]通过所述业务线程根据所述当前数据获取请求,从所述结果临时表中获取与所述当前数据获取请求关联的目标结果数据;其中,所述查询结果数据包括所述目标结果数据;
[0011]通过所述业务线程将所述目标结果数据反馈至所述客户端,直到完成所述本轮结果查询和/或接收到所述客户端发送的终止指令后结束数据查询。
[0012]根据本专利技术的另一方面,提供了一种数据库数据查询装置,其特征在于,包括:
[0013]生产者线程创建模块,用于在业务线程获取到客户端发送的执行请求时,创建用于执行数据库语句的生产者线程;其中,所述执行请求中包括所述数据库语句的语句信息;
[0014]临时表创建模块,用于通过所述业务线程或所述生产者线程创建结果临时表;
[0015]查询结果写入模块,用于通过所述生产者线程根据所述语句信息从数据库中获取与所述执行请求关联的查询结果数据,并将所述查询结果数据写入所述结果临时表;
[0016]完成指令发送模块,用于通过所述业务线程向所述客户端发送请求执行完成指令,以使所述客户端基于所述请求执行完成指令,生成本轮结果查询中的当前数据获取请求;
[0017]目标结果数据获取模块,用于通过所述业务线程根据所述当前数据获取请求,从所述结果临时表中获取与所述当前数据获取请求关联的目标结果数据;其中,所述查询结果数据包括所述目标结果数据;
[0018]查询结果反馈模块,用于通过所述业务线程将所述目标结果数据反馈至所述客户端,直到完成所述本轮结果查询和/或接收到所述客户端发送的终止指令后结束数据查询。
[0019]根据本专利技术的另一方面,提供了一种电子设备,所述电子设备包括:
[0020]至少一个处理器;以及
[0021]与所述至少一个处理器通信连接的存储器;其中,
[0022]所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本专利技术任一实施例所述的数据库数据查询方法。
[0023]根据本专利技术的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本专利技术任一实施例所述的数据库数据查询方法。
[0024]本专利技术实施例方案通过在创建完结果临时表后即可由业务线程向客户端发送请求执行完成指令,无需等待生产者线程将全部查询结果数据写入完毕。业务线程和生产者线程并行执行,由业务线程负责响应客户端,以及从结果临时表中读取数据,由生产者线程负责向结果临时表中写入数据,极大缩短了对客户端请求响应阶段的响应时延,使得数据库能够对客户端的执行请求做出快速回响应,降低了执行请求处理时延,提高了数据库数据查询效率,提升了整个数据库数据查询流程的整体性能。
[0025]应当理解,本部分所描述的内容并非旨在标识本专利技术的实施例的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0026]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0027]图1是根据本专利技术实施例一提供的一种数据库数据查询方法的流程图;
[0028]图2A是根据本专利技术实施例二提供的一种数据库数据查询方法的流程图;
[0029]图2B是根据本专利技术实施例二提供的一种数据库数据查询方法的结构示意图;
[0030]图3是根据本专利技术实施例三提供的一种数据库数据查询装置的结构示意图;
[0031]图4是实现本专利技术实施例的数据库数据查询方法的电子设备的结构示意图。
具体实施方式
[0032]为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范
围。
[0033]需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0034]实施例一
[0035]图1为本专利技术实施例一提供的一种数据库数据查询方法的流程图,本实施例可适用于客户端从数据库系统中查询数据库数据的情况,该方法可以由数据库数据查询装置来执行,该数据库数据查询装置可以采用硬件和/或软件的形式实现,该数据库数据查询装置可配置于电子设备中。如图1所示,该方法包括:
[0036]S110、在业务线程获取到客户端发送的执行请求时,创建用于执行数据库语句的生产者本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库数据查询方法,其特征在于,包括:在业务线程获取到客户端发送的执行请求时,创建用于执行数据库语句的生产者线程;其中,所述执行请求中包括所述数据库语句的语句信息;通过所述业务线程或所述生产者线程创建结果临时表;通过所述生产者线程根据所述语句信息从数据库中获取与所述执行请求关联的查询结果数据,并将所述查询结果数据写入所述结果临时表;通过所述业务线程向所述客户端发送请求执行完成指令,以使所述客户端基于所述请求执行完成指令,生成本轮结果查询中的当前数据获取请求;通过所述业务线程根据所述当前数据获取请求,从所述结果临时表中获取与所述当前数据获取请求关联的目标结果数据;其中,所述查询结果数据包括所述目标结果数据;通过所述业务线程将所述目标结果数据反馈至所述客户端,直到完成所述本轮结果查询和/或接收到所述客户端发送的终止指令后结束数据查询。2.根据权利要求1所述的方法,其特征在于,所述当前数据获取请求中包括请求数据数量;相应的,所述通过所述业务线程根据所述当前数据获取请求,从所述结果临时表中获取与所述当前数据获取请求关联的目标结果数据,包括:确定在所述业务线程获取所述目标结果数据的过程中,所述业务线程从所述结果临时表中已读取的已读数据数量、所述生产者线程在所述结果临时表中已写入的已写数据数量以及未读数据数量;其中,所述未读数据数量为所述请求数据数量与所述已读数据数量之间的差值;根据所述已读数据数量、所述已写数据数量和所述未读数据数量,从所述结果临时表中获取与所述当前数据获取请求关联的目标结果数据。3.根据权利要求2所述的方法,其特征在于,所述根据所述已读数据数量、所述已写数据数量和所述未读数据数量,从所述结果临时表中获取与所述当前数据获取请求关联的目标结果数据,包括:确定所述已读数据数量与所述已写数据数量之间的数量差值;根据所述数量差值与所述未读数据数量之间的数量比较结果,从所述结果临时表中获取与所述当前数据获取请求关联的目标结果数据。4.根据权利要求3所述的方法,其特征在于,所述根据所述数量差值与所述未读数据数量之间的数量比较结果,从所述结果临时表中获取与所述当前数据获取请求关联的目标结果数据,包括:若所述数量差值不小于所述未读数据数量,则所述业务线程从所述结果临时表中直接读取未读数据,并得到与所述当前数据获取请求关联的目标结果数据;若所述数量差值小于所述未读数据数量,且所述数量差值大于预设差值阈值,则所述业务线程在读取下一条未读数据时,重新确定数量差值与未读数据数量之间的数量比较结果,并基于该数量比较结果,得到所述目标结果数据;若所述数量差值等于预设差值阈值,则将所述业务线程置于睡眠状态,在所述已写数据数量更新时,将所述业务线程置于唤醒状态,并在所述业务线程处于唤醒状态时,从所述结果临时表中获取与所述当前数据获取请求关联的目标结果数据。
5.根据权利要求1所述的方法,其特征在于,所述从...

【专利技术属性】
技术研发人员:方沛魏琪鹭周亚运付裕
申请(专利权)人:金篆信科有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1