CN112163029A - 一种虚拟数据库系统及查询方法 - Google Patents

一种虚拟数据库系统及查询方法 Download PDF

Info

Publication number
CN112163029A
CN112163029A CN202011177896.2A CN202011177896A CN112163029A CN 112163029 A CN112163029 A CN 112163029A CN 202011177896 A CN202011177896 A CN 202011177896A CN 112163029 A CN112163029 A CN 112163029A
Authority
CN
China
Prior art keywords
layer
sql
distributed service
database system
access
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
Application number
CN202011177896.2A
Other languages
English (en)
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.)
Zhejiang Baiying Technology Co Ltd
Original Assignee
Zhejiang Baiying Technology Co Ltd
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 Zhejiang Baiying Technology Co Ltd filed Critical Zhejiang Baiying Technology Co Ltd
Priority to CN202011177896.2A priority Critical patent/CN112163029A/zh
Publication of CN112163029A publication Critical patent/CN112163029A/zh
Pending legal-status Critical Current

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
    • G06F16/256Integrating or interfacing systems involving database management systems in federated or virtual 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/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • 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
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Computational Linguistics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种虚拟数据库系统及查询方法,其包括用于提交SQL代码实现业务需求的客户端层、接收SQL代码并认证的接入层、解析SQL代码的分布式服务层、执行SQL代码请求的储层计算层和用于储存实际物理数据的元数据库,所述的客户端层与接入层连接,接入层与分布式服务层连接,分布式服务层与储层计算层、元数据库连接。本发明屏蔽了物理数据库底层使用,只要写统一的SQL,就可以进行异构跨库的查询和混算,可以让开发人员专注于业务逻辑开发,无需关心各种数据库底层使用方法。

Description

一种虚拟数据库系统及查询方法
技术领域
本发明属于虚拟数据库技术领域,具体涉及一种拟数据库系统及查询方法。
背景技术
虚拟数据库是指可以屏蔽实际物理数据库的使用细节,用户只需要通过统一的SQL语言,就可以实现跨异构数据库的查询和混算。一方面可以大大降低技术开发的难度,另一方面还可以提供数据服务、数据管理、数据工具、数据开发等基础支持,可支撑更加敏捷和灵活的数据应用架构和逻辑数仓架构。
随着大数据技术在企业应用日益广泛,以及越来越多数据库系统的出现解决各种不同的场景问题,基于全景数据的快速查询计算成为了迫切的需求和挑战。目前的主流方式是建立以Hadoop为核心的数据仓库/数据湖,某种程度上解决了异构数据系统及数据分散的问题,但依然有数据归集带来的维护成本和时效损失问题。另外数据开发人员也面临着业务频繁变更和结果快速交付的问题。基于此,本发明设计了一种虚拟数据库系统及查询方法实现方式用于解决以上的问题。
发明内容
有鉴于此,本发明提出一种拟数据库系统及查询方法,用于屏蔽底层数据库的使用,采取统一SQL语言实现跨异构的数据库查询和混算。
为了达到目的,本发明提供的技术方案为:
本发明涉及一种虚拟数据库系统,其包括用于提交SQL代码实现业务需求的客户端层、接收SQL代码并认证的接入层、解析SQL代码的分布式服务层、执行SQL代码请求的储层计算层和用于储存实际物理数据的元数据库,所述的客户端层与接入层连接,接入层与分布式服务层连接,分布式服务层与储层计算层、元数据库连接。
优选地,所述的客户端层包括rest api、jdbc和cli。
优选地,所述的接入层的接入协议包括http协议、tcp协议和thrift协议。
优选地,所述的分布式服务层包括master模块、slave模块和app模块,master模块与slave模块连接,slave模块与app模块连接。
一种虚拟数据库系统的查询方法,其包括以下步骤:
(1)终端用户通过客户端层提交SQL代码实现业务请求;
(2)接入层接收客户端层提交过来的SQL代码并且进行用户登录认证以及权限校验后提交到分布式服务层;
(3)分布式服务层接收接入层的请求,并通过解析SQL,从元数据库中提取出SQL元信息,找到SQL对应的实际物理数据库;
(4)把请求调度到存储计算层,找到物理数据库上进行SQL的实际执行。
优选地,步骤(1)中的提交SQL代码可通过以下方式中的一种:
(1.1)以restful api的方式提供SQL代码提交;
(1.2)提供jdbc驱动,使用jdbc编程进行SQL代码的提交;
(1.3)通过cli实现SQL代码的提交。
优选地,所述的接入层通过http协议、tcp协议和thrift协议中的其中一种协议接入请求。
优选地,分布式服务层的具体步骤包括:
(4.1)master之间通过第三方协同中间件做高可用;
(4.2)master接收客户的请求后,把请求调度到合适的slave上;
(4.3)slave向master注册信息,进行SQL解析,并从元数据库提取SQL元信息,然后负责启动app,最后app把SQL提交到存储计算层进行执行,返回执行结果。
采用本发明提供的技术方案,与现有技术相比,具有如下有益效果:
1、本发明做到了屏蔽物理数据库底层使用,只要写统一的SQL,就可以进行异构跨库的查询和混算,可以让开发人员专注于业务逻辑开发,无需关心各种数据库底层使用方法。
2、查询服务化:本发明提供多种查询接口,将异构的数据库资源变成一种查询服务,终端用户可以自助进行物理数据库或者表的挂载并进行编写SQL实现查询需求,只需要关心业务逻辑,而不用关心底层数据库的实现和使用细节。
3、数据虚拟化:本发明提供虚拟表到物理表之间的映射,终端用户无需关心数据的物理存放位置和底层数据库的特性即可操作数据,体验类似操作一个虚拟数据库。
4、统一入口:本发明通过统一查询语言、统一元数据服务、统一权限控制三面全面降低多数据库系统的学习成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的系统框图;
图2是本发明中分布式服务层的结构框图。
具体实施方式
为进一步了解本发明的内容,结合实施例对本发明作详细描述,以下实施例用于说明本发明,但不用来限制本发明的范围。
实施例1
参照图1和图2所示,本实施例涉及一种虚拟数据库系统,其包括用于提交SQL代码实现业务需求的客户端层、接收SQL代码并认证的接入层、解析SQL代码的分布式服务层、执行SQL代码请求的储层计算层和用于储存实际物理数据的元数据库,所述的客户端层与接入层连接,接入层与分布式服务层连接,分布式服务层与储层计算层、元数据库连接。
所述的客户端层包括rest api、jdbc和cli。jdbc表示Java数据库连接,cli表示命令行界面。
所述的接入层的接入协议包括http协议、tcp协议和thrift协议。
所述的分布式服务层包括master模块、slave模块和app模块,master模块与slave模块连接,slave模块与app模块连接。
实施例2
参照图1和图2所示,本实施例涉及一种虚拟数据库系统的查询方法,其包括以下步骤:
(1)终端用户通过客户端层提交SQL代码实现业务请求;
(2)接入层接收客户端层提交过来的SQL代码并且进行用户登录认证以及权限校验后提交到分布式服务层;
(3)分布式服务层接收接入层的请求,并通过解析SQL,从元数据库中提取出SQL元信息,找到SQL对应的实际物理数据库;
(4)把请求调度到存储计算层,找到物理数据库上进行SQL的实际执行。
优选地,步骤(1)中的提交SQL代码可通过以下方式中的一种:
(1.1)以restful api的方式提供SQL代码提交;
(1.2)提供jdbc驱动,使用jdbc编程进行SQL代码的提交;
(1.3)通过cli实现SQL代码的提交。
优选地,所述的接入层通过http协议、tcp协议和thrift协议中的其中一种协议接入请求。
优选地,分布式服务层的具体步骤包括:
(4.1)master之间通过第三方协同中间件做高可用;
(4.2)master接收客户的请求后,把请求调度到合适的slave上;
(4.3)slave向master注册信息,进行SQL解析,并从元数据库提取SQL元信息,然后负责启动app,最后app把SQL提交到存储计算层进行执行,返回执行结果。
本发明做到了屏蔽物理数据库底层使用,只要写统一的SQL,就可以进行异构跨库的查询和混算,可以让开发人员专注于业务逻辑开发,无需关心各种数据库底层使用方法。
以上示意性的对本发明及其实施方式进行了描述,该描述没有限制性,附图中所示的也只是本发明的实施方案,实际的结构并不局限于此。所以本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。

Claims (8)

1.一种虚拟数据库系统,其特征在于,其包括用于提交SQL代码实现业务需求的客户端层、接收SQL代码并认证的接入层、解析SQL代码的分布式服务层、执行SQL代码请求的储层计算层和用于储存实际物理数据的元数据库,所述的客户端层与接入层连接,接入层与分布式服务层连接,分布式服务层与储层计算层、元数据库连接。
2.根据权利要求1所述的虚拟数据库系统,其特征在于,所述的客户端层包括restapi、jdbc和cli。
3.根据权利要求1所述的虚拟数据库系统,其特征在于,所述的接入层的接入协议包括http协议、tcp协议和thrift协议。
4.根据权利要求1所述的虚拟数据库系统,其特征在于,所述的分布式服务层包括master模块、slave模块和app模块,master模块与slave模块连接,slave模块与app模块连接。
5.一种虚拟数据库系统的查询方法,其特征在于,其包括以下步骤:
终端用户通过客户端层提交SQL代码实现业务请求;
接入层接收客户端层提交过来的SQL代码并且进行用户登录认证以及权限校验后提交到分布式服务层;
分布式服务层接收接入层的请求,并通过解析SQL,从元数据库中提取出SQL元信息,找到SQL对应的实际物理数据库;
把请求调度到存储计算层,找到物理数据库上进行SQL的实际执行。
6.根据权利要求5所述的虚拟数据库系统的查询方法,其特征在于,步骤(1)中的提交SQL代码可通过以下方式中的一种: (1.1)以restful api的方式提供SQL代码提交; (1.2)提供jdbc驱动,使用jdbc编程进行SQL代码的提交; (1.3)通过cli实现SQL代码的提交。
7.根据权利要求5所述的虚拟数据库系统的查询方法,其特征在于,所述的接入层通过http协议、tcp协议和thrift协议中的其中一种协议接入请求。
8.根据权利要求5所述的虚拟数据库系统的查询方法,其特征在于,分布式服务层的具体步骤包括:
(4.1)master之间通过第三方协同中间件做高可用;
(4.2)master接收客户的请求后,把请求调度到合适的slave上;
(4.3)slave向master注册信息,进行SQL解析,并从元数据库提取SQL元信息,然后负责启动app,最后app把SQL提交到存储计算层进行执行,返回执行结果。
CN202011177896.2A 2020-10-29 2020-10-29 一种虚拟数据库系统及查询方法 Pending CN112163029A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011177896.2A CN112163029A (zh) 2020-10-29 2020-10-29 一种虚拟数据库系统及查询方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011177896.2A CN112163029A (zh) 2020-10-29 2020-10-29 一种虚拟数据库系统及查询方法

Publications (1)

Publication Number Publication Date
CN112163029A true CN112163029A (zh) 2021-01-01

Family

ID=73865034

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011177896.2A Pending CN112163029A (zh) 2020-10-29 2020-10-29 一种虚拟数据库系统及查询方法

Country Status (1)

Country Link
CN (1) CN112163029A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114756577A (zh) * 2022-03-25 2022-07-15 北京友友天宇系统技术有限公司 多源异构数据的处理方法、计算机设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508898A (zh) * 2011-11-04 2012-06-20 浪潮(北京)电子信息产业有限公司 一种基于云计算的数据访问方法和数据库系统
CN103092873A (zh) * 2011-11-01 2013-05-08 镇江华扬信息科技有限公司 一种基于XML和Web Service技术的异构数据库集成方法
CN104008135A (zh) * 2014-05-07 2014-08-27 南京邮电大学 一种多源异构数据库融合系统及其数据查询方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092873A (zh) * 2011-11-01 2013-05-08 镇江华扬信息科技有限公司 一种基于XML和Web Service技术的异构数据库集成方法
CN102508898A (zh) * 2011-11-04 2012-06-20 浪潮(北京)电子信息产业有限公司 一种基于云计算的数据访问方法和数据库系统
CN104008135A (zh) * 2014-05-07 2014-08-27 南京邮电大学 一种多源异构数据库融合系统及其数据查询方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114756577A (zh) * 2022-03-25 2022-07-15 北京友友天宇系统技术有限公司 多源异构数据的处理方法、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
US10664487B2 (en) Multi-tenancy for structured query language (SQL) and non structured query language (NoSQL) databases
US10970277B2 (en) System and method for dynamic conversion of database accessing scripts during runtime in a mainframe rehosting platform
US20200073987A1 (en) Technologies for runtime selection of query execution engines
US8346747B2 (en) Extending database tables in a multi-tenant environment
WO2018052907A1 (en) Data serialization in a distributed event processing system
US8645502B2 (en) Dynamic interface to read database through remote procedure call
US20150149985A1 (en) Testing of inactive design-time artifacts
US20130132372A1 (en) Systems and methods for dynamic service integration
KR20140112427A (ko) 아파치 하둡을 위한 로우 레이턴시 쿼리 엔진
US8656056B2 (en) Web-enabled mainframe
CN111488143A (zh) 一种基于Springboot2代码自动生成装置和方法
CN111949693B (zh) 一种数据处理装置、数据处理方法、存储介质及电子设备
CN102254021A (zh) 基于虚拟机管理系统的数据库构建方法
WO2020220717A1 (zh) 一种解耦合的弹性数据仓库架构
US12026653B2 (en) Database system and method for carbon footprint optimization
CN104252501A (zh) 一种执行数据库操作命令的计算设备和方法
CN113254519B (zh) 多源异构数据库的访问方法、装置、设备和存储介质
WO2024060956A1 (zh) 一种混合数据库管理方法、装置、混合数据库及电子设备
CN103838781A (zh) 数据库访问方法及系统
WO2024016850A1 (zh) 处理数据冲突的方法、系统、电子设备及计算机可读存储介质
US11106670B2 (en) Local identifiers for database objects
CN112163029A (zh) 一种虚拟数据库系统及查询方法
US10291746B2 (en) Context switch of database connections
CN109460416B (zh) 一种数据处理方法、装置、电子设备及存储介质
US11106667B1 (en) Transactional scanning of portions of a database

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210101

RJ01 Rejection of invention patent application after publication