数据库集群系统负载均衡方法和数据库集群系统技术方案

技术编号:3976985 阅读:172 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种数据库集群系统负载均衡方法和数据库集群系统,属于信息技术领域。本发明专利技术方法包括:a)集群控制器采集各个数据库后端的各个指标值组成决策矩阵;b)根据决策矩阵计算带权重的归一化矩阵;c)计算各个数据库后端和正负理想解之间的距离;d)按距离差值由大到小排序,集群控制器根据此序列调用数据库后端。本发明专利技术系统包括一个集群控制器和一个或多个数据库后端,前者包括负载均衡决策组件、后端检测组件、用户请求分发组件和负载信息表;后者包括通信组件、数据库服务器和负载测量组件。本发明专利技术可用于数据库集群系统。

【技术实现步骤摘要】

本专利技术涉及数据库集群系统,尤其涉及数据库集群系统中的负载均衡方法和相应 的数据库集群系统,属于信息

技术介绍
数据库集群系统是指将一组数据库服务器以集群的方式组合起来,使用统一的接 口向用户提供服务。数据库集群系统利用保存在多个数据库后端节点上的数据副本获得更 高的可用性;并利用多个数据库后端节点提供单一数据库系统所无法提供的更强大的数据 管理能力和更高的查询响应效率。数据库集群系统使用多种数据分布方式,包括全集冗余模式、子集划分模式和子 集交叠模式。其中全集冗余模式(也称对等冗余模式)是指,多个后端节点中所保存的数 据完全相同;子集划分模式是指,多个后端节点各保存数据全集的一部分数据,节点间没有 数据交叠;子集交叠模式是指,各结点各保存数据全集的一部分数据,节点间有数据交叠。 为了获得更高可用性和响应效率,集群系统大都采用全集冗余模式。集群数据库系统在全集冗余模式下工作时,由于各个数据库后端节点是等价的, 用户查询可仅由一个后端节点执行并应答即可。在这种场景下,如何选取效率最高的节点 执行用户查询,是决定整个集群系统应答效率的关键技术。目前普遍使用的数据库集群系 统负载均衡方法包括(1)随机选择法。在后端中随机选择一个节点来执行用户查询请求。(2)轮询法。轮流选取后端节点执行用户查询请求。(3)加权轮询法。给不同的数据库节点赋予不同的权值,权值大的节点被轮询到的 次数大于权值小的节点,比如权值为2的节点被轮询到的次数是权值为1的节点的2倍。然而,上述负载均衡方法,均没有考虑到不同计算机节点的差异性。随机选择法总 是随机选择数据库节点完全不了解后端状态也完全没有可控性,轮询法和加权轮询法在各 个后端数据库之间按顺序循环执行,这虽然可以使每个后端都有任务,但并不能做到各个 后端任务的最优分配。
技术实现思路
本专利技术的目的在于克服现有技术中存在的问题,提供一种数据库集群系统中进行 动态负载均衡的方法和相应的数据库集群系统。本专利技术通过对数据库后端节点的运行状态 进行测量,实时获得后端节点的响应效率评价值,从而选择效率评价值最高的后端节点进 行执行,以避免后端节点的过热和故障,从整体上提升数据库集群系统的运行效率。本专利技术的数据库集群系统负载均衡方法包括下列步骤a)集群控制器采集各个数据库后端的各个设定指标的值,组成决策矩阵;b)对决策矩阵进行归一化;计算各个指标的权重向量;并根据 =Wjb.j计算带 权重的归一化矩阵,其中表示归一化后的决策矩阵单元,^表示指标的权重向量,i表示4数据库后端序号,j表示指标序号;c)分别计算各个数据库后端和负理想解之间的距离di_,以及和正理想解之间的 距离d:;d)按(1厂-屯+的差值由大到小对各个数据库后端进行排序,集群控制器根据此序列 调用数据库后端。各具体步骤的优选实现方式将在下面具体描述。本专利技术提供的数据库集群系统包括一个集群控制器和一个或多个数据库后端节 点,在数据库后端节点中保存完全相同的数据集合,数据库后端节点是同构或异构的数据 库后端节点。如图1所示,集群控制器包含负载均衡决策组件、后端检测组件、用户请求分发组 件和负载信息表,其中,负载均衡决策组件用于执行负载均衡决策过程;后端检测组件用于 执行后端负载检测过程;负载信息表用于保存后端负载检测过程所得出的测量值;用户请 求分发组件用于暂存用户请求、发起后端负载检测过程、发起负载均衡决策过程、并将用户 请求发至决策结果确定的数据库后端节点执行。数据库后端节点包含通信组件、数据库服务器和负载测量组件,其中,通信组件用 于接收后端检测请求、发起负载测量、将负载测量值存入集群控制器中的负载信息表中,并 接收集群控制器发来的用户请求,将其发给数据库服务器执行,将得到的结果集返回至集 群控制器;数据库服务器用于接收通信组件发来的用户请求并作出应答;负载测量组件用 于接收通信组件发来的负载测量请求并作出应答。负载测量组件又进一步包含CPU使用 率检测模块、内存使用率检测模块、磁盘已占用空间检测模块、磁盘可用空间比例检测模 块、磁盘10延迟检测模块和网络延迟检测模块。在上述数据库集群系统中,当用户将数据库查询请求发送至集群控制器时,集群 控制器中的用户请求分发组件负责将数据库查询请求暂存,通过后端检测组件执行1次后 端负载检测过程,通过负载均衡决策组件执行1次负载均衡决策过程,用户请求分发组件 根据负载决策过程得出的结果将数据库查询请求转发至相应的数据库后端节点执行。后端负载检测过程的执行流程为后端检测组件向数据库后端发起后端检测请 求,由数据库后端节点中的通信组件接受后端检测请求,驱动负载测量组件进行负载测量, 负载测量完成后,再由通信组件将获得的负载值返回至集群控制器,并将测量值存储于负 载信息表中。其中,负载测量的内容包括CPU使用率、内存使用率、磁盘已占用空间、磁盘 可用空间比例、磁盘10延迟和网络延迟。负载均衡决策过程的执行流程为(1)如果数据库查询请求是写请求(Insert,Update,Delete操作),决策结果为所 有数据库后端节点;(2)如果数据库查询请求是读请求(Select操作),那么执行以下步骤将负载信息表中的负载值构造为决策矩阵,第1列至第6列分别对应为CPU使用 率、内存使用率、磁盘可用空间比例、磁盘已占用空间、网络延迟、磁盘10延迟;利用以下两个公式对决策矩阵进行归一化处理,5 对于成本型指标使用如下公式计算~ = 对效益型指标使用如下公式计算~ = 其中M^是第j列最大值,mj是第j列最小值,aiJ为归一化前决策矩阵第i行第j 列的值,b.j为归一化处理以后决策矩阵第i行第j列的值;采用熵值法计算各个指标的权重,形成权重向量,使用如下公式将各指标值进行 归一化处理使用如下公式计算指标的熵值I =--L^x inx使用如下公式 将熵值转化为权值“m-^H 得到 W = ,W1+W2+W3+W4+W5+W6 = 1 ; 使 用 TOPSIS(Technique for Order Preference by Similarity to Ideal Solution)方法对所有后端进行排序,确定正理想解为:v+= {1,1,0,0,1,1},确定负理想 解为v_ = {0,0,1,1,0,0},使用下述公式计算决策矩阵中每一行和正理想解之间的距离d]=\L{vij-V')2 2,j =丨,...,m,使用下述公式计算决策矩阵中每一行和负理想解之间 的距离<=5]( -()2 ,j = l,...,m,使用下述公式计算决策排序 取…值最大的数据库后端节点,作为决策结果。使用传统的随机均衡方法、轮询均衡方法和加权轮询均衡方法等静态负载均衡方 法,负载均衡结果与数据库后端节点的即时状态无关,难以保证每次操作都发送至效率最 优的节点执行。这主要是出于两方面的原因随着服务器的运行,服务器的状态可能会发生变化,性能也会随之改变,而预设的 均衡策略无法侦测这种变化。服务器接收到的任务量不一定相等。用户操作以事务为单元,但每一个事务的工 作量存在差异。若一个后端节点接受了一个超长的事务,则只能将后续的事务延迟处理,于 此同时,其他后端节点可能因为接收到事务都是短事务,而处于闲置状态本文档来自技高网
...

【技术保护点】
一种数据库集群系统负载均衡方法,该方法包括下列步骤:a)集群控制器采集各个数据库后端的各个设定指标的值,组成决策矩阵;b)对决策矩阵进行归一化;计算各个指标的权重向量;并根据v↓[ij]=w↓[j]b↓[ij]计算带权重的归一化矩阵,其中b↓[ij]表示归一化后的决策矩阵单元,w↓[j]表示指标的权重向量,i表示数据库后端序号,j表示指标序号;c)分别计算各个数据库后端和负理想解之间的距离d↓[i]↑[-],以及和正理想解之间的距离d↓[i]↑[+];d)按d↓[i]↑[-]-d↓[i]↑[+]的差值由大到小对各个数据库后端进行排序,集群控制器根据此序列调用数据库后端。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈驰殷佳欣王伏根张大朋付艳艳
申请(专利权)人:中国科学院软件研究所
类型:发明
国别省市:11[中国|北京]

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

1