CN111198901B - 基于多数据源的统一数据服务开放方法及系统 - Google Patents

基于多数据源的统一数据服务开放方法及系统 Download PDF

Info

Publication number
CN111198901B
CN111198901B CN202010010125.8A CN202010010125A CN111198901B CN 111198901 B CN111198901 B CN 111198901B CN 202010010125 A CN202010010125 A CN 202010010125A CN 111198901 B CN111198901 B CN 111198901B
Authority
CN
China
Prior art keywords
data
service
data source
query
sql statement
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.)
Active
Application number
CN202010010125.8A
Other languages
English (en)
Other versions
CN111198901A (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.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
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 Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN202010010125.8A priority Critical patent/CN111198901B/zh
Publication of CN111198901A publication Critical patent/CN111198901A/zh
Application granted granted Critical
Publication of CN111198901B publication Critical patent/CN111198901B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/2455Query execution
    • G06F16/24552Database cache management
    • 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/242Query formulation
    • G06F16/2433Query languages
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于多数据源的统一数据服务开放方法及系统,其中,系统包括:动态数据服务子系统,用于将Web服务配置页面传来的SQL语句进行解析,生成相关数据源查询任务、用户指定服务的输入数据、输出数据模型以及对应的Restful服务,并且当发生服务请求时,发送服务对应的多个数据源查询任务,以从大数据系统中获取目标数据,并将最终结果返回给调用者;多数据源查询引擎子系统,用于将动态数据服务子系统传来的多个数据源查询任务,封装成具体查询任务,通过数据源连接中间件向不同平台、数据源请求目标数据,实现和大数据系统底层组件的交互,且将最终结果进行统一封装返回并缓存。该系统具有高灵活性和高效性的优点,简单易实现。

Description

基于多数据源的统一数据服务开放方法及系统
技术领域
本发明涉及信息技术及数据业务技术领域,特别涉及一种基于多数据源的统一数据服务开放方法及系统。
背景技术
BDaaS(Big Data as a Service,大数据服务)是一种数据使用模式,是在对大数据统一建模的基础上,将各类数据操作进行封装,对外提供无处不在的、标准化的、随需的检索、分析或可视化服务交互。大数据服务不仅是一种新技术,也是一种新的数据资源使用模式和一种新的服务经济模式。但是目前大数据服务还面临一下难题:
1、面向差异化的服务场景和用户需求,如何设计一种能够屏蔽数据资源复杂性,实现检索、分析及可视化服务提供规范化的大数据服务架构,是大数据服务首先需要解决的问题;
2、为了适应多变的服务场景和个性化的用户需求,如何提高大数据服务能力,也是大数据服务面临的一大挑战。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种基于多数据源的统一数据服务开放系统,该系统具有高灵活性和高效性的优点,可以适应多变的服务场景和个性化的用户需求,简单易实现。
本发明的另一个目的在于提出一种基于多数据源的统一数据服务开放方法。
为达到上述目的,本发明一方面实施例提出了一种基于多数据源的统一数据服务开放系统,包括:动态数据服务子系统,用于将Web服务配置页面传来的SQL语句进行解析,生成相关数据源查询任务、用户指定服务的输入数据、输出数据模型以及对应的Restful服务,并且当发生服务请求时,发送服务对应的多个数据源查询任务,以从大数据系统中获取目标数据,并将最终结果返回给调用者;多数据源查询引擎子系统,用于将所述动态数据服务子系统传来的多个数据源查询任务,封装成具体查询任务,通过数据源连接中间件向不同平台、数据源请求所述目标数据,实现和大数据系统底层组件的交互,且将所述最终结果进行统一封装返回并缓存。
本发明实施例的基于多数据源的统一数据服务开放系统,具有高灵活性和高效性的优点,使用户方便集成多种数据源,对多数据源的元数据进行统一管理,提供动态数据服务引擎层,将上层需要的具体数据的查询任务封装成一个功能,转换成Service,以RestfulAPI的方式;将底层的数据(多数据源),以JSON格式,有组织、有标准,可管理、易集成,易复用地对外提供数据服务,以适应多变的服务场景和个性化的用户需求。
另外,根据本发明上述实施例的基于多数据源的统一数据服务开放系统还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述动态数据服务子系统具体用于:接收SQL语句,并对所述SQL语句进行解析,得到抽象语法树;根据解析结果与多数据源的元数据进行比较,判断所述SQL语句是否合法;若SQL语句不合法,则给出相关提示,并退出;若SQL语句合法,则解析服务的输入输出模型;提取各个数据源的信息;根据所述输入输出模型及相关配置信息生成对应的服务。
进一步地,在本发明的一个实施例中,根据每条SQL语句对应的Web服务,在提交所述SQL语句前,将所述SQL语句与对应唯一标识进行绑定,并将所述唯一标识作为访问路径。
进一步地,在本发明的一个实施例中,所述动态数据服务子系统通过处理请求函数和所述唯一此标识找到所述SQL语句对应的解析信息,并调用所述多数据源查询引擎子系统进行跨数据源查询,及将所述最终结果作为响应返回给所述服务调用者。
进一步地,在本发明的一个实施例中,所述多数据源查询引擎子系统包括:查询任务构造模块,用于将每个数据源的期望操作构造成实际的底层数据源操作;多数据源连接中间件模块,用于根据所述底层数据源操作连接底层数据库进行查询操作;最终结果封装模块,用于将多个数据源的查询操作结果进行封装;缓存模块,用于将所述多个数据源的查询操作结果进行缓存。
为达到上述目的,本发明另一方面实施例提出了一种基于多数据源的统一数据服务开放方法,包括以下步骤:将Web服务配置页面传来的SQL语句进行解析,生成相关数据源查询任务、用户指定服务的输入数据、输出数据模型以及对应的Restful服务,并且当发生服务请求时,发送服务对应的多个数据源查询任务,以从大数据系统中获取目标数据,并将最终结果返回给调用者;将传来的多个数据源查询任务,封装成具体查询任务,通过数据源连接中间件向不同平台、数据源请求所述目标数据,实现和大数据系统底层组件的交互,且将所述最终结果进行统一封装返回并缓存。
本发明实施例的基于多数据源的统一数据服务开放方法,具有高灵活性和高效性的优点,使用户方便集成多种数据源,对多数据源的元数据进行统一管理,提供动态数据服务引擎层,将上层需要的具体数据的查询任务封装成一个功能,转换成Service,以RestfulAPI的方式;将底层的数据(多数据源),以JSON格式,有组织、有标准,可管理、易集成,易复用地对外提供数据服务,以适应多变的服务场景和个性化的用户需求。
另外,根据本发明上述实施例的基于多数据源的统一数据服务开放方法还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述将Web服务配置页面传来的SQL语句进行解析,生成相关数据源查询任务、用户指定服务的输入数据、输出数据模型以及对应的Restful服务,进一步包括:接收SQL语句,并对所述SQL语句进行解析,得到抽象语法树;根据解析结果与多数据源的元数据进行比较,判断所述SQL语句是否合法;若SQL语句不合法,则给出相关提示,并退出;若SQL语句合法,则解析服务的输入输出模型;提取各个数据源的信息;根据所述输入输出模型及相关配置信息生成对应的服务。
进一步地,在本发明的一个实施例中,根据每条SQL语句对应的Web服务,在提交所述SQL语句前,将所述SQL语句与对应唯一标识进行绑定,并将所述唯一标识作为访问路径。
进一步地,在本发明的一个实施例中,所述当发生服务请求时,发送服务对应的多个数据源查询任务,以从大数据系统中获取目标数据,并将最终结果返回给调用者,进一步包括:通过处理请求函数和所述唯一此标识找到所述SQL语句对应的解析信息,并调用所述多数据源查询引擎子系统进行跨数据源查询,及将所述最终结果作为响应返回给所述服务调用者。
进一步地,在本发明的一个实施例中,还包括:将每个数据源的期望操作构造成实际的底层数据源操作;根据所述底层数据源操作连接底层数据库进行查询操作;将多个数据源的查询操作结果进行封装;将所述多个数据源的查询操作结果进行缓存。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明实施例的基于多数据源的统一数据服务开放系统的结构示意图;
图2为根据本发明一个实施例的基于多数据源的统一数据服务开放系统的结构示意图;
图3为根据本发明实施例的数据服务生成示意图;
图4为根据本发明实施例的动态数据服务生成示意图;
图5为根据本发明实施例的SELECT语句的语法树状图表示示意图;
图6为根据本发明实施例的多数据源查询引擎需要的信息示意图;
图7为根据本发明实施例的多数据源查询引擎模块示意图;
图8为根据本发明实施例的多数据源查询引擎查询流程图;
图9为根据本发明实施例的基于多数据源的统一数据服务开放方法流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参照附图描述根据本发明实施例提出的基于多数据源的统一数据服务开放方法及系统,首先将参照附图描述根据本发明实施例提出的基于多数据源的统一数据服务开放系统。
图1是本发明一个实施例的基于多数据源的统一数据服务开放系统的结构示意图。
如图1所示,该基于多数据源的统一数据服务开放系统10包括:动态数据服务子系统100和多数据源查询引擎子系统200。
其中,动态数据服务子系统100用于将Web服务配置页面传来的SQL语句进行解析,生成相关数据源查询任务、用户指定服务的输入数据、输出数据模型以及对应的Restful服务,并且当发生服务请求时,发送服务对应的多个数据源查询任务,以从大数据系统中获取目标数据,并将最终结果返回给调用者;多数据源查询引擎子系统200用于将动态数据服务子系统传来的多个数据源查询任务,封装成具体查询任务,通过数据源连接中间件向不同平台、数据源请求目标数据,实现和大数据系统底层组件的交互,且将最终结果进行统一封装返回并缓存。本发明实施例的系统10具有高灵活性和高效性的优点,可以适应多变的服务场景和个性化的用户需求,简单易实现。
可以理解的是,基于多数据源的统一数据服务开放是指:在对大数据统一建模的基础上,将用户指定的对多数据源的各类数据的操作(SQL语句)动态封装成Restful API服务,并向外开放的大数据应用系统。主要由动态数据服务子系统及多数据源查询引擎子系统两部分构成,其系统模块图如图1所示。具体地,每个子系统的作用如下:
1、动态数据服务子系统:主要实现功能是:将Web服务配置页面传来的SQL语句进行解析,生成相关数据源查询任务、用户指定服务的输入数据、输出数据模型以及对应的Restful服务。当发生服务请求时,将服务对应的多个数据源查询任务交由多数据源查询引擎子系统执行,从大数据系统中获取目标数据,并将最终结果返回给调用者。
2、多数据源查询引擎子系统的主要实现的功能是:将动态数据服务子系统传来的多个数据源查询任务,并封装成具体查询任务,通过数据源连接中间件向不同平台、数据源请求目标数据,实现和大数据系统底层组件的交互,最后将结果进行统一封装返回并缓存。
下面将对基于多数据源的统一数据服务开放系统10进行详细的阐述。
进一步地,在本发明的一个实施例中,动态数据服务子系统100具体用于:接收SQL语句,并对SQL语句进行解析,得到抽象语法树;根据解析结果与多数据源的元数据进行比较,判断SQL语句是否合法;若SQL语句不合法,则给出相关提示,并退出;若SQL语句合法,则解析服务的输入输出模型;提取各个数据源的信息;根据输入输出模型及相关配置信息生成对应的服务。
具体而言,动态数据服务子系统是数据服务开放平台的核心功能之一,示意图如图3所示。SQL查询语句等配置生成Restful服务,无需编写代码,实现数据消费者和物理数据的隔离、允许提供者使用一个或多个数据源来构造业务实体及为企业数据构建可重用单元,最终为数据消费者提供了更简单的编程接口去完成数据的访问、错误处理和维护。具体流程如图4所示,其中,动态服务的生成流程如下:
(1)接收SQL语句,并对SQL语句进行解析得到抽象语法树(AST);
(2)根据解析结果与多数据源的元数据进行比较,判断是否SQL是否合法;
(3)若SQL语句不合法,给出相关提示并直接退出;
(4)若SQL语句合法,解析服务的输入输出模型;
(5)提取各个数据源的信息,即数据源中数据库名、数据表名、数据库表数据字段,或者列名等相关信息;
(6)根据输入输出模型及相关配置信息生成对应的服务。
其中,动态数据服务生成伪代码如表1所示。
表1
Figure BDA0002356846720000051
Figure BDA0002356846720000061
进一步而言,通过深度优先搜索遍历解析SQL得到的AST(抽象语法树)如图5所示,我们可以得到SQL中需要的条件及结果,需要的条件可以映射成最终生成服务对应的输入模型,结果映射成服务的输出模型(响应)。同时还能得到SQL语句中所有的数据库名,数据表及表中的字段名(列名),除此之外还能获知SQL语句期望对每个数据源执行的操作。
所以通过三次深度优先搜索遍历处理SQL对应的AST(抽象语法树),就可以完成对SQL的解析,得到多数据源查询引擎所需的所有信息。多数据源所需的所有信息如图6所示。
进一步地,在本发明的一个实施例中,根据每条SQL语句对应的Web服务,在提交SQL语句前,将SQL语句与对应唯一标识进行绑定,并将唯一标识作为访问路径。动态数据服务子系统100通过处理请求函数和唯一此标识找到SQL语句对应的解析信息,并调用多数据源查询引擎子系统进行跨数据源查询,及将最终结果作为响应返回给服务调用者。
具体而言,由于每条SQL语句对应一个Web服务,所以在提交SQL语句前应该与某一唯一标识进行绑定,并将此标识作为访问路径。处理请求函数通过此标识找到SQL对应的解析信息,然后调用多数据源查询引擎进行跨数据源查询,最后将返回结果作为响应返回给服务调用者。伪代码实现如表2所示,其中,表2为动态生成服务伪代码实现表。
表2
Figure BDA0002356846720000062
Figure BDA0002356846720000071
进一步地,在本发明的一个实施例中,多数据源查询引擎子系统200包括:查询任务构造模块、多数据源连接中间件模块、最终结果封装模块和缓存模块。其中,查询任务构造模块,用于将每个数据源的期望操作构造成实际的底层数据源操作;多数据源连接中间件模块,用于根据底层数据源操作连接底层数据库进行查询操作;最终结果封装模块,用于将多个数据源的查询操作结果进行封装;缓存模块,用于将多个数据源的查询操作结果进行缓存。
具体而言,多数据源查询引擎的主要作用是将数据服务对应的SQL语句解析得到的多数据源信息,转换成相应底层数据源的查询任务,获取大数据平台中的目标数据,并最终将结果返回给数据服务的调用者。如图7所示,多数据源查询引擎由查询任务构造、多数据源连接中间件、最终结果封装及缓存四个子模块组成,为上层的数据服务提供一个可靠的交互式查询引擎。
查询任务构造模块负责将每个数据源的期望操作构造成实际的底层数据源操作,然后交由多数据源连接中间件连接底层数据库进行查询操作,接着将多个数据源的查询操作结果进行封装,缓存。具体流程如图8所示:
(1)当外部访问相关服务时,先判断缓存中是否存在数据;
(2)若存在直接返回相关数据;
(3)否则先从数据库中获取SQL解析信息;
(4)任务构造模块构造查询任务(如果存在跨数据源,则存在多个查询任务);
(5)将构造好的查询任务放入线程池中执行
(6)当全部任务执行完成之后,对全部查询结果进行封装整理,返回并缓存。
综上,本发明实施例集成多种数据源,对多数据源的元数据进行统一管理,提多数据源查询引擎层,以统一的方式进行多数据源数据查询;将SQL语句转换成RESTful服务,以JSON格式,有组织、有标准,可管理、易集成,易复用地对外提供数据服务;将跨数据源SQL语句解析构造成多个单数据源查询任务。
根据本发明实施例提出的基于多数据源的统一数据服务开放系统,具有高灵活性和高效性的优点,使用户方便集成多种数据源,对多数据源的元数据进行统一管理,提供动态数据服务引擎层,将上层需要的具体数据的查询任务封装成一个功能,转换成Service,以Restful API的方式;将底层的数据(多数据源),以JSON格式,有组织、有标准,可管理、易集成,易复用地对外提供数据服务,以适应多变的服务场景和个性化的用户需求。
其次参照附图描述根据本发明实施例提出的基于多数据源的统一数据服务开放方法。
图9是本发明一个实施例的基于多数据源的统一数据服务开放方法流程图。
如图9所示,该基于多数据源的统一数据服务开放方法包括以下步骤:
在步骤S901中,将Web服务配置页面传来的SQL语句进行解析,生成相关数据源查询任务、用户指定服务的输入数据、输出数据模型以及对应的Restful服务,并且当发生服务请求时,发送服务对应的多个数据源查询任务,以从大数据系统中获取目标数据,并将最终结果返回给调用者;
在步骤S902中,将传来的多个数据源查询任务,封装成具体查询任务,通过数据源连接中间件向不同平台、数据源请求目标数据,实现和大数据系统底层组件的交互,且将最终结果进行统一封装返回并缓存。
进一步地,在本发明的一个实施例中,将Web服务配置页面传来的SQL语句进行解析,生成相关数据源查询任务、用户指定服务的输入数据、输出数据模型以及对应的Restful服务,进一步包括:接收SQL语句,并对SQL语句进行解析,得到抽象语法树;根据解析结果与多数据源的元数据进行比较,判断SQL语句是否合法;若SQL语句不合法,则给出相关提示,并退出;若SQL语句合法,则解析服务的输入输出模型;提取各个数据源的信息;根据输入输出模型及相关配置信息生成对应的服务。
进一步地,在本发明的一个实施例中,根据每条SQL语句对应的Web服务,在提交SQL语句前,将SQL语句与对应唯一标识进行绑定,并将唯一标识作为访问路径。
进一步地,在本发明的一个实施例中,当发生服务请求时,发送服务对应的多个数据源查询任务,以从大数据系统中获取目标数据,并将最终结果返回给调用者,进一步包括:通过处理请求函数和唯一此标识找到SQL语句对应的解析信息,并调用多数据源查询引擎子系统进行跨数据源查询,及将最终结果作为响应返回给服务调用者。
进一步地,在本发明的一个实施例中,还包括:将每个数据源的期望操作构造成实际的底层数据源操作;根据底层数据源操作连接底层数据库进行查询操作;将多个数据源的查询操作结果进行封装;将多个数据源的查询操作结果进行缓存。
需要说明的是,前述对基于多数据源的统一数据服务开放系统实施例的解释说明也适用于该实施例的基于多数据源的统一数据服务开放方法,此处不再赘述。
根据本发明实施例提出的基于多数据源的统一数据服务开放方法,具有高灵活性和高效性的优点,使用户方便集成多种数据源,对多数据源的元数据进行统一管理,提供动态数据服务引擎层,将上层需要的具体数据的查询任务封装成一个功能,转换成Service,以Restful API的方式;将底层的数据(多数据源),以JSON格式,有组织、有标准,可管理、易集成,易复用地对外提供数据服务,以适应多变的服务场景和个性化的用户需求。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (8)

1.一种基于多数据源的统一数据服务开放系统,其特征在于,包括:
动态数据服务子系统,用于将Web服务配置页面传来的SQL语句进行解析,生成相关数据源查询任务、用户指定服务的输入数据、输出数据模型以及对应的Restful服务,并且当发生服务请求时,发送服务对应的多个数据源查询任务,以从大数据系统中获取目标数据,并将最终结果返回给调用者;
多数据源查询引擎子系统,用于将所述动态数据服务子系统传来的多个数据源查询任务,封装成具体查询任务,通过数据源连接中间件向不同平台、数据源请求所述目标数据,实现和大数据系统底层组件的交互,且将所述最终结果进行统一封装返回并缓存;
所述动态数据服务子系统具体用于:接收SQL语句,并对所述SQL语句进行解析,得到抽象语法树,根据解析结果与多数据源的元数据进行比较,判断所述SQL语句是否合法:若SQL语句不合法,则给出相关提示,并退出,若SQL语句合法,则解析服务的输入输出模型,提取各个数据源的信息,根据所述输入输出模型及相关配置信息生成对应的服务。
2.根据权利要求1所述的系统,其特征在于,根据每条SQL语句对应的Web服务,在提交所述SQL语句前,将所述SQL语句与对应唯一标识进行绑定,并将所述唯一标识作为访问路径。
3.根据权利要求2所述的系统,其特征在于,所述动态数据服务子系统通过处理请求函数和所述唯一标识找到所述SQL语句对应的解析信息,并调用所述多数据源查询引擎子系统进行跨数据源查询,及将所述最终结果作为响应返回给服务调用者。
4.根据权利要求1所述的系统,其特征在于,所述多数据源查询引擎子系统包括:
查询任务构造模块,用于将每个数据源的期望操作构造成实际的底层数据源操作;
多数据源连接中间件模块,用于根据所述底层数据源操作连接底层数据库进行查询操作;
最终结果封装模块,用于将多个数据源的查询操作结果进行封装;
缓存模块,用于将所述多个数据源的查询操作结果进行缓存。
5.一种基于多数据源的统一数据服务开放方法,其特征在于,包括以下步骤:
将Web服务配置页面传来的SQL语句进行解析,生成相关数据源查询任务、用户指定服务的输入数据、输出数据模型以及对应的Restful服务,并且当发生服务请求时,发送服务对应的多个数据源查询任务,以从大数据系统中获取目标数据,并将最终结果返回给调用者;
将传来的多个数据源查询任务,封装成具体查询任务,通过数据源连接中间件向不同平台、数据源请求所述目标数据,实现和大数据系统底层组件的交互,且将所述最终结果进行统一封装返回并缓存;
所述将Web服务配置页面传来的SQL语句进行解析,生成相关数据源查询任务、用户指定服务的输入数据、输出数据模型以及对应的Restful服务,进一步包括:接收SQL语句,并对所述SQL语句进行解析,得到抽象语法树,根据解析结果与多数据源的元数据进行比较,判断所述SQL语句是否合法:若SQL语句不合法,则给出相关提示,并退出,若SQL语句合法,则解析服务的输入输出模型,提取各个数据源的信息,根据所述输入输出模型及相关配置信息生成对应的服务。
6.根据权利要求5所述的方法,其特征在于,根据每条SQL语句对应的Web服务,在提交所述SQL语句前,将所述SQL语句与对应唯一标识进行绑定,并将所述唯一标识作为访问路径。
7.根据权利要求6所述的方法,其特征在于,所述当发生服务请求时,发送服务对应的多个数据源查询任务,以从大数据系统中获取目标数据,并将最终结果返回给调用者,进一步包括:
通过处理请求函数和所述唯一标识找到所述SQL语句对应的解析信息,并进行跨数据源查询,及将所述最终结果作为响应返回给服务调用者。
8.根据权利要求5所述的方法,其特征在于,还包括:
将每个数据源的期望操作构造成实际的底层数据源操作;
根据所述底层数据源操作连接底层数据库进行查询操作;
将多个数据源的查询操作结果进行封装;
将所述多个数据源的查询操作结果进行缓存。
CN202010010125.8A 2020-01-06 2020-01-06 基于多数据源的统一数据服务开放方法及系统 Active CN111198901B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010010125.8A CN111198901B (zh) 2020-01-06 2020-01-06 基于多数据源的统一数据服务开放方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010010125.8A CN111198901B (zh) 2020-01-06 2020-01-06 基于多数据源的统一数据服务开放方法及系统

Publications (2)

Publication Number Publication Date
CN111198901A CN111198901A (zh) 2020-05-26
CN111198901B true CN111198901B (zh) 2023-03-10

Family

ID=70746784

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010010125.8A Active CN111198901B (zh) 2020-01-06 2020-01-06 基于多数据源的统一数据服务开放方法及系统

Country Status (1)

Country Link
CN (1) CN111198901B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112506943B (zh) * 2020-10-30 2022-06-07 福建亿能达信息技术股份有限公司 一种异构数据服务提供方法、装置、设备和介质
CN112351099B (zh) * 2020-11-06 2023-03-24 北京金山云网络技术有限公司 数据访问方法、装置和服务器
CN112416964A (zh) * 2020-11-17 2021-02-26 深圳依时货拉拉科技有限公司 一种数据处理的方法、装置、系统、计算机设备及计算机可读存储介质
CN112749192A (zh) * 2021-01-24 2021-05-04 武汉卓尔信息科技有限公司 一种数据集成服务系统及数据处理方法
CN112965989A (zh) * 2021-03-04 2021-06-15 浪潮云信息技术股份公司 一种主体分散数据查询及研判方法
CN113190215B (zh) * 2021-05-24 2024-06-25 上海万物新生环保科技集团有限公司 一种基于搜索组件的查询方法及设备
CN113407812A (zh) * 2021-07-16 2021-09-17 首约科技(北京)有限公司 一种跨数据源的数据推送方法及装置
CN113742103A (zh) * 2021-08-30 2021-12-03 北京爱奇艺科技有限公司 跨数据源的服务实现方法及装置、电子设备
CN117149886A (zh) * 2023-10-31 2023-12-01 厦门畅享信息技术有限公司 一种可动态配置的多数据源数据对接方法和管理平台

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609451A (zh) * 2012-01-11 2012-07-25 华中科技大学 面向流式数据处理的sql查询计划生成方法
CN104932895A (zh) * 2015-06-26 2015-09-23 南京邮电大学 一种基于soa的中间件及其信息发布方法
CN107622055A (zh) * 2016-07-13 2018-01-23 航天科工智慧产业发展有限公司 一种快速实现数据服务发布的方法
CN109446279A (zh) * 2018-10-15 2019-03-08 顺丰科技有限公司 基于neo4j大数据血缘关系管理方法、系统、设备及存储介质
CN110032575A (zh) * 2019-04-15 2019-07-19 网易(杭州)网络有限公司 数据查询方法、装置、设备和存储介质
CN110096513A (zh) * 2019-04-10 2019-08-06 阿里巴巴集团控股有限公司 一种数据查询、资金核对方法及装置
CN110147411A (zh) * 2019-05-20 2019-08-20 平安科技(深圳)有限公司 数据同步方法、装置、计算机设备及存储介质
CN110399388A (zh) * 2019-07-29 2019-11-01 中国工商银行股份有限公司 数据查询方法、系统和设备
CN110443059A (zh) * 2018-05-02 2019-11-12 中兴通讯股份有限公司 数据保护方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10216823B2 (en) * 2017-05-31 2019-02-26 HarperDB, Inc. Systems, methods, and apparatus for hierarchical database

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609451A (zh) * 2012-01-11 2012-07-25 华中科技大学 面向流式数据处理的sql查询计划生成方法
CN104932895A (zh) * 2015-06-26 2015-09-23 南京邮电大学 一种基于soa的中间件及其信息发布方法
CN107622055A (zh) * 2016-07-13 2018-01-23 航天科工智慧产业发展有限公司 一种快速实现数据服务发布的方法
CN110443059A (zh) * 2018-05-02 2019-11-12 中兴通讯股份有限公司 数据保护方法及装置
CN109446279A (zh) * 2018-10-15 2019-03-08 顺丰科技有限公司 基于neo4j大数据血缘关系管理方法、系统、设备及存储介质
CN110096513A (zh) * 2019-04-10 2019-08-06 阿里巴巴集团控股有限公司 一种数据查询、资金核对方法及装置
CN110032575A (zh) * 2019-04-15 2019-07-19 网易(杭州)网络有限公司 数据查询方法、装置、设备和存储介质
CN110147411A (zh) * 2019-05-20 2019-08-20 平安科技(深圳)有限公司 数据同步方法、装置、计算机设备及存储介质
CN110399388A (zh) * 2019-07-29 2019-11-01 中国工商银行股份有限公司 数据查询方法、系统和设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘雨洋.海量多数据库集成系统的查询处理研究.2012,(第7期),全文. *

Also Published As

Publication number Publication date
CN111198901A (zh) 2020-05-26

Similar Documents

Publication Publication Date Title
CN111198901B (zh) 基于多数据源的统一数据服务开放方法及系统
CN107133267B (zh) 查询elasticsearch集群的方法、装置、电子设备和可读存储介质
US8387030B2 (en) Service adaptation definition language
US5317742A (en) Dynamic translation of network management primitives to queries to a database
CN101609415B (zh) 基于中间件的通用服务调用系统及方法
US9760647B2 (en) Techniques for automatically exposing, as web services, procedures and functions stored in a database
US8726229B2 (en) Multi-language support for service adaptation
CN103210386B (zh) 混合联合搜索的方法、系统和设备
CN109446252B (zh) 一种用于电网调控的统一访问方法及系统
US8745096B1 (en) Techniques for aggregating data from multiple sources
CN102968307B (zh) 一种基于java的web开发中间件
CN114064690A (zh) 数据处理方法及装置
US7533111B2 (en) Using soap messages for inverse query expressions
CN111026931A (zh) 一种数据查询方法、装置、设备及介质
CN109298954B (zh) 一种智能调用Dubbo远程服务的方法及装置
US7945893B2 (en) Mapping web services description language documents to XQuery functions
CN113254519B (zh) 多源异构数据库的访问方法、装置、设备和存储介质
CN109241384A (zh) 一种科研信息的可视化方法及装置
CN113609141B (zh) 一种基于api拼接的无侵入式跨库数据融合方法
CN105138692B (zh) 一种大数据访问和管理的中间件定制系统与方法
CN112491943B (zh) 数据请求方法、装置、存储介质和电子设备
CN114238459A (zh) 一种异构数据源集成管理方法、装置和系统
CN116795351A (zh) 一种软件工具包的生成方法、装置及可读存储介质
CN114840574A (zh) 数据查询方法、服务器、节点及存储介质
CN114003583A (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