基于Web Services的异构数据库检索系统的设计
摘 要
在计算机系统信息集成中,如何充分利用现有的各种数据库资源,实现不同数据库间的连接、数据交换、数据共享,以实现各个数据库之间的协同工作,已经成为办公自动化和信息化建设的一个关键问题。为了提高现有数据库之间的数据交流,解决各个数据库之间协同工作的问题,开发了这套基于WebServices的异构数据库数据检索系统。
其主要功能是实现不同数据库之间的数据转换,消除异构,检索出异地数据库指定数据。本系统采用了C/S体系结构,使用C#、XML语言开发,同时运用Oledb、WebService 等实现接口来完成此系统的功能。基于WebService异构数据库数据检索系统为数字化资源的整合利用提供了全新的解决方案。此外,从数据库的现状来看异构数据库联合使用的要求是非常迫切并会长期存在下去的。
关键词:XML;WebServices;异构数据库;数据检索
Web Services-Based Design of Heterogeneous Database Retrieval System
Abstract
In the work of office automation and information construction, there exists a most important question in the system of computer information intergration: how to fully use several of existing database resources to realize the connection, database exchange and sharing among different databases; and how to make them work together harmoniously. In order to improve the database exchange among different databases and to solve the cooperation task among them, this set of heterogeneous database the data retrieval system is developed.http://www.16sheji8.cn/
The main function of this system is to realize the data conversion of different databases, the elimination isomerism and the retrieve of assigned data of the different database. The system reaches its function by using C/S model of system, computer language development of C#, XML as well as connection technology of Oledb; WebServices. This kind of WebService heterogeneous database data retrieval system has provided a new-brand solution for the digitized resources conformity use. In addition, the present situation of database needs the adoption of isomerism database union urgently and it will be long-standing.
Key words: XML; WebServices; Heterogeneous Database; Data Retrieval
目 录
论文总页数:24页
1 引言 1
1.1 课题背景 1
1.2 国内外研究现状 1
1.2.1 数据转换服务 1
1.2.2 数据转换工具及软件 1
1.3 本课题研究的意义 2
1.4 本课题的研究方法 3
1.5 数据库的选择 3
1.6 关键技术 4
1.6.1 异构数据库 4
1.6.2 WebService 6
2 需求分析 6
2.1 功能需求 7
2.2 性能需求 8
2.2.1 时间特性 8http://www.16sheji8.cn/
2.2.2 适应性 8
2.2.3 独立性 8
2.3 运行需求 9
2.3.1 用户界面 9
2.3.2 硬件接口 9
2.3.3 软件接口 9
3 概要设计 9
3.1 设计方案 9
3.2 数据源的采集设计 11
3.3 数据处理设计 12
3.4 XML数据文件设计 13
3.5 数据导出设计 15
4 具体实现 16
4.1 开发环境 16
4.2 部分编码详解 16
5 测试 20
5.1 测试方法 20
5.2 测试结果 20
结 论 21
参考文献 22
致 谢 23
声 明 24
1 引言
1.1 课题背景
随着Internet的飞速发展,网络迅速成为一种重要的信息传播和交换的手段,数据资源的共享成为一个热门话题。如何获取网络上自治、异构、分布的数据并加以综合利用,即数据集成[1],成为一个引起广泛关注的研究领域。
数据集成的概念是把不同来源、格式、特点性质的数据在逻辑上或物理上有机地集中,实现分布的、异构的、自治的数据共享的主要技术,数据集成一般还应满足用户数据访问的实时性和安全性等方面的要求。
数据集成的核心任务是要将互相关联的分布式异构数据源集成到一起,使用户能够以透明的方式访问这些数据源,而不用关心数据源的存储位置和存储方式。
数据集成的数据源:包括结构化的数据,如关系数据库;半结构化数据,如XML文档;已经存在的文件系统等[2]。
1.2 国内外研究现状
目前,数据库的数据转换方法很多,例如微软公司的SQL Server数据库,就有导入和导出数据的服务,它可以启动数据转换服务(Data Transform Service,简称DTS),来完成各类异构数据库的转换。同时国内也存在一些数据转换工具和软件,比如Beeload等。
1.2.1 数据转换服务
数据可能以各种格式保存并分布在不同的位置[3]。数据转换服务(DTS)通过提供一组工具,可以将来自完全不同的源的数据析取、转换和合并到DTS所支持的单个或多个目标数据库以满足需求。通过DTS工具图形化地生成DTS包或使用DTS对象模型编制包,可创建适合自己需要的自定义数据移动解决方案。此服务以向导的形式引导使用者实现DTS的功能,如数据和对象的导入、导出、验证以及在异类 OLEDB和ODBC数据源之间的转换。http://www.16sheji8.cn/
1.2.2 数据转换工具及软件
Beeload是第一款国产ETL(Extract Transform Load)工具。它不仅支持Oracle、MS SQL、Sybase等主流数据库的数据抽取及装载,而且还支持文本文件的抽取备份。此外,Beeload内置了大量的API函数,提供强大的数据转换功能;通过直观的图形操作界面,使用户通过简单的拖拽动作即可实现ETL规则的定义,使得元数据管理变得相当容易。
同时Beeload 也是一种数据整合软件,可对企业经营过程中所产生的各类业务数据进行抽取、转换和汇总,为数据仓库提供高质量的数据;它还集成了元数据管理、工作流管理及作业调度等功能。除提供直观的图形化操作方式外,还提供强大的脚本解释功能,既适合一般用户,又可充分满足高级用户需要的产品。Beeload数据转换流程图如图1所示
图1 Beeload数据转换流程图
1.3 本课题研究的意义
在Internet这样一个动态环境中,各种数据库不断的加入或去除,数据库中的数据也在不断变化,而现在的绝大多数应用是建立在这些分离的数据库基础之上,因而,为了实现信息资源的共享和交流,不同数据库间相互操作和协作不可避免。 这样随着时间的推移和技术的进步,这些由不同核心技术构建的信息系统就像一个个“信息孤岛”,各自有着不同的处理对象、操作方法和专用客户端,在各个环节之间存在着数据交流和部门协同的问题。这些情况都表明:在现代信息化进程中,不同数据库联合使用的要求是非常迫切并会长期存在下去的,并且往往还伴随着一个复杂的分布异构环境。这种分布异构性表现为:场地分布,由LAN或WAN支撑,存在多种网络协议;数据分布,各种形式的数据分散在各节点,以各种形式存在:硬件平台多样化,从台式机、工作站到大型主机等;操作系统多样化,如Windows Netware,各种UNIX以及VMS等:应用平台多样化,包括来自不同开发组织的各种应用软件、中间件和开发工具。 然而,要求用户面对所有这些复杂的分布异构特性,并指望他学会操作每一种数据库是不现实的,在使用中也不方便。对于用户而言,希望屏蔽掉各种层次的异构特性,他们不必知道各个物理数据库系统的分布,不必知道各个物理数据库的机构组成和操作方法,不必自己去进行数据转换和结果汇总,只需通过简单的全局访问就可以得到结果,这正是异构数据库集成技术的主要研究内容。也是其意义所在。.4 本课题的研究方法
本系统的主要功能是实现跨平台的异构数据库系统之间的数据转换,所以结合当前所具备条件提出以下研究方法。http://www.16sheji8.cn/
(1)通过数据库接口软件与不同的数据库直接连接,如ODBC和JDBC等。在同时检索的数据库数量较少时,使用此技术可在一定程度上解决异构检索问题,但数据库达到一定数量时,处理速度很难保证。这种方式仅适用于对属于本单位的少量异构数据库进行统一检索。