分布式数据库系统及其实现方法技术方案

技术编号:15191443 阅读:117 留言:0更新日期:2017-04-20 09:08
本发明专利技术公开了一种分布式数据库系统,所述分布式数据库系统至少包括负载均衡网关集群、数据库网关集群与多个数据库存储节点,所述负载均衡网关集群、所述数据库网关集群部署在访问所述数据库存储节点的数据连接路径中,其中,所述负载均衡网关集群、所述数据库网关集群共同对外部客户端访问所述数据库存储节点进行透明代理。本发明专利技术还公开了一种分布式数据库系统的实现方法。本发明专利技术通过对外部客户端访问数据库存进行透明代理,从而可屏蔽普通用户对于后端分布式数据库设置架构的复杂度感知,简化了用户访问数据库的操作流程。

【技术实现步骤摘要】

本专利技术涉及分布式数据库
,尤其涉及分布式数据库系统及其实现方法。
技术介绍
现有分布式数据库的技术方案中通常采用LVS(LinuxVirtualServer,Linux虚拟服务器)和MySQL数据库网关来实现客户端对数据库的访问,由于LVS与MySQL数据库网关为开源的软件,因而其功能也相对比较简单。采用LVS与MySQL数据库网关对数据库进行访问的方式,这对于技术人员来说还算勉强可行,而对于普通用户来说,由于分布式数据库设置架构的复杂性,进而使得普通用户难以正确掌握分布式数据库的访问操作流程。
技术实现思路
本专利技术的主要目的在于提供一种分布式数据库系统及其实现方法,旨在解决现有技术中,采用LVS与MySQL数据库网关对数据库进行访问的方式对于普通用户来说,难以正确掌握分布式数据库的访问操作流程的技术问题。为实现上述目的,本专利技术提供一种分布式数据库系统,所述分布式数据库系统至少包括负载均衡网关集群、数据库网关集群与多个数据库存储节点,所述负载均衡网关集群、所述数据库网关集群部署在访问所述数据库存储节点的数据连接路径中,其中,所述负载均衡网关集群、所述数据库网关集群共同对外部客户端访问所述数据库存储节点进行透明代理。优选地,在所述负载均衡网关集群、所述数据库网关集群共同对外部客户端访问所述数据库存储节点进行透明代理时,所述负载均衡网关集群,用于与外部客户端建立数据连接以接收该客户端的访问请求包,并修改所述访问请求包的目标IP地址与端口,其中,所述负载均衡网关集群将所述访问请求包的目标IP地址与端口修改为所述数据库网关集群中的IP地址与端口;所述数据库网关集群,用于接收所述访问请求包,并对所述访问请求包中的SQL语句进行解析处理;将解析后的SQL语句分发至对应的数据库存储节点进行执行以返回对应的执行结果包,并将该执行结果包返回给所述负载均衡网关集群;所述负载均衡网关集群还用于:接收所述执行结果包,并修改所述执行结果包的目标IP地址与端口,其中,所述负载均衡网关集群将所述执行结果包的目标IP地址与端口修改为外部客户端的IP地址与端口。优选地,所述数据库网关集群支持数据库分库分表功能、数据库读写分离操作;其中,所述数据库网关集群根据预置的配置文件,对所述访问请求包中的SQL语句进行语法分析,并根据语法分析结果判断是否启用数据库分库分表功能与数据库读写分离操作。优选地,所述负载均衡网关集群还用于:监测所述数据库网关集群中各数据库网关的运行状态,其中,当监测到所述数据库网关集群中存在异常的数据库网关时,将该数据库网关从第一列表中剔除,当检测到异常的数据库网关恢复正常时,将该数据库网关添加到所述第一列表中;所述数据库网关集群还用于:监测各数据库存储节点的运行状态,其中,当监测到异常的数据库存储节点时,将该数据库存储节点从第二列表中剔除,当检测到异常的数据库存储节点恢复正常时,将该数据库存储节点添加到所述第二列表中。优选地,所述负载均衡网关集群还用于:对所述数据库网关集群中各数据库网关进行流量权重配置,并根据所述流量权重的大小,对各数据库网关进行流量控制,其中,当存在数据库网关所配置的所述流量权重小于预设权重时,停止向该数据库网关发送新的访问请求包;所述数据库网关集群还用于:定时获取各数据库存储节点的负载数据,并根据所述负载数据,判断当前是否满足对数据库存储节点进行流量控制的条件,若满足,则对数据库存储节点进行流量控制。优选地,所述负载均衡网关集群包括多台负载均衡器,且各负载均衡器配置相同的虚拟IP地址,其中,各负载均衡器以及各负载均衡器的上联交换机都运行OSPF协议且处于同一个OSPF区域内;当任一台负载均衡器发生宕机而从该OSPF区域中移除时,通过OSPF协议将该台负载均衡器与外部客户端所建立的数据连接切换到其他负载均衡器上,并将所述OSPF区域的链路状态广播给该OSPF区域内的所有负载均衡器,以使所述负载均衡网关集群可与外部客户端保持长连接。进一步地,为实现上述目的,本专利技术还提供一种分布式数据库系统的实现方法,所述分布式数据库系统至少包括负载均衡网关集群、数据库网关集群与多个数据库存储节点,所述负载均衡网关集群、所述数据库网关集群部署在访问所述数据库存储节点的数据连接路径中;所述分布式数据库系统的实现方法包括:通过所述负载均衡网关集群、所述数据库网关集群,对外部客户端访问所述数据库存储节点进行透明代理。优选地,所述通过所述负载均衡网关集群、所述数据库网关集群,对外部客户端访问所述数据库存储节点进行透明代理包括:所述负载均衡网关集群与外部客户端建立数据连接以接收该客户端的访问请求包,并修改所述访问请求包的目标IP地址与端口,其中,所述负载均衡网关集群将所述访问请求包的目标IP地址与端口修改为所述数据库网关集群中的IP地址与端口;所述数据库网关集群接收所述访问请求包,并对所述访问请求包中的SQL语句进行解析处理;将解析后的SQL语句分发至对应的数据库存储节点进行执行以返回对应的执行结果包,并将该执行结果包返回给所述负载均衡网关集群;所述负载均衡网关集群接收所述执行结果包,并修改所述执行结果包的目标IP地址与端口,其中,所述负载均衡网关集群将所述执行结果包的目标IP地址与端口修改为外部客户端的IP地址与端口。优选地,所述数据库网关集群支持数据库分库分表功能、数据库读写分离操作;所述分布式数据库系统的实现方法还包括:所述数据库网关集群根据预置的配置文件,对所述访问请求包中的SQL语句进行语法分析,并根据语法分析结果判断是否启用数据库分库分表功能与数据库读写分离操作。优选地,所述分布式数据库系统的实现方法还包括:所述负载均衡网关集群监测所述数据库网关集群中各数据库网关的运行状态,其中,当监测到所述数据库网关集群中存在异常的数据库网关时,将该数据库网关从第一列表中剔除,当检测到异常的数据库网关恢复正常时,将该数据库网关添加到所述第一列表中;所述数据库网关集群监测各数据库存储节点的运行状态,其中,当监测到异常的数据库存储节点时,将该数据库存储节点从第二列表中剔除,当检测到异常的数据库存储节点恢复正常时,将该数据库存储节点添加到所述第二列表中。优选地,所述分布式数据库系统的实现方法还包括:所述负载均衡网关集群对所述数据库网关集群中各数据库网关进行流量权重配置,并根据所述流量权重的大小,对各数据库网关进行流量控制,其中,当存在数据库网关所配置的所述流量权重小于预设权重时,停止向该数据库网关发送新的访问请求包;所述数据库网关集群定时获取各数据库存储节点的负载数据,并根据所述负载数据,判断当前是否满足对数据库存储节点进行流量控制的条件,若满足,则对数据库存储节点进行流量控制。优选地,所述负载均衡网关集群包括多台负载均衡器,且各负载均衡器配置相同的虚拟IP地址,其中,各负载均衡器以及各负载均衡器的上联交换机都运行OSPF协议且处于同一个OSPF区域内;所述分布式数据库系统的实现方法还包括:当任一台负载均衡器发生宕机而从该OSPF区域中移除时,通过OSPF协议将该台负载均衡器与外部客户端所建立的数据连接切换到其他负载均衡器上,并将所述OSPF区域的链路状态广播给该OSPF区域内的所有负载均衡器,以使所述负载均衡网关集群本文档来自技高网...
分布式数据库系统及其实现方法

【技术保护点】
一种分布式数据库系统,其特征在于,所述分布式数据库系统至少包括负载均衡网关集群、数据库网关集群与多个数据库存储节点,所述负载均衡网关集群、所述数据库网关集群部署在访问所述数据库存储节点的数据连接路径中,其中,所述负载均衡网关集群、所述数据库网关集群共同对外部客户端访问所述数据库存储节点进行透明代理。

【技术特征摘要】
1.一种分布式数据库系统,其特征在于,所述分布式数据库系统至少包括负载均衡网关集群、数据库网关集群与多个数据库存储节点,所述负载均衡网关集群、所述数据库网关集群部署在访问所述数据库存储节点的数据连接路径中,其中,所述负载均衡网关集群、所述数据库网关集群共同对外部客户端访问所述数据库存储节点进行透明代理。2.如权利要求1所述的分布式数据库系统,其特征在于,在所述负载均衡网关集群、所述数据库网关集群共同对外部客户端访问所述数据库存储节点进行透明代理时,所述负载均衡网关集群,用于与外部客户端建立数据连接以接收该客户端的访问请求包,并修改所述访问请求包的目标IP地址与端口,其中,所述负载均衡网关集群将所述访问请求包的目标IP地址与端口修改为所述数据库网关集群中的IP地址与端口;所述数据库网关集群,用于接收所述访问请求包,并对所述访问请求包中的SQL语句进行解析处理;将解析后的SQL语句分发至对应的数据库存储节点进行执行以返回对应的执行结果包,并将该执行结果包返回给所述负载均衡网关集群;所述负载均衡网关集群还用于:接收所述执行结果包,并修改所述执行结果包的目标IP地址与端口,其中,所述负载均衡网关集群将所述执行结果包的目标IP地址与端口修改为外部客户端的IP地址与端口。3.如权利要求2所述的分布式数据库系统,其特征在于,所述数据库网关集群支持数据库分库分表功能、数据库读写分离操作;其中,所述数据库网关集群根据预置的配置文件,对所述访问请求包中的SQL语句进行语法分析,并根据语法分析结果判断是否启用数据库分库分表功能与数据库读写分离操作。4.如权利要求1-3中任一项所述的分布式数据库系统,其特征在于,所述负载均衡网关集群还用于:监测所述数据库网关集群中各数据库网关的运行状态,其中,当监测到所述数据库网关集群中存在异常的数据库网关时,将该数据库网关从第一列表中剔除,当检测到异常的数据库网关恢复正常时,将该数据库网关添加到所述第一列表中;所述数据库网关集群还用于:监测各数据库存储节点的运行状态,其中,当监测到异常的数据库存储节点时,将该数据库存储节点从第二列表中剔除,当检测到异常的数据库存储节点恢复正常时,将该数据库存储节点添加到所述第二列表中。5.如权利要求1-3中任一项所述的分布式数据库系统,其特征在于,所述负载均衡网关集群还用于:对所述数据库网关集群中各数据库网关进行流量权重配置,并根据所述流量权重的大小,对各数据库网关进行流量控制,其中,当存在数据库网关所配置的所述流量权重小于预设权重时,停止向该数据库网关发送新的访问请求包;所述数据库网关集群还用于:定时获取各数据库存储节点的负载数据,并根据所述负载数据,判断当前是否满足对数据库存储节点进行流量控制的条件,若满足,则对数据库存储节点进行流量控制。6.如权利要求1-3中任一项所述的分布式数据库系统,其特征在于,所述负载均衡网关集群包括多台负载均衡器,且各负载均衡器配置相同的虚拟IP地址,其中,各负载均衡器以及各负载均衡器的上联交换机都运行OSPF协议且处于同一个OSPF区域内;当任一台负载均衡器发生宕机而从该OSPF区域中移除时,通过OSPF协议将该台负载均衡器与外部客户端所建立的数据连接切换到其他负载均衡器上,并将所述OSPF区域的链路状态广播给该OSPF区域内的所有负载均衡器,以使所述负载均衡网关集群可与外部客户端保持长连接。7.一种分布式数据库系统的实现方法,其特征在于,所述分布式数据库系统至少包括负载均衡网关集群、数据...

【专利技术属性】
技术研发人员:卢道和胡盼盼李靖王大海龚洵峰
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1