论文部分内容阅读
随着计算机技术的发展和企业对大数据量信息处理的需求增长,企业级的计算机和数据库应用越来越普及。然而,由于历史的原因,对一个大型企业,往往会出现各部门使用不同的数据库系统的现象。在通常情况下,这些遗产数据库系统不可能被取消从而重新开发新的数据库应用系统。因此,在实际开发应用系统的时候,如何有效面对分布在不同节点上的异构数据库并加以集成是一个常见的问题。这种分布式数据库软件系统要求数据实现跨空间、跨时间、跨设备、跨用户的共享,突破时间、空间及不同硬件设备的限制,利用客户和软件之间统一的接口实现跨平台的互操作。在众多软件技术问题中,如何保证这种分布式异构数据库的数据一致性是开发的一个难点,也是重点。
针对上述问题,数据库的开发者在设计时通常引入了下面的数据一致性支持机制:事务,并发控制,回滚,锁定,日志记录等方法。事务概念具有ACID四个基本性质:原子性、一致性、隔离性和持久性。并发控制保证了事务的一致性和孤立性,恢复机制保证了事务的原子性和持久性。
另一方面,设计模式在开发中以面向对象可复用软件构件为组装模块,支持组装式软件的复用,可大大增强软件的生产效率和软件质量。同时也使得软件可维护性,可修复性,可扩展性,灵活性以及封装性大大提高。我们常常说面向对象的编程比以往的各种编程模式要简单和高效,但是面向对象的设计方法要比以往的设计方法要复杂和有技巧得多,一个良好的设计模式应该既具有对问题的针对性,也充分考虑到对将来问题和需求有足够的通用性,提高软件的重用性。综合上述分析,本文结合南京市港务局生产调度统计系统与我公司企业管理系统数据共享系统的设计,一方面针对上述数据一致性技术展开了应用研究,另一方面开展了将设计模式应用于数据一致性保障上的研究。
本文的主要内容包括:
针对实时性要求不高的分布式异构数据,提出了利用主副本更新消息队列法,可以在网络故障发生频繁的情况下也可以有效地保持各副本的一致,尽可能地保证分布式数据库的数据一致性。
为改善程序结构,设计出具有更好的弹性,更容易扩展的程序结构,介绍了设计模式的概念。特别指出在应用具体的模式时应考虑各种模式的意图、适用性以及约束条件。设计模式的应用提高了对象可复用性。
文章最后围绕一个实际应用的实例,用设计模式中的工厂方法(FactoryMethod)模式,构造一个可以访问分布式异构数据库的通用数据库访问类。用观察者(Observer)模式来监视分布式异构数据库系统的各个副本以及各个节点间的连接状态。在不影响数据一致性的前提下提高系统的并发操作,充分发挥局部结点的独立性,更有效地保证了分布式异构数据库的数据一致性。同时提高软件了可重用性。