一种跨库跨表查询方法、设备、服务器及存储介质技术

技术编号:24455942 阅读:29 留言:0更新日期:2020-06-10 15:33
本申请公开了一种跨库跨表查询方法、设备、服务器及存储介质,所述方法包括:应用于服务器,所述服务器预先配置有多种类型的数据库,接收跨库跨表查询请求,所述跨库跨表查询请求携带有跨库跨表查询语句和查询需求信息;对所述跨库跨表查询语句进行解析处理,得到多个单库单表的查询语句;调用结果集查询方法,基于所述结果集查询方法、每一单库单表的查询语句和数据库许可标识从对应的数据库中获取每一单库单表查询语句对应的结果集,所述数据库许可标识为配置所述多种类型的数据库时确定的;根据所述查询需求信息对所述多个单库单表的结果集进行整合处理,得到目标结果集。利用本申请提供的技术方案可以大大降低数据库查询访问的处理效率。

A cross database and cross table query method, device, server and storage medium

【技术实现步骤摘要】
一种跨库跨表查询方法、设备、服务器及存储介质
本申请涉及互联网通信
,尤其涉及一种跨库跨表查询方法、设备、服务器及存储介质。
技术介绍
数据库广泛用于许多应用领域中的数据存储。例如商业智能(BusinessIntelligence,BI),商业智能又称商业智慧或商务智能,指用现代数据仓库技术、线上分析处理技术、数据挖掘和数据展现技术进行数据分析以实现商业价值。现有技术中,一些商业智能平台,例如Metabase(是一种开源的BI平台),在查询库表时,只能关联查询同一个数据库表;具体的,在应对数据查询时,只能查询展示一个表的数据,无法跨表查询得到结果。即使关联表查询时,也只能关联本数据库中的表,无法实现跨库。因此,需要提供有效的方案,以实现跨库跨表查询。
技术实现思路
本申请提供了一种跨库跨表查询方法、设备、服务器及存储介质,可以实现跨库跨表查询,大大降低数据库查询访问的处理效率。一方面,本申请提供了一种跨库跨表查询方法,应用于服务器,所述服务器预先配置有多种类型的数据库,所述方法包括:接收跨库跨表查询请求,所述跨库跨表查询请求携带有跨库跨表查询语句和查询需求信息;对所述跨库跨表查询语句进行解析处理,得到多个单库单表的查询语句;调用结果集查询方法,基于所述结果集查询方法、每一单库单表的查询语句和数据库许可标识从对应的数据库中获取每一单库单表查询语句对应的结果集,所述数据库许可标识为配置所述多种类型的数据库时确定的;根据所述查询需求信息对所述多个单库单表的结果集进行整合处理,得到目标结果集。另一方面提供了一种跨库跨表查询设备,所述设备预先配置有多种类型的数据库,所述设备包括:跨库跨表查询请求接收模块,用于接收跨库跨表查询请求,所述跨库跨表查询请求携带有跨库跨表查询语句和查询需求信息;解析处理模块,用于对所述跨库跨表查询语句进行解析处理,得到多个单库单表的查询语句;结果集获取模块,用于调用结果集查询方法,基于所述结果集查询方法、每一单库单表的查询语句和数据库许可标识从对应的数据库中获取每一单库单表查询语句对应的结果集,所述数据库许可标识为配置所述多种类型的数据库时确定的;整合处理模块,用于根据所述查询需求信息对所述多个单库单表的结果集进行整合处理,得到目标结果集。另一方面提供了一种跨库跨表查询服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上述的跨库跨表查询方法。另一方面提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如上述的跨库跨表查询方法。本申请提供的跨库跨表查询方法、设备、服务器及存储介质,具有如下技术效果:本申请在为服务器配置数据库时,设置了表征数据库多种权限的数据库许可标识;在跨库跨表查询时,将跨库跨表查询语句解析成单库单表的查询语句,并通过预先封装好结果集查询方法,无需手动选择数据库,再选择数据表,只需要在方法中传入相应的数据,并携带上数据库许可标识,就可以快速的从多种类型的数据库获取数据,实现对数据库的查询访问,大大降低数据库查询访问的处理效率。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。图1是本申请实施例提供的一种应用环境的示意图;图2是本申请实施例提供的一种在服务器中配置多种类型的数据库的流程示意图;图3是本申请实施例提供的一种跨库跨表查询方法的流程示意图;图4是本申请实施例提供的一种服务器对所述跨库跨表查询语句进行解析处理,得到多个单库单表的查询语句的流程示意图;图5是本申请实施例提供的一种服务器调用结果集查询方法,基于所述结果集查询方法、每一单库单表的查询语句和数据库许可标识从对应的数据库中获取每一单库单表查询语句对应的结果集的流程示意图;图6是本申请实施例提供的另一种跨库跨表查询方法的流程示意图;图7是本申请实施例提供的另一种跨库跨表查询方法的流程示意图;图8是本申请实施例提供的实时的入出数据包量比的曲线示意图;图9是本申请实施例提供的一种跨库跨表查询方法的服务器的硬件结构框图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。请参阅图1,图1是本申请实施例提供的一种应用环境的示意图,如图1所示,该应用环境至少包括客户端01、服务器02和多种类型的数据库03。本说明书实施例中,所述客户端01可以为智能手机、台式计算机、平板电脑、笔记本电脑、智能音箱、数字助理、增强现实(augmentedreality,AR)/虚拟现实(virtualreality,VR)设备、智能可穿戴设备等类型的实体设备;也可以包括运行于实体设备中的软体,例如应用程序等。本说明书实施例中实体设备上运行的操作系统可以包括但不限于安卓系统、IOS系统、linux、windows等。本说明书实施例中,所述服务器02可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(ContentDeliveryNetwork,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。本说明书实施例中,多种类型的数据库03可以包括MySQL(关系型数据库管理系统)、MongoDB(基于分布式文件存储的数据库)、H2(Java编写的关系型数据库)、SQLServer(一种关系型数据库管理系统)等数据库中的至少两种。本说明书实施例中,上述客户端01、服务器02以及数据库03可以通过有线或无线通信方式进行直接或本文档来自技高网...

【技术保护点】
1.一种跨库跨表查询方法,其特征在于,应用于服务器,所述服务器预先配置有多种类型的数据库,所述方法包括:/n接收跨库跨表查询请求,所述跨库跨表查询请求携带有跨库跨表查询语句和查询需求信息;/n对所述跨库跨表查询语句进行解析处理,得到多个单库单表的查询语句;/n调用结果集查询方法,基于所述结果集查询方法、每一单库单表的查询语句和数据库许可标识从对应的数据库中获取每一单库单表查询语句对应的结果集,所述数据库许可标识为配置所述多种类型的数据库时确定的;/n根据所述查询需求信息对所述多个单库单表的结果集进行整合处理,得到目标结果集。/n

【技术特征摘要】
1.一种跨库跨表查询方法,其特征在于,应用于服务器,所述服务器预先配置有多种类型的数据库,所述方法包括:
接收跨库跨表查询请求,所述跨库跨表查询请求携带有跨库跨表查询语句和查询需求信息;
对所述跨库跨表查询语句进行解析处理,得到多个单库单表的查询语句;
调用结果集查询方法,基于所述结果集查询方法、每一单库单表的查询语句和数据库许可标识从对应的数据库中获取每一单库单表查询语句对应的结果集,所述数据库许可标识为配置所述多种类型的数据库时确定的;
根据所述查询需求信息对所述多个单库单表的结果集进行整合处理,得到目标结果集。


2.根据权利要求1所述的方法,其特征在于,在接收跨库跨表查询请求之前,所述方法还包括:
向所述多种类型的数据库分别发送连接建立请求;
当所述多种类型的数据库的权限认证通过时,建立与所述多种类型的数据库的连接;
设置所述数据库许可标识;
基于所述数据库许可标识与所述多种类型的数据库进行数据权限配置。


3.根据权利要求1所述的方法,其特征在于,所述结果集查询方法包括:数据库标识查询方法、键值对封装方法、查询创建方法和结果集调用方法;
相应的,所述调用结果集查询方法,基于所述结果集查询方法、每一单库单表的查询语句和数据库许可标识从对应的数据库中获取每一单库单表查询语句对应的结果集包括:
调用数据库标识查询方法,基于所述数据库查询方法确定每一单库单表的查询语句对应目标数据库的数据库标识;
调用键值对封装方法,基于所述键值对封装方法确定每一单库单表的查询语句对应的键值对对象;
调用查询创建方法,将所述键值对对象、所述数据库标识、所述每一单库单表的查询语句和所述数据库许可标识传入所述结果集调用方法;
运行所述结果集调用方法,从所述每一单库单表的查询语句对应目标数据库调用对应的结果集。


4.根据权利要求3所述的方法,其特征在于,所述基于所述数据库查询方法确定每一单库单表的查询语句对应目标数据库的数据库标识包括:
确定每一单库单表的查询语句中的数据库名称;
获取所述多种类型的数据库对应的数据库信息集合;
基于所述数据库名称从所述数据库信息集合中确定与所述数据库名称相匹配的数据库的数据库标识;
将所述相匹配的数据库的数据库标识作为所述目标数据库的数据库标识。


5.根据权利要求3所述的方...

【专利技术属性】
技术研发人员:孙志峰韩双林尹雪净
申请(专利权)人:苏州达家迎信息技术有限公司
类型:发明
国别省市:江苏;32

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

1