CN112364052A - 异构数据管理方法、装置、设备和计算机可读存储介质 - Google Patents
异构数据管理方法、装置、设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN112364052A CN112364052A CN202011411803.8A CN202011411803A CN112364052A CN 112364052 A CN112364052 A CN 112364052A CN 202011411803 A CN202011411803 A CN 202011411803A CN 112364052 A CN112364052 A CN 112364052A
- Authority
- CN
- China
- Prior art keywords
- query
- sub
- requests
- uniform
- 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.)
- Pending
Links
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/242—Query formulation
- G06F16/2433—Query languages
-
- 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/24554—Unary operations; Data partitioning operations
- G06F16/24556—Aggregation; Duplicate elimination
-
- 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/25—Integrating or interfacing systems involving database management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及数据库领域,提供了异构数据管理方法、装置、设备和计算机可读存储介质,以降低异构数据管理时的耦合性,提升复用性。所述方法包括:对基于统一查询语言的查询请求进行处理,得到统一查询请求;根据多个工作节点中每个工作节点的实时状况,将统一查询请求处理成互相独立的子查询请求后向多个工作节点分发;对工作节点收到的子查询请求进行统一抽象,得到多个统一抽象查询子请求;将多个统一抽象查询子请求通过连接插件进行数据源适配,并将适配后的统一抽象查询子请求发送至目标数据源执行数据查询。本申请的技术方案使得用户不因数据源的不同而采用其他查询方式,降低用户的学习成本,也使得系统具备插件式的扩展能力。
Description
技术领域
本发明涉及数据库领域,特别涉及一种异构数据管理方法、装置、设备和计算机可读存储介质。
背景技术
异构数据即来自于异构数据源的数据,一般指不同的数据库管理系统之间的数据。异构数据源一般包括系统异构、模式异构和来源异构等。例如,在企业信息化建设过程中,由于各业务系统建设和实施数据管理系统的阶段性、技术性以及其它经济和人为因素等因素影响,导致企业在发展过程中积累了大量采用不同存储方式的业务数据,包括采用的数据管理系统也大不相同,从简单的文件数据库到复杂的网络数据库,它们构成了企业的异构数据源。
目前,现有的异构数据管理方法是通过硬编码的方式来实现多异构数据源接入,具体而言,是在接入这些异构数据时,将这些异构数据清洗转换,若需要接入不同的异构数据源时,则重新开发一套系统,以实现新的接入方式。然而,这种方式导致耦合性高,可复用性低,投入成本大,而且会导致信息丢失。
发明内容
本申请提供一种异构数据管理方法、装置、设备和计算机可读存储介质,以降低异构数据管理时的耦合性,提升复用性。
一方面,本申请提供了一种异构数据管理方法,包括:
对基于统一查询语言的查询请求进行处理,得到统一查询请求;
根据多个工作节点中每个工作节点的实时状况,将所述统一查询请求处理成互相独立的子查询请求后向所述多个工作节点分发;
对所述工作节点收到的子查询请求进行统一抽象,得到多个统一抽象查询子请求;
将所述多个统一抽象查询子请求通过连接插件进行数据源适配,并将适配后的统一抽象查询子请求发送至目标数据源执行数据查询。
另一方面,本申请提供了一种异构数据管理装置,包括:
查询请求处理模块,用于对基于统一查询语言的查询请求进行处理,得到统一查询请求;
调度模块,用于根据多个工作节点中每个工作节点的实时状况,将所述统一查询请求处理成互相独立的子查询请求后向所述多个工作节点分发;
统一抽象模块,用于对所述工作节点收到的子查询请求进行统一抽象,得到多个统一抽象查询子请求;
适配模块,用于将所述多个统一抽象查询子请求通过连接插件进行数据源适配,并将适配后的统一抽象查询子请求发送至目标数据源执行数据查询。
第三方面,本申请提供了一种设备,所述设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述技术方案的方法的步骤。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述技术方案的方法的步骤。
从上述本申请提供的技术方案可知,一方面,由于查询请求是基于统一查询语言,用户可以使用一种统一的方式实现查询,不因数据源的不同而采用其他查询方式,降低用户的学习成本;另一方面,对工作节点收到的子查询请求进行了统一抽象,降低了模块之间的耦合性,便于后续系统的扩容;第三方面,由于能够对多个统一抽象查询子请求进行数据源适配,因此,使得系统具备插件式的扩展能力。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的异构数据管理方法的流程图;
图2是本申请实施例提供的通过对SQL进行语义分析而将一个SQL语句拆分为对应语句、条件和表达式等形成语法树的示意图;
图3是本申请实施例提供的异构数据管理装置的结构示意图;
图4是本申请实施例提供的设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本说明书中,诸如第一和第二这样的形容词仅可以用于将一个元素或动作与另一元素或动作进行区分,而不必要求或暗示任何实际的这种关系或顺序。在环境允许的情况下,参照元素或部件或步骤(等)不应解释为局限于仅元素、部件、或步骤中的一个,而可以是元素、部件、或步骤中的一个或多个等。
在本说明书中,为了便于描述,附图中所示的各个部分的尺寸并不是按照实际的比例关系绘制的。
本申请提出了一种异构数据管理方法,如附图1所示,主要包括步骤S101至S104,详述如下:
步骤S101:对基于统一查询语言的查询请求进行处理,得到统一查询请求。
作为本申请一个实施例,对基于统一查询语言的查询请求进行处理,得到统一查询请求可以是:动态生成http数据请求接口,通过动态生成的http数据请求接口接收基于统一查询语言的查询请求,采用预设模板语法编译统一查询语言的查询请求。具体而言,提供一种动态生成Http数据请求接口的方式,从该动态生成的Http数据请求接口接收基于统一查询语言的查询请求,采用基于SQL和XML形式结合的模板语法语句,对Http数据请求接口传入的参数进行绑定, 从而动态编译编译和生成基于统一查询语言的查询请求,如此,可以一定程度减少接入不同数据源和系统时代码的开发量,使得平台可以统一地对外提供接口,并且将权限和安全相关的事情交由给平台来负责。
需要说明的是,在本申请实施例中,上述统一查询语言可以是结构化查询语言(Structured Query Language,SQL)。公知地,SQL是关系型数据库使用的一种数据查询语言。在本申请实施例中,可以通过对SQL进行语义分析,将一个SQL语句拆分为对应语句、条件和表达式等,并且形成语法树,如图2所示。对形成的语法树,可以通过遍历树结构的各种算法对数据进行查询筛选,然后按照关系型数据库标准的数据返回格式返回查询结果,如此,用户只要熟知SQL,即可使用SQL对异构数据源进行查询,而无需用户掌握其他的查询语言。
上述方法还包括对目标数据源或数据查询返回的结果数据进行分析,呈现结果数据之间的关联关系和/或对目标数据源的数据进行标签化管理,此处,目标数据源是来自异构数据库的数据。具体而言,可以对目标数据源或数据查询返回的结果数据进行血缘状态的分析,例如,分析这些数据中的某个数据由哪些数据组合形成,或者某些数据是由哪个数据表拆分形成,进一步地,可以形成对应的图形解析数据, 向用户提供更加直观的可视化结果。上述分析主要通过图算法进行,结合相应的元数据关系,从而呈现出数据的血缘图谱。然后,基于图论为不同的目标数据源、不同的数据之间建立起关系路径、血缘路径和DNA路径等,从而能够实现基于多条件的快速精确查询;此外,可以以聚合多个异构的目标数据源,形成一个数据湖,对湖内目标数据源的数据可以进行标签化管理,打破数据孤岛屏障,并通过无开发的形式实现数据的共享,对数据的安全也有相关的保障,通过不同的维度来限制数据的输出和加密脱敏,等等。上述实施例中,对湖内目标数据源的数据进行标签化管理是指系统存在的元数据存储库(该元数据存储库存储多个数据源的元数据信息,包括数据表、 列等)对元数据进行标签定义,标签定义的数据将存储在元数据中,如此,即可实现对目标数据源的数据的标签化管理和筛选等操作。
步骤S102:根据多个工作节点中每个工作节点的实时状况,将统一查询请求处理成互相独立的子查询请求后向多个工作节点分发。
作为本申请一个实施例,根据多个工作节点中每个工作节点的实时状况,将统一查询请求处理成互相独立的子查询请求后向多个工作节点分发可以是:根据对统一查询请求进行语义分析,将统一查询请求分割为互相独立的子查询请求;以固定周期查询多个工作节点每个工作节点的工作状态;若发现多个工作节点存在工作状态为可用的工作节点,则根据可用工作节点的负载和/或资源使用率,将子查询请求分发给可用工作节点中负载相对较小和/或资源使用率相对较高的工作节点,此处,“负载相对较小”定义为负载小于预设负载阈值,“资源使用率相对较高”定义为资源使用率高于资源使用率阈值。具体地,通过http的请求方式接受客户端的查询, 根据配置将服务节点分为调度节点和工作节点,调度节点保留所有工作节点的元数据内容,系统启动时,工作节点会向服务节点提交注册数据,然后,调度节点以固定周期查询工作节点的状态以确定工作节点的可用性;当执行一个查询时,通过语义分析,将统一查询请求拆分为不同的子语句,然后调度节点根据各个工作节点的负载和/或资源使用率等实时状况,将互不干扰或互相独立的子查询请求分发到可用工作节点中负载相对较小和/或资源使用率相对较高的工作节点,这些可用工作节点中负载相对较小和/或资源使用率相对较高的工作节点执行完子查询请求以后,调度节点对可用工作节点返回的查询结果进行数据聚合,经聚合后的查询结果返回给查询端。
需要说明的是,上述实施例中调度节点对可用工作节点返回的查询结果进行数据聚合具体是指对不同目标数据源(即异构数据库)的数据进行关联查询操作,即,通过对关联字段进行哈希(Hash)运算,然后,将那些进行哈希运算所得结果一致的数据进行关联,最后再采用基于统一查询语言,例如SQL语句对这些哈希运算所得结果一致的数据进行提取;同时,考虑到执行效率的问题,上述数据聚合的操作是在内存中进行,执行效率会比较高。
步骤S103:对工作节点收到的子查询请求进行统一抽象,得到多个统一抽象查询子请求。
在本申请实施例中,对工作节点收到的子查询请求进行统一抽象,得到多个统一抽象查询子请求的同时、之前或之后,还可以通过对外提供的http数据请求接口,接收用户对查询任务状态的查询。具体而言,就是通过一个统一抽象组建,提供各种抽象的方法来屏蔽内部的实现细节,针对语义解析之后的语法树进行处理, 这样抽象的好处是为了解耦后续的扩展内容,提高了系统的扩展性,可以让后续扩展带来的影响降低;另一方面,通过对外提供的http数据请求接口,接收用户对查询任务状态的查询,或者查询查询任务的状态。
步骤S104:将多个统一抽象查询子请求通过连接插件进行数据源适配,并将适配后的统一抽象查询子请求发送至目标数据源执行数据查询。
在本申请实施例中,连接插件是为了适配不同的目标数据源即异构数据库的不同连接方式而抽象出来的。例如,Mongodb和MySQL等数据库具有不同的连接方式,为了对系统内提供一种统一的抽象处理方式,系统提供了服务提供商接口(Service ProviderInterface,SPI),通过实现SPI,即可注册到系统内,从而让系统具有了插件式的扩展能力,可以针对性地添加不同的目标数据源即异构数据库而不局限于JDBC形式的连接方式。
从上述附图1示例的异构数据管理方法可知,一方面,由于查询请求是基于统一查询语言,用户可以使用一种统一的方式实现查询,不因数据源的不同而采用其他查询方式,降低用户的学习成本;另一方面,对工作节点收到的子查询请求进行了统一抽象,降低了模块之间的耦合性,便于后续系统的扩容;第三方面,由于能够对多个统一抽象查询子请求进行数据源适配,因此,能够使得系统具备插件式的扩展能力。
请参阅附图3,是本申请实施例提供的一种异构数据管理装置,可以包括查询请求处理模块301、调度模块302、统一抽象模块303和适配模块304,详述如下:
查询请求处理模块301,用于对基于统一查询语言的查询请求进行处理,得到统一查询请求;
调度模块302,用于根据多个工作节点中每个工作节点的实时状况,将统一查询请求处理成互相独立的子查询请求后向多个工作节点分发;
统一抽象模块303,用于对工作节点收到的子查询请求进行统一抽象,得到多个统一抽象查询子请求;
适配模块304,用于将多个统一抽象查询子请求通过连接插件进行数据源适配,并将适配后的统一抽象查询子请求发送至目标数据源执行数据查询。
可选地,附图3示例的查询请求处理模块301具体用于动态生成http数据请求接口,通过动态生成的http数据请求接口接收基于统一查询语言的查询请求,采用预设模板语法编译统一查询语言的查询请求。
可选地,附图3示例的装置还可以包括可视化呈现模块和/或标签化模块,其中:
可视化呈现模块,用于对目标数据源或数据查询返回的结果数据进行分析,呈现结果数据之间的关联关系;
标签化模块,用于对目标数据源的数据进行标签化管理。
可选地,附图3示例的调度模块302具体用于根据对统一查询请求进行语义分析,将统一查询请求分割为互相独立的子查询请求,以固定周期查询多个工作节点每个工作节点的工作状态,若发现多个工作节点存在工作状态为可用的工作节点,则根据可用工作节点的负载和/或资源使用率,将子查询请求分发给可用工作节点中负载相对较小和/或资源使用率相对较高的工作节点。
可选地,附图3示例的装置还可以包括聚合模块,用于对可用工作节点返回的查询结果进行数据聚合,经聚合后的查询结果返回给查询端。
可选地,附图3示例的装置还可以包括接收模块接收模块,用于统一抽象模块303对工作节点收到的子查询请求进行统一抽象,得到多个统一抽象查询子请求之前或之后,通过对外提供的http数据请求接口,接收用户对查询任务状态的查询。
从以上技术方案的描述中可知,一方面,由于查询请求是基于统一查询语言,用户可以使用一种统一的方式实现查询,不因数据源的不同而采用其他查询方式,降低用户的学习成本;另一方面,对工作节点收到的子查询请求进行了统一抽象,降低了模块之间的耦合性,便于后续系统的扩容;第三方面,由于能够对多个统一抽象查询子请求进行数据源适配,因此,能够使得系统具备插件式的扩展能力。
图4是本申请一实施例提供的设备的结构示意图。如图4所示,该实施例的设备4主要包括:处理器40、存储器41以及存储在存储器41中并可在处理器40上运行的计算机程序42,例如异构数据管理方法的程序。处理器40执行计算机程序42时实现上述异构数据管理方法实施例中的步骤,例如图1所示的步骤S101至S104。或者,处理器40执行计算机程序42时实现上述各装置实施例中各模块/单元的功能,例如图3所示查询请求处理模块301、调度模块302、统一抽象模块303和适配模块304的功能。
示例性地,异构数据管理方法的计算机程序42主要包括:对基于统一查询语言的查询请求进行处理,得到统一查询请求;根据多个工作节点中每个工作节点的实时状况,将统一查询请求处理成互相独立的子查询请求后向多个工作节点分发;对工作节点收到的子查询请求进行统一抽象,得到多个统一抽象查询子请求;将多个统一抽象查询子请求通过连接插件进行数据源适配,并将适配后的统一抽象查询子请求发送至目标数据源执行数据查询。计算机程序42可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器41中,并由处理器40执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序42在设备4中的执行过程。例如,计算机程序42可以被分割成查询请求处理模块301、调度模块302、统一抽象模块303和适配模块304(虚拟装置中的模块)的功能,各模块具体功能如下:查询请求处理模块301,用于对基于统一查询语言的查询请求进行处理,得到统一查询请求;调度模块302,用于根据多个工作节点中每个工作节点的实时状况,将统一查询请求处理成互相独立的子查询请求后向多个工作节点分发;统一抽象模块303,用于对工作节点收到的子查询请求进行统一抽象,得到多个统一抽象查询子请求;适配模块304,用于将多个统一抽象查询子请求通过连接插件进行数据源适配,并将适配后的统一抽象查询子请求发送至目标数据源执行数据查询。
设备4可包括但不仅限于处理器40、存储器41。本领域技术人员可以理解,图4仅仅是设备4的示例,并不构成对设备4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器40可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器41可以是设备4的内部存储单元,例如设备4的硬盘或内存。存储器41也可以是设备4的外部存储设备,例如设备4上配备的插接式硬盘,智能存储卡(Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器41还可以既包括设备4的内部存储单元也包括外部存储设备。存储器41用于存储计算机程序以及设备所需的其他程序和数据。存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即,将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非临时性计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,异构数据管理方法的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤,即,对基于统一查询语言的查询请求进行处理,得到统一查询请求;根据多个工作节点中每个工作节点的实时状况,将统一查询请求处理成互相独立的子查询请求后向多个工作节点分发;对工作节点收到的子查询请求进行统一抽象,得到多个统一抽象查询子请求;将多个统一抽象查询子请求通过连接插件进行数据源适配,并将适配后的统一抽象查询子请求发送至目标数据源执行数据查询。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。非临时性计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读内存(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,非临时性计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,非临时性计算机可读介质不包括电载波信号和电信信号。以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种异构数据管理方法,其特征在于,所述方法包括:
对基于统一查询语言的查询请求进行处理,得到统一查询请求;
根据多个工作节点中每个工作节点的实时状况,将所述统一查询请求处理成互相独立的子查询请求后向所述多个工作节点分发;
对所述工作节点收到的子查询请求进行统一抽象,得到多个统一抽象查询子请求;
将所述多个统一抽象查询子请求通过连接插件进行数据源适配,并将适配后的统一抽象查询子请求发送至目标数据源执行数据查询。
2.如权利要求1所述异构数据管理方法,其特征在于,所述对基于统一查询语言的查询请求进行处理,得到统一查询请求,包括:
动态生成http数据请求接口;
通过所述动态生成的http数据请求接口接收所述基于统一查询语言的查询请求;
采用预设模板语法编译所述统一查询语言的查询请求。
3.如权利要求2所述异构数据管理方法,其特征在于,所述方法还包括:
对所述目标数据源或所述数据查询返回的结果数据进行分析,呈现所述结果数据之间的关联关系;和/或
对所述目标数据源的数据进行标签化管理。
4.如权利要求1所述异构数据管理方法,其特征在于,所述根据多个工作节点中每个工作节点的实时状况,将所述统一查询请求处理成互相独立的子查询请求后向所述多个工作节点分发,包括:
根据对所述统一查询请求进行语义分析,将所述统一查询请求分割为互相独立的子查询请求;
以固定周期查询所述多个工作节点每个工作节点的工作状态;
若发现所述多个工作节点存在工作状态为可用的工作节点,则根据所述可用工作节点的负载和/或资源使用率,将所述子查询请求分发给所述可用工作节点中负载相对较小和/或资源使用率相对较高的工作节点。
5.如权利要求4所述异构数据管理方法,其特征在于,所述方法还包括:
对所述可用工作节点返回的查询结果进行数据聚合,经聚合后的查询结果返回给查询端。
6.如权利要求1所述异构数据管理方法,其特征在于,所述对所述工作节点收到的子查询请求进行统一抽象,得到多个统一抽象查询子请求之前或之后,还包括:
通过对外提供的http数据请求接口,接收用户对查询任务状态的查询。
7.如权利要求1至6任意一项所述异构数据管理方法,其特征在于,所述统一查询语言为结构化查询语言SQL。
8.一种异构数据管理装置,其特征在于,所述装置包括:
查询请求处理模块,用于对基于统一查询语言的查询请求进行处理,得到统一查询请求;
调度模块,用于根据多个工作节点中每个工作节点的实时状况,将所述统一查询请求处理成互相独立的子查询请求后向所述多个工作节点分发;
统一抽象模块,用于对所述工作节点收到的子查询请求进行统一抽象,得到多个统一抽象查询子请求;
适配模块,用于将所述多个统一抽象查询子请求通过连接插件进行数据源适配,并将适配后的统一抽象查询子请求发送至目标数据源执行数据查询。
9.一种设备,所述设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任意一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011411803.8A CN112364052A (zh) | 2020-12-04 | 2020-12-04 | 异构数据管理方法、装置、设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011411803.8A CN112364052A (zh) | 2020-12-04 | 2020-12-04 | 异构数据管理方法、装置、设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112364052A true CN112364052A (zh) | 2021-02-12 |
Family
ID=74535120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011411803.8A Pending CN112364052A (zh) | 2020-12-04 | 2020-12-04 | 异构数据管理方法、装置、设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112364052A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112905634A (zh) * | 2021-03-04 | 2021-06-04 | 成都新希望金融信息有限公司 | 指标发布系统、方法及电子设备 |
CN113051456A (zh) * | 2021-05-11 | 2021-06-29 | 北京字节跳动网络技术有限公司 | 请求处理方法、装置、电子设备和计算机可读介质 |
CN113076401A (zh) * | 2021-04-09 | 2021-07-06 | 北京元年科技股份有限公司 | 用于数据服务的方法及相应的系统、计算机设备和介质 |
-
2020
- 2020-12-04 CN CN202011411803.8A patent/CN112364052A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112905634A (zh) * | 2021-03-04 | 2021-06-04 | 成都新希望金融信息有限公司 | 指标发布系统、方法及电子设备 |
CN113076401A (zh) * | 2021-04-09 | 2021-07-06 | 北京元年科技股份有限公司 | 用于数据服务的方法及相应的系统、计算机设备和介质 |
CN113076401B (zh) * | 2021-04-09 | 2022-03-04 | 北京元年科技股份有限公司 | 用于数据服务的方法及相应的系统、计算机设备和介质 |
CN113051456A (zh) * | 2021-05-11 | 2021-06-29 | 北京字节跳动网络技术有限公司 | 请求处理方法、装置、电子设备和计算机可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11403350B2 (en) | Mixed mode ERP process executing a mapreduce task | |
US10007698B2 (en) | Table parameterized functions in database | |
US10831562B2 (en) | Method and system for operating a data center by reducing an amount of data to be processed | |
CN107451214B (zh) | 一种非主键查询方法和分布式NewSQL数据库系统 | |
US8793225B1 (en) | Processing a system search request including external data sources and mixed modes | |
CN112364052A (zh) | 异构数据管理方法、装置、设备和计算机可读存储介质 | |
CN108932313B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
US20140089929A1 (en) | Dynamic stream processing within an operator graph | |
US20180129712A1 (en) | Data provenance and data pedigree tracking | |
US9519662B2 (en) | Boolean term conversion for null-tolerant disjunctive predicates | |
CN108573029B (zh) | 一种获取网络访问关系数据的方法、装置及存储介质 | |
CN112860730A (zh) | Sql语句的处理方法、装置、电子设备及可读存储介质 | |
US20140122158A1 (en) | License Meta-Model for Automatic License Reasoning | |
CN116775712A (zh) | 联表查询方法、装置、电子设备、分布式系统和存储介质 | |
US9934278B2 (en) | Method of optimizing complex SQL statements using a region divided preferential SQL rewrite operation | |
CN113343036A (zh) | 基于关键拓扑结构分析的数据血缘关系解析方法和系统 | |
CN110990420A (zh) | 数据查询方法、装置 | |
CN116719872A (zh) | 数据库的部署方法及数据库管理平台 | |
CN115269632A (zh) | 一种sql语句处理方法、装置、电子设备及存储介质 | |
CN117493141A (zh) | 性能分析系统及方法 | |
CN116361392A (zh) | 跨集群数据处理方法及相关设备 | |
CN116842225A (zh) | 数据库查询方法、装置、设备、介质和程序产品 | |
CN117194463A (zh) | 一种查询报表数据的方法和装置 | |
CN117648086A (zh) | 脚本文件的转换方法及装置 | |
CN116070259A (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 |