论文部分内容阅读
随着计算机网络技术的发展和计算机技术的广泛应用,人们对计算机的依赖程度也越来越高,计算机的可靠性和可用性也变得越来越重要。尽管单台计算机的性能和可靠性越来越好,但是还有很多现实的需求是单台计算机难以达到的。计算机集群就是将多台计算机组织起来进行协同工作来模拟一台功能更加强大的计算机的技术,从而也可以更好的提高系统的可用性和可靠性。数据库作为信息的存储介质,在整个信息化过程中起着重要的作用。对于数据库管理系统的应用,随着信息量的增多和集中,即使运行在性能极高的主机上,在处理大量并发用户和大规模数据时,也很难满足I/O和CPU等方面的性能需求。在这种情况下,将数据库管理系统集中在一起,构成协同工作的数据库集群系统,从而提高系统的整体性能也就自然而然的提出。
本课题的目的是开发一个针对数据库集群的中间件系统,通过这个系统可以将不同厂家的数据库集群在一起,从而使得用户在不增加软硬件资源的情况下就可以提高原有数据库系统的性能和容错性。
首先,本文基于Java、JVM、JMX、XML等多种技术,设计了S-JDBC的集群方式、总体结构和核心工作流程。S-JDBC采用对等式的集群方式,实现了集群中节点的动态增加或删除;提供了一个虚拟的数据库视图,隐藏了后台集群系统的复杂性。
其次,本文研究了S-JDBC中应用的多种负载均衡算法:随机法、轮转法、顺序法、最少请求优先、加权轮转法;分析了S-JDBC中多个层次上负载均衡策略的具体实现。
再次,本文设计了S-JDBC中的故障处理模式,数据备份和恢复策略;实现了对于集群中各种故障的自动处理,数据的自动备份和数据的自动恢复。
最后,本文分析了S-JDBC在使用过程中的性能瓶颈,采用多种方式对其性能进行了调整和优化;同时,给出了S-JDBC在南京28所的具体应用实例。