论文部分内容阅读
随着数据库的广泛应用以及网络技术和分布式技术的不断发展,保证分散数据信息的一致性成为数据库发展的迫切需要。但应用特点、使用环境等因素造成了对数据库产品选择的差异,所以有必要建立一个基础性、通用性平台以解决异构数据库系统间的数据同步问题。商业异构数据库同步产品存在着一定的封闭性,其代码不公开,标准不统一,各种同步产品之间很难做到互连互通互操作;而学术界已有方案在效率、通用性、开放性及对异构问题的解决上还存在不足。为解决上述问题,本文设计并实现了一个与应用无关的开放通用异构数据库同步中间件系统。主要工作概括如下:(1)为解决现有异构数据库同步中所采用的变化捕捉方法通用性差、系统资源占用高的问题,提出了一种基于触发器和专用数据表的数据变化捕捉方法——日志表法。该方法适用于绝大多数数据库产品,系统资源开销小,并能充分保证各节点应用系统的自治性和数据的可用性。(2)为完成同步功能,在日志表变化捕捉方法基础上设计了基于时间戳的乐观同步策略。该同步策略只对变更数据进行增量更新,综合了状态复制与事务复制的优点,结合并发控制,保证稳定可靠地完成数据同步。(3)针对异构数据库同步中的数据库平台异构、数据类型异构以及数据结构异构,提出了一种将异构数据类型转换为统一数据类型的方法,并由关系数据模型入手,使用基于XML的数据表示格式。采用广泛应用的开放同步标准——SyncML协议完成数据传输,使本系统与其它符合SyncML协议的同步系统之间能够良好互连、互通、互操作,保证了本系统的开放性和可扩展性。(4)为检验本文提出的解决方案,实现了一个可用、可配置的异构数据库同步中间件系统,对其进行同步测试,分析测试数据,寻找影响性能的因素。实验证明本系统可以在充分保证用户自治性和数据可用性的前提下,稳定、可靠地完成异构数据库同步。