《计算机及应用毕业设计-1.4万字基于XML的异构数据库.docx》由会员分享,可在线阅读,更多相关《计算机及应用毕业设计-1.4万字基于XML的异构数据库.docx(30页珍藏版)》请在优知文库上搜索。
1、北京市高等教育自学考试毕业设计基于XML的异构数据库查询中间件的实现专业计算机及应用学生李闪闪指导老师陈向群日期2006年10月论文摘要外交部各部门在实施信息化的过程中,采用了不同的数据管理系统,这些系统从简单的文件数据库到复杂的网络数据库,构成了异构数据源。这些异构数据库系统资源共享性差,有的甚至无法共享,形成了各自的信息孤岛,存在大量重复建设、资源浪费的情况,为解决这个问题,本文给出了基于XML的异构数据库查询中间件的方案及其主要框架。该框架以中间件集成方式为基础,将XML引入到了中间件系统中来。本文采用VCxSQLSERVER.DoTNET等软件,在ADO、XML等技术的支持下,本文完成
2、了一个较为实用的异构数据库查询中间件程序。该中间件由词法分析器、语法分析器、重写器、计划生成、计划执行等模块组成,实现了对异构数据库(ACCESS.SQL)的联合查询。本文实现的中间件是针对本人所在处里的两套异构数据库系统进行设计,这两套异构数据库分别采用了ACCESS、SQLSERVER数据库,现在该中间件正处在运行测试阶段。关键词:异构数据库;中间件;XML论文摘要2目录3第一章概述51.l论文选题背景51.2国内外发展现状51.2.1当前数据集成方案51.2.2国内外研究现状71.3论文目标8131论文要实现的目标81.3.2XML技术的引入91.4 论文的组织结构91.5 本章小结10
3、第二章中间件设计方案112主要架构112.2 系统目标122.2.1 软件架构132.2.2 视图层次14223功能模块142.3 中间件工作流程162.3.1 用户输入查询请求16232语法树的生成16233查询计划树的生成17234查询计划树的重写182.3.5 查询计划树的优化182.3.6 查询分解202.4 冲突的解决202.4.1 冲突的类型212.4.2 异构数据库冲突的解决方法21第三章中间件的实现233.1.1 语法树的生成233.1.2 1.EX和YACC的使用233.1.3 语法树的生成243.2 计划树的生成2633查询分解的实现283.4 数据类型的统一3235用户界
4、面32第四章总结344.1论文总结3442心得体会344.3进一步工作35第一章概述1.1 论文选题背景外交部各部门在发展过程中积累了大量数据,并为存储和管理这些数据不断投资,然而,由于实施数据管理系统的阶段性,以及计算机存储技术的不断发展,和人为因素的影响,以至于大到部门间的系统、小到一个处内的各个系统都可能采用不同的数据管理系统,从简单的文件数据库到复杂的网络数据库,它们构成了外交部内部的异构数据源。尽管这些数据管理系统能够满足数据存储和管理要求,但在信息共享的今天,这些异构数据库系统资源共享性差,有的甚至无法共享,形成了各自的信息孤岛,存在大量重复建设、资源浪费的情况。例如,本人所在处就
5、需要用到几套系统:一套外交部固定资产管理系统,这套系统采用了SQLSERVER作为数据库;一套是办公网系统,这套系统采用了Oracle作为数据库;一套是处内办公软件,这套软件采用ACCESS作为数据库。有时需要同时获得这三套系统的信息,就必须分别对这三套系统进行访问,然后将信息汇总后再进行处理。这样的处理显示是低效的,复杂的,易于出错的。所以,无论是从本部门发展角度还是从外交部整体的角度来看,对异构数据库访问的需求将越来越多,建立异构数据库的集成查询等势在必行。1.2 国内外发展现状1.2.1 当前数据集成方案一、联邦数据库系统集成几个数据库的最简单的结构可能是实现需要交互的所有数据库对之间的
6、一对一连接。这些连接允许一个数据库系统DBl以另一个数据库系统DB2能理解的术语来查询D2。这种结构的问题是,如果n个数据库中的每一个都需要与其他n-1个数据库进行交互,则我们必须写n(n-l)条代码以支持系统之间的查询。图LI联邦数据库模型二、数据仓库在数据仓库集成结构中,来自几个数据源的数据被抽取出来,合成一个全局模式。然后,数据存储在数据仓库中,这在用户看来与普通数据库无异。组织方式如图L2所示。L2数据仓底一旦数据存储在数据仓库中,用户就可以提出查询,正如他们向任何数据库提出查询一样。另一方面,通常不允许用户对数据仓库进行更新,因为这些更新不能反映在基本数据源中,并且可以导致数据仓库与
7、数据源不一致。此外,数据仓库中的内容需要周期性的更新,以保持和数据源里的数据一致。三、MediationoMediator是一种软件组件,它支持虚拟数据库,用户可以查询这个虚拟数据库,就像它已物化一样。Mediator不存储任何自己的数据,而是将用户的查询翻译成一个或多个对数据源的查询。然后,Mediator将那些数据些对用户查询的回答进行综合处理,将结果返回给用户。其基本结构如图L3所Fo图1.3Mediator模型Mediator负责把查询分发到各个包装器,包装器然后把查询转换成本地数据源可以理解的模式。MediatOr本身不对查询进行任何解释。MediatOr对包装器返回的结果进行合成。
8、按照这个理论来讲的话,对于需要集成的数据源,为每个数据源都要设计一个包装器,或者说为一类数据源(关系数据库、XML.web数据)设计一个可动态配置的包装器C这种方式存在的问题:既然Mediator不对查询进行解释,那么这种对数据源的集成就无法考虑到数据源之间数据的特殊的联系。因为每个包装器只了解自己数据源的内容,Mediator只负责把各个包装器返回来的数据进行的组合。1.2.2 国内外研究现状异构数据库集成并不是一个新的研究领域,随着XML技术的采用,该领域又重新成为了研究的热点。从采用基于XML技术的中间件来集成异构数据库或异构信息的角度来看,目前,相关研究主要集中在国外。美国政府在199
9、8年通过OPAL计划开始支持YAT(基于中间件的信息集成系统)的研究,该系统Mediator/Wrapper中间件框架实现了关系模式和SGML到ODMG的转化,在2000年,该系统的研究再次受到OPAL计划和AQUARELLE资助,并以研究基于xml中间件信息集成系统(YAT系统)为主,其中ChristophidesV,CLUETS,SIMEONJ等人主要研究了以XML集成视图对异构数据的包装和查询,并提出了相应的代数体系结构。Wisconsin大学和IBMAlmadenResearchCenter共同研究和实现了XPERANTO中间件系统是一个比较成功的系统。就关系模式到XML模式转化(模式
10、转换是基于XML的异构数据库集成中间件的核心)面来看,已存在转化工具和大量相关算法的研究:相关工具:一些商业产品实现了关系模式到XML文档的转化,例如0DBC2XML、OraclesSQLsXMLSpyxSiIkRoute工具。目前,除ODBC2XML,XMLSpysIkRoute外,大部分的工具都是为相关的数据库产品服务,不支持多种异构数据库系统更不支持其到XML的集成,而OraCHSSQL、XMLSpysSiIkRoUte虽然支持多种数据库系统,但仍不支持异构数据库的集成。同时,这些工具大部分(除XMLSPy外)都是输出XMLDTD模式,不支持XMLSChema模式。相关算法的研究也主要集
11、中在国外。如DongwonLee(UCLA1美国,加利福尼亚大学洛杉矶分校)在美国国防部高级研究项目(DARPA)和国家科学基金(NSF)的双重支持项目XPRESSXML中,提出基于XML的关系数据库发布和基于关系数据库的XML存贮和检索,提出并初步建立基于约束的模式映射。JayavelShanmugasundaram(Cornell,美国,康奈尔大学),提出基于内嵌的关系数据发布技术。WenfeiFan(贝尔实验室)则在建立XML约束方面作了大量研究。1.3 论文目标1.3.1 论文要实现的目标本文要实现一个数据库集成中间件,该中间件采用SQL语言作为输入,通过ADC)接口,实现对异构数据库
12、ACCESS和SQLSERVER联合查询,并将查询结果以XML作为结果输出给用户。其主要特点是:一、以SQL语言为输入,会使用用户感到十分方便。同时也可以利用SQL语言在操作关系数据库时的强大功能。二、以XML为结果,则可以有效的将结果与其它应用程序进行数据交换。在本文要实现的中间件中,要解决的主要问题是:一、异构性异构性是企业异构数据集成必须面临的首要问题,其主要表现在两方面:强调数据的存储方式是不同的。关系数据库、文本文件就可以认为是异构的。Sqlserver和Orade也可以认为异构的,同样是Sqlserver数据源,表示了相同的数据,如果表的结构有所不同,也是异构数据源。强调存储地点的
13、异构。不同主机之间,不同的操作系统之间,不同网络之间,它们的数据之间的差别,而这种异构数据源的集成重在通信。在本文中,主要解决的问题是第一方面的问题,也就是数据存储方式不同的异构。二、语义冲突信息资源之间存在着语义上的区别。这些语义上的不同可能引起各种矛盾,从简单的名字语义冲突(不同的名字代表相同的概念),到复杂的结构语义冲突(不同的模型表达同样的信息)。语义冲突会带来数据集成结果的冗余,干扰数据处理、发布和交换。所以如何尽量减少语义冲突也是数据集成的一个研究热点。1.3.2 XML技术的引入随着XML及其相关技术和应用的发展,XML不仅成为了应用间交换数据的一种标准,也是万维网重要的信息交换
14、标准和表示的技术之一。事实上,现在业界已存在几个工业标准(XMLDTD)的草案。XML的产生给不同的信息格式的统一带来了深刻的影响。XML第一次提供了一种信息交换模式,这种格式是可编辑,易解析,并且可以表示为任何类型的结构或半结构化信息。目前,XML已有多方支持,并且XML的强适应性,使其可以实现对资源的快速包装和集成发布,所以,通过引入了XML技术,将XML技术与全局数据模式相结合可以使异构数据源集成中间件系统能更好地适应于开放、发展环境中的数据集成。1.4论文的组织结构本文探讨了实现异构数据源查询中间件的设计方法和实现技术路线,给出了原型系统的设计方案。文章的整体结构如下:第一章主要是讨论
15、异构数据源集成的必要性,及其研究的主要内容,同时也列举了国内国外的研究进展和相应的成果。第二章介绍了本文所实现的异构数据源中间件原型系统的整个架构和中间件系统的整个工作流程O第三章加述)在原型系统实现的过程,原型系统每部分功能实现中所采用的算法、流程,以及在解决具体问题时所采用的方案和核心代码。最后谈到了系统所达到的目标。第四章是全文的总结,概括了本文中所实现系统的特点,同时也指出了其不足和未来能进一步完善之处。1.5本章小结异构数据源集成查询并不是一个新的课题,但在企业生存环境不断改变的前提下,这个课题也是不断发展的。如何面向未来,采用合理的技术实现网络时代企业数据集成将是一个持久的讨论。作为企业应用和企业服务集成实现的一个基础,企业异构数据源集成将对企业信息化进程带来深远的影响。第二章中间件设计方案本章将从逻辑架构、视图层次、内部实现、数据存储等多个角度来阐述中间件系统的具体实现方案。2.1 主要架构目前已有的基于XML的异构数据源集成中间件方案,其一般架构都是基于图2.1设计的。数据源层表示现有的异构的数据源以及在这些数据源上的应用。XML中间件层是最重要也是承担主要工作的一层。中间件先在每个数据源上加上一个WraPPer,使各个异构数据源中的数据经过WraPPer封装后具有统一的数据格式。这种经过Wrapper封装后的数据称之为