跨机房多活分布式数据库管理系统和方法技术方案

技术编号:14453450 阅读:185 留言:0更新日期:2017-01-19 00:41
本发明专利技术涉及一种跨机房多活分布式数据库管理系统和方法,系统包括数据库中间件会话代理集群、数据库存储实例集群和中间件双向数据同步控制组件集群,数据库中间件会话代理集群分布于不同机房中,数据库存储实例集群包括设置于对应机房的地区集群,各地区集群均连接数据库中间件会话代理集群和中间件双向数据同步控制组件集群。通过中间件双向数据同步控制组件集群对不同机房的地区集群进行数据信息同步,确保各地区集群的数据一致性。数据库中间件会话代理集群接收用户输入的业务会话数据之后,若检测到业务会话数据所对应机房的地区集群发生宕机故障,切换至其他机房的地区集群进行对业务会话数据的读写操作,不会因地区集群出现故障而影响业务会话数据的正常读写,提高了数据读写操作可靠性。

【技术实现步骤摘要】

本专利技术涉及分布式数据库
,特别是涉及一种跨机房多活分布式数据库管理系统和方法
技术介绍
在大数据背景下,分布式数据库成为解决大数据瓶颈的重要手段,而如何实现分布式数据库的高可用性对于分布式数据库的应用性至关重要。随着“互联网+”时代的到来,互联网行业所需处理的数据量与日俱增,用户并发访问量也在快速增长,服务提供商为了保障线上服务,会优先考虑在异地机房部署同一套系统,当大量用户并发访问时起到分流作用。传统的跨机房分布式数据库系统是在不同的区域建立机房,设置独立的数据库服务器集群,只对对应区域内的用户数据进行存储和访问管理。当某一机房内的数据库服务器集群出现故障时需要断电维修,在排除故障后才能继续提供数据存储和访问服务,传统的跨机房分布式数据库系统存在数据读写操作可靠性低的缺点。
技术实现思路
基于此,有必要针对上述问题,提供一种可提高数据读写操作可靠性的跨机房多活分布式数据库管理系统和方法。一种跨机房多活分布式数据库管理系统,包括数据库中间件会话代理集群、数据库存储实例集群和中间件双向数据同步控制组件集群,所述数据库中间件会话代理集群分布于不同机房中,所述数据库存储实例集群包括设置于对应机房的地区集群,各所述地区集群均连接所述数据库中间件会话代理集群和所述中间件双向数据同步控制组件集群,所述中间件双向数据同步控制组件集群用于对不同机房的地区集群进行数据信息同步;所述数据库中间件会话代理集群用于接收业务会话数据并检测所述业务会话数据所对应机房的地区集群是否发生宕机故障,若是,则切换至其他机房的地区集群进行对所述业务会话数据的读写操作;若否,则通过所述业务会话数据所对应机房的地区集群,进行对所述业务会话数据的读写操作。一种跨机房多活分布式数据库管理方法,包括以下步骤:中间件双向数据同步控制组件集群对不同机房的地区集群进行数据信息同步;数据库中间件会话代理集群接收业务会话数据,并检测所述业务会话数据所对应机房的地区集群是否发生宕机故障;若是,则数据库中间件会话代理集群切换至其他机房的地区集群进行对所述业务会话数据的读写操作;若否,则数据库中间件会话代理集群通过所述业务会话数据所对应机房的地区集群,进行对所述业务会话数据的读写操作。上述跨机房多活分布式数据库管理系统和方法,中间件双向数据同步控制组件集群对不同机房的地区集群进行数据信息同步。数据库中间件会话代理集群接收业务会话数据并检测业务会话数据所对应机房的地区集群是否发生宕机故障,若是,则切换至其他机房的地区集群进行对业务会话数据的读写操作;若否,则通过业务会话数据所对应机房的地区集群,进行对业务会话数据的读写操作。通过中间件双向数据同步控制组件集群对不同机房的地区集群进行数据信息同步,确保各地区集群的数据一致性。数据库中间件会话代理集群接收用户输入的业务会话数据之后,若检测到业务会话数据所对应机房的地区集群发生宕机故障,切换至其他机房的地区集群进行对业务会话数据的读写操作,不会因地区集群出现故障而影响业务会话数据的正常读写,提高了数据读写操作可靠性。附图说明图1为一实施例中跨机房多活分布式数据库管理系统的结构图;图2为另一实施例中跨机房多活分布式数据库管理系统的结构图。图3为一实施例中跨机房多活分布式数据库管理方法的流程图。具体实施方式在一个实施例中,一种跨机房多活分布式数据库管理系统,如图1所示,包括数据库中间件会话代理集群120、数据库存储实例集群140和中间件双向数据同步控制组件集群160,数据库中间件会话代理集群120分布于不同机房中,数据库存储实例集群140包括设置于对应机房的地区集群142,各地区集群142均连接数据库中间件会话代理集群120和中间件双向数据同步控制组件集群160。具体如图2所示,可通过Web业务服务集群200接收用户端输入的业务会话数据,并经应用层中间件高可用负载集群300发送至数据库中间件会话代理集群120。Web业务服务集群200属于应用层集群部署,按照配置的数据源信息,经应用层中间件高可用负载集群300将核心数据存取交由数据库中间件会话代理集群120进行路由分发到指定实例库执行。中间件双向数据同步控制组件集群160用于对不同机房的地区集群142进行数据信息同步。数据库中间件会话代理集群120用于接收业务会话数据并检测业务会话数据所对应机房的地区集群142是否发生宕机故障,若是,则切换至其他机房的地区集群142进行对业务会话数据的读写操作;若否,则通过业务会话数据所对应机房的地区集群142,进行对业务会话数据的读写操作。业务会话数据具体可包括存储数据和访问数据两种类型,不同机房的地区集群142负责对应地理区域的数据读写管理。在各机房的地区集群142正常工作时,数据库中间件会话代理集群120接收到客户端发送的业务会话数据之后根据具体的数据来源和数据类型进行读写操作。比如,在接收到存储数据后,将存储数据存入对应机房的地区集群142中,在接收到访问数据后,从对应机房的地区集群142中提取对应的查询结果并返回至客户端。具体地,可将数据库中间件会话代理集群120、地区集群142和中间件双向数据同步控制组件集群160中的每台服务器机器作为一个节点。数据库中间件会话代理集群120对Web业务服务集群200的数据请求处理,实现服务端分片数据合并、排序、分组功能,解决阻塞与假死问题,实现基于数据库实例连接池的共享与管理。在收到客户端发送的SQL(StructuredQueryLanguage,结构化查询语言)请求时,先对SQL进行语法分析与检查,分析的结果发送至SQL路由。SQL路由策略支持传统的基于表格的分片字段方式进行分片,也支持独有的基于数据库E-R关系的分片策略,对于路由到多个数据节点的SQL,则会对收到的数据集进行“归并”然后把结果集输出到客户端。其中,分片节点映射后端的实际物理数据库实例,并配置多个备用引用实例,在对地区集群142的主机服务器进行心跳检测发生宕机时及时切换以实现高可用。数据库中间件会话代理集群120负责协调各地区集群142负载均衡,在发生故障时及时转移,将负载转移至未发生宕机故障的地区集群142。具体地,可对于每个组件同步服务节点,利用zookeeper缓存存活列表,当节点失效时,zookeeperwatcher机制将刷新每个节点机器的内存,然后针对每次负载均衡选择时只针对当前存活的节点,确保调度的可靠性。其中,zookeeper属于分布式应用程序的协调服务,能够为分布式集群提供一致性协调功能。此外,数据库中间件会话代理集群120还可在故障消除后对负载进行恢复,按照地区集群142正常工作时的模式进行数据读取操作。本实施例中,数据库存储实例集群140为支持水平切分与扩容的分布式数据库集群,支持中间件双向数据同步控制组件集群160的路由分发请求与数据同步,并做冗余灾备,防止意外发生。采用水平分片的模式对数据库进行垂直分片,每个数据库表的结构是一致的,但是每个库中的数据表的数据是不一样的,将不同的数据分布到不同的数据库以解决单库单片支持的数据量有限,并发量受限的问题。中间件双向数据同步控制组件集群160负责不同机房的地区集群142之间的数据传输,实现异地间的数据信息同步服务。具体可根据数据更新日志获本文档来自技高网...

【技术保护点】
一种跨机房多活分布式数据库管理系统,其特征在于,包括数据库中间件会话代理集群、数据库存储实例集群和中间件双向数据同步控制组件集群,所述数据库中间件会话代理集群分布于不同机房中,所述数据库存储实例集群包括设置于对应机房的地区集群,各所述地区集群均连接所述数据库中间件会话代理集群和所述中间件双向数据同步控制组件集群,所述中间件双向数据同步控制组件集群用于对不同机房的地区集群进行数据信息同步;所述数据库中间件会话代理集群用于接收业务会话数据并检测所述业务会话数据所对应机房的地区集群是否发生宕机故障,若是,则切换至其他机房的地区集群进行对所述业务会话数据的读写操作;若否,则通过所述业务会话数据所对应机房的地区集群,进行对所述业务会话数据的读写操作。

【技术特征摘要】
1.一种跨机房多活分布式数据库管理系统,其特征在于,包括数据库中间件会话代理集群、数据库存储实例集群和中间件双向数据同步控制组件集群,所述数据库中间件会话代理集群分布于不同机房中,所述数据库存储实例集群包括设置于对应机房的地区集群,各所述地区集群均连接所述数据库中间件会话代理集群和所述中间件双向数据同步控制组件集群,所述中间件双向数据同步控制组件集群用于对不同机房的地区集群进行数据信息同步;所述数据库中间件会话代理集群用于接收业务会话数据并检测所述业务会话数据所对应机房的地区集群是否发生宕机故障,若是,则切换至其他机房的地区集群进行对所述业务会话数据的读写操作;若否,则通过所述业务会话数据所对应机房的地区集群,进行对所述业务会话数据的读写操作。2.根据权利要求1所述的跨机房多活分布式数据库管理系统,其特征在于,所述地区集群为主从机结构的地区集群;所述数据库中间件会话代理集群在所述地区集群的主机服务器发生宕机故障时,控制从机服务器进行对业务会话数据的读写操作,以及在所述地区集群的主机服务器和从机服务器均发生宕机故障时,切换至其他机房的地区集群进行对所述业务会话数据的读写操作;所述中间件双向数据同步控制组件集群还用于对同一地区集群的主机服务器和从机服务器进行数据信息同步。3.根据权利要求1所述的跨机房多活分布式数据库管理系统,其特征在于,所述地区集群为双主机结构的地区集群;所述数据库中间件会话代理集群还用于检测所述地区集群的主机负载,并当所述主机负载超过预设阀值时控制双主机服务器分别进行对业务会话数据的读和写操作,以及在所述地区集群的双主机服务器均发生宕机故障时,切换至其他机房的地区集群进行对所述业务会话数据的读写操作;所述中间件双向数据同步控制组件集群还用于对同一地区集群的双主机服务器进行数据信息同步。4.根据权利要求1所述的跨机房多活分布式数据库管理系统,其特征在于,所述中间件双向数据同步控制组件集群采用全双工传输模式,通过多线程复制对不同机房的地区集群进行数据信息同步。5.根据权利要求1所述的跨机房多活分布式数据库管理系统,其特征在于,所述数据库中间件会话代理集群包括主机级监控设备、复制级监控设备、网络级监控设备、事务级监控设备和应用服务监控设备中的至少一种,所述主机级监控设备连接所述地区集群,用于监控所述地区集群中主机服务器运行参数并输出;所...

【专利技术属性】
技术研发人员:成思敏李恒春潘浩赵子颖
申请(专利权)人:世纪龙信息网络有限责任公司
类型:发明
国别省市:广东;44

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

1