论文部分内容阅读
各种大型数据库管理系统提供的数据库复制技术只适用于各自的数据库管理环境,即对于同构的分布式数据库是适用的,而对于异构的分布式数据库环境则存在不足。一个好的分布式应用管理系统必须有很强的移植性,独立于数据库管理环境,即跨数据库应用平台。采用中间件技术实现分布式数据库的数据复制是具有上述功能的一种有效解决方案。
本文首先对电子病历系统内各种数据按照数据更新的频率进行分类,对每类数据进行复制需求的描述与分析,对它独有的复制特点进行阐述。然后针对它的复制特点,本文通过工作流图的方式提出了中间件的基本设计思想。根据其设计思想对中间件进行模块划分,针对不同的模块论述了中间件是如何实现电子病历系统内各站点与服务器之间的数据复制问题。
各站点之间的数据复制需要频繁地访问不同站点之间的数据库。在访问数据库之前,首先要建立数据库的连接,每次建立连接都会消耗一定的系统时间。对于服务器端,需要同时响应多个站点的请求,这样一定会消耗掉大量的系统时间势必降低服务器端的响应效率,本文采用数据库连接池技术解决了该问题。
分布式数据库管理模式的核心问题是解决各站点之间数据不一致问题。如何解决站点之间的数据冲突,是衡量一个分布式数据库应用管理系统好坏的重要指标。本文提出了基于时间戳及各站点数据同步跟踪表的方式来实现各站点之间的数据同步问题。
为了适应数据结构的变化,涉及到变化的代码段也必须修改,从而增加了应用程序后期维护的工作量和维护成本。数据库应用程序应该具有很强的兼容性和适应性。本文采用数据库操作模块,将与数据库相关的所有操作抽象出来,通过查询数据库系统表获取用户表名与字段名。在XML文件内以结构化的方式描述了各用户表之间的关系。数据库操作模块通过数据库系统表和XML文件内记录的内容,动态组织SQL语句实现对数据库内各表的操作,而不让表名字段名写入到代码段中,最终保证了即使数据结构发生改变,也不用修改程序代码从而破坏应用程序的原有形式。