基于XML的异构数据交换技术的研究

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3 2010204206收到,2010206223改回

33 李 沐,女,1985年生,在读硕士,研究方向:人工智能。

文章编号:100325850(2010)0820037204

基于X ML 的异构数据交换技术的研究

Research on Heterogeneous Da ta Exchange ba sed on X ML

李 沐 谢红薇

(太原理工大学计算机与软件学院 太原 030024)

【摘 要】随着电子政务的不断发展,政府的各个部门间需要交换的数据日益繁重,因此,基于电子政务的异构数据交换技术的研究显得格外重要。论文提出了基于XM L 的异构数据交换技术,使用XM L 可以将来自异构系统的不同数据源的数据很容易的集成在一起,应用软件可以在中间层的服务器上对后台数据库的数据进行集成,然后以XM L 格式发送给客户端或其他服务器。客户端在接收到数据以后,可以使用本地软件来解析数据,并对数据作进一步处理,这样就能有效地解决网络中日益繁重的异构数据交换问题。【关键词】XM L ,数据交换,异构系统

中图分类号:T P 3111138

文献标识码:A

ABSTRACT W ith the continuous developm ent of e 2governm ent ,data w h ich needs to be exchanged betw een vari ous governm ent departm ents is becom ing heavier 1T herefo re ,the research based on data exchange of e 2governm ent system s in heterogeneous system s is particularly i m po rtant 1U se the X M L can integrate the data from different data sources very easy 1A pp licati on softw are can integrate data from back 2end database server in the m iddle level ,and then ,send data to the client o r o ther servers in X M L fo r m at 1T he local softw are can parse the received data ,and use the data fo r further p rocessing 1T h is can so lve the increasingly seri ous p roblem of heterogeneous data exchange in the netw o rk 1KEYWOR D S X M L ,data exchange ,heterogeneous system s

近年来,随着信息技术的不断发展,政府的各个部门都建立了基于各种数据库的信息管理系统,由于建设初期各种资源和技术的限制,各个部门采用的网络环境、操作系统和数据库系统都有所差异,因此数据共享比较困难,形成了众多信息孤岛。然而随着电子政务的不断发展,各部门之间需要交换的数据日益繁重,异构系统数据交换技术的研究显得格外重要。

异构系统的异构性主要包括以下几个方面:①网络环境的异构:网络的拓扑结构、通信协议的异构等;②操作系统的异构:操作系统可以是L inux 、U n ix 、W indow s 等;③数据库管理系统的异构:可以是数据模型相同厂商不同的数据库系统,如SQL Server 、O racle 、DB 2等,它们都是关系数据库,但数据的存储模式不同,数据处理语言也不同;也可以是数据模型不同的数据库系统,如层次模型、网状模型、关系模型以及面向对象模型等。目前,政府部门的数据异构主要是数据库管理系统的异构,因此异构交换技术主要实现的是异构数据库系统间的数据交换。

目前常见的异构数据交换技术可以分为电子数据交换(ED I )方式、中间数据库法、中介层方式、数据仓库方式、中间数据方式等几种方式,各有其优缺点[1]。本文提出一种理想的基于XM L 技术的异构系统数据交换技术,此技术是通过数据交换中间件实现的,它可

以处理日益繁多的电子政务需要交换的数据。由于XM L 文档本身是纯文本格式的,良好的数据存储格式使得XM L 文档能方便有效的在网络中传输,而且XM L 采用结构化的方式来组织数据,使数据具有统一的格式,方便其他应用程序对数据做进一步处理,因此,XM L 是目前最好的数据交换的标准。

1 XM L 技术的优势

XM L 是Ex ten sib le M arkup L anguage 的缩写,意为可扩展置标语言,用于置标电子文档,使其数据具

有结构化的格式[3]。XM L 作为SG M L 的一个子集,保留了SG M L 的强大功能,降低了SG M L 的复杂性,使其具有强大的扩展性和灵活性。在各种应用中XM L 都有一定的优点,如:①由于XM L 本身是纯文本格式的,可以很轻松的实现数据在W eb 上发布,而且描述的数据具有统一的格式,其他程序可以对数据作进一步处理,有利于开发灵活的W eb 应用程序;②XM L 采用结构化的方式描述的是数据的本身,数据的显示要使用CSS 和XSL 以及XSL T 来控制,这样用户可以使用丰富的样式来显示数据;③使用XM L 可以将来自不同数据源的数据很容易的集成在一起,应用软件可以在中间层的服务器上对后台数据库的数据进行集成,然后以XM L 格式发送给客户端或其他服务器,

接收到数据以后可以使用本地的软件来解析数据,并对数据作进一步处理,XM L 文档的DOM 模型允许使用脚本或其他程序设计语言来处理文档中的数据,使数据的转换具有了灵活性,这样有利于解决网络中日益繁重的异构数据交换问题。本文就是利用XM L 的这些特性来实现异构数据交换的。

2 基于XM L 的异构数据交换的总体过程

由于系统的异构性,需要交换的数据具有多个数据源,不同数据源的数据模式可能不同,导致源数据和目标数据在结构上存在差异。在进行数据交换时,首先必须将数据模以统一的XM L 格式来描述,这就需要使用XM L 的D TD 或XM L Schem a 来定义文档的结构,D TD 定义XM L 文档的基本结构,但不涉及到任何有关的实际数据,通过定义适当的D TD 将源数据库中的数据转换成XM L 文档,然后使用DOM 技术来解析XM L 文档,这样就可以将XM L 文档中的数据存入目标数据库,从而实现了异构数据的交换。由于D TD 文档定义的数据结构与源数据库中得数据结构保持一致,这样保证了生成的XM L 文档与源数据库中数据的保持一致。

其总体交换过程如图1所示

3 数据库数据与XM L 文档的映射原理

在XM L 数据和数据库之间转换时,需要考虑许

多问题,XM L 不支持任何有实际意义的数据模型,所有XM L 文档中的数据都会被当成纯文本处理。通常数据转换中间件需要把XM L 文档中的纯文本转换成数据库的数据类型,或把数据库的数据类型转换为纯文本的XM L 格式。在XM L 文档结构和数据库模式结构之间进行相互映射,一般有两种映射方法:模板驱动映射与模型驱动映射。311 模板驱动映射

基于模板驱动的映射是一种浅层次的映射[4],是一种基于模板的D TD 到关系模式的转换算法,其转换比较简单,只要给出模板,就可以快速生成相应XM L 文档。基于模板的映射方法不用预定义XM L 数据与数据库数据之间的映射关系,只是在XM L 文档中嵌入带参数的SQL 命令,这些模板中的命令由数据转换中间件来处理,在转换过程中被识别和执行,将执

行的结果替换到命令所在的位置上,从而生成XM L 文档。因为使用模板驱动映射在数据转换时需要生成大量合理的模板,所以系统要为用户提供生成模板的工具,以及相应的指令执行程序。其过程如图2所示

在下面的模板中,用SEL ECT 发文字号,发文机关标识,缓急时限,

标题FROM 公文< Select >

< 公文>

当数据转换中间件处理该文件时,每个SEL ECT 语句都会用数据库的查询结果来替换,从而形成XM L 文档,其转换结果是:

<公文>

查到的公文信息如下:< Intro ><发文字号>晋政发〔2010〕4号< 发文字号>

<发文机关标识>山西省人民政府文件< 发文机关标识>

<缓急时限>普件< 缓急时限>

<标题>山西省人民政府关于促进房地产市场平稳健康

发展的通知< 标题>

< 公文>

基于模板映射的优点是转换步骤简单,查询语言灵活性大,支持通过H T T P 的传递参数,允许嵌套查询,支持SEL ECT 语句的参数化,支持编程结构,如可以由程序构建loop 循环或if 判断等。目前大多数的数据库产品都属于模板映射,如SQL Server 、DB 2和O racle 等。缺点是模板驱动映射是以XM L 内嵌的SQL 执行的数据结果集为依据,不涉及数据库赖以存在的数据模型,它只能将关系数据库的数据转换为XM L 文档,并舍弃了关系模式的约束条件,所以也不支持反向的转换。312 模型驱动映射

模型驱动映射是一种深层次的映射,其原理是利用XM L 文档中的数据模型的结构显性或隐性地映射

相关文档
最新文档