[发明专利]一种高性能全局负载均衡的分布式数据库数据路由方法在审
申请号: | 201410087175.0 | 申请日: | 2014-03-11 |
公开(公告)号: | CN103905530A | 公开(公告)日: | 2014-07-02 |
发明(设计)人: | 郑伟波;邬柏 | 申请(专利权)人: | 浪潮集团山东通用软件有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L12/803;G06F17/30;H04L1/22 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250101 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 性能 全局 负载 均衡 分布式 数据库 数据 路由 方法 | ||
技术领域
本发明涉及分布式数据库数据路由领域,具体地说是一种高性能全局负载均衡的分布式数据库数据路由方法。
背景技术
互联网信息的爆炸式增长,传统的关系型数据库的单库难以贮存海量的数据,需要将数据存储到分布式关系型数据库中。分布式数据库由多台物理独立的数据库服务器组成,旨在通过分布式解决单一数据节点的性能瓶颈问题。分布式数据库的数据路由方法包含有数据的路由插入、路由查询。路由插入是通过算法找到保存待插入数据的数据库节点,常用策略包括:根据ID值所属段决定插入节点、平均散落到所有数据节点以及轮询插入所有节点的方式。路由查询是通过算法找到给定主键的数据存储的位置。通常路由查询的方式和路由插入对应,常用的查询方式包括:通过ID区间确定节点并查询,通过平均散列算法确定数据节点并查询,通过索引/映射表确定主键所在数据节点并查询。
上述的分布式解决方案存在如下问题:
1. 通过索引和映射表确定数据路由的方法,每次查询进行都需要先查找路由表,容易使路由表节点成为系统瓶颈,造成系统性能低下。而由于路由表数据庞大,且数据更新较快,不容易通过缓存提高性能,广播路由表也不容易实现。
2. 通过自增主键的值所在范围进行数据路由,容易导致数据的插入或者访问集中在某一段数据区,这段数据区所属的节点容易成为系统热点访问区,并造成性能瓶颈。
3. 平均散列的数据路由方式,当节点增加时,由于散列基数改变,需要将数据库中所有数据重新路由插入,造成巨大的迁移代价,迁移期间需要全库扫描,而且系统整个是不可用的。同时每次查询都需要进行散列算法的计算,高并发情况下会消耗大量的CPU以及内存资源。
4. 散列不考虑各节点性能,不同性能的节点被插入数据的可能性是相同的,高配节点的性能优势无法得到发挥。
总而言之,目前需要本领域技术人员迫切解决的一个技术问题是:如何在保证全局负载均衡的情况下,高效的进行数据的路由插入以及查找。
发明内容
本发明的技术任务是针对上述现有技术的不足,提供一种高性能全局负载均衡的分布式数据库数据路由方法。
本发明的技术任务是按以下方式实现的:一种高性能全局负载均衡的分布式数据库数据路由方法,其特点是包含数据的路由插入、路由查询以及分布式节点的数据管理三个部分:
所述数据的路由插入中,通过对分布式节点的能效值计算以及散列算法确定数据插入的节点,所述的能效值计算的过程是将各节点能效指标按照其相应权值加权求和的过程(即为结合各节点的服务器配置性能数据,并将性能数据按照条目对应权值进行计算,节点能效值=Σ(配置参数值*参数权值)),以所述散列算法确定数据插入的节点时,散列算法的取模基数为上述能效值之和,各节点的散列范围为对应的能效值的范围;
所述分布式节点的数据管理包括数据节点的录入,状态查看,节点的转移,节点不可用预警,主备自动切换,各分布式数据节点的实时状态采集,节点信息的广播。
进一步的,所述数据的路由插入包括以下步骤:
(1)根据待插入的数据的目的数据库表,查询配置主节点对应的该表可用数据库节点;
(2)根据(1)中确定的数据库节点的性能配置,分别计算分布式数据库各节点的能效值;
(3)将各分布式数据库节点的能效值相加,确定总的散列基数,并确定各节点所拥有的散列区间;
(4)为待插入数据生成UUID主键;
(5)将主键以(2)确定的散列基数进行散列,得到散列结果;
(6)确定(5)中确定的散列结果所属散列区间,并得到其区间所属节点;
(7)根据步骤(6)中确定的节点,将UUID主键中加入节点的信息;
(8)连接节点并插入重组后的主键的数据。
所述能效指标包括:CPU主频,CPU核心,CPU一级缓存,内存大小,内存频率,磁盘可用容量大小,磁盘转速,磁盘种类(固态、机械),磁盘缓存,服务器已经使用的时间,数据库累计保存的总数据量。
所述路由查询包括以下步骤:
(1)根据给定的主键ID,得到主键对应数据所在的节点;
(2)从配置主节点数据中,获取节点对应的数据库配置信息;
(3)连接相应的数据库并执行查询;
(4)将查询结果返回调用函数。
其中,根据主键ID获取对应节点的方法是使用正则匹配的方式;获取节点对应数据库配置信息的方法是根据步骤(1)中的节点编号获取节点对应的数据库连接信息以及用户名和密码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮集团山东通用软件有限公司,未经浪潮集团山东通用软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410087175.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种加氢反应系统
- 下一篇:一种铑催化剂的用途及采用该催化剂生产醛的方法