一种实现SQL-Server负载均衡集群的方法

文档序号:6369649阅读:603来源:国知局
专利名称:一种实现SQL-Server负载均衡集群的方法
技术领域
本发明涉及一种计算机数据库应用技术,具体地说是ー种实现SQL-Server负载均衡集群的方法。
背景技术
随着企业的发展,应用系统功能的多祥化,伴随着数据的增长,使运行于Windows平台上的SQL Server数据库表现出让用户难以接受的瓶颈,如请求响应缓慢,系统的处理速度明显低于系统刚上线时的速度,数据库服务器端CPU不堪重负,内存资源也面临着耗尽的状况,磁盘的IO利用率更是居高不下。种种方面说明我们的SQL Server数据库在性能方面没有跟上企业与数据的发展步伐,数据库系统随时面临着崩溃且可能丢失客户重要数据的危险。 面对这种困境,目前SQL Server应用比较广泛的集群,例如微软的故障转移集群、SQL Server镜像、第三方公司的双机热备软件等虽然在一定程度上可以满足部分客户保证数据安全、可靠的要求,但它们都不具备负载均衡的功能,无法动态负载客户端的请求响应,也无法降低数据库服务端的负载与压力,且主机的利用率在50%,未完全利用。由于上述技术的不足,我们基于宿主在多节点数据库内的中间件,通过检测数据库内变化的数据,分析出导致数据变化的SQL语句,将分析出的SQL语句类型采取不同的同步策略,将变化的数据并发且实时同步到其他各节点,对外提供统ー连接的虚拟IP地址与端口号。整个检測,分析,同步的过程对用户是透明的,从而很好的实现数据库的负载均衡,分担并减轻主机的负载。

发明内容
本发明的目的是本发明的目的是提供一种实现SQL Server集群负载均衡的方法。本发明的目的是按以下方式实现的,利用宿主在节点上的中间件检测数据库内变化的数据,分析导致数据变化的SQL语句,并将分析出的SQL语句类型采取不同的同步策略,实时并发同步到其他各节点,保证了各节点多份数据在任意时刻数据的一致性。该方法的集群配置对外提供访问的统ー IP地址与端ロ号来负载响应前端应用的请求,从而实现集群的负载均衡功能。具体步骤如下
首先在集群的各节点上安装SQL Server 2008 R2,然后在各节点上分別安装并配置需要宿主到数据库内的中间件,此中间件会宿主于SQL Server数据库的引擎中,集群的配置管理器集成到SQL Server Management Studio管理工具中,方便配置、管理与维护。同时此方法的负载均衡集群是基于每个数据库来实现的,集群粒度更小,应用起来非常灵活。本发明的有益效果是保证数据的安全可靠性,既可支持无共享磁盘架构,也可以支持共享磁盘架构;集群节点间的数据同步复制;每个节点上均有ー份数据库;可持续扩展的方案,实现负载均衡;消除数据库主机的单点故障;同步效率高,支持异地;能实现性能的横向扩展;以SQL语句同步,消耗最小,节省带宽。同时此方法的负载均衡集群是基于每个数据库来实现的,集群粒度更小,应用起来非常灵活。该方法的负载均衡集群提供了数据库检查,智能同步策略,负载均衡策略,故障检测,虚拟IP,自动故障转移,预警通知等完备的功能,用以满足不同应用的需要。


图I是集群负载均衡系统结构示意图。
具体实施例方式參照说明书附图对本发明的方法作以下详细地说明。利用宿主在节点上的中间件检测数据库内变化的数据,分析导致数据变化的SQL语句,并将分析出的SQL语句类型采取不同的同步策略,实时并发同步到其他各节点,保证了各节点多份数据在任意时刻数据的一致性。该方法的集群配置对外提供访问的统ー IP 地址与端口号来负载响应前端应用的请求,从而实现集群的负载均衡功能。
实施例集群的每个节点均部署宿主的中间件,且各节点上都建立ー份需要同步的数据库,配置好之后,对外提供访问此集群的统一虚拟IP地址和指定端口号,例如8000,应用层配置连接数据库的IP地址为集群虚拟IP,端ロ为8000。当前端应用提交了修改数据的请求后,集群中其中一个节点的数据会发生改变,同时宿主在数据库内的中间件会检测到引起此节点数据发生变化的SQL语句,然后宿主中间件会对此SQL语句进行分析,将此SQL语句实时并发同步给其他的节点,从而保证了集群中各节点间数据的一致性。当前端应用提交了查询数据的请求后,宿主在数据库内的中间件会检测到应用请求的SQL语句并进行分析,然后根据集群各节点的负载情况将请求的SQL语句分发到其他各节点,基本上做到平均分发请求响应,提高整个应用系统的响应速度,从而实现集群的负载均衡。本由于传统的SQL Server集群要么是镜像集群,要么是故障转移集群,要么是备份功能的集群,均不具有负载均衡的特点,也不能解决系统的高负荷压力的问题,仅仅是保证了数据的可靠性。本发明方法不但使SQL Server集群具备负载均衡的特点,在其中ー个节点发生故障时,其前端的连接会自动透明的转移到其他节点,从而实现应用访问的不间断性。其次本方法部署的集群因为各节点上均有ー份实时同步的数据,所以同时也保证了数据的高可靠性。本方法可以基于无共享的磁盘架构,极大程度上节省了用户的费用。对应用来说完全透明,仅对外提供一个虚拟IP地址和端口号作为统ー的连接方式。本方法也解决了数据库主机负载居高不下的难题,应用系统的性能也带来了极大的提升。除说明书所述的技术特征外,均为本专业技术人员的已知技术。
权利要求
1. 一种实现SQL-Server负载均衡集群的方法,其特征在于通过宿主在每个数据库中的中间件来检测数据库内变化的数据,然后分析出导致数据变化的SQL语句,根据分析出的SQL语句类型采取不同的数据同步策略,将变化的数据实时并发同步到其他各节点,保证同步的消耗最小化,保证了各节点多份数据在任意时刻数据的一致性,该方法的集群配置对外提供访问的统ー IP地址与端ロ号来负载响应前端应用的请求,从而实现集群的负载均衡功能,具体步骤如下 首先在集群的各节点上安装SQL Server 2008 R2,然后在各节点上分別安装并配置需要宿主到数据库内的中间件,此中间件会宿主于SQL Server数据库的引擎中,集群的配置管理器集成到SQL Server Management Studio管理工具中,当前端应用提交了查询数据的请求后,宿主在数据库内的中间件会检测到应用请求的SQL语句并进行分析,然后根据集群各节点的负载情况将请求的SQL语句分发到其他各节点,基本上做到平均分发请求响应,提高整个应用系统的响应速度,从而实现集群的负载均衡。
全文摘要
本发明提供一种实现SQL-Server负载均衡集群的方法,通过宿主在每个数据库中的中间件来检测数据库内变化的数据,然后分析出导致数据变化的SQL语句,根据分析出的SQL语句类型采取不同的数据同步策略,将变化的数据实时并发同步到其他各节点,保证同步的消耗最小化,保证了各节点多份数据在任意时刻数据的一致性,该方法的集群配置对外提供访问的统一IP地址与端口号来负载响应前端应用的请求,从而实现集群的负载均衡功能。
文档编号G06F17/30GK102693291SQ201210149228
公开日2012年9月26日 申请日期2012年5月15日 优先权日2012年5月15日
发明者乔鑫, 邱养勇 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1