CN105912624A - 分布式部署的异构数据库的查询方法 - Google Patents

分布式部署的异构数据库的查询方法 Download PDF

Info

Publication number
CN105912624A
CN105912624A CN201610213375.5A CN201610213375A CN105912624A CN 105912624 A CN105912624 A CN 105912624A CN 201610213375 A CN201610213375 A CN 201610213375A CN 105912624 A CN105912624 A CN 105912624A
Authority
CN
China
Prior art keywords
query
result
enquiry module
database
type
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.)
Granted
Application number
CN201610213375.5A
Other languages
English (en)
Other versions
CN105912624B (zh
Inventor
付君辉
李宏伟
代宏伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cnis Tech Co Ltd
Original Assignee
Cnis Tech Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Cnis Tech Co Ltd filed Critical Cnis Tech Co Ltd
Priority to CN201610213375.5A priority Critical patent/CN105912624B/zh
Publication of CN105912624A publication Critical patent/CN105912624A/zh
Application granted granted Critical
Publication of CN105912624B publication Critical patent/CN105912624B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries

Abstract

本发明涉及一种分布式部署的异构数据库的查询方法,包括:接收应用程序的数据库查询请求;根据所述查询信息确定本次数据库查询的查询类型;根据所述查询信息判断所述查询请求是否为初次请求;若是,则开启查询模块集合中的每个查询模块对应的第一线程,以使每一所述第一线程根据所述查询类型调用对应的所述查询模块的查询接口进行数据查询;将所有所述第一线程的查询结果按照所属查询模块进行划分,并根据划分结果确定结果集;根据所述查询类型从所述结果集中获取并发送预设数量的查询结果给所述应用程序。本发明可以解决现有的数据查询系统面临的高负载和高并发问题,提高查询结果的返回速度,进而增强了系统的稳定性和查询效率。

Description

分布式部署的异构数据库的查询方法
技术领域
本发明涉及数据库查询技术领域,尤其涉及一种分布式部署的异构数据库的查询方法。
背景技术
随着互联网、电信、金融等行业的高速发展,海量数据时代已经来临,各种业务的数据量持续增长,使得行业应用系统需要处理和存储的数据量越来越大,对于系统性能的要求也就越来越高。
在此背景下,虽然营运而生了很多解决大数据处理的方案,比如hadoop等,但由于业务上的需求,传统行业应用系统大部分还是采用关系型数据库。现有的单一关系型数据库已经满足不了各行业日益增长的需求,因此将数据拆分到多个数据库已是必然的选择。然而,传统行业应用系统在面对大量用户访问和各层级的高并发请求时,针对多数据库的数据查询效率非常慢,甚至会出现系统崩溃。
面对上述问题,现有技术通常采用提高服务器性能、数据库存储量、编程语言的效率以及Web容器的性能等手段进行应对,但是这并不能从根本上解决系统面临的高负载和高并发问题。
发明内容
针对现有的关系型数据库查询方法存在的效率慢、易导致系统崩溃、无法应对高负载和高并发问题的弊端,本发明提供一种分布式部署的异构数据库的查询方法,该方法包括:
接收应用程序的数据库查询请求;所述查询请求包括用于从所述异构数据库中获取查询结果的查询信息;
根据所述查询信息确定本次数据库查询的查询类型;
根据所述查询信息判断所述查询请求是否为初次请求;
若是,则开启查询模块集合中的每个查询模块对应的第一线程,以使每一所述第一线程根据所述查询类型调用对应的所述查询模块的查询接口进行数据查询;
其中,所述查询模块为预先构建的用于管理和调用所述异构数据库的封装程序;
将所有所述第一线程的查询结果按照所属查询模块进行划分,并根据划分结果确定结果集;
根据所述查询类型从所述结果集中获取并发送预设数量的查询结果给所述应用程序。
可选地,所述根据所述查询类型从所述结果集中获取并发送预设数量的查询结果给所述应用程序之后,所述方法还包括:
将所述结果集中剩余的查询结果集存入缓存中。
可选地,所述根据所述查询信息判断所述查询请求是否为初次请求之后,所述方法还包括:
若所述查询请求不是初次请求,则根据所述查询类型从所述缓存中获取并发送预设数量的查询结果给所述应用程序,并将剩余的查询结果存入缓存中。
可选地,所述根据所述查询类型从所述结果集中获取并发送预设数量的查询结果给所述应用程序,包括:
若所述查询类型为排序查询,则将所述结果集中的所有查询结果按照预设规则进行排序,以根据排序结果从所述结果集中获取所述预设数量的查询结果给所述应用程序。
可选地,所述将所述结果集中的所有查询结果按照预设规则进行排序,以根据排序结果从所述结果集中获取所述预设数量的查询结果给所述应用程序之后,所述方法还包括:
确定所述缓存中每一所述查询模块对应的剩余查询结果数量;
根据所述每一所述查询模块对应的剩余查询结果数量,开启每一所述查询模块对应的第二线程,并使每一所述第二线程根据所述查询类型调用对应的所述查询模块的查询接口进行数据查询,以将每一所述查询模块对应的查询结果的数量补充至所述预设数量。
可选地,所述根据所述查询类型从所述结果集中获取并发送预设数量的查询结果给所述应用程序,包括:
若所述查询类型为非排序查询,则从所述结果集中随机获取所述预设数量的查询结果给所述应用程序。
可选地,所述开启查询模块集合中的每个查询模块对应的第一线程,以使每一所述第一线程根据所述查询类型调用对应的所述查询模块的查询接口进行数据查询之前,所述方法包括:
所述查询模块将所述异构数据库中的每个数据库的查询接口进行统一化处理,并将所述异构数据库的查询条件设置为key-value键值对的形式。
可选地,所述将所述异构数据库中的每个数据库的查询接口进行统一化处理,并将所述异构数据库的查询条件设置为key-value键值对的形式之后,所述方法还包括:
所述查询模块将所述查询条件按照所述异构数据库中的每个数据库的语法结构转换成SQL语句。
可选地,所述开启查询模块集合中的每个查询模块对应的第一线程,以使每一所述第一线程根据所述查询类型调用对应的所述查询模块的查询接口进行数据查询之前,所述方法包括:
所述查询模块根据接收到的所述异构数据库的数据库信息初始化所述异构数据库中的每一数据库关联的数据库连接池。
可选地,所述根据所述查询类型从所述结果集中获取并发送预设数量的查询结果给所述应用程序,包括:
所述查询模块根据所述查询类型从所述结果集中获取预设数量的查询结果,并将所述查询结果封装为泛型或MAP的集合发送给所述应用程序。
本发明的分布式部署的异构数据库的查询方法,基于支持分布式部署的查询模块进行管理和调用异构数据库,可以解决现有的数据查询系统面临的高负载和高并发问题,提高查询结果的返回速度,进而增强了系统的稳定性和查询效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一个实施例的分布式部署的异构数据库的查询方法的流程图;
图2为本发明另一个实施例的分布式部署的异构数据库的查询方法的流程图;
图3为本发明一个实施例的分布式部署的异构数据库的查询系统的结构示意图;
图4为本发明一个实施例的分布式部署的异构数据库的查询方法的管理模块进行排序查询的流程示意图;
图5为本发明一个实施例的分布式部署的异构数据库的查询方法的管理模块进行非排序查询的流程示意图;
图6为本发明一个实施例的分布式部署的异构数据库的查询方法的查询模块进行排序查询的流程示意图;
图7为本发明一个实施例的分布式部署的异构数据库的查询方法的查询模块进行排序查询的流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1为本发明一个实施例的分布式部署的异构数据库的查询方法的流程图;如图1所示,该方法包括:
S1:接收应用程序的数据库查询请求;
所述查询请求包括用于从所述异构数据库中获取查询结果的查询信息;
S2:根据所述查询信息确定本次数据库查询的查询类型;
S3:根据所述查询信息判断所述查询请求是否为初次请求;
具体地,数据库查询请求可以为用户通过应用程序客户端发送的用以对数据信息进行查询的请求,其包括的查询信息例可包括以下至少一种或其组合:所要查询的数据的关键词、疑问语句、查询类型(如排序查询和非排序查询)以及初次请求标识。因此,可根据该请求中的初次请求标识的内容判断该查询请求是初次请求或翻页请求。
S31:若是,则开启查询模块集合中的每个查询模块对应的第一线程,以使每一所述第一线程根据所述查询类型调用对应的所述查询模块的查询接口进行数据查询;
其中,所述查询模块为预先构建的用于管理和调用所述异构数据库的封装程序;
S4:将所有所述第一线程的查询结果按照所属查询模块进行划分,并根据划分结果确定结果集;
S5:根据所述查询类型从所述结果集中获取并发送预设数量的查询结果给所述应用程序。
本实施例的分布式部署的异构数据库的查询方法,基于支持分布式部署的查询模块进行管理和调用异构数据库,可以解决现有的数据查询系统面临的高负载和高并发问题,提高查询结果的返回速度,进而增强了系统的稳定性和查询效率。
实施例二
本实施例提供的数据库查询方法在实施例一的基础上,在根据所述查询类型从所述结果集中获取并发送预设数量的查询结果给所述应用程序之后,具体地还可以包括:
S6:将所述结果集中剩余的查询结果集存入缓存中。
在此基础上,本实施例中,步骤S3总根据所述查询信息判断所述查询请求是否为初次请求之后,具体还可以包括:
S32若所述查询请求不是初次请求,则根据所述查询类型从所述缓存中获取并发送预设数量的查询结果给所述应用程序,并将剩余的查询结果存入缓存中。
具体地,如果该查询请求不是初次请求,则将该查询请求判定为“翻页”请求,以根据已确定的查询类型从缓存中获取预设数量的查询结果,并发送给所述应用程序,同时将剩余的查询结果存入缓存中。
实施例三
本实施例在实施例一和实施例二的基础上,步骤S5中根据所述查询类型从所述结果集中获取并发送预设数量的查询结果给所述应用程序,还可以具体地包括:
S51:若所述查询类型为排序查询,则将所述结果集中的所有查询结果按照预设规则进行排序,以根据排序结果从所述结果集中获取所述预设数量的查询结果给所述应用程序。
举例来说,该预设规则可设置为按时间顺序、按相似度、位置信息等等。基于此特征,可使数据查询结果更加满足用户要求,提高数据查询的准确度。
进一步地,步骤S51中将所述结果集中的所有查询结果按照预设规则进行排序,以根据排序结果从所述结果集中获取所述预设数量的查询结果给所述应用程序之后,还可以包括:
S511:确定所述缓存中每一所述查询模块对应的剩余查询结果数量;
S512:根据所述每一所述查询模块对应的剩余查询结果数量,开启每一所述查询模块对应的第二线程,并使每一所述第二线程根据所述查询类型调用对应的所述查询模块的查询接口进行数据查询,以将每一所述查询模块对应的查询结果的数量补充至所述预设数量。
实施例四
作为本实施例的优选,步骤S5中根据所述查询类型从所述结果集中获取并发送预设数量的查询结果给所述应用程序,还可以具体地包括:
S52:若所述查询类型为非排序查询,则从所述结果集中随机获取所述预设数量的查询结果给所述应用程序。
作为本实施例的优选,步骤S4中开启查询模块集合中的每个查询模块对应的第一线程,以使每一所述第一线程根据所述查询类型调用对应的所述查询模块的查询接口进行数据查询之前,具体还可以包括:
S41:所述查询模块将所述异构数据库中的每个数据库的查询接口进行统一化处理,并将所述异构数据库的查询条件设置为key-value键值对的形式。
本实施例中,步骤S41中将所述异构数据库中的每个数据库的查询接口进行统一化处理,并将所述异构数据库的查询条件设置为key-value键值对的形式之后,具体还可以包括:
S42:所述查询模块将所述查询条件按照所述异构数据库中的每个数据库的语法结构转换成SQL语句。
作为本实施例的优选,步骤S4中开启查询模块集合中的每个查询模块对应的第一线程,以使每一所述第一线程根据所述查询类型调用对应的所述查询模块的查询接口进行数据查询之前,具体还可以包括:
S42:所述查询模块根据接收到的所述异构数据库的数据库信息初始化所述异构数据库中的每一数据库关联的数据库连接池。
作为本实施例的优选,步骤S5中根据所述查询类型从所述结果集中获取并发送预设数量的查询结果给所述应用程序,还可以进一步包括:
S53:所述查询模块根据所述查询类型从所述结果集中获取预设数量的查询结果,并将所述查询结果封装为泛型或MAP的集合发送给所述应用程序。
本实施例的分布式部署的异构数据库的查询方法,在基于支持分布式部署的查询模块进行管理和调用异构数据库的基础上,通过将所述异构数据库中的每个数据库的查询接口进行统一化处理,以及将所述查询条件按照所述异构数据库中的每个数据库的语法结构转换成SQL语句,可以解决现有技术的行业和数据库交互过程中,由于多种数据库支持的语法不同而影响开发人员的编码效率的问题,进一步提高了高负载和高并发的数据查询过程的查询速度,增强了系统的稳定性和查询效率。
下面以一具体的实施例来说明本发明,但不限定本发明的保护范围。
图3为本发明一个实施例的分布式部署的异构数据库的查询系统的结构示意图。如图3所示,本实施例的系统包括管理模块10、查询模块20以及异构数据库30;其中,管理模块10主要是对查询模块20进行管理和调用。
查询模块20支持分布式部署,各个查询模块20的查询逻辑由管理模块统一协调分配。
管理模块10的功能具体如下:
A1.数据库管理,主要是对整个系统中所有数据库的维护,功能包括数据库的增加、修改、删除,以便于后期扩展。数据库的参数主要包括:IP地址、端口、实例名、数据库类型、用户名、密码、连接池大小范围等。
A2.查询模块管理,主要是对所有的查询模块进行统一管理,功能包括查询模块的增加、修改、删除以及和数据库的关联(每个查询模块都可以关联多个数据库),每次关联都会调用查询模块相应的接口,可以动态的增加和删除数据库连接池,这些数据库的连接池由查询模块进行维护。
A3.结果封装,对外提供查询接口,供应用程序调用,根据排序和非排序两种类型对查询过程进行处理,最后对查询结果进行封装。具体地,图4为本发明一个实施例的分布式部署的异构数据库的查询方法的管理模块进行排序查询的流程示意图。图如4所示,具体步骤包括:
A41.排序查询400条数据,判断查询模块个数。
A42.如果查询模块就1个,那么直接调用查询模块提供的排序查询接口,获取查询结果。
A43.如果查询模块为多个,那么判断是否为首次查询,否则为翻页操作。
A44.如果是首次查询,每个查询模块开启一个子线程进行查询,每个线程里查询模块的流程和单查询模块的查询流程相同。等待所有子线程执行完成,然后汇总各个线程的结果集,并进行排序,取排序后的前400条数据作为查询结果。
A45.计算前400条数据中每个查询模块各占多少,然后从各查询模块将取走的数据量补充上,存入缓存,保证缓存里每个查询模块有400条数据。
A46.如果是翻页操作,管理模块从缓存中获取结果集,取排序后的前400条数据作为查询结果,然后重复执行第A45步骤。
图5为本发明一个实施例的分布式部署的异构数据库的查询方法的管理模块进行非排序查询的流程示意图;如图5所示,具体步骤包括:
A51.非排序查询400条数据,判断查询模块个数。
A52.如果查询模块就1个,那么直接调用查询模块提供的非排序查询接口,获取查询结果。
A53.如果查询模块为多个,那么判断是否为首次查询,否则为翻页操作。
A54.如果是首次查询,每个查询模块开启一个子线程进行查询,每个线程里查询模块的流程和单查询模块的查询流程相同。等待所有子线程执行完成,然后汇总各个线程的结果集,随机获取400条数据作为查询结果,剩余数据存入缓存。
A55.如果是翻页操作,则从缓存中获取查询条件,并判断缓存中是否满足400条数据,
A56.如果满足,直接获取400条返回结果;
如果不满足,执行A54步骤获取返回结果。
在此基础上,查询模块20主要是对数据库进行管理和调用。数据库支持分布式部署,各个数据库的查询逻辑由查询模块统一协调分配,同时维护各大主流数据库的语法结构。查询模块20的功能具体如下:
B1.数据通信,通过socket(RMI技术和MINA框架)或http协议创建应用程序接口,供管理模块调用。
B2.线程管理,获取查询模块关联的所有数据库信息,每个数据库开启一个子线程并发运行,采用JDK自带的线程池管理所有子线程,可以有效的减少竞争和死锁的发生。
B3.数据库维护,(1)异构数据库管理,将各主流数据库的查询接口封装为统一的查询接口,通过统一的查询接口进行访问,获取执行结果。(2)数据库连接池管理,通过管理模块传递的数据库信息初始化数据库连接池,每个查询线程都从数据库连接池中获取数据库连接。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个,当数据库连接的空闲时间超过最大空闲时间时就会被释放,这样可以避免数据库连接遗漏,提高了数据库操作性能。
B4.数据查询,开始调用JDBC提供的数据库接口查询数据,由于海量数据的类型比较多、数据量比较大,而每种类型显示的结果不同,因此查询前先按照类型进行统计,如果统计到某类型下存在数据,就先对该类型下的数据进行查询,其查询类型可分为排序和非排序两种。
B5.结果封装,将返回结果封装为泛型或MAP的集合。
其中对于步骤B3中异构数据库,可以具体描述为:
B31.统一查询接口,查询条件以key-value键值对的形式传递。
B32.条件转换,将查询条件按照各主流数据库的语法结构转换成SQL语句。
B33.返回查询结果。
其中对于步骤B4,可以具体描述为:
例如:我们开始一次分页查询,每一页显示400条数据,分10个数据库存储,且数据类型包含10种。
(1)数据统计
B40.统一各个数据库的查询接口,转换成各主流数据库可识别的语法。
B41.若为首次查询,则计算关联的数据库个数,每一个数据库开启一个线程,也就是10个线程并行查询;其中,每个线程都查询400条数据;
B42.然后每个数据库查询线程再根据10类型开启10个子线程。
B43.如果统计到有一个线程在某一数据库某一类型下存在数据,则关闭其他线程,之后就查询该类型的数据。
图6为本发明一个实施例的分布式部署的异构数据库的查询方法的查询模块进行排序查询的流程示意图;如图6所示,具体步骤包括:
B44.统一各个主流数据库的查询接口,转换成各主流数据库可识别的语法。
B45.判断查询类型,是首次查询操作还是翻页操作。
B46.首次查询,每一个数据库开启一个线程,也就是10个线程并行查询,每一个数据库线程都需要查满400条数据。
B47.把10个数据库的数据汇总到结果集并排序,取最开始的400条数据即为返回结果。
B48.将结果集存入缓存,并记录此次查询中每个数据库数据的开始和结束位置。
B49.分别记录这400条数据在每个数据库中各占多少,并把缓存中取出的数据量补齐,例如,数据库1中占100条,那么缓存中数据库1的数量就是300,需要再开启一个线程,按照查询条件再从数据库1中查出100条数据放入缓存,直到查不出数据。
B410.更新缓存中每个数据库数据的开始和结束位置。
B411.翻页操作,需要缓存中10个数据库的数据再次排序,取出最开始的400条数据,再重复执行B49和B410操作,直到查不到数据。
图7为本发明一个实施例的分布式部署的异构数据库的查询方法的查询模块进行排序查询的流程示意图。如图7所示,具体步骤包括:
B412.统一各个主流数据库的查询接口,转换成各主流数据库可识别的语法。
B413.判断查询类型,是首次查询操作还是翻页操作。
B414.首次查询,每一个数据库开启一个线程,也就是10个线程并行查询。
B415.设置一个结果集,每个线程查询到的数据都会向结果集里添加,并判断结果集中的数据数量是否达到400。
B416.如果数据量达到了400条,就将没有运行完的线程关闭掉。
B417.记录此次查询中每个数据库数据的开始和结束位置,翻页查询需要从开始或结束位置进行查询。
B418.翻页操作,重复执行B415到B417的操作,直到查不到数据。
以上实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种分布式部署的异构数据库的查询方法,其特征在于,包括:
接收应用程序的数据库查询请求;所述查询请求包括用于从所述异构数据库中获取查询结果的查询信息;
根据所述查询信息确定本次数据库查询的查询类型;
根据所述查询信息判断所述查询请求是否为初次请求;
若是,则开启查询模块集合中的每个查询模块对应的第一线程,以使每一所述第一线程根据所述查询类型调用对应的所述查询模块的查询接口进行数据查询;
其中,所述查询模块为预先构建的用于管理和调用所述异构数据库的封装程序;
将所有所述第一线程的查询结果按照所属查询模块进行划分,并根据划分结果确定结果集;
根据所述查询类型从所述结果集中获取并发送预设数量的查询结果给所述应用程序。
2.如权利要求1所述的方法,其特征在于,所述根据所述查询类型从所述结果集中获取并发送预设数量的查询结果给所述应用程序之后,所述方法还包括:
将所述结果集中剩余的查询结果集存入缓存中。
3.如权利要求2所述的方法,其特征在于,所述根据所述查询信息判断所述查询请求是否为初次请求之后,所述方法还包括:
若所述查询请求不是初次请求,则根据所述查询类型从所述缓存中获取并发送预设数量的查询结果给所述应用程序,并将剩余的查询结果存入缓存中。
4.如权利要求1或2所述的方法,其特征在于,所述根据所述查询类型从所述结果集中获取并发送预设数量的查询结果给所述应用程序,包括:
若所述查询类型为排序查询,则将所述结果集中的所有查询结果按照预设规则进行排序,以根据排序结果从所述结果集中获取所述预设数量的查询结果给所述应用程序。
5.如权利要求4所述的方法,其特征在于,所述将所述结果集中的所有查询结果按照预设规则进行排序,以根据排序结果从所述结果集中获取所述预设数量的查询结果给所述应用程序之后,所述方法还包括:
确定所述缓存中每一所述查询模块对应的剩余查询结果数量;
根据所述每一所述查询模块对应的剩余查询结果数量,开启每一所述查询模块对应的第二线程,并使每一所述第二线程根据所述查询类型调用对应的所述查询模块的查询接口进行数据查询,以将每一所述查询模块对应的查询结果的数量补充至所述预设数量。
6.如权利要求1或2所述的方法,其特征在于,所述根据所述查询类型从所述结果集中获取并发送预设数量的查询结果给所述应用程序,包括:
若所述查询类型为非排序查询,则从所述结果集中随机获取所述预设数量的查询结果给所述应用程序。
7.如权利要求1或2所述的方法,其特征在于,所述开启查询模块集合中的每个查询模块对应的第一线程,以使每一所述第一线程根据所述查询类型调用对应的所述查询模块的查询接口进行数据查询之前,所述方法包括:
所述查询模块将所述异构数据库中的每个数据库的查询接口进行统一化处理,并将所述异构数据库的查询条件设置为key-value键值对的形式。
8.如权利要求7所述的方法,其特征在于,所述将所述异构数据库中的每个数据库的查询接口进行统一化处理,并将所述异构数据库的查询条件设置为key-value键值对的形式之后,所述方法还包括:
所述查询模块将所述查询条件按照所述异构数据库中的每个数据库的语法结构转换成SQL语句。
9.如权利要求1或2所述的方法,其特征在于,所述开启查询模块集合中的每个查询模块对应的第一线程,以使每一所述第一线程根据所述查询类型调用对应的所述查询模块的查询接口进行数据查询之前,所述方法包括:
所述查询模块根据接收到的所述异构数据库的数据库信息初始化所述异构数据库中的每一数据库关联的数据库连接池。
10.如权利要求1或2所述的方法,其特征在于,所述根据所述查询类型从所述结果集中获取并发送预设数量的查询结果给所述应用程序,包括:
所述查询模块根据所述查询类型从所述结果集中获取预设数量的查询结果,并将所述查询结果封装为泛型或MAP的集合发送给所述应用程序。
CN201610213375.5A 2016-04-07 2016-04-07 分布式部署的异构数据库的查询方法 Active CN105912624B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610213375.5A CN105912624B (zh) 2016-04-07 2016-04-07 分布式部署的异构数据库的查询方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610213375.5A CN105912624B (zh) 2016-04-07 2016-04-07 分布式部署的异构数据库的查询方法

Publications (2)

Publication Number Publication Date
CN105912624A true CN105912624A (zh) 2016-08-31
CN105912624B CN105912624B (zh) 2019-05-24

Family

ID=56745416

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610213375.5A Active CN105912624B (zh) 2016-04-07 2016-04-07 分布式部署的异构数据库的查询方法

Country Status (1)

Country Link
CN (1) CN105912624B (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106776848A (zh) * 2016-11-04 2017-05-31 广州市诚毅科技软件开发有限公司 一种数据库查询方法及装置
CN107203645A (zh) * 2017-06-27 2017-09-26 浪潮软件集团有限公司 一种并发查询多个数据库的方法及Eclipse平台
CN108959291A (zh) * 2017-05-19 2018-12-07 腾讯科技(深圳)有限公司 查询方法及相关装置
CN109189800A (zh) * 2018-08-16 2019-01-11 北京中科梧桐网络科技有限公司 一种数据层分页查询模型以及查询方法
CN109471872A (zh) * 2017-08-30 2019-03-15 北京国双科技有限公司 处理高并发查询请求的方法及装置
CN109508344A (zh) * 2018-09-29 2019-03-22 中国平安人寿保险股份有限公司 业务数据查询方法、装置、电子设备及存储介质
CN109522325A (zh) * 2018-09-28 2019-03-26 中国平安人寿保险股份有限公司 业务影响分析方法、装置、电子设备及存储介质
CN110347554A (zh) * 2019-07-08 2019-10-18 紫光云技术有限公司 一种动态数据库连接池实现db监控的方法
CN110427415A (zh) * 2019-08-02 2019-11-08 泰康保险集团股份有限公司 知识库共享方法、装置、系统介质及电子设备
CN110580258A (zh) * 2019-09-20 2019-12-17 中国银行股份有限公司 大数据自由查询方法及装置
CN110659327A (zh) * 2019-08-16 2020-01-07 平安科技(深圳)有限公司 实现异构数据库之间数据交互式查询的方法和相关装置
CN110674163A (zh) * 2019-08-26 2020-01-10 天津浪淘科技股份有限公司 一种基于bs构架的异构数据查询系统及其方法
CN110825953A (zh) * 2019-11-12 2020-02-21 上海德启信息科技有限公司 数据查询方法、装置和设备
CN110895544A (zh) * 2018-08-24 2020-03-20 北京国双科技有限公司 一种接口数据处理方法、装置、系统及存储介质
CN112434070A (zh) * 2020-12-14 2021-03-02 四川长虹电器股份有限公司 一种基于相似度算法的分页查询方法
CN113111097A (zh) * 2021-05-12 2021-07-13 国家海洋信息中心 利用分布式数据库技术实现高速查询海洋数据的方法
CN113742558A (zh) * 2021-08-30 2021-12-03 武汉海昌信息技术有限公司 多种数据库兼容和并存的查询方法、系统、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080319958A1 (en) * 2007-06-22 2008-12-25 Sutirtha Bhattacharya Dynamic Metadata based Query Formulation for Multiple Heterogeneous Database Systems
CN101694665A (zh) * 2009-10-27 2010-04-14 中兴通讯股份有限公司 一种异构数据源数据查询方法及装置
CN102081669A (zh) * 2011-01-24 2011-06-01 哈尔滨工业大学 多源遥感资源异构数据库的分级检索方法
CN102163195A (zh) * 2010-02-22 2011-08-24 北京东方通科技股份有限公司 一种基于分布式、异构数据库统一视图的查询优化方法
CN102708121A (zh) * 2011-02-18 2012-10-03 微软公司 异构源上的动态分布式查询执行

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080319958A1 (en) * 2007-06-22 2008-12-25 Sutirtha Bhattacharya Dynamic Metadata based Query Formulation for Multiple Heterogeneous Database Systems
CN101694665A (zh) * 2009-10-27 2010-04-14 中兴通讯股份有限公司 一种异构数据源数据查询方法及装置
CN102163195A (zh) * 2010-02-22 2011-08-24 北京东方通科技股份有限公司 一种基于分布式、异构数据库统一视图的查询优化方法
CN102081669A (zh) * 2011-01-24 2011-06-01 哈尔滨工业大学 多源遥感资源异构数据库的分级检索方法
CN102708121A (zh) * 2011-02-18 2012-10-03 微软公司 异构源上的动态分布式查询执行

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106776848A (zh) * 2016-11-04 2017-05-31 广州市诚毅科技软件开发有限公司 一种数据库查询方法及装置
CN106776848B (zh) * 2016-11-04 2020-04-17 广州市诚毅科技软件开发有限公司 一种数据库查询方法及装置
CN108959291A (zh) * 2017-05-19 2018-12-07 腾讯科技(深圳)有限公司 查询方法及相关装置
CN108959291B (zh) * 2017-05-19 2023-03-24 腾讯科技(深圳)有限公司 查询方法及相关装置
CN107203645A (zh) * 2017-06-27 2017-09-26 浪潮软件集团有限公司 一种并发查询多个数据库的方法及Eclipse平台
CN109471872A (zh) * 2017-08-30 2019-03-15 北京国双科技有限公司 处理高并发查询请求的方法及装置
CN109189800A (zh) * 2018-08-16 2019-01-11 北京中科梧桐网络科技有限公司 一种数据层分页查询模型以及查询方法
CN110895544A (zh) * 2018-08-24 2020-03-20 北京国双科技有限公司 一种接口数据处理方法、装置、系统及存储介质
CN110895544B (zh) * 2018-08-24 2023-02-21 北京国双科技有限公司 一种接口数据处理方法、装置、系统及存储介质
CN109522325A (zh) * 2018-09-28 2019-03-26 中国平安人寿保险股份有限公司 业务影响分析方法、装置、电子设备及存储介质
CN109508344B (zh) * 2018-09-29 2024-03-12 中国平安人寿保险股份有限公司 业务数据查询方法、装置、电子设备及存储介质
CN109508344A (zh) * 2018-09-29 2019-03-22 中国平安人寿保险股份有限公司 业务数据查询方法、装置、电子设备及存储介质
CN110347554A (zh) * 2019-07-08 2019-10-18 紫光云技术有限公司 一种动态数据库连接池实现db监控的方法
CN110427415A (zh) * 2019-08-02 2019-11-08 泰康保险集团股份有限公司 知识库共享方法、装置、系统介质及电子设备
CN110659327A (zh) * 2019-08-16 2020-01-07 平安科技(深圳)有限公司 实现异构数据库之间数据交互式查询的方法和相关装置
WO2021031407A1 (zh) * 2019-08-16 2021-02-25 平安科技(深圳)有限公司 实现异构数据库之间数据交互式查询的方法、装置、电子设备、存储介质
CN110674163A (zh) * 2019-08-26 2020-01-10 天津浪淘科技股份有限公司 一种基于bs构架的异构数据查询系统及其方法
CN110580258A (zh) * 2019-09-20 2019-12-17 中国银行股份有限公司 大数据自由查询方法及装置
CN110825953A (zh) * 2019-11-12 2020-02-21 上海德启信息科技有限公司 数据查询方法、装置和设备
CN110825953B (zh) * 2019-11-12 2024-03-22 上海德启信息科技有限公司 数据查询方法、装置和设备
CN112434070A (zh) * 2020-12-14 2021-03-02 四川长虹电器股份有限公司 一种基于相似度算法的分页查询方法
CN113111097A (zh) * 2021-05-12 2021-07-13 国家海洋信息中心 利用分布式数据库技术实现高速查询海洋数据的方法
CN113742558A (zh) * 2021-08-30 2021-12-03 武汉海昌信息技术有限公司 多种数据库兼容和并存的查询方法、系统、设备及介质

Also Published As

Publication number Publication date
CN105912624B (zh) 2019-05-24

Similar Documents

Publication Publication Date Title
CN105912624A (zh) 分布式部署的异构数据库的查询方法
US8515949B2 (en) Method and system for a transparent application of multiple queries across multiple data sources
US6240422B1 (en) Object to relational database mapping infrastructure in a customer care and billing system
US8032890B2 (en) Resources managing in isolated plurality of applications context using data slots to access application global data and specification of resources lifetime to access resources
US6308163B1 (en) System and method for enterprise workflow resource management
CN103177059B (zh) 用于数据库计算引擎的分离处理路径
US20090164414A1 (en) Query response service for business objects
CN107491487A (zh) 一种全文数据库架构及位图索引创建、数据查询方法、服务器及介质
CN101065947A (zh) Web服务注册和操作方法
CN106407244A (zh) 基于多数据库的数据查询方法、系统和装置
US10120886B2 (en) Database integration of originally decoupled components
CN106095878A (zh) 基于分库分表的数据库操作装置及方法
US10885062B2 (en) Providing database storage to facilitate the aging of database-accessible data
WO2015030767A1 (en) Queries involving multiple databases and execution engines
WO2003073327A1 (en) Eager relationship caching of entity beans
CN103455335A (zh) 一种多级分类的Web实现方法
US20150269234A1 (en) User Defined Functions Including Requests for Analytics by External Analytic Engines
CN105164673A (zh) 跨数据库和文件系统的查询一体化
CN109241384A (zh) 一种科研信息的可视化方法及装置
CN104571946B (zh) 一种支持逻辑电路快速查询的存储器装置及其访问方法
JP2001184353A (ja) データベース情報のスクロール
CN106484826A (zh) 一种操作数据库的方法及装置
CN105893156B (zh) 存储计算系统中的请求处理方法及存储计算系统
EP1665094A1 (en) Mapping data from a data warehouse to a data mart
US9361351B2 (en) Data management via active and inactive table space containers

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant