论文部分内容阅读
随着信息化技术的发展,网络环境的普及,目前在企事业单位信息工程的建设过程中,越来越重视信息资源共享、数据交换等需求,但是由于各部门间地理上存在分布广泛、数据库形式复杂多样,表现出很大的异构性,因此如何实现异构数据库之间高效、安全、准确的数据同步,是现代企业应用系统中亟待解决的重要问题之一。目前,广泛应用于商业中的数据库同步方案主要分为两大类型:(一)大型数据库厂商在其同构数据库的同步产品基础上,提出自己的异构数据库同步方案;(二)一些ISV开发的大量具有异构数据库同步功能的数据库同步中间件,并获得市场普遍认同。但是商业异构数据库同步产品存在一定的封闭性,代码不公开,标准不统一,各种产品之间很难做到互连互通互操作;而学术界已有方案在效率上、通用性、开放性及对同步失败问题的解决上存在不足。为解决上述问题,本文设计并实现了基于二次打包纠错的数据库同步机制。主要工作包括:1、提出基于变更轨迹表与事务相结合的数据库变更数据捕获技术,确保数据操作信息与数据变更轨迹信息的一致性,同时变更轨迹表运行效率较高,占用存储空间较小,易于管理。2、利用XML的易于扩展、与平台无关、交互性好、语义性强、可格式化等优点,进行变更数据信息的封装和解析,实现异构数据库之间的数据同步。3、使用消息队列中间件技术进行数据传输,确保数据包传输的顺序性,提高数据传输的安全性。4、结合优先级与时间戳技术解决数据冲突问题。通过人工定义各节点或各个操作人员的优先级,进行冲突数据的取舍,具有灵活、便捷的优点;当优先级相同时结合时间戳进行数据修改时间的判断,提高最终结果数据的准确性。5、提出二次打包纠错方法。针对对账检测功能监控到的数据同步失败,将同步失败的数据包采用二次打包方法后,重新补发。解决在数据库同步过程中,发生意外故障导致数据包丢失、解包失败等错误,发送端与接收端数据不一致的问题。通过二次打包纠错方法处理,发送端与接收端的数据库最终得到干净、一致的数据,避免出现“脏数据”。最后,通过仿真实验验证本文针对同步失败问题提出的基于二次打包纠错的数据库同步机制的可行性,模拟同步失败情形,验证数据传输的准确性。该机制也应用于重庆某区食品药品监管局的药品远程监管项目中的数据交换,证明在效率、通用性、数据传输上实用可行。