CN114490842B - 一种多源数据的接口数据查询方法和数据查询引擎 - Google Patents

一种多源数据的接口数据查询方法和数据查询引擎 Download PDF

Info

Publication number
CN114490842B
CN114490842B CN202111628635.2A CN202111628635A CN114490842B CN 114490842 B CN114490842 B CN 114490842B CN 202111628635 A CN202111628635 A CN 202111628635A CN 114490842 B CN114490842 B CN 114490842B
Authority
CN
China
Prior art keywords
query
database
data
target database
target
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
CN202111628635.2A
Other languages
English (en)
Other versions
CN114490842A (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.)
Casic Wisdom Industrial Development Co ltd
Beijing Institute of Computer Technology and Applications
Original Assignee
Casic Wisdom Industrial Development Co ltd
Beijing Institute of Computer Technology and Applications
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 Casic Wisdom Industrial Development Co ltd, Beijing Institute of Computer Technology and Applications filed Critical Casic Wisdom Industrial Development Co ltd
Priority to CN202111628635.2A priority Critical patent/CN114490842B/zh
Publication of CN114490842A publication Critical patent/CN114490842A/zh
Application granted granted Critical
Publication of CN114490842B publication Critical patent/CN114490842B/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/25Integrating or interfacing systems involving database management systems
    • 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/21Design, administration or maintenance of databases
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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
    • 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/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9532Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links

Landscapes

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

Abstract

本发明提供一种多源数据的接口数据查询方法和数据查询引擎,方法包括:数据库注册步骤;数据库元数据信息获取步骤;查询服务;查询接口注册和发布服务。本发明提供的一种多源数据的接口数据查询方法和数据查询引擎,当查询的数据存在于多数据源时,无需将多源数据进行同步,只需要注册所查询数据源的元数据信息,就能够实现跨数据源数据的查询功能,提高查询效率,降低数据开发人员的开发成本。

Description

一种多源数据的接口数据查询方法和数据查询引擎
技术领域
本发明属于计算机科学技术领域,具体涉及一种多源数据的接口数据查询方法和数据查询引擎。
背景技术
随着社会信息化程度的提高,企业内部的数据格式种类日益繁多,且企业内以及企业间数据交互更加频繁,对异构数据源的访问逐渐成为制约***的瓶颈。如何提高***的交互效率,提高***内数据使用效率以及降低开发人员的开发成本,缩短开发周期成为研究热点。
基于上述问题,常见的解决方案是先选定一个数据源,然后使用数据同步技术,将不同数据源中的数据表以及数据,集中在同一个数据源中,然后再对数据进行查询加工等功能。以上方法虽然能够解决数据孤岛,实现查询多数据源中的数据问题,但本质还是查询单一数据源,对于企业来讲,在同步数据的时候,需要开发相应的数据同步功能,并且需要保障数据在同步时的完整性和准确性,无疑加大了数据开发人员的开发成本,还有可能会相应的延长开发周期。
发明内容
针对现有技术存在的缺陷,本发明提供一种多源数据的接口数据查询方法和数据查询引擎,可有效解决上述问题。
本发明采用的技术方案如下:
本发明提供一种多源数据的接口数据查询方法,包括以下步骤:
步骤S1,数据库注册步骤:
建立数据库池;所述数据库池用于存储需要连接的每种类型的数据库的驱动类和驱动程序包;
具体的,每当需要数据库池扩展支持一种类型的数据库时,向所述数据库池注册需扩展的所述数据库的驱动类和驱动程序包;
步骤S2,数据库元数据信息获取步骤:
通过元数据管理模块,获取并管理每个已注册的数据库的元数据信息和底层数据模型,数据库的元数据信息和底层数据模型保存到元数据信息库;其中,所述数据库的元数据信息和底层数据模型包括数据库名称、数据库地址、数据库类型和数据库端口号;
步骤S3,查询服务,包括:
步骤S3.1,当接收到对至少一个数据库的SQL查询语句时,通过查询语句解析器,对所述数据库的SQL查询语句进行识别,得到需查询的目标数据库名称;
步骤S3.2,判断需查询的目标数据库名称是否为单一数据库名称,如果否,表明是对多数据源进行查询,执行步骤S3.3;如果是,表明是对单一数据源进行查询,则执行步骤S3.4;
步骤S3.3,对所述数据库的SQL查询语句进行拆分,得到每个目标数据库名称;
针对每个目标数据库名称,执行步骤S3.4,得到查询结果;然后执行步骤S3.5;
步骤S3.4,根据目标数据库名称,搜索所述元数据信息库,得到目标数据库地址、目标数据库类型和目标数据库端口号;
然后,根据目标数据库类型搜索数据库池,得到与所述目标数据库类型对应的驱动类和驱动程序包;
通过目标数据库的地址和目标数据库端口号连接到目标数据库,再通过目标数据库的驱动类和驱动程序包,对目标数据库进行驱动,从而建立与目标数据库的有效连接;然后,对有效连接的所述目标数据库进行查询,得到查询结果;然后执行步骤S3.5;
步骤S3.5,查询结果处理:
如果查询结果来自于同一个目标数据库,则对查询结果进行简易包装,得到简易包装后的查询结果,并返回;
如果查询结果来自于多个目标数据库,则按照查询规则,对查询结果进行处理后再进行封装,得到封装后的查询结果,并返回;
步骤S4,查询接口注册和发布服务:
确定查询结果无误后,将查询语句和对应的目标数据库注册为查询服务接口,通过对查询服务接口进行充分测试后,将查询服务接口发布,供其他服务调用以达到数据查询接口共享的功能。
优选的,步骤S3.5中,如果查询结果来自于多个目标数据库,对查询结果根据数据量决定是暂存在内存或者临时文件中,然后按照查询条件,对不同数据库返回的查询结果按照查询逻辑进行处理,生成最终的查询结果集;对查询结果集进行封装后返回。
本发明还提供一种多源数据的接口数据查询方法的数据查询引擎,包括:
所述数据查询引擎封装数据库池、元数据管理模块、查询语句解析器、查询结果处理模块和查询接口注册模块;
所述数据库池,用于存储需要连接的每种类型的数据库的驱动类和驱动程序包;在连接数据库时,只需要提供正确的URL连接地址,即可查询连接到对应类型的数据库;
所述元数据管理模块,用于获取已注册的数据库的元数据信息和底层数据模型,用于提供给查询语句解析器使用;
所述查询语句解析器,用于根据传递过来的数据库的SQL查询语句,自动识别需查询的目标数据库名称;
若需查询的数据来自于同一个目标数据库,则根据数据库的SQL查询语句得到目标数据库名称;根据目标数据库名称,搜索所述元数据信息库,得到目标数据库地址、目标数据库类型和目标数据库端口号;然后,根据目标数据库类型搜索数据库池,得到与所述目标数据库类型对应的驱动类和驱动程序包;
通过目标数据库的地址和目标数据库端口号连接到目标数据库,再通过目标数据库的驱动类和驱动程序包,对目标数据库进行驱动,从而建立与目标数据库的有效连接;然后,对有效连接的所述目标数据库进行查询,得到查询结果;
若需查询的数据来自于至少两个目标数据库,则将数据库的SQL查询语句拆解后,再针对每个查询任务进行对应的数据库查询,得到查询结果;
所述查询结果处理模块,用于对查询语句解析器传递过来的查询结果进行统一包装;如果查询结果来自于同一个目标数据库,则对查询结果进行简易包装,得到简易包装后的查询结果,并返回;
如果查询结果来自于多个目标数据库,则按照查询规则,对查询结果进行处理后再进行封装,得到封装后的查询结果,并返回;
所述查询接口注册模块,用于确定查询结果无误后,将查询语句和对应的目标数据库注册为查询服务接口,通过对查询服务接口进行充分测试后,将查询服务接口发布,供其他服务调用以达到数据查询接口共享的功能。
本发明提供的一种多源数据的接口数据查询方法和数据查询引擎具有以下优点:
本发明提供的一种多源数据的接口数据查询方法和数据查询引擎,当查询的数据存在于多数据源时,无需将多源数据进行同步,只需要注册所查询数据源的元数据信息,就能够实现跨数据源数据的查询功能,提高查询效率,降低数据开发人员的开发成本。
附图说明
图1为本发明提供的一种多源数据的接口数据查询方法的整体流程示意图;
图2为本发明提供的数据查询步骤的流程示意图;
图3为本发明提供的多源数据的接口数据查询***的架构图。
具体实施方式
为了使本发明所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明的目的是解决当查询的数据存在于多数据源时,无需将多源数据进行同步,只需要注册所查询数据源的元数据信息,就能够实现跨数据源数据的查询功能。
具体的,本发明结合面向服务的思想以及基于异构数据源的集成技术,研究开发面向服务的多源数据的接口查询解决方案。设计和实现了数据服务平台内多源数据查询功能,使用基于结构化查询语言(Structured Query Language,SQL)作为查询语言,实现对mysql数据库,oracle数据库,达梦数据库等支持JDBC规范的关系型数据库的集成查询功能。
参考图1,本发明提供一种多源数据的接口数据查询方法,包括以下步骤:
步骤S1,数据库注册步骤:
建立数据库池;所述数据库池用于存储需要连接的每种类型的数据库的驱动类和驱动程序包;
具体的,每当需要数据库池扩展支持一种类型的数据库时,向所述数据库池注册需扩展的所述数据库的驱动类和驱动程序包;
作为一种具体实现方式,数据库池,用于注册服务所能够连接的数据库种类。所注册的数据库种类需支持JDBC协议,在数据库池中,存储每种类型的需要连接的数据库的驱动类和驱动程序包,在连接数据库时,只需要提供正确的URL连接地址,通过驱动类和驱动程序包驱动,即可查询连接到对应类型的数据库。
步骤S2,数据库元数据信息获取步骤:
通过元数据管理模块,获取并管理每个已注册的数据库的元数据信息和底层数据模型,数据库的元数据信息和底层数据模型保存到元数据信息库;其中,所述数据库的元数据信息和底层数据模型包括数据库名称、数据库地址、数据库类型和数据库端口号;
作为一种具体实现方式,元数据管理模块,用于获取注册的数据库的元数据信息和底层数据模型,用来提供给查询服务步骤使用。还可以将自身服务作为一类元数据管理起来,以便查看基于服务的数据流向。
步骤S3,查询服务,参考图2,包括:
步骤S3.1,当接收到对至少一个数据库的SQL查询语句时,通过查询语句解析器,对所述数据库的SQL查询语句进行识别,得到需查询的目标数据库名称;
步骤S3.2,判断需查询的目标数据库名称是否为单一数据库名称,如果否,表明是对多数据源进行查询,执行步骤S3.3;如果是,表明是对单一数据源进行查询,则执行步骤S3.4;
步骤S3.3,对所述数据库的SQL查询语句进行拆分,得到每个目标数据库名称;
针对每个目标数据库名称,执行步骤S3.4,得到查询结果;然后执行步骤S3.5;
步骤S3.4,根据目标数据库名称,搜索所述元数据信息库,得到目标数据库地址、目标数据库类型和目标数据库端口号;
然后,根据目标数据库类型搜索数据库池,得到与所述目标数据库类型对应的驱动类和驱动程序包;
通过目标数据库的地址和目标数据库端口号连接到目标数据库,再通过目标数据库的驱动类和驱动程序包,对目标数据库进行驱动,从而建立与目标数据库的有效连接;然后,对有效连接的所述目标数据库进行查询,得到查询结果;然后执行步骤S3.5;
作为一种具体实现方式,查询语句解析器,根据传递过来的SQL查询语句,自动识别查询的数据库名称,若查询的数据来自同一个数据库,则将查询语句直接指派到指定的数据库进行查询;若解析后发现数据来自于不同的数据库,则将查询任务拆解到对应的数据库查询。
步骤S3.5,查询结果处理:
如果查询结果来自于同一个目标数据库,则对查询结果进行简易包装,得到简易包装后的查询结果,并返回;
如果查询结果来自于多个目标数据库,则按照查询规则,对查询结果进行处理后再进行封装,得到封装后的查询结果,并返回;
具体的,如果查询结果来自于多个目标数据库,对查询结果根据数据量决定是暂存在内存或者临时文件中,然后按照查询条件,对不同数据库返回的查询结果按照查询逻辑进行处理,生成最终的查询结果集;对查询结果集进行封装后返回。
因此,根据查询语句解析器传递过来的查询结果,对查询结果进行统一包装。若查询结果来自于同一个数据库,则只需对查询结果做简易包装,即可将查询结果返回;若查询结果分别来自于不同的数据库,则按照查询规则,对查询结果进行处理后再进行封装返回。
步骤S4,查询接口注册和发布服务:
确定查询结果无误后,将查询语句和对应的目标数据库注册为查询服务接口,通过对查询服务接口进行充分测试后,将查询服务接口发布,供其他服务调用以达到数据查询接口共享的功能。
通过对查询语句的修改完成查询接口的更新,降低开发人员的开发成本,缩短开发周期。
本发明还提供一种数据查询引擎,参考图3,包括:
所述数据查询引擎封装数据库池、元数据管理模块、查询语句解析器、查询结果处理模块和查询接口注册模块;
所述数据库池,用于存储需要连接的每种类型的数据库的驱动类和驱动程序包;在连接数据库时,只需要提供正确的URL连接地址,即可查询连接到对应类型的数据库;
所述元数据管理模块,用于获取已注册的数据库的元数据信息和底层数据模型,用于提供给查询语句解析器使用;
所述查询语句解析器,用于根据传递过来的数据库的SQL查询语句,自动识别需查询的目标数据库名称;
若需查询的数据来自于同一个目标数据库,则根据数据库的SQL查询语句得到目标数据库名称;根据目标数据库名称,搜索所述元数据信息库,得到目标数据库地址、目标数据库类型和目标数据库端口号;然后,根据目标数据库类型搜索数据库池,得到与所述目标数据库类型对应的驱动类和驱动程序包;
通过目标数据库的地址和目标数据库端口号连接到目标数据库,再通过目标数据库的驱动类和驱动程序包,对目标数据库进行驱动,从而建立与目标数据库的有效连接;然后,对有效连接的所述目标数据库进行查询,得到查询结果;
若需查询的数据来自于至少两个目标数据库,则将数据库的SQL查询语句拆解后,再针对每个查询任务进行对应的数据库查询,得到查询结果;
所述查询结果处理模块,用于对查询语句解析器传递过来的查询结果进行统一包装;如果查询结果来自于同一个目标数据库,则对查询结果进行简易包装,得到简易包装后的查询结果,并返回;
如果查询结果来自于多个目标数据库,则按照查询规则,对查询结果进行处理后再进行封装,得到封装后的查询结果,并返回;
所述查询接口注册模块,用于确定查询结果无误后,将查询语句和对应的目标数据库注册为查询服务接口,通过对查询服务接口进行充分测试后,将查询服务接口发布,供其他服务调用以达到数据查询接口共享的功能。
本发明中,数据源和数据库指代相同含义。下面介绍一个具体实施例:
步骤1:数据源的接入
(1)注册已有数据库连接
数据源接入模块维护一个数据库类型及驱动类的相关信息。添加数据库连接时,选择相关的数据库类型,填写相关的数据库连接信息,将数据库注册到数据源接入模块中。
本发明中,数据库池存储需要连接的每种类型的数据库的驱动类和驱动程序包;但针对同一种类型的数据库,可实现连接多个相同数型的数据库(即数据源),实现对该数据源的具体连接。
(2)扩展新数据库连接
将新扩展的数据库的连接驱动包放到相关路径下,配置好驱动程序类,即可添加新的类型的数据库连接。
步骤2:数据库元数据获取
获取每个数据库的元数据信息,将连接的数据库的元数据信息(表信息以及每张表的字段信息)保存到元数据信息库中。
步骤3:数据查询
数据查询的具体步骤如下:
(1)查询语句解析
解析查询语句,判断查询语句查询的是否为单一的数据库,如果是,则查询语句不做处理,直接发送给数据库进行查询;如果查询的为多个数据库的数据,则对查询语句做拆分处理,分别去相应的数据库中查询相关的数据。
(2)查询结果处理
如果查询结果是从单一数据库返回的数据,则对数据不做处理;如果查询的结果是在不同的数据库中返回的,则将返回的结果根据数据量决定是暂存在内存或者临时文件中,然后按照查询条件,对不同数据源返回的结果按照查询逻辑进行处理,然后生成最终的结果集。
(3)结果返回
将查询出的数据按照统一的格式进行封装后,返回给调用端。
步骤4:接口注册发布
在该发明的内部,存在一张表,用来存储注册发布的API查询接口,存储信息包括接口路径以及相应的查询语句信息等。查询语句确认无误后,写好相应的对外查询接口,该查询接口即可对开放。
本发明提供的一种多源数据的接口数据查询方法和数据查询引擎具有以下优点:
注册数据源后,在接口查询时,会将接口查询信息进行解析,分发到对应的数据源后获取查询结果,在结果处理阶段注册相应的临时表,然后进行跨数据源之间的数据关联处理。因此,当查询的数据存在于多数据源时,无需将多源数据进行同步,只需要注册所查询数据源的元数据信息,就能够实现跨数据源数据的查询功能,提高查询效率,降低数据开发人员的开发成本。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。

Claims (3)

1.一种多源数据的接口数据查询方法,其特征在于,包括以下步骤:
步骤S1,数据库注册步骤:
建立数据库池;所述数据库池用于存储需要连接的每种类型的数据库的驱动类和驱动程序包;
具体的,每当需要数据库池扩展支持一种类型的数据库时,向所述数据库池注册需扩展的所述数据库的驱动类和驱动程序包;
步骤S2,数据库元数据信息获取步骤:
通过元数据管理模块,获取并管理每个已注册的数据库的元数据信息和底层数据模型,数据库的元数据信息和底层数据模型保存到元数据信息库;其中,所述数据库的元数据信息和底层数据模型包括数据库名称、数据库地址、数据库类型和数据库端口号;
步骤S3,查询服务,包括:
步骤S3.1,当接收到对至少一个数据库的SQL查询语句时,通过查询语句解析器,对所述数据库的SQL查询语句进行识别,得到需查询的目标数据库名称;
步骤S3.2,判断需查询的目标数据库名称是否为单一数据库名称,如果否,表明是对多数据源进行查询,执行步骤S3.3;如果是,表明是对单一数据源进行查询,则执行步骤S3.4;
步骤S3.3,对所述数据库的SQL查询语句进行拆分,得到每个目标数据库名称;
针对每个目标数据库名称,执行步骤S3.4,得到查询结果;然后执行步骤S3.5;
步骤S3.4,根据目标数据库名称,搜索所述元数据信息库,得到目标数据库地址、目标数据库类型和目标数据库端口号;
然后,根据目标数据库类型搜索数据库池,得到与所述目标数据库类型对应的驱动类和驱动程序包;
通过目标数据库的地址和目标数据库端口号连接到目标数据库,再通过目标数据库的驱动类和驱动程序包,对目标数据库进行驱动,从而建立与目标数据库的有效连接;然后,对有效连接的所述目标数据库进行查询,得到查询结果;然后执行步骤S3.5;
步骤S3.5,查询结果处理:
如果查询结果来自于同一个目标数据库,则对查询结果进行简易包装,得到简易包装后的查询结果,并返回;
如果查询结果来自于多个目标数据库,则按照查询规则,对查询结果进行处理后再进行封装,得到封装后的查询结果,并返回;
步骤S4,查询接口注册和发布服务:
确定查询结果无误后,将查询语句和对应的目标数据库注册为查询服务接口,通过对查询服务接口进行充分测试后,将查询服务接口发布,供其他服务调用以达到数据查询接口共享的功能。
2.根据权利要求1所述的一种多源数据的接口数据查询方法,其特征在于,步骤S3.5中,如果查询结果来自于多个目标数据库,对查询结果根据数据量决定是暂存在内存或者临时文件中,然后按照查询条件,对不同数据库返回的查询结果按照查询逻辑进行处理,生成最终的查询结果集;对查询结果集进行封装后返回。
3.一种权利要求1-2任一项所述的多源数据的接口数据查询方法的数据查询引擎***,其特征在于,包括:
所述数据查询引擎***封装数据库池、元数据管理模块、查询语句解析器、查询结果处理模块和查询接口注册模块;
所述数据库池,用于存储需要连接的每种类型的数据库的驱动类和驱动程序包;在连接数据库时,只需要提供正确的URL连接地址,即可查询连接到对应类型的数据库;
所述元数据管理模块,用于获取已注册的数据库的元数据信息和底层数据模型,用于提供给查询语句解析器使用;
所述查询语句解析器,用于根据传递过来的数据库的SQL查询语句,自动识别需查询的目标数据库名称;
若需查询的数据来自于同一个目标数据库,则根据数据库的SQL查询语句得到目标数据库名称;根据目标数据库名称,搜索所述元数据信息库,得到目标数据库地址、目标数据库类型和目标数据库端口号;然后,根据目标数据库类型搜索数据库池,得到与所述目标数据库类型对应的驱动类和驱动程序包;
通过目标数据库的地址和目标数据库端口号连接到目标数据库,再通过目标数据库的驱动类和驱动程序包,对目标数据库进行驱动,从而建立与目标数据库的有效连接;然后,对有效连接的所述目标数据库进行查询,得到查询结果;
若需查询的数据来自于至少两个目标数据库,则将数据库的SQL查询语句拆解后,再针对每个查询任务进行对应的数据库查询,得到查询结果;
所述查询结果处理模块,用于对查询语句解析器传递过来的查询结果进行统一包装;如果查询结果来自于同一个目标数据库,则对查询结果进行简易包装,得到简易包装后的查询结果,并返回;
如果查询结果来自于多个目标数据库,则按照查询规则,对查询结果进行处理后再进行封装,得到封装后的查询结果,并返回;
所述查询接口注册模块,用于确定查询结果无误后,将查询语句和对应的目标数据库注册为查询服务接口,通过对查询服务接口进行充分测试后,将查询服务接口发布,供其他服务调用以达到数据查询接口共享的功能。
CN202111628635.2A 2021-12-28 2021-12-28 一种多源数据的接口数据查询方法和数据查询引擎 Active CN114490842B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111628635.2A CN114490842B (zh) 2021-12-28 2021-12-28 一种多源数据的接口数据查询方法和数据查询引擎

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111628635.2A CN114490842B (zh) 2021-12-28 2021-12-28 一种多源数据的接口数据查询方法和数据查询引擎

Publications (2)

Publication Number Publication Date
CN114490842A CN114490842A (zh) 2022-05-13
CN114490842B true CN114490842B (zh) 2022-11-11

Family

ID=81495370

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111628635.2A Active CN114490842B (zh) 2021-12-28 2021-12-28 一种多源数据的接口数据查询方法和数据查询引擎

Country Status (1)

Country Link
CN (1) CN114490842B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111435344A (zh) * 2019-01-15 2020-07-21 中国石油集团川庆钻探工程有限公司长庆钻井总公司 一种基于大数据的钻井提速影响因素分析模型
CN111581231A (zh) * 2020-04-20 2020-08-25 北京明略软件***有限公司 一种基于异构数据库的查询方法和装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101625690A (zh) * 2009-07-07 2010-01-13 中国科学院地理科学与资源研究所 一种分布式、异构地学数据资源共享访问的方法及装置
CN103617176B (zh) * 2013-11-04 2017-03-15 广东电子工业研究院有限公司 一种实现多源异构数据资源自动同步的方法
CN109344186A (zh) * 2018-08-23 2019-02-15 成都四方伟业软件股份有限公司 一种bi***多源数据库跨源跨库融合***和融合方法
CN110032575A (zh) * 2019-04-15 2019-07-19 网易(杭州)网络有限公司 数据查询方法、装置、设备和存储介质
CN110162515A (zh) * 2019-04-30 2019-08-23 中国科学院深圳先进技术研究院 一种解耦合的弹性数据仓库架构
CN110389968A (zh) * 2019-07-31 2019-10-29 中国工商银行股份有限公司 聚合查询方法、聚合查询装置、设备及介质
CN111737326B (zh) * 2019-10-28 2023-08-18 埃睿迪信息技术(北京)有限公司 一种数据湖环境下异构数据源数据汇聚的实现方法
CN112925835A (zh) * 2019-12-05 2021-06-08 北京金山云网络技术有限公司 数据同步方法、装置和服务器
CN112579625A (zh) * 2020-09-28 2021-03-30 京信数据科技有限公司 多源异构数据治理方法及装置
CN112818051A (zh) * 2021-02-02 2021-05-18 上海达梦数据库有限公司 一种异构库通信方法、终端设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111435344A (zh) * 2019-01-15 2020-07-21 中国石油集团川庆钻探工程有限公司长庆钻井总公司 一种基于大数据的钻井提速影响因素分析模型
CN111581231A (zh) * 2020-04-20 2020-08-25 北京明略软件***有限公司 一种基于异构数据库的查询方法和装置

Also Published As

Publication number Publication date
CN114490842A (zh) 2022-05-13

Similar Documents

Publication Publication Date Title
US11294927B2 (en) Metadata hub for metadata models of database objects
US8959106B2 (en) Class loading using java data cartridges
US9058360B2 (en) Extensible language framework using data cartridges
JP3742177B2 (ja) 並列データベースシステムルーチン実行方法
US20100094838A1 (en) Compatibility Server for Database Rehosting
US20100228764A1 (en) Offline Validation of Data in a Database System for Foreign Key Constraints
CN113032423B (zh) 基于多数据引擎动态装载的查询方法和***
CN108108456A (zh) 一种基于元数据的信息资源分布式查询方法
CN111078702B (zh) 一种sql语句分类管理及统一查询方法和装置
US9171036B2 (en) Batching heterogeneous database commands
CN107291471B (zh) 一种支持可定制化数据采集的元模型框架***
US20210209098A1 (en) Converting database language statements between dialects
CN110019314B (zh) 基于数据项分析的动态数据封装方法、客户端和服务端
CN104794147A (zh) 异构数据库访问方法
CN111694846B (zh) 一种基于Type 2 JDBC驱动的分离模式分布式存储过程实现方法
US20100049694A1 (en) Method and system for extending a relational schema
CN112579610A (zh) 多数据源结构分析方法、***、终端设备及存储介质
US20220222253A1 (en) Sql statement generator
CN117093599A (zh) 面向异构数据源的统一sql查询方法
EP4155965A1 (en) System and method for facilitating metadata identification and import
US11093492B1 (en) System and method of fetching data from an external program
CN114490842B (zh) 一种多源数据的接口数据查询方法和数据查询引擎
CN111782195A (zh) 一种基于在请求参数上添加注解拼接成sql的查询方法
WO2023086322A1 (en) Late materialization of queried data in database cache
CN114547083A (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