基于WebService的异构数据库检索系统的设计.docx
- 文档编号:30162068
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:29
- 大小:299.61KB
基于WebService的异构数据库检索系统的设计.docx
《基于WebService的异构数据库检索系统的设计.docx》由会员分享,可在线阅读,更多相关《基于WebService的异构数据库检索系统的设计.docx(29页珍藏版)》请在冰豆网上搜索。
基于WebService的异构数据库检索系统的设计
基于WebServices的异构数据库检索系统的设计
摘要
在计算机系统信息集成中,如何充分利用现有的各种数据库资源,实现不同数据库间的连接、数据交换、数据共享,以实现各个数据库之间的协同工作,已经成为办公自动化和信息化建设的一个关键问题。
为了提高现有数据库之间的数据交流,解决各个数据库之间协同工作的问题,开发了这套基于WebServices的异构数据库数据检索系统。
其主要功能是实现不同数据库之间的数据转换,消除异构,检索出异地数据库指定数据。
本系统采用了C/S体系结构,使用C#、XML语言开发,同时运用Oledb、WebService等实现接口来完成此系统的功能。
基于WebService异构数据库数据检索系统为数字化资源的整合利用提供了全新的解决方案。
此外,从数据库的现状来看异构数据库联合使用的要求是非常迫切并会长期存在下去的。
关键词:
XML;WebServices;异构数据库;数据检索
WebServices-BasedDesignofHeterogeneousDatabaseRetrievalSystem
Abstract
Intheworkofofficeautomationandinformationconstruction,thereexistsamostimportantquestioninthesystemofcomputerinformationintergration:
howtofullyuseseveral ofexisting databaseresources torealizetheconnection,databaseexchangeandsharingamongdifferentdatabases;andhowtomakethemworktogetherharmoniously.Inorderto improvethedatabase exchangeamongdifferentdatabasesandtosolvethecooperation taskamongthem,thissetofheterogeneousdatabasethedataretrievalsystemisdeveloped.
Themainfunctionofthissystem istorealizethedataconversionofdifferentdatabases,theeliminationisomerismandtheretrieveofassigned dataof thedifferentdatabase.ThesystemreachesitsfunctionbyusingC/Smodelofsystem,computerlanguagedevelopment ofC#,XMLaswellasconnectiontechnologyof Oledb;WebServices.ThiskindofWebServiceheterogeneousdatabasedataretrievalsystemhasprovidedanew-brandsolutionforthedigitizedresourcesconformityuse.Inaddition,thepresentsituationofdatabaseneedsthe adoptionofisomerismdatabaseunionurgentlyandit willbelong-standing.
Keywords:
XML;WebServices;HeterogeneousDatabase;DataRetrieval
论文总页数:
24页
1引言
1.1课题背景
随着Internet的飞速发展,网络迅速成为一种重要的信息传播和交换的手段,数据资源的共享成为一个热门话题。
如何获取网络上自治、异构、分布的数据并加以综合利用,即数据集成[1],成为一个引起广泛关注的研究领域。
数据集成的概念是把不同来源、格式、特点性质的数据在逻辑上或物理上有机地集中,实现分布的、异构的、自治的数据共享的主要技术,数据集成一般还应满足用户数据访问的实时性和安全性等方面的要求。
数据集成的核心任务是要将互相关联的分布式异构数据源集成到一起,使用户能够以透明的方式访问这些数据源,而不用关心数据源的存储位置和存储方式。
数据集成的数据源:
包括结构化的数据,如关系数据库;半结构化数据,如XML文档;已经存在的文件系统等[2]。
1.2国内外研究现状
目前,数据库的数据转换方法很多,例如微软公司的SQLServer数据库,就有导入和导出数据的服务,它可以启动数据转换服务(DataTransformService,简称DTS),来完成各类异构数据库的转换。
同时国内也存在一些数据转换工具和软件,比如Beeload等。
1.2.1数据转换服务
数据可能以各种格式保存并分布在不同的位置[3]。
数据转换服务(DTS)通过提供一组工具,可以将来自完全不同的源的数据析取、转换和合并到DTS所支持的单个或多个目标数据库以满足需求。
通过DTS工具图形化地生成DTS包或使用DTS对象模型编制包,可创建适合自己需要的自定义数据移动解决方案。
此服务以向导的形式引导使用者实现DTS的功能,如数据和对象的导入、导出、验证以及在异类OLEDB和ODBC数据源之间的转换。
1.2.2数据转换工具及软件
Beeload是第一款国产ETL(ExtractTransformLoad)工具。
它不仅支持Oracle、MSSQL、Sybase等主流数据库的数据抽取及装载,而且还支持文本文件的抽取备份。
此外,Beeload内置了大量的API函数,提供强大的数据转换功能;通过直观的图形操作界面,使用户通过简单的拖拽动作即可实现ETL规则的定义,使得元数据管理变得相当容易。
同时Beeload也是一种数据整合软件,可对企业经营过程中所产生的各类业务数据进行抽取、转换和汇总,为数据仓库提供高质量的数据;它还集成了元数据管理、工作流管理及作业调度等功能。
除提供直观的图形化操作方式外,还提供强大的脚本解释功能,既适合一般用户,又可充分满足高级用户需要的产品。
Beeload数据转换流程图如图1所示
图1Beeload数据转换流程图
1.3本课题研究的意义
在Internet这样一个动态环境中,各种数据库不断的加入或去除,数据库中的数据也在不断变化,而现在的绝大多数应用是建立在这些分离的数据库基础之上,因而,为了实现信息资源的共享和交流,不同数据库间相互操作和协作不可避免。
这样随着时间的推移和技术的进步,这些由不同核心技术构建的信息系统就像一个个“信息孤岛”,各自有着不同的处理对象、操作方法和专用客户端,在各个环节之间存在着数据交流和部门协同的问题。
这些情况都表明:
在现代信息化进程中,不同数据库联合使用的要求是非常迫切并会长期存在下去的,并且往往还伴随着一个复杂的分布异构环境。
这种分布异构性表现为:
场地分布,由LAN或WAN支撑,存在多种网络协议;数据分布,各种形式的数据分散在各节点,以各种形式存在:
硬件平台多样化,从台式机、工作站到大型主机等;操作系统多样化,如WindowsNetware,各种UNIX以及VMS等:
应用平台多样化,包括来自不同开发组织的各种应用软件、中间件和开发工具。
然而,要求用户面对所有这些复杂的分布异构特性,并指望他学会操作每一种数据库是不现实的,在使用中也不方便。
对于用户而言,希望屏蔽掉各种层次的异构特性,他们不必知道各个物理数据库系统的分布,不必知道各个物理数据库的机构组成和操作方法,不必自己去进行数据转换和结果汇总,只需通过简单的全局访问就可以得到结果,这正是异构数据库集成技术的主要研究内容。
也是其意义所在。
1.4本课题的研究方法
本系统的主要功能是实现跨平台的异构数据库系统之间的数据转换,所以结合当前所具备条件提出以下研究方法。
(1)通过数据库接口软件与不同的数据库直接连接,如ODBC和JDBC等。
在同时检索的数据库数量较少时,使用此技术可在一定程度上解决异构检索问题,但数据库达到一定数量时,处理速度很难保证。
这种方式仅适用于对属于本单位的少量异构数据库进行统一检索。
(2)不同数据库间的格式转换[4]。
主要是利用数据库产品本身提供访问异构数据库的功能,以实现在异构环境下建立具有较高性能的分布式数据系统。
现在一些图书馆制作的学科导航系统就此利用此方法设计的,其利用一些程序将各种异构数据库的部分数据导入一个数据库系统中,以方便读者访问,但是收录的数据库数量不能太多,此外还涉及版权问题。
(3)运用元搜索引擎的基本原理,利用数据库的Web客户端进行统一检索。
元搜索引擎主要运用在网页信息的搜索方面,但现有各种电子资源数据库都提供相应的客户端接口,因此可利用元搜索引擎的原理对各个异构数据库进行统一检索。
这种方法的缺点在于需要对各个数据库的Web处理接口进行详尽分析,各个数据库的Web处理接口如发生改变则需重新设计,接口的稳定性较差。
1.5数据库的选择
数据库有许多种,桌面的数据库Access以及大型的关系型数据库SQLServer,Oracle等。
面对这么多的数据库选择哪种合适呢?
先从它们的功能来说明。
1.Access数据库
Access数据库虽然使用比较简单灵活,但功能并不强大,一些数据库的维护功能不强。
另外Access是文件形式的,安全性极低。
2.Oracle数据库
Oracle数据库是比较大型的数据库,适合在大项目中使用,特点如下:
1)支持大数据量、多用户的高性能的事务处理
Oracle支持的最大数据量可以达到几百千兆,并可充分利用硬件设备资源。
支持多用户同时在同一数据上执行各种数据应用,并保证数据一致性。
系统维护具有高的性能,Oracle可持续工作,正常的系统操作(后备或个别计算机系统故障)不会中断数据库的使用。
可控制数据库数据的可用性,可在数据库级或在子数据库级上控制。
2)支持分布式数据库和分布处理
Oracle为了充分利用计算机系统和网络,允许将处理分为数据库服务器和客户应用程序,所有共享的数据管理由数据库管理系统的计算机处理,而运行数据库应用的工作站集中于解释和显示数据。
通过网络连接的计算机环境,Oracle将存放在多台计算机上的数据组合成一个逻辑数据库,可被全部网络用户存取。
分布式系统像集中式数据库一样具有透明性和数据一致性。
3)具有可移植性、可兼容性和可连接性。
由于Oracle软件可在许多不同的操作系统上运行,以致Oracle上所开发的应用可移植到任何操作系统,只需很少修改或不需修改。
Oracle软件同工业标准相兼容,包括许多工业标准的操作系统,所开发应用系统可在任何操作系统上运行。
可连接性是指Oracle允许不同类型的计算机和操作系统通过网络可共享信息。
3.SQLServer数据库
SQLServer是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能管理上也比较强大。
在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。
因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。
SQLServer还有更多的扩展,可以用存储过程,数据库大小无极限限制。
由上可知SQLServer和Oracle这两个数据库比较适合作为数据检索系统的数据库。
1.6关键技术
1.6.1异构数据库
异构数据库系统是相关的多个数据库系统的集合[5],可以实现数据的共享和透明访问,每个数据库系统在加入异构数据库系统之前本身就已经存在,拥有自己的DMBS(DataBaseManagementSystem)。
异构数据库的各个组成部分具有自身的自治性,实现数据共享的同时,每个数据库系统仍保有自己的应用特性、完整性控制和安全性控制。
异构数据库系统的异构性主要体现在以下几个方面:
1.计算机体系结构的异构
各个参与的数据库可以分别运行在大型机、小型机、工作站、PC或嵌入式系统中。
2.基础操作系统的异构
各个数据库系统的基础操作系统可以是Unix、WindowsNT、Linux等。
3.DMBS本身的异构
可以是同为关系型数据库系统的Oracle、SQLServer等,也可以是不同数据模型的数据库,如关系、模式、层次、网络、面向对象,函数型数据库共同组成一个异构数据库系统。
异构数据库系统的目标在于实现不同数据库之间的数据信息资源、硬件设备资源和人力资源的合并和共享。
其中关键的一点就是以局部数据库模式为基础,建立全局的数据模式或全局外视图。
这种全局模式对于建立高级的决策支持系统尤为重要。
大型机构在许多地点都有分支机构,每个子机构的数据库中都有着自己的信息数据,而决策制订人员一般只关心宏观的、为全局模式所描述的信息。
建立在数据仓库技术基础上的异构数据库全局模式的描述是一种好的解决方案。
数据仓库可以从异构数据库系统中的多个数据库中收集信息,并建立统一的全局模式,同时收集的数据还支持对历史数据的访问,用户通过数据仓库提供的统一的数据接口进行决策支持的查询。
对于异构数据库系统,实现数据共享应当达到两点:
一是实现数据转换;二是实现数据的透明访问。
在转换的过程中,有时要想实现严格的等价转换是比较困难的。
首先要确定两种模型中所存在的各种语法和语义上的冲突,这些冲突可能包括:
1.命名冲突:
即源模型中的标识符可能是目的模型中的保留字,这时就需要重新命名。
2.结构冲突:
如果两种数据库系统之间的数据定义模型不同,如分别为关系模型和层次模型,那么需要重新定义实体属性和联系,以防止属性或联系信息的丢失。
总之,在进行数据转换后,一方面源数据库模式中所有需要共享的信息都转换到目的数据库中,另一方面这种转换又不能包含冗余的关联信息。
数据库转换工具可以实现不同数据库系统之间的数据模型转换,需要进一步研究的问题是:
如果数据库转换同时进行数据定义模式转换和数据转换,就可能引起同一数据集合在异构数据库系统中存在多个副本,因此需要引入新的访问控制机制。
在保证各个参与数据库自治,维护其完整性、安全性的基础上,对于异构数据库系统提供全局的访问控制、并发机制和安全控制。
数据的透明访问。
在异构数据系统中实现了数据的透明访问,用户就可以将异构分布式数据库系统看成普通的分布式数据库系统,用自己熟悉的数据处理语言去访问数据库,如同访问一个数据库系统一样。
但目前还没有一种广泛使用的数据定义模型和数据查询语言,实现数据的透明访问可以采用多对一转换、双向的中间件等技术。
开放式数据库互连(OpenDataBaseConnectivity,简称ODBC)是一种用来在相关或不相关的数据库管理系统中存取数据的标准应用程序接口(API)。
ODBC为应用程序提供了一套高层调用接口规范和基于动态链接库的运行支持环境。
目前,常用的数据库应用开发的前端工具如PowerBuilder、Delphi等都通过开放数据库互联(ODBC)接口来连接各种数据库系统。
而多数数据库管理系统(如:
Oracle、Sybase、SQLServer等)都提供了相应的ODBC驱动程序,使数据库系统具有很好的开放性。
ODBC接口的最大优点是其互操作能力,理想情况下,每个驱动程序和数据源应支持完全相同的ODBC函数调用和SQL语句,使得ODBC应用程序可以操作所有的数据库系统。
1.6.2WebService
WebService(Web服务)[6]是一种新的Web应用程序分支,他们是自包含、自描述、模块化的应用,可以发布、定位。
通过Web调用,WebService可以执行从简单的请求到复杂商务处理的任何功能。
一旦部署以后,其他WebService应用程序可以发现并调用它部署的服务。
WebService是一种应用程序,它可以使用标准的互联网协议,像超文本传输协议(HTTP)和XML,将功能纲领性地体现在互联网和企业内部网上。
可将Web服务视作Web上的组件编程。
WebService的一个主要思想,就是未来的应用将由一组应用了网络的服务组合而成。
只要两个等同的服务使用统一标准和中性的方法在网络上宣传自己,那么从理论上说,一个应用程序就可以根据价格或者性能的标准,从两个彼此竞争的服务之中选出一个。
除此之外,一些服务允许在机器之间复制,因而可以通过把有用的服务复制到本地储存库,来提高允许运行在特定的计算机(群)上的应用程序的性能。
[8]WebService系统包括以下相关技术规范:
SOAP:
即简单对象访问协议(SimpleObjectAccessProtocol),它是用于交换XML编码信息的轻量级协议[5]。
它有三个主要方面:
XML-envelope为描述信息内容和如何处理内容定义了框架;将程序对象编码成为XML对象的规则:
执行远程过程调用(RPC)的约定。
SOAP可以运行在任何其它传输协议上。
例如,用户可以使用SMTP,即电子邮件协议来传递SOAP消息。
在传输层之间的头是不同的,但XML有效负载保持相同。
WSDL:
是用来描述网络(network)服务或终端(endpoint)的一种XML语言,它用于定义WebServices以及如何调用它们(描述Web服务的属性,例如它做什么,它位于哪里和怎样调用它)。
WSDL文档可用于动态发布WebService、查找已发布的WebServices以及绑定WebService。
UDDI即UniversalDescription,DiscoveryandIntegration[6]它提供了在Web上描述并发现商业服务的框架。
UDDI通过服务注册,以及使用SOAP访问这些注册信息的约定来实现上述目标。
2需求分析
需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程。
在这个过程中,用户的确是处在主导地位,需求分析工程师和项目经理要负责整理用户需求,为之后的软件设计打下基础。
需求分析之所以重要,就因为他具有决策性,方向性,策略性的作用,他在软件开发的过程中具有举足轻重的地位.大家一定要对需求分析具有足够的重视.在一个大型软件系统的开发中,他的作用要远远大于程序设计。
2.1功能需求
本系统启动以后,在输入连接SQLServer和Oracle数据库相应的连接字符确认连接成功。
选择目标数据库,并且查看数据库相应的表和其字段。
在选择中意的表后对其进行默认规则的合并,保存成具有描述表基本特征的XML文件至用户本地。
对合并后的XML文件进行检索并将其结果输出。
数据流图(DataFlowDiagram,简称DFD)是一种最常用的结构化分析工具,它从数据传递和加工角度,以图形的方式刻画系统内的数据运动情况。
本系统的顶层DFD图共有三个外部项,分别是用户、系统后台管理员、数据转换规则系统。
用户主要是把将要转换的源数据库中的数据从表中读出来,并且将数据传递给多个数据库之间的数据转换功能的实现。
该实现主要是对数据的数据类型转换的处理,这是系统默认的转换方式。
当处理完数据后,如果数据处理成功,转换系统就会把该数据以XML形式导出到用户本地。
图2为用户的实现顶层DFD图。
图2用户的实现顶层DFD图
系统后台管理员主要是发布数据采集用的WebService。
在数据源发生变化时候,发布变化后的数据源的采集WebService。
图3为系统后台管理员的实现顶层DFD图。
图3系统后台管理员的实现顶层DFD图
数据库转换规则系统主要是把默认的转换规则。
默认的转换规则主要是进行数据保持不变的转换,用户主要是对数据进行检索操作,以便符合用户的要求。
通过调用转换规则,就可以调用相应的转换程序。
转换程序也分为默认的转换程序和用户自定义的转换程序,系统默认的转换程序主要是指两个不同的数据库之间进行保持数据不变的操作,也就是跨数据库的信息传递。
而用户自定义的转换程序是指数据从源数据库中读出来之后,需要进行一些操作,比如说计算或者数据类型的转换,然后再把新的数据传递给目标数据库。
下图4为多个数据库之间的数据转换功能的实现顶层DFD图。
图4数据转换功能的实现顶层DFD图
2.2性能需求
2.2.1时间特性
修改规则、数据转换与传输和运行时间受到网络个人操作设备的影响会对具体的操作有不同的反应;且随着系统的不断更新、版本的升级(在硬件设备允许的条件下)会有所提高。
2.2.2适应性
当数据源发生某些变化时,数据转换规则定制的操作方式、数据转换规则结构、运行环境基本不会发生变化,变化只是将对应的发布的WebService改变即可。
2.2.3独立性
这里的独立性是指合并结果是独立于源数据,所以对于检索的结果用户可以随意处理而不会影响任何源数据
2.3运行需求
2.3.1用户界面
本系统通过微机进行运行、操作。
输出、输入的相对时间将由微机本身的处理速度来决定。
其使用操作界面要求美观、方便、简洁。
2.3.2硬件接口
本系统不需要特定的硬件或硬件接口进行支撑。
2.3.3软件接口
本系统的软件接口由编程操作系统以及IIS发布的WebService组成。
3概要设计
概要设计主要就是把需求分析得到的需求抽象为信息结构。
由于本系统涉及到了两个不同的数据库管理系统,所以首先必须对它们进行概要设计。
我在定制规则中用到了2个数据库管理系统,包括Oracle9i,SQLServer2000,并对它们的数据类型和表结构之间的差异进行了研究,由此定制出数据库之间的默认转换规则。
本系统包括两种系统默认的数据转换规则。
前台用户界面是使基于C/S结构的C#语言开发得,并将合并得到的数据文件以XML格式文件保存,由于XML的自定义性及可扩展性,立足以表达各种类型的数据,作为独立于平台和设备的结构化数据表达方式,它有效地实现了计算机之间的对话。
此外,随着WWW的风行,几乎所有的数据最终是通过终端客户的浏览器发布的,所以,XML不可避免地成为后台数据库与外界进行交互的一个最合适的窗口。
这一章将介绍两个数据库之间数据转换的实现的设计方案、实现步骤设计图、检索具备的前提条件。
3.1设计方案
本系统主要设计同时对两个数据库的使用,它们分别是Oracle和SQLServer由于数据库之间结构上存在一定差异,所以设计以下步骤来实现系统功能,如图5所示
图5系统实现步骤设计图
(1)通过WebService采集异地数据库的数据;
(2)定制出进行数据转换的异构数据库系统(Oracle9i,SQLServer2000)之间的转换规则,包括系统默认转换规则,以实现对数据库中表中数据和表的关联的合并转换;
(3)合并转换结果以XML文件格式存储在客户端,以随时方便使用者检索数据;
(4)在客户端使用转换后的XML文件进行其检索并对其导出。
具体设计步骤请见图6。
图6系统实现具体步骤设计图
3.2数据源的采集设计
由于是对异地的数据库进行操作。
本系统采集的数据是以XML的形式传播的,因此可以在本地数据库上建立WebService代理来解决这些问题。
访问结果以XML的形式返回给客户端。
另外,服务端提供的WebService是由.net实现则可以以DataSet来实现。
DataS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 WebService 数据库 检索系统 设计