基于xml技术数据交换系统的研究探讨

时间:2022-06-19 08:42:40

【前言】基于xml技术数据交换系统的研究探讨由文秘帮小编整理而成,但愿对你的学习工作带来帮助。二、研究内容 XML是一种数据格式描述的元语言标准,具有系统独立性、可扩展性、自描述性、遵循严格的语法规范以及支持多语种等特点,自产生之后就迅速被作为中间数据格式标准应用到数据交换领域。作为数据交换的中介,XML不仅能够提供对数据的存储,还包含对数据结构...

基于xml技术数据交换系统的研究探讨

摘要:本文利用XML标记语言具有跨平台性、自描述性、可交换性等的特点,实现XML文件作为一种交换介质在多个数据库之间的数据交换。

关键词:可扩展标识语言、关系型数据库、数据交换

一、引言

异构数据库分布在网络的不同位置,其异构性体现在DBMS(Database Management system)运行的系统环境和使用的数据模型的不同,以及用户各自独立对数据进行建模而引起的数据结构和数据语义表达的差异。系统异构给数据库间跨网络的互操作带来困难,模型异构使得用户无法使用本地的数据库语言访问异构数据库中的数据,结构异构和语义异构则使应用系统难以理解异构数据库中的数据并对其进行分析和处理。因此,这些异构数据库就象一个个“信息孤岛”,彼此间的共享存在困难。

数据交换是实现异构数据库共享的途径之一。解决异构数据库的共享主要有远程访问、数据库集成、数据交换等方式,其中数据交换是用源数据库的使双方的数据互为补充,达到异构数据库共享的目的。

二、研究内容

XML是一种数据格式描述的元语言标准,具有系统独立性、可扩展性、自描述性、遵循严格的语法规范以及支持多语种等特点,自产生之后就迅速被作为中间数据格式标准应用到数据交换领域。作为数据交换的中介,XML不仅能够提供对数据的存储,还包含对数据结构的描述回。XML的系统独立性使得XML数据能够在不同的系统中使用各种编程语言解析和处理,屏蔽了异构数据库间系统环境的差异。因此,基于xml的数据交换方案已经被广泛用于解决网络环境下异构数据库的共享。

本文主要研究如何实现各个关系型数据库之间的信息交换。XML是一种新型的数据交换标准,通过XML和JDBC,Hibernate,J2EE等技术的应用可以实现不同数据库间信息的交换。为完成数据库到XML和XML到数据库之间数据的交换与传递,系统解决了XML文档结构和数据库结构之间的映射,研究XMLSchema与关系模式之间的映射,这一步采用的是Xmlbeans与Java反射机制。还研究了基于XML的数据交换系统的设计、运行机制等。

三、XML技术

XML为ExtensibleMarkupLanguage的简称,即可扩展标记语言。XML的出现就是为了要应用于各个不同的层面,可根据应用领域的不同,而以不同的方式来描述文件。简单地说,对XML是以一种简单、标准、并可扩充的方式,将各种信息如文本、表格,甚至图形等以原始数据的方式储存。在储存的过程中,加入一些可供识别的标记,而凭借这些可供识别的标记,在网络上的服务器可将信息内容做进一步的处理,从而得到所需的信息。

四、XML数据交换方案设计

(一)系统设计

基于XML的数据交换方案使用较为广泛,方案是实习依赖与XML模式与关系模式,在进行关系模式与XML模式转换时,需要对数据进行操作和处理以消除异构性,因此灵活性较差。针对这一问题,利用XMLSchema对数据的结构、类型和约束的强大表达能力,由源方和目标方分别对各自的关系模式进行描述,构造源XML模式和目标XML模式,然后在源XML模式和目标XML模式间建立匹配规则来实现异构数据库的交换。数据交换过程中,源方将关系数据转换为源XML模式的数据,然后由按照匹配规则将源XML数据映射为符合目标XML模式的数据,消除数据异构性,交付给目标方,目标方再将目标XML数据转换为关系数据入库。

异构数据库交换方案包括三个部分,源数据库方、数据转换方和目标数据库方。源数据库方负责提供源XML模式以及将关系数据封装为源XML数据交付给数据转换方;目标数据库方负责提供目标XML模式,按该模式接收XML数据并转换为关系数据装载入库;数据转换方负责将源XML数据映射为目标XML数据并交付到目标数据库方。数据转换方根据源XML模式和目标XML模式与目标数据库方交互生成,并保存在数据转换方,用于数据映射。由于数据交换是双向的,因此这里所说的源方和目标方是相对的,可以根据实际的数据交换方向来确定。所以,源方是交换中提供数据的一方,目标方是接收数据的一方,数据转换方则是提供交换服务功能的一方。

(二)系统实现研究

1、数据提取模块的实现

该模块完成从源数据库中提取数据的功能。本模块中我们用到了Hibernate框架,通过Hibernate建立关系――对象映射,方便数据的存取。

2、模式转换模块的实现

该模块是本系统的核心模块。该模块完成源数据库模式到目标模式的转换。消除数据库表结构,数据类型的异构性,达到数据库间进行数据交换的目的。

模式匹配的具体实现分两个步骤:

1)XML模式到JAVA对象的映射。

这一步是通过Apache的开源项目XMLBEANS来实现的。利用XMLBEANS,我们能很方便的完成XMLSCHEMA到JAVA对象的映射。

2)通过反射机制实现源方与目标方的模式匹配。

反射机制是java中十分重要的特性,利用它可以在运行时进行必要的处理。通过反射,我们可以得到源模式下的javabean对象的字段与目标模式下的javabean对象的字段,通过字段的对比以及预先定义的规则可以完成简单的映射,消除数据的差异。

3、生成目的XML数据文件及其入库

本模块通过数据转换模块的对象把数据提取模块的数据转换为目标模式下的javabean对象。然后再通过XML文档处理对象把javabean对象写入目标XML文档。最后,将目标XML文件导入目标数据库。

(三)模式转换

系统核心模块-模式转换的流程。这个过程是完全封装的,实现了平台和网络的透明性、数据模型的转换、模式转换和分布环境的支持的透明性。

第一步Hibernate把源数据库中的表关系映射到具体的Java对象,通过操作Java对象来处理关系数据库;第二步通过Xmlbeans处理目标XMLSchema的结构、元素等信息,建立目标XML模式到Java对象的映射以及目标XML文件处理对象;第三步通过反射机制,分析Hibernate映射对象与目标XML模式的Java映射对象,把Hibernate映射对象的数据信息转入目标XML模式的Java映射对象中,这样就能在第四步使用目标XML文件处理对象生成基于目标模式的XML文件;最后目标XML文件处理对象完成XML文件处理,得到目标数据库映射对象,再通过Hibernate存入目标数据库。

由于系统在不同的数据库间进行数据交换,可能由于数据库地址变化,或者数据库名称改变,所以系统提供了数据库配置功能,完成数据库配置,基本实现数据库位置的透明性。

五、总结

目前,对异构数据库的研究还处在发展阶段,它的研究不仅仅涉及到不同的数据库系统本身,还要考虑到许多复杂的因素:平台和网络的透明性、数据模型的转换、模式转换和分布环境的支持、位置的透明性等。

XML是一种扩展的标记语言,它具有很好的扩展性标记。其自描述性使其非常适用于不同应用间的数据交换,这种交换是不以预先规定数据结构为前提的。XML最大的优点是它对数据的描述和传达能力,并具有很强的开放性。

上一篇:墨子的教育思想对大学生德育教育的启示 下一篇:广西地质灾害与岩土类型关系研究