CN103336782B - 一种关系型分布式数据库系统 - Google Patents

一种关系型分布式数据库系统 Download PDF

Info

Publication number
CN103336782B
CN103336782B CN201310210143.0A CN201310210143A CN103336782B CN 103336782 B CN103336782 B CN 103336782B CN 201310210143 A CN201310210143 A CN 201310210143A CN 103336782 B CN103336782 B CN 103336782B
Authority
CN
China
Prior art keywords
layer
sql statement
database node
agent layer
connection pool
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
CN201310210143.0A
Other languages
English (en)
Other versions
CN103336782A (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.)
Leinas Technology (beijing) Ltd By Share Ltd
Original Assignee
Leinas Technology (beijing) Ltd By Share 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 Leinas Technology (beijing) Ltd By Share Ltd filed Critical Leinas Technology (beijing) Ltd By Share Ltd
Priority to CN201310210143.0A priority Critical patent/CN103336782B/zh
Publication of CN103336782A publication Critical patent/CN103336782A/zh
Application granted granted Critical
Publication of CN103336782B publication Critical patent/CN103336782B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了关系型分布式数据库系统,由代理层、连接池层和数据层组成;数据层包括多个数据库节点;代理层将外部应用程序的SQL语句转换成可执行的SQL语句,并确定执行该SQL语句的目标数据库节点,然后把可执行的SQL语句传递给连接池层;连接池层用于创建、管理代理层和数据层的连接;并将可执行的SQL语句传递至执行该SQL语句的目标数据库节点;执行该SQL语句的目标数据库节点执行相应的查询或执行操作,并返回执行结果,该结果通过连接池层、代理层返回给外部应用程序。本发明能够实现海量数据库的高频插入、查询。

Description

一种关系型分布式数据库系统
技术领域
本发明涉及一种关系型分布式数据库系统,适用于海量存储数据,以CentOS操作系统为软件开发、运行环境的分布式数据库领域。
背景技术
在当今信息日益庞大日益快速的时代,需要向用户提供大量快速有益的信息,另一方面,由于过去集中式数据库的数据存储在一处,表现出查询插入数据较慢,并且受到物理性能的限制,物理设备也容易损坏,传统数据库已经不能满足用户的需要。为了统一分布式数据库系统的开发方式,节约时间和人力成本,加快系统快速响应周期,就需要一种能够适用于当前快速响应需求的网络分布式数据库系统。
发明内容
本发明所要解决的技术问题是:提供一种适用于海量存储、高频操作的超大规模应用的关系型分布式数据库系统,能够实现海量数据库的高频插入、查询。
本发明包括如下技术方案:
一种关系型分布式数据库系统,由代理层、连接池层和数据层组成;数据层包括多个数据库节点;
代理层将外部应用程序的SQL语句转换成可执行的SQL语句,并确定执行该SQL语句的目标数据库节点,然后把可执行的SQL语句传递给连接池层;
连接池层用于创建、管理代理层和数据层的连接;并将可执行的SQL语句传递至执行该SQL语句的目标数据库节点;
执行该SQL语句的目标数据库节点执行相应的查询或执行操作,并返回执行结果,该结果通过连接池层、代理层返回给外部应用程序。
代理层包括SQL转换模块、转发模块和集群模块;连接池层包括连接模块;每个数据库节点包括查询模块和执行模块;
SQL转换模块将外部应用程序的SQL语句转换成可执行的SQL语句,然后把可执行的SQL语句发送至转发模块;
转发模块将所述可执行的SQL语句转发至集群模块;
集群模块通过分发算法确定执行所述可执行的SQL语句的目标数据库节点;
连接模块用于创建、管理代理层和数据层的连接,当接到代理层的请求后,连接模块提供一个代理层与目标数据库节点的有效连接,当目标数据库节点执行相应的查询或执行操作后,通过当前有效连接将结果返回至代理层;
每个数据库节点的查询模块用于执行查询操作,当查询模块接到连接池层的查询请求后,立即进行查询操作,然后将查询结果返回至连接池层;
每个数据库节点的执行模块用于执行除了查询操作的其它操作,当执行模块接到连接池层的执行请求后,立即执行,然后将执行结果返回至连接池层。
本发明与现有数据库技术相比的优点在于:本发明通过代理层可以加入用户自己的业务数据需求,能够实现海量存储(对于用户而言,只有一个数据库和表,但是对于后台实际存储而言,有多台机器,每台机器有多个数据库,每个数据库有多个数据表)、高频插入、查询,通过代理机制获取更高的性能,比使用集中式数据库更加快速、高效,兼容各种地理位置的数据库,在用户看来那只是一个“集中式数据库”,在实际的执行中,整个网络的数据库都充分发挥自己的响应速度,性能更佳。
附图说明
图1为本发明的关系型分布式数据库系统的三层示意图。
图2为本发明的关系型分布式数据库系统组成结构图。
具体实施方式
本发明的数据库系统将分布在不同地方的数据库通过网络连接起来,抽象为“数据操作经过前端代理之后,以转发形式下达到具体数据中进行执行”的控制行为。
如图1、2所示,本发明的关系型分布式数据库系统包括由多个数据库节点组成的数据层、代理层和连接池层。代理层通过连接池层与数据层进行通信。代理层将外部应用程序的SQL语句转换成可执行的SQL语句,并通过分发算法确定执行该SQL语句的目标数据库节点;并把可执行的SQL语句传递给连接池层。连接池层用于创建、管理代理层和数据层的连接;并将可执行的SQL语句传递至执行该SQL语句的目标数据库节点;执行该SQL语句的目标数据库节点执行相应的查询或执行操作,同时将查询或者执行结果通过连接池层、代理层返回给外部应用程序。
代理层(前端代理数据库),为外部应用程序如应用程序1、应用程序2等提供应用程序接口以便访问数据层;代理层可以通过TCP/IP协议与外部应用程序通信,从而实现外部应用程序与数据层的通信。TCP/IP协议已经是通用的通信协议,在此就不在过多的进行介绍。关系型分布式数据库系统通过TCP/IP协议与外部应用程序进行数据交互。
根据本发明的关系型分布式数据库,所有与数据层有关的操作都集中在前端代理数据库,部署时用一个机器部署前端代理数据库,可以将连接池也部署在此机器上,也可以部署在另一机器上。数据层可以按照实际需要的数据库节点部署具体节点数量,一个数据库节点对应一个IP地址、端口号和数据库,在一台机器上可以部署多个数据库节点。所有的数据节点要接受代理层的管理。外部应用程序只需要遵循TCP/IP协议规范即可实现与本发明的数据库系统的信息交互,从而可实现大数据量高频的插入(即存储),同时可以进行快速的查询。如果用户都有高性能的需求时,根据本发明的实施方案的关系型分布式数据库,即可实现业务功能需求。
如图2所示,代理层包括SQL转换模块、转发模块和集群模块,在集群模块中存储一个表,它由外部应用程序编号、IP地址、端口号、数据库和数据库节点编号,该表的组成形式例如可以如表1所示,一个外部应用程序对应一个数据库节点。连接池层包括连接模块。数据层的每个数据库节点包括执行模块和查询模块。
表1
当收到外部应用程序对数据的请求时,用户的SQL语句首先经过SQL转换模块,按照自定义规则重写、生成可执行的SQL语句。当有可执行的SQL语句需要执行时,则调用转发模块,转发模块然后调用集群模块。
在集群模块中,主要依靠分发算法,它管理着所有被操作的IP地址、端口号和数据库,IP地址、端口号和数据库对应一个编号,编号从零开始增加(增加幅度值为1),直至IP地址、端口号和数据库管理完毕。通过该外部应用程序所对应的IP地址、端口号和数据库,返回该IP地址、端口号和数据库对应的编号,通过编号可以找到执行该SQL语句的目标数据库节点。当找到目标数据库节点时,在具体执行的数据库节点上执行查询模块或执行模块,并返回操作结果。此操作结果提供成功、失败、异常、多结果集、单结果集、自定义结果集等多种类型。
连接模块用于创建、管理代理层和数据层的连接,当接到代理层的请求后,连接模块提供一个代理层与目标数据库节点的有效连接,当目标数据库节点执行相应的查询或执行操作后,通过当前有效连接将结果返回至代理层。
查询模块接到连接层的查询请求后,立即执行,然后通过连接层返回结果集或者结果值。
执行模块不仅包括添加、删除和修改,还包括创建、删除数据库、表、索引和视图等操作。它接到连接层的执行请求后,立即执行,然后通过连接层返回结果值。
本发明未详细说明内容为本领域技术人员公知技术。

Claims (1)

1.一种关系型分布式数据库系统,其特征在于,由代理层、连接池层和数据层组成;数据层包括多个数据库节点;一个数据库节点对应一个IP地址、端口号和数据库;所有与数据层有关的操作都集中在前端代理层,所有的数据库节点接受代理层的管理,代理层通过TCP/IP协议与多个外部应用程序通信;一个外部应用程序对应一个数据库节点;
代理层将外部应用程序的SQL语句转换成可执行的SQL语句,并确定执行该SQL语句的目标数据库节点,然后把可执行的SQL语句传递给连接池层;
连接池层用于创建、管理代理层和数据层的连接;并将可执行的SQL语句传递至执行该SQL语句的目标数据库节点;
执行该SQL语句的目标数据库节点执行相应的查询或执行操作,并返回执行结果,该结果通过连接池层、代理层返回给外部应用程序;
代理层包括SQL转换模块、转发模块和集群模块;连接池层包括连接模块;每个数据库节点包括查询模块和执行模块;
SQL转换模块将外部应用程序的SQL语句转换成可执行的SQL语句,然后把可执行的SQL语句发送至转发模块;转发模块将所述可执行的SQL语句转发至集群模块;集群模块通过分发算法确定执行所述可执行的SQL语句的目标数据库节点;在集群模块中存储一个表,该表由外部应用程序编号、IP地址、端口号、数据库和数据库节点编号组成;
连接模块用于创建、管理代理层和数据层的连接,当接到代理层的请求后,连接模块提供一个代理层与目标数据库节点的有效连接,当目标数据库节点执行相应的查询或执行操作后,通过当前有效连接将结果返回至代理层;
每个数据库节点的查询模块用于执行查询操作,当查询模块接到连接池层的查询请求后,立即进行查询操作,然后将查询结果返回至连接池层;
每个数据库节点的执行模块用于执行除了查询操作的其它操作,当执行模块接到连接池层的执行请求后,立即执行,然后将执行结果返回至连接池层。
CN201310210143.0A 2013-05-30 2013-05-30 一种关系型分布式数据库系统 Active CN103336782B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310210143.0A CN103336782B (zh) 2013-05-30 2013-05-30 一种关系型分布式数据库系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310210143.0A CN103336782B (zh) 2013-05-30 2013-05-30 一种关系型分布式数据库系统

Publications (2)

Publication Number Publication Date
CN103336782A CN103336782A (zh) 2013-10-02
CN103336782B true CN103336782B (zh) 2016-09-21

Family

ID=49244947

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310210143.0A Active CN103336782B (zh) 2013-05-30 2013-05-30 一种关系型分布式数据库系统

Country Status (1)

Country Link
CN (1) CN103336782B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103617295B (zh) * 2013-12-16 2017-09-08 北京锐安科技有限公司 一种地理信息矢量数据处理的方法和装置
CN106909563B (zh) * 2015-12-23 2021-01-08 上海热璞网络科技有限公司 一种分布式系统
CN107229628B (zh) * 2016-03-23 2022-02-01 金篆信科有限责任公司 分布式数据库预处理的方法及装置
CN106570074B (zh) * 2016-10-14 2020-07-10 深圳前海微众银行股份有限公司 分布式数据库系统及其实现方法
CN110019113B (zh) * 2017-08-31 2022-11-08 华为技术有限公司 一种数据库的业务处理方法及数据库服务器
CN112307054B (zh) * 2020-11-18 2023-02-28 太原理工大学 一种双活数据库主备服务器读写方法
CN112905615B (zh) * 2021-03-02 2023-03-24 浪潮云信息技术股份公司 一种基于顺序校验的分布式一致性协议提交方法及系统
CN117057754B (zh) * 2023-10-10 2024-08-13 山东威尔梵成数据科技有限责任公司 一种校园身份访问认证管理系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101567006A (zh) * 2009-05-25 2009-10-28 中兴通讯股份有限公司 一种数据库系统及分布式sql语句执行计划重用方法
CN102201010A (zh) * 2011-06-23 2011-09-28 清华大学 无共享架构的分布式数据库系统及其实现方法
CN102385628A (zh) * 2011-11-14 2012-03-21 北京锐安科技有限公司 一种基于jdbc的数据分布式处理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101567006A (zh) * 2009-05-25 2009-10-28 中兴通讯股份有限公司 一种数据库系统及分布式sql语句执行计划重用方法
CN102201010A (zh) * 2011-06-23 2011-09-28 清华大学 无共享架构的分布式数据库系统及其实现方法
CN102385628A (zh) * 2011-11-14 2012-03-21 北京锐安科技有限公司 一种基于jdbc的数据分布式处理方法

Also Published As

Publication number Publication date
CN103336782A (zh) 2013-10-02

Similar Documents

Publication Publication Date Title
CN103336782B (zh) 一种关系型分布式数据库系统
CN103368851B (zh) 基于资源复用的Openflow流表存储优化方法
Mayer et al. Fogstore: Toward a distributed data store for fog computing
CN102567495B (zh) 一种海量信息存储系统及实现方法
CN103227778B (zh) 内存访问方法、设备和系统
CN111478820A (zh) 网络靶场大规模网络环境的网络设备配置系统与方法
CN104298541A (zh) 云存储系统的数据分布算法及其装置
CN106484713A (zh) 一种基于面向服务的分布式请求处理系统
CN103631933B (zh) 一种面向分布式去重系统的数据路由方法
CN106936899A (zh) 分布式统计分析系统的配置方法及分布式统计分析系统
CN103324763B (zh) 一种手机端树形数据结构的展现方法
CN109740034A (zh) 基于图形数据库的企业涉案信息查询方法及装置
CN104346458B (zh) 数据存储方法和存储设备
CN104166661B (zh) 数据存储系统和数据存储方法
CN106453091B (zh) 路由器转发平面的等价路由管理方法和装置
CN101753362A (zh) 分布式网络设备中堆叠虚拟局域网的配置方法及装置
CN108259218A (zh) 一种ip地址分配方法和装置
CN102891768A (zh) 网络管理的方法和网元
CN103051478B (zh) 一种大容量电信网管系统及其设置和应用方法
CN105991478A (zh) 服务器资源分配方法及其系统
CN106528844B (zh) 一种数据请求方法及装置和数据存储系统
CN103270727B (zh) 存储体感知多位特里结构
CN101222391A (zh) 一种在服务器/客户端结构中构造拓扑树的方法
CN105701128B (zh) 一种查询语句的优化方法和装置
CN106506368A (zh) 一种基于互联网的数据通信实现方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 100081 Shenzhou building, South Avenue, Haidian District, Beijing, 402, Zhongguancun

Applicant after: Leinas Technology (Beijing) Limited by Share Ltd

Address before: 100081 Shenzhou building, South Avenue, Haidian District, Beijing, 402, Zhongguancun

Applicant before: China Spacesat Co., Ltd.

COR Change of bibliographic data
C14 Grant of patent or utility model
GR01 Patent grant