一种云计算架构下的分布式数据库架构的制作方法

文档序号:10725158阅读:584来源:国知局
一种云计算架构下的分布式数据库架构的制作方法
【专利摘要】本发明公开一种云计算架构下的分布式数据库架构,涉及云计算技术,将分布式数据库架构分为代理层和数据存储层;其中,代理层和数据存储层的均采用HA架构;将数据的分片路由交给代理层,代理层采用集群化部署,负责应用级的数据拆分,代理层由zookeeper进行维;数据存储层引入Group,采用主/从的架构;每个Group由zookeeper进行维护,代理节点与Group节点能够根据实际业务访问量情况平滑实现节点的扩容或缩容。本发明可有效满足云计算环境下高并发、大吞吐量应用场景,具有高可靠、高性能等特点,有效提高了应用开发效率,有效降低了研发和运维成本。
【专利说明】
一种云计算架构下的分布式数据库架构[0001]
技术领域
[0002]本发明涉及云计算技术,具体的说是一种云计算架构下的分布式数据库架构。【背景技术】
[0003]随着云计算和大数据相关技术的发展,应用系统集约化建设已经成为一种趋势, 将大大有利于企业业务系统业务能力集成、数据信息的集中和共享,并降低企业内部的信息化建设成本。在原有孤立的分区域建设的业务系统进行集中化建设后,原有的业务系统所承担的业务用户访问量和数据存储量会出现大幅度的增长,而传统的数据库架构已经无法满足数据库的横向扩展能力,以及对海量数据的高性能、高稳定性的需求。
[0004]为了解决业务系统集中化建设中在数据库层访问瓶颈,需要研究一种支持海量数据存储的分布式数据库架构体系。针对关系型数据库在海量数据量下高性能的存取,业界已经有一些较成熟的解决方案,常见的方案有:垂直切分、水平切分、读写分离等。垂直切分主要是将多个表切分到不同的物理库中,降低单数据库节点的负载压力。水平切分主要是将大表按行切分到多个物理库中。读写分离主要是建设读库和写库,读写请求分别发送至不同的物理库中,同时要保证读库和写库的数据一致性。
[0005]以上常用方案是将分片工作放在业务程序端,程序代码根据预先设置的路由规贝1J,直接对多个数据库实例进行分布式访问。这样的好处是,不依赖于第三方分布式中间件,实现方法和代码都自己掌控,可随时调整,但缺点是升级麻烦,对研发人员的个人依赖性强,可运维性较差。出现故障,定位和解决都得研发和运维配合着解决,故障时间变长。
【发明内容】

[0006]本发明针对目前技术发展的需求和不足之处,提供一种云计算架构下的分布式数据库架构。
[0007]本发明所述一种云计算架构下的分布式数据库架构,解决上述技术问题采用的技术方案如下:所述一种云计算架构下的分布式数据库架构,将分布式数据库架构分为代理层和数据存储层;其中,所述代理层和数据存储层的均采用HA架构;将数据的分片路由交给所述代理层,代理层采用集群化部署,负责应用级的数据拆分,代理层由zookeeper进行维; 代理节点能够根据实际业务访问量情况平滑实现扩容或缩容;所述数据存储层引入Group, 每个Group是一个集群,采用主/从的架构;每个Group由zookeeper进行维护,Group节点能够根据实际业务访问量情况平滑实现节点的扩容或缩容。[00〇8] 优选的,通过zookeeper集群监控到各个代理节点的运行状态,当一个代理节点宕机以后,zookeeperii过检测代理节点的运行状态,及时选举出合理的代理节点给后台调用程序。[00〇9]优选的,一个代理节点能够关联一个底层Group节点,或者多个代理节点关联同一个Group节点。[〇〇1〇]优选的,每个代理节点均提供水平拆分、垂直拆分、混合拆分数据拆分功能,能够根据不同的业务数据特点灵活配置数据拆分策略。
[0011]优选的,代理节点能够将一个分组内存数据库的数据迀移到另一个内存数据库里面。[0〇12]优选的,代理节点自带监控功能,能够监控底层各Group节点的运行情况,及存储情况;通过管理页面,进行添加删除内存数据库分组。
[0013] 优选的,每个Group只有1个Mas ter节点和至少1个Slave节点,所述Mas ter节点与 Slave节点采用主从备份机制。[0〇14] 优选的,每个Group由zookeeper进行维护,可有效保证数据存储节点的高可用,当 Master节点挂掉时,会自动切换Slave节点为Master节点。
[0015]本发明所述一种云计算架构下的分布式数据库架构与现有技术相比具有的有益效果是:本发明可有效满足云计算环境下高并发、大吞吐量应用场景,并具有高可靠、高性能等特点,有效提高了应用开发效率;有效解决了传统分布式数据库架构下无法应对高并发、大吞吐量的应用场景,以及开发耦合性高,可靠性差,不易维护,无法随业务实际访问量平滑实现扩容/缩容等问题,有效降低了研发和运维成本;该发明即可用于云计算架构下关系型数据库的设计,也可用于内存数据库的设计,将对后续企业在面对海量数据存储时数据库架构层设计和选型有较强的指导意义。
[0016]说明书附图附图1为所述云计算架构下的分布式数据库架构的示意图。【具体实施方式】
[0017]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,对本发明所述一种云计算架构下的分布式数据库架构进一步详细说明。
[0018]鉴于云计算架构下传统分布式数据库架构无法应对高并发、大吞吐量的应用场景,本发明公开了一种云计算架构下的分布式数据库架构,改进了传统分布式数据库架构, 引入了代理层,将数据的分片路由交给代理层,业务程序不用关心后端数据库实例,应用开发效率高,运维起来也方便;数据存储节点引入Group概念,每个Group由zookeeper进行维护,确保节点的高可用;Group节点可根据实际业务数据访问量平滑实现节点的扩容/缩容。 本发明可有效满足云计算环境下高并发、大吞吐量应用场景,并具有高可靠、高性能等特点,有效提高了应用开发效率,降低了研发和后期维护成本,这将对后续企业在面对海量数据存储时数据库架构层设计和选型有较强的指导意义。
[0019]实施例:本实施例所述一种云计算架构下的分布式数据库架构,针对传统分布式数据库架构的缺点,将分布式数据库架构分为代理层和数据存储层;如附图1所示,其中,所述代理层和数据存储层的均采用HA架构,双层HA架构进一步保证了数据库服务的高可用;将数据的分片路由交给代理层,所述代理层采用集群化部署,负责应用级的数据拆分,支持水平、垂直、混合等拆分,代理层由zookeeper进行维护,确保高可用和负载均衡;代理节点可根据实际业务访问量情况平滑实现扩容/缩容;所述数据存储层引入Group,每个Group是一个集群,采用主/从的架构;并且,每个Group由zookeeper进行维护,Group节点可根据实际业务访问量情况平滑实现节点的扩容/缩容。[0〇2〇]本实施例所述分布式数据库架构中,所述代理层采用集群化部署,通过zookeeper 进行维护,确保高可用和负载均衡,对外暴露zookeeper地址供应用开发调用;通过 zookeeper集群监控到各个代理节点的运行状态,当一个代理节点宕机以后,zookeeper通过检测代理节点的运行状态,及时选举出合理的代理节点给后台调用程序,使得后台调用程序,在不停止运行的情况下继续操控分布式内存数据库集群。[0〇21 ] —个代理节点能够关联一个底层Group节点,或者多个代理节点关联同一个Group 节点。并且,每个代理节点均提供水平拆分、垂直拆分、混合拆分等数据拆分功能,能够根据不同的业务数据特点灵活配置数据拆分策略。代理节点能够将一个分组内存数据库的数据迀移到另一个内存数据库里面,实现了数据的迀移功能,可以保证数据的完整,减轻数据库自身因数据量增大带来的存储压力。此外,代理节点自带了一个监控功能,可以监控底层各 Group节点的运行情况,及存储情况,可以通过管理页面,实现添加删除内存数据库分组。
[0022]本实施例所述分布式数据库架构中,所述数据存储层引入Group,每个Group是一个集群,采用主/从的架构,每个Group只有1个Master节点和至少1个Slave节点。所述 Mas ter节点与Slave节点采用主从备份机制保证数据的可靠性。并且,每个Group由 zookeeper进行维护,可有效保证数据存储节点的高可用,当Master节点挂掉时,会自动切换Slave节点为Master节点。Group节点可根据实际业务访问量情况平滑实现Group节点增加或删除,即Group节点能够平滑实现节点的扩容/缩容。
[0023]上述【具体实施方式】仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述【具体实施方式】,任何符合本发明的权利要求书的且任何所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
【主权项】
1.一种云计算架构下的分布式数据库架构,其特征在于,将分布式数据库架构分为代 理层和数据存储层;其中,所述代理层和数据存储层的均采用HA架构;将数据的分片路由交 给所述代理层,代理层采用集群化部署,负责应用级的数据拆分,代理层由zookeeper进行 维;代理节点能够根据实际业务访问量情况平滑实现扩容或缩容;所述数据存储层引入 Group,每个Group是一个集群,采用主/从的架构;每个Group由zookeeper进行维护,Group 节点能够根据实际业务访问量情况平滑实现节点的扩容或缩容。2.根据权利要求1所述一种云计算架构下的分布式数据库架构,其特征在于,通过 zookeeper集群监控到各个代理节点的运行状态,当一个代理节点宕机以后,zookeeper通 过检测代理节点的运行状态,及时选举出合理的代理节点给后台调用程序。3.根据权利要求2所述一种云计算架构下的分布式数据库架构,其特征在于,一个代 理节点能够关联一个底层Group节点,或者多个代理节点关联同一个Group节点。4.根据权利要求3所述一种云计算架构下的分布式数据库架构,其特征在于,每个代 理节点均提供水平拆分、垂直拆分、混合拆分数据拆分功能,能够根据不同的业务数据特点 灵活配置数据拆分策略。5.根据权利要求4所述一种云计算架构下的分布式数据库架构,其特征在于,代理节 点能够将一个分组内存数据库的数据迀移到另一个内存数据库里面。6.根据权利要求5所述一种云计算架构下的分布式数据库架构,其特征在于,代理节 点自带监控功能,能够监控底层各Group节点的运行情况,及存储情况;通过管理页面,进行 添加删除内存数据库分组。7.根据权利要求6所述一种云计算架构下的分布式数据库架构,其特征在于,每个 Group只有1个Master节点和至少1个Slave节点,所述Master节点与Slave节点采用主从备 份机制。8.根据权利要求7所述一种云计算架构下的分布式数据库架构,其特征在于,每个 Group由zookeeper进行维护,可有效保证数据存储节点的高可用,当Master节点挂掉时,会 自动切换Slave节点为Master节点。
【文档编号】H04L29/08GK106096038SQ201610483454
【公开日】2016年11月9日
【申请日】2016年6月28日
【发明人】王德强, 张连超, 吴瑞海, 张强
【申请人】浪潮软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1