CN112597199A - 异构多数据源适配方法及装置 - Google Patents
异构多数据源适配方法及装置 Download PDFInfo
- Publication number
- CN112597199A CN112597199A CN202011526396.5A CN202011526396A CN112597199A CN 112597199 A CN112597199 A CN 112597199A CN 202011526396 A CN202011526396 A CN 202011526396A CN 112597199 A CN112597199 A CN 112597199A
- Authority
- CN
- China
- Prior art keywords
- database operation
- database
- execution plan
- data source
- data
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000006978 adaptation Effects 0.000 title claims abstract description 43
- 238000004458 analytical method Methods 0.000 claims abstract description 24
- 238000007726 management method Methods 0.000 claims description 52
- 238000005457 optimization Methods 0.000 claims description 29
- 230000006870 function Effects 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 21
- 238000004364 calculation method Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 15
- 238000003860 storage Methods 0.000 claims description 13
- 238000001914 filtration Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 238000007405 data analysis Methods 0.000 description 10
- 239000000872 buffer Substances 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 3
- 241000282813 Aepyceros melampus Species 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 210000001503 joint Anatomy 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24558—Binary matching operations
- G06F16/2456—Join operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24542—Plan optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Operations Research (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种异构多数据源适配方法及装置,方法包括:通过数据服务侧接收符合连接方案的标准数据库操作语句,并将所述标准数据库操作语句通过任务解析引擎生成相应的执行计划,将所述执行计划下推到本地计算中心,以使所述本地计算中心完成计算并将最终的结果反馈到应用;通过数据源管理侧进行所有数据源库进行注册管理;本申请能够通过多个代理数据源,极大丰富数据来源,实现在不同类型的数据库之间的跨库查询。
Description
技术领域
本申请涉及数据处理领域,具体涉及一种异构多数据源适配方法及装置。
背景技术
数据分析发展至今,靠单一的数据源库支撑的数据分析,而面对多种的类型的数据存储源,传统的单一数据源的数据分析,必须针对各个类型的数据数据源数据接入,实施周期长,数据接入成高。且面对多个数据源之间的交互查询时,现有的单一的数据源连接方法案都无满足功能支撑。
如何做到高效,简洁数据分析。一个可以连多个异构数据源的方案,且支持多种数据源之间的跨库查询是非常必要的。
发明人发现,现阶段已知的数据分析平台的在依赖的数据域上存在一定的问题:
(1)未考虑多数据源联合分析的场景
传统的数据分析软件/数据应用系统构建在单一的数据仓库(例如HIVE、IMPALA、PRESTO、MPP等等),如果要采用多个数据仓库中的数据来做数据分析。现有的数据分析工具/数据应用系统则无法实现快速对接和数据分析。
(2)多数据源对外提供的数据访问的标准均不相同
采用不同的数据仓库,虽然数据仓库会遵循应有的SQL92、SQL99等标准。但是不同的数仓之间的sql功能还是有很多不能通用,导致数据分析软件需要针对不同的数据仓库调整相应的功能,大大降低了数据分析软件/数据应用系统的使用范围和可用性。
发明内容
针对现有技术中的问题,本申请提供一种异构多数据源适配方法及装置,能够通过多个代理数据源,极大丰富数据来源,实现在不同类型的数据库之间的跨库查询。
为了解决上述问题中的至少一个,本申请提供以下技术方案:
第一方面,本申请提供一种异构多数据源适配方法,包括:
通过数据服务侧接收符合连接方案的标准数据库操作语句,并将所述标准数据库操作语句通过任务解析引擎生成相应的执行计划,将所述执行计划下推到本地计算中心,以使所述本地计算中心完成计算并将最终的结果反馈到应用;
通过数据源管理侧进行所有数据源库进行注册管理。
进一步地,所述通过数据服务侧接收符合连接方案的标准数据库操作语句,并将所述标准数据库操作语句通过任务解析引擎生成相应的执行计划,包括:
接受应用发送来的标准数据库操作语句,将所述标准数据库操作语句格式化后发送到的语法解析树;
所述语法解析树将所述标准数据库操作语句解析成数据库操作执行计划,其中,所述数据库操作执行计划包括:数据库操作动作、数据库操作动作的目标数据库、数据库操作动作的数据来源库、数据库操作动作的数据过滤条件、数据库操作动作的字段信息、数据库操作的二级动作信息和数据库操作动作的函数操作信息中的至少一种;
通过执行计划解析器将所述语法解析树中的数据库操作执行计划进行处理后提交至任务优化器;
通过所述任务优化器对数据库操作执行计划进行优化处理,其中,所述优化处理包括:join关联优化、条件动作下推、空值关联优化、谓语下推优化中的至少一种。
进一步地,所述以使所述本地计算中心完成计算并将最终的结果反馈到应用,包括:
从数据库操作执行计划中获取目标库和源数据库的连接新信息;
从数据库操作执行计划中获取目标库和源数据库的操作任务分别下发给目标库和源数据库;
在本地计算中心对操作的任务的结果集进行二次计算和操作,并将最终结果集反馈给调用层。
进一步地,所述通过数据源管理侧进行所有数据源库进行注册管理,包括:
通过数据源管理侧接收用户选择的数据库类型并配置数据的地址;
指定或默认设置数据源库的别名。
第二方面,本申请提供一种异构多数据源适配装置,包括:
数据服务模块,用于通过数据服务侧接收符合连接方案的标准数据库操作语句,并将所述标准数据库操作语句通过任务解析引擎生成相应的执行计划,将所述执行计划下推到本地计算中心,以使所述本地计算中心完成计算并将最终的结果反馈到应用;
数据源管理模块,用于通过数据源管理侧进行所有数据源库进行注册管理。
进一步地,所述数据服务模块包括:
标准数据库操作语句格式化单元,用于接受应用发送来的标准数据库操作语句,将所述标准数据库操作语句格式化后发送到的语法解析树;
数据库操作执行计划生成单元,用于所述语法解析树将所述标准数据库操作语句解析成数据库操作执行计划,其中,所述数据库操作执行计划包括:数据库操作动作、数据库操作动作的目标数据库、数据库操作动作的数据来源库、数据库操作动作的数据过滤条件、数据库操作动作的字段信息、数据库操作的二级动作信息和数据库操作动作的函数操作信息中的至少一种;
数据库操作执行计划解析单元,用于通过执行计划解析器将所述语法解析树中的数据库操作执行计划进行处理后提交至任务优化器;
数据库操作执行计划优化单元,用于通过所述任务优化器对数据库操作执行计划进行优化处理,其中,所述优化处理包括:join关联优化、条件动作下推、空值关联优化、谓语下推优化中的至少一种。
进一步地,所述数据服务模块包括:
数据库操作执行计划信息获取单元,用于从数据库操作执行计划中获取目标库和源数据库的连接新信息;
数据库操作执行计划任务获取单元,用于从数据库操作执行计划中获取目标库和源数据库的操作任务分别下发给目标库和源数据库;
任务结果二次计算单元,用于在本地计算中心对操作的任务的结果集进行二次计算和操作,并将最终结果集反馈给调用层。
进一步地,所述数据源管理模块包括:
配置单元,用于通过数据源管理侧接收用户选择的数据库类型并配置数据的地址;
设置单元,用于指定或默认设置数据源库的别名。
第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的异构多数据源适配方法的步骤。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的异构多数据源适配方法的步骤。
由上述技术方案可知,本申请提供一种异构多数据源适配方法及装置,通过数据服务侧接收符合连接方案的标准数据库操作语句,并将所述标准数据库操作语句通过任务解析引擎生成相应的执行计划,将所述执行计划下推到本地计算中心,以使所述本地计算中心完成计算并将最终的结果反馈到应用;通过数据源管理侧进行所有数据源库进行注册管理;本申请能够通过多个代理数据源,极大丰富数据来源,实现在不同类型的数据库之间的跨库查询。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中的异构多数据源适配方法的流程示意图;
图2为本申请实施例中的异构多数据源适配装置的结构图;
图3为本申请实施例中的异构多数据源适配架构设计图;
图4为本申请实施例中的多数据源连接示意图;
图5为本申请实施例中的计算任务解析示意图;
图6为本申请实施例中的本地计算示意图;
图7为本申请实施例中的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
考虑到现有技术中存在的问题,本申请提供一种异构多数据源适配方法及装置,通过数据服务侧接收符合连接方案的标准数据库操作语句,并将所述标准数据库操作语句通过任务解析引擎生成相应的执行计划,将所述执行计划下推到本地计算中心,以使所述本地计算中心完成计算并将最终的结果反馈到应用;通过数据源管理侧进行所有数据源库进行注册管理;本申请能够 通过多个代理数据源,极大丰富数据来源,实现在不同类型的数据库之间的跨库查询。
为了能够通过多个代理数据源,极大丰富数据来源,实现在不同类型的数据库之间的跨库查询,本申请提供一种异构多数据源适配方法的实施例,参见图1,所述异构多数据源适配方法具体包含有如下内容:
步骤S101:通过数据服务侧接收符合连接方案的标准数据库操作语句,并将所述标准数据库操作语句通过任务解析引擎生成相应的执行计划,将所述执行计划下推到本地计算中心,以使所述本地计算中心完成计算并将最终的结果反馈到应用;
步骤S102:通过数据源管理侧进行所有数据源库进行注册管理。
从上述描述可知,本申请实施例提供的异构多数据源适配方法,能够通过数据服务侧接收符合连接方案的标准数据库操作语句,并将所述标准数据库操作语句通过任务解析引擎生成相应的执行计划,将所述执行计划下推到本地计算中心,以使所述本地计算中心完成计算并将最终的结果反馈到应用;通过数据源管理侧进行所有数据源库进行注册管理;本申请能够通过多个代理数据源,极大丰富数据来源,实现在不同类型的数据库之间的跨库查询。
在本申请的异构多数据源适配方法的一实施例中,所述通过数据服务侧接收符合连接方案的标准数据库操作语句,并将所述标准数据库操作语句通过任务解析引擎生成相应的执行计划,包括:
步骤S201:接受应用发送来的标准数据库操作语句,将所述标准数据库操作语句格式化后发送到的语法解析树;
步骤S202:所述语法解析树将所述标准数据库操作语句解析成数据库操作执行计划,其中,所述数据库操作执行计划包括:数据库操作动作、数据库操作动作的目标数据库、数据库操作动作的数据来源库、数据库操作动作的数据过滤条件、数据库操作动作的字段信息、数据库操作的二级动作信息和数据库操作动作的函数操作信息中的至少一种;
步骤S203:通过执行计划解析器将所述语法解析树中的数据库操作执行计划进行处理后提交至任务优化器;
步骤S204:通过所述任务优化器对数据库操作执行计划进行优化处理,其中,所述优化处理包括:join关联优化、条件动作下推、空值关联优化、谓语下推优化中的至少一种。
在本申请的异构多数据源适配方法的一实施例中,所述以使所述本地计算中心完成计算并将最终的结果反馈到应用,包括:
步骤S301:从数据库操作执行计划中获取目标库和源数据库的连接新信息;
步骤S302:从数据库操作执行计划中获取目标库和源数据库的操作任务分别下发给目标库和源数据库;
步骤S303:在本地计算中心对操作的任务的结果集进行二次计算和操作,并将最终结果集反馈给调用层。
在本申请的异构多数据源适配方法的一实施例中,所述通过数据源管理侧进行所有数据源库进行注册管理,包括:
步骤S401:通过数据源管理侧接收用户选择的数据库类型并配置数据的地址;
步骤S402:指定或默认设置数据源库的别名。
为了能够通过多个代理数据源,极大丰富数据来源,实现在不同类型的数据库之间的跨库查询,本申请提供一种用于实现所述异构多数据源适配方法的全部或部分内容的异构多数据源适配装置的实施例,参见图2,所述异构多数据源适配装置具体包含有如下内容:
数据服务模块10,用于通过数据服务侧接收符合连接方案的标准数据库操作语句,并将所述标准数据库操作语句通过任务解析引擎生成相应的执行计划,将所述执行计划下推到本地计算中心,以使所述本地计算中心完成计算并将最终的结果反馈到应用;
数据源管理模块20,用于通过数据源管理侧进行所有数据源库进行注册管理。
从上述描述可知,本申请实施例提供的异构多数据源适配装置,能够通过数据服务侧接收符合连接方案的标准数据库操作语句,并将所述标准数据库操作语句通过任务解析引擎生成相应的执行计划,将所述执行计划下推到本地计算中心,以使所述本地计算中心完成计算并将最终的结果反馈到应用;通过数据源管理侧进行所有数据源库进行注册管理;本申请能够通过多个代理数据源,极大丰富数据来源,实现在不同类型的数据库之间的跨库查询。
在本申请的异构多数据源适配装置的一实施例中,所述数据服务模块10包括:
标准数据库操作语句格式化单元11,用于接受应用发送来的标准数据库操作语句,将所述标准数据库操作语句格式化后发送到的语法解析树;
数据库操作执行计划生成单元12,用于所述语法解析树将所述标准数据库操作语句解析成数据库操作执行计划,其中,所述数据库操作执行计划包括:数据库操作动作、数据库操作动作的目标数据库、数据库操作动作的数据来源库、数据库操作动作的数据过滤条件、数据库操作动作的字段信息、数据库操作的二级动作信息和数据库操作动作的函数操作信息中的至少一种;
数据库操作执行计划解析单元13,用于通过执行计划解析器将所述语法解析树中的数据库操作执行计划进行处理后提交至任务优化器;
数据库操作执行计划优化单元14,用于通过所述任务优化器对数据库操作执行计划进行优化处理,其中,所述优化处理包括:join关联优化、条件动作下推、空值关联优化、谓语下推优化中的至少一种。
在本申请的异构多数据源适配装置的一实施例中,所述数据服务模块10包括:
数据库操作执行计划信息获取单元15,用于从数据库操作执行计划中获取目标库和源数据库的连接新信息;
数据库操作执行计划任务获取单元16,用于从数据库操作执行计划中获取目标库和源数据库的操作任务分别下发给目标库和源数据库;
任务结果二次计算单元17,用于在本地计算中心对操作的任务的结果集进行二次计算和操作,并将最终结果集反馈给调用层。
在本申请的异构多数据源适配装置的一实施例中,所述数据源管理模块20包括:
配置单元21,用于通过数据源管理侧接收用户选择的数据库类型并配置数据的地址;
设置单元22,用于指定或默认设置数据源库的别名。
为了更进一步说明本方案,本申请还提供一种应用上述异构多数据源适配装置实现异构多数据源适配方法的具体应用实例,具体包含有如下内容:
参见图3,应用平台侧:指的是用户使用的各种类型的数据分析平台,包括数据查询平台、数据分建模平台、数据展示平台等,上层对接用户的查询需求,下层对接的多数据的连接的方案。
多数据源连接侧:本技术方案中的核心流程部分,对数据应用侧提供数据查询、建模分析、数据上传下载等接口服务,对数据侧提供多数据源的接入、管理等功能。用户可以不用关心数据真实的存储位置,将工作重心转移到数据分析业务上去。
数据侧:指的是用户现有的系统中存储数据的方式,主要包含数据库、不同类型的数据仓库。
参见图4,多数据源连接方案架构设计,在本方案中架构设计主要分为2部分,数据服务侧和数据源管理侧。
数据服务侧:
接收符合连接方案的标准sql,并将标准的sql通过任务解析引擎生成相应的执行计划,并将执行计划下推到本地计算中心;由本地计算中心,完成计算并将最终的结果反馈到应用。
数据接口服务:
计算任务解析:解析标准的sql,生成相应的执行计划。详细流程如图5所示。
具体流程:
1.接受到应用的发送的来的sql,将sql格式化后,发送到的语法解析树。
2.语法解析树将sql解析成sql执行计划,执行计划中包的简要信息有:
A.sql动作(select、create table、show、drop..)。
B.sql动作的目标数据库(默认为本地计算中心)。
C.sql动作的数据数据来源库(单个库,或是多个库)。
D.sql动作的数据过滤条件。
E.sql动作的字段信息。
F.sql二级动作的信息(group、join、union、except)。
G.sql动作中的函数操作信息。
3.执行计划解析器,会将语法解析树中的任务做一步处理,明确数据源,目标库的agent连接信息,生成的完整的执行计划。并执行计划提交任务优化器。
4.任务优化器接到执行计划后,对可以优化的流程做一个改写。使得sql操作任务更高效的执行,大致的优化有以下几种:
A.join关联优化。
B.条件动作下推。
C.空值关联优化。
D.谓语下推优化。
本地计算中心:
接收任务解析引擎生成执行计划,执行计算逻辑,并将最终的计算结果保存本地计算中心库或是返回给调用方。详细流程如图6所示。
具体流程:
1.从sql执行计划中获取目标的库的连接新信息。
2.从sql执行计划中获取源数据的库的连接新信息。
3.从sql执行计划中获取目标库和源数据库的操作任务分别下发给目标库、和源数据库。
4.操作的任务的结果集反馈数据中心,需要进行二次计算的操作任务会在本地计算中心完成二次计算和操作。
5.最终结果集反馈给调用层。
数据源管理侧:
数据源管理服务:
用做注册、管理不同类型的数据源库的管理服务,现行可以提供的源数据库有mysql、oralce、dameng、hive、impala、clickhouse等源数据库。
Agent注册中心:
所有源数据库的连接管理,以及服务监控具体流程如下:
1.选择数据库类型。
2.配置数据的地址。
3.指定数据源库的别名,不指定方案会自动给定。
底层数据源库:
用户底层可以的接入的数据库,不做详细描述。
多数据源连接方案标准sql集列举如下表1所示:
表1多数据源连接方案标准sql集
多数据源连接方案数据类型支持:
原始数据类型支持如下表2所示:
表2原始数据类型支持表
有上述内容可知,本申请至少还可以实现如下技术效果:
1、通过多个agent数据源,极大丰富了数据来源,减少了数据接入的成本。
2、对上层应用提供了统一的标准的sql操作指令集。屏蔽了多种类型的数据库sql差异的学习成本。
3、发明中的本地计算中心,可以将多个库的数据集在计算中心完成计算汇总,实现在不同类型的数据库之间的跨库查询。
从硬件层面来说,为了能够 通过多个代理数据源,极大丰富数据来源,实现在不同类型的数据库之间的跨库查询,本申请提供一种用于实现所述异构多数据源适配方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现异构多数据源适配装置与核心业务系统、用户终端以及相关数据库等相关设备之间的信息传输;该逻辑控制器可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该逻辑控制器可以参照实施例中的异构多数据源适配方法的实施例,以及异构多数据源适配装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
可以理解的是,所述用户终端可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(PDA)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。
在实际应用中,异构多数据源适配方法的部分可以在如上述内容所述的电子设备侧执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器。
上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
图7为本申请实施例的电子设备9600的系统构成的示意框图。如图7所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图7是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,异构多数据源适配方法功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:
步骤S101:通过数据服务侧接收符合连接方案的标准数据库操作语句,并将所述标准数据库操作语句通过任务解析引擎生成相应的执行计划,将所述执行计划下推到本地计算中心,以使所述本地计算中心完成计算并将最终的结果反馈到应用;
步骤S102:通过数据源管理侧进行所有数据源库进行注册管理。
从上述描述可知,本申请实施例提供的电子设备,通过数据服务侧接收符合连接方案的标准数据库操作语句,并将所述标准数据库操作语句通过任务解析引擎生成相应的执行计划,将所述执行计划下推到本地计算中心,以使所述本地计算中心完成计算并将最终的结果反馈到应用;通过数据源管理侧进行所有数据源库进行注册管理;本申请能够通过多个代理数据源,极大丰富数据来源,实现在不同类型的数据库之间的跨库查询。
在另一个实施方式中,异构多数据源适配装置可以与中央处理器9100分开配置,例如可以将异构多数据源适配装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现异构多数据源适配方法功能。
如图7所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图7中所示的所有部件;此外,电子设备9600还可以包括图7中没有示出的部件,可以参考现有技术。
如图7所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本申请的实施例还提供能够实现上述实施例中的执行主体为服务器或客户端的异构多数据源适配方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的异构多数据源适配方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤S101:通过数据服务侧接收符合连接方案的标准数据库操作语句,并将所述标准数据库操作语句通过任务解析引擎生成相应的执行计划,将所述执行计划下推到本地计算中心,以使所述本地计算中心完成计算并将最终的结果反馈到应用;
步骤S102:通过数据源管理侧进行所有数据源库进行注册管理。
从上述描述可知,本申请实施例提供的计算机可读存储介质,通过数据服务侧接收符合连接方案的标准数据库操作语句,并将所述标准数据库操作语句通过任务解析引擎生成相应的执行计划,将所述执行计划下推到本地计算中心,以使所述本地计算中心完成计算并将最终的结果反馈到应用;通过数据源管理侧进行所有数据源库进行注册管理;本申请能够通过多个代理数据源,极大丰富数据来源,实现在不同类型的数据库之间的跨库查询。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种异构多数据源适配方法,其特征在于,所述方法包括:
通过数据服务侧接收符合连接方案的标准数据库操作语句,并将所述标准数据库操作语句通过任务解析引擎生成相应的执行计划,将所述执行计划下推到本地计算中心,以使所述本地计算中心完成计算并将最终的结果反馈到应用;
通过数据源管理侧进行所有数据源库进行注册管理。
2.根据权利要求1所述的异构多数据源适配方法,其特征在于,所述通过数据服务侧接收符合连接方案的标准数据库操作语句,并将所述标准数据库操作语句通过任务解析引擎生成相应的执行计划,包括:
接受应用发送来的标准数据库操作语句,将所述标准数据库操作语句格式化后发送到的语法解析树;
所述语法解析树将所述标准数据库操作语句解析成数据库操作执行计划,其中,所述数据库操作执行计划包括:数据库操作动作、数据库操作动作的目标数据库、数据库操作动作的数据来源库、数据库操作动作的数据过滤条件、数据库操作动作的字段信息、数据库操作的二级动作信息和数据库操作动作的函数操作信息中的至少一种;
通过执行计划解析器将所述语法解析树中的数据库操作执行计划进行处理后提交至任务优化器;
通过所述任务优化器对数据库操作执行计划进行优化处理,其中,所述优化处理包括:join关联优化、条件动作下推、空值关联优化、谓语下推优化中的至少一种。
3.根据权利要求1所述的异构多数据源适配方法,其特征在于,所述以使所述本地计算中心完成计算并将最终的结果反馈到应用,包括:
从数据库操作执行计划中获取目标库和源数据库的连接新信息;
从数据库操作执行计划中获取目标库和源数据库的操作任务分别下发给目标库和源数据库;
在本地计算中心对操作的任务的结果集进行二次计算和操作,并将最终结果集反馈给调用层。
4.根据权利要求1所述的异构多数据源适配方法,其特征在于,所述通过数据源管理侧进行所有数据源库进行注册管理,包括:
通过数据源管理侧接收用户选择的数据库类型并配置数据的地址;
指定或默认设置数据源库的别名。
5.一种异构多数据源适配装置,其特征在于,包括:
数据服务模块,用于通过数据服务侧接收符合连接方案的标准数据库操作语句,并将所述标准数据库操作语句通过任务解析引擎生成相应的执行计划,将所述执行计划下推到本地计算中心,以使所述本地计算中心完成计算并将最终的结果反馈到应用;
数据源管理模块,用于通过数据源管理侧进行所有数据源库进行注册管理。
6.根据权利要求5所述的异构多数据源适配装置,其特征在于,所述数据服务模块包括:
标准数据库操作语句格式化单元,用于接受应用发送来的标准数据库操作语句,将所述标准数据库操作语句格式化后发送到的语法解析树;
数据库操作执行计划生成单元,用于所述语法解析树将所述标准数据库操作语句解析成数据库操作执行计划,其中,所述数据库操作执行计划包括:数据库操作动作、数据库操作动作的目标数据库、数据库操作动作的数据来源库、数据库操作动作的数据过滤条件、数据库操作动作的字段信息、数据库操作的二级动作信息和数据库操作动作的函数操作信息中的至少一种;
数据库操作执行计划解析单元,用于通过执行计划解析器将所述语法解析树中的数据库操作执行计划进行处理后提交至任务优化器;
数据库操作执行计划优化单元,用于通过所述任务优化器对数据库操作执行计划进行优化处理,其中,所述优化处理包括:join关联优化、条件动作下推、空值关联优化、谓语下推优化中的至少一种。
7.根据权利要求5所述的异构多数据源适配装置,其特征在于,所述数据服务模块包括:
数据库操作执行计划信息获取单元,用于从数据库操作执行计划中获取目标库和源数据库的连接新信息;
数据库操作执行计划任务获取单元,用于从数据库操作执行计划中获取目标库和源数据库的操作任务分别下发给目标库和源数据库;
任务结果二次计算单元,用于在本地计算中心对操作的任务的结果集进行二次计算和操作,并将最终结果集反馈给调用层。
8.根据权利要求5所述的异构多数据源适配装置,其特征在于,所述数据源管理模块包括:
配置单元,用于通过数据源管理侧接收用户选择的数据库类型并配置数据的地址;
设置单元,用于指定或默认设置数据源库的别名。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至4任一项所述的异构多数据源适配方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至4任一项所述的异构多数据源适配方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011526396.5A CN112597199B (zh) | 2020-12-22 | 2020-12-22 | 异构多数据源适配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011526396.5A CN112597199B (zh) | 2020-12-22 | 2020-12-22 | 异构多数据源适配方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112597199A true CN112597199A (zh) | 2021-04-02 |
CN112597199B CN112597199B (zh) | 2024-03-08 |
Family
ID=75199993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011526396.5A Active CN112597199B (zh) | 2020-12-22 | 2020-12-22 | 异构多数据源适配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112597199B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114328598A (zh) * | 2021-11-29 | 2022-04-12 | 浪潮云信息技术股份公司 | 基于ClickHouse数据库的pipeline的缓存优化方法及系统 |
WO2023109725A1 (zh) * | 2021-12-15 | 2023-06-22 | 华为技术有限公司 | 一种针对数据库的数据访问方法、装置及设备 |
CN116450609A (zh) * | 2023-04-14 | 2023-07-18 | 北京友友天宇系统技术有限公司 | 基于统一语法在异构数据源上建模的方法及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060004856A1 (en) * | 2004-06-15 | 2006-01-05 | Xiangyang Shen | Data management and persistence frameworks for network management application development |
US20060020642A1 (en) * | 2004-07-22 | 2006-01-26 | International Business Machines | Synchronization of application rules across database instances |
CN108959496A (zh) * | 2018-06-26 | 2018-12-07 | 南京汇银迅信息技术有限公司 | 基于动态代理的跨数据库访问方法及抽象数据访问方法 |
CN110622152A (zh) * | 2017-02-27 | 2019-12-27 | 分秒库公司 | 用于查询时间序列数据的可扩展数据库系统 |
CN111259036A (zh) * | 2020-01-10 | 2020-06-09 | 苏州达家迎信息技术有限公司 | 一种跨库跨表查询方法、设备、服务器及存储介质 |
CN111522816A (zh) * | 2020-04-16 | 2020-08-11 | 云和恩墨(北京)信息技术有限公司 | 基于数据库引擎的数据处理方法、装置、终端及介质 |
-
2020
- 2020-12-22 CN CN202011526396.5A patent/CN112597199B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060004856A1 (en) * | 2004-06-15 | 2006-01-05 | Xiangyang Shen | Data management and persistence frameworks for network management application development |
US20060020642A1 (en) * | 2004-07-22 | 2006-01-26 | International Business Machines | Synchronization of application rules across database instances |
CN110622152A (zh) * | 2017-02-27 | 2019-12-27 | 分秒库公司 | 用于查询时间序列数据的可扩展数据库系统 |
CN108959496A (zh) * | 2018-06-26 | 2018-12-07 | 南京汇银迅信息技术有限公司 | 基于动态代理的跨数据库访问方法及抽象数据访问方法 |
CN111259036A (zh) * | 2020-01-10 | 2020-06-09 | 苏州达家迎信息技术有限公司 | 一种跨库跨表查询方法、设备、服务器及存储介质 |
CN111522816A (zh) * | 2020-04-16 | 2020-08-11 | 云和恩墨(北京)信息技术有限公司 | 基于数据库引擎的数据处理方法、装置、终端及介质 |
Non-Patent Citations (2)
Title |
---|
XIAOLIN QI 等: "Model managenment and service based power grid multi-agent dispatcher training simulator", 《2018 2ND IEEE CONFERENCE ON ENERGY INTERNET AND ENERGY SYSTEM INTEGRATION》, 20 December 2018 (2018-12-20), pages 1 - 2 * |
逯鹏 等: "Native XML 数据库技术综述", 《计算机科学》, no. 4, 15 April 2004 (2004-04-15), pages 84 - 88 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114328598A (zh) * | 2021-11-29 | 2022-04-12 | 浪潮云信息技术股份公司 | 基于ClickHouse数据库的pipeline的缓存优化方法及系统 |
WO2023109725A1 (zh) * | 2021-12-15 | 2023-06-22 | 华为技术有限公司 | 一种针对数据库的数据访问方法、装置及设备 |
CN116450609A (zh) * | 2023-04-14 | 2023-07-18 | 北京友友天宇系统技术有限公司 | 基于统一语法在异构数据源上建模的方法及设备 |
CN116450609B (zh) * | 2023-04-14 | 2024-01-30 | 北京友友天宇系统技术有限公司 | 基于统一语法在异构数据源上建模的方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112597199B (zh) | 2024-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112597199A (zh) | 异构多数据源适配方法及装置 | |
CN110413673B (zh) | 数据库数据统一采集与分发方法及系统 | |
US9563679B2 (en) | Adaptive warehouse data validation tool | |
EP3907631B1 (en) | Applet processing method and apparatus, device and storage medium | |
CN113505520A (zh) | 用于支持异构联邦学习的方法、装置和系统 | |
CN111125064A (zh) | 一种生成数据库模式定义语句的方法和装置 | |
CN113282590A (zh) | 基于5g消息的接口联调方法及装置 | |
CN109840109B (zh) | 用于生成软件开发工具包的方法和装置 | |
CN113536748A (zh) | 一种生成图表数据的方法和装置 | |
CN105608097A (zh) | 适应性调整数据库结构的方法与调整装置 | |
CN114968917A (zh) | 一种文件数据快速导入方法及装置 | |
CN115827771A (zh) | 跨平台数据异构调度方法及装置 | |
CN115640349A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN111930690B (zh) | 文件生成方法及装置 | |
CN115495519A (zh) | 报表数据加工方法及装置 | |
CN114840576A (zh) | 数据标准匹配方法及装置 | |
CN114218904A (zh) | 一种可配置报表导出设计的方法及系统 | |
CN114637531A (zh) | 应用程序接口动态生成方法及装置 | |
WO2021243665A1 (zh) | 编译方法、编译装置、编译系统、存储介质与电子设备 | |
CN103729451A (zh) | 一种数据库的信息录入方法、装置及系统 | |
CN113434423A (zh) | 接口测试方法及装置 | |
CN113419957A (zh) | 基于规则的大数据离线批处理性能容量扫描方法及装置 | |
CN112766827A (zh) | 资产盘点数据自动化处理方法及装置 | |
CN111459538B (zh) | 代码同步方法及装置 | |
CN114553688B (zh) | 云计算部署方法、装置、设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |