论文部分内容阅读
随着网络应用技术的飞快发展,全球进入了信息化时代,各种信息处理系统被大量投入使用,数据库的应用范围也越来越广。但由于建设时期不同、使用技术不同等多种原因,这些信息系统逐渐成为了一个个“信息孤岛”,彼此之间难以进行信息共享,成为信息化建设过程中的瓶颈性问题,而数据库系统之间的异构性是“信息孤岛”产生的重要原因。但出于多方面的原因,不太可能用统一的数据库系统来取代当前使用的各种数据库系统。在保持原有数据库系统不变的情况下,实现信息系统之间的信息共享,解决“信息孤岛”问题正是本文研究的重点——“异构数据库集成”。 目前异构数据库集成技术有很多,例如:联邦数据库系统、数据仓库、中介系统等等。本文在对异构数据库的特点、异构数据库集成的难点和常用的异构数据库集成技术进行了分析和研究的基础上,对“中介系统”技术进行改进,提出“混合分解集成法”来进行异构数据库集成。在混合分解集成模式中,有专门的“区分器”对用户提交的查询进行区分处理,确定进行查询的各数据源所涉及到的相关内容(数据字段等,这里的字段不仅包括数据选择字段,还包括条件、分页等字段),从而有效消除异构数据库中的数据不一致性,还可以提高对异构数据库的数据查询效率。 具体应用的异构数据库集成系统也是多种多样,有基于XML的,有基于中间件的,本文设计了基于中间数据库的异构数据库集成系统,即“异构数据库互联平台”。该平台利用中间数据库产品MS SQL SERVER提供的接口实现对常用数据库系统MMSQL SERVER、ORACLE、IBM DB2、MySQL的访问。 平台主要由中间数据库产品和配置系统两部分组成,中间数据库产品是平台运行的基础,配置系统是平台的核心。中间数据库产品除了提供异构数据库访问的接口外,还保存了配置系统使用的数据表、涉及的存储过程和查询返回的数据。平台的配置系统完成在中间数据库系统上建立链接服务器、对异构数据库进行查询配置、对返回的结果进行处理并在中间数据库系统上生成逻辑表的任务。该配置系统是基于B/S体系的三层架构构建的,分为表示层、业务逻辑层、数据访问层三个部分,主要的开发工具是ASP.NET+C#.NET。结合Ajax技术,提供给普通用户一个友好的操作界面,用户只需要在前台页面(表示层)提交少量必须的配置信息就能实现对多个异构数据库的统一访问,具体的处理工作由后台的业务逻辑层和数据访问层完成。 设计的难点主要体现在:1)通过大量细致的编程工作,提供一个屏蔽数据库具体技术的数据库统一访问配置界面,使不懂数据库技术的用户,在了解业务的情况下能方便地对各异构数据库进行操作;2)提供灵活的配置功能,能将多个异构数据库中不同结构、不同完整度的相关联数据进行整合,在中间数据库中形成符合统一查询分析要求的逻辑表并能转换为物理表保存;3)对于保存数据的更新问题,本文扩展了”基于触发器的变化捕获方法”,触发器捕获并发送变化系列后,对系统数据库收到的变化系列进行分解处理,在系统数据库里找到各字段对应的数据表,从而对相应的各数据表分别进行增量更新。中间数据库