admin 管理员组文章数量: 1087135
2024年4月19日发(作者:小程序制作平台哪家好)
维普资讯
信息系统与网络
XML与异构数据转换技术探讨
赵鹏
(中国电子科技集团公司第五十四研究所,河北石家庄050081)
摘要 提出了异构数据库数据转换的问题,对可扩展标志语言XML进行了简要的说明,介绍了利用可扩展标
志语言XML文件作为中间数据存储文件进行异构数据库间数据转换的机制,并给出了通过文档对象模型DOM和
XML规范Schema文档以及XSLT样式表文件进行异构数据库数据转换的实现方法。与传统的异构数据转换方法相比,
本方法具有开放性、移动性、适应性、可扩充性以及易于维护等特点,应用前景更加广阔。
关键诃异构数据库;XML;XSL;XSLT
中图分类号TP311.13 文献标识码 A 文章编号 1003—3106(2008)05—0OOl一03
Discussion of XML and Heterogeneous Data Conversion Technique
ZHAO Peng
(The 54thResearchInstitute ofCETC,Sh ̄iiazhuangHebei 050081,China)
Abstract This paper puts forward an issue of heterogeneous database’S conversion,and simply intorduces XML.It also introduces the
mechanism of how to use XML file as mid—data storage file during conversion of heterogeneous database.A realization of how to convert
heterogeneous database by DOM,XML Schema Doctunent and XSLT ifle is provided in this paper sa wel1.Comparing wiht tradiitonal methods of
heterogeneous database conversion method,this method has such characteristics as openness,mobility,adaptabiliyt,expandability ang easy—
maintainability,and it has wider foreground.
Key words Heterogeneous DataBase;XML;XSL;XSLT
0 引言 信息交换显然力不从心。
随着网络信息技术的飞速发展和不同存储形式
1 XML语言简介
的海量数据的累积,各个应用领域的信息管理部门
可扩展标志语言XML是由W3C(World Wide
建立了一些基于不同平台、不同技术开发的应用系
Web Consortium)制定的一种标记语言,其目的在于
统和相应的数据库管理系统,并积累了海量的数据
描述信息的内容和结构,是标准通用置标语言
资源,这就使得异构数据的交互成为亟待解决的
(Standard Generalized MarkupLanguage,SGML)的一个
问题。
简化子集。由于它将SGML的丰富功能与HTML的
异构数据库系统的异构性主要体现在3方面:
易用性结合到Web的应用中,以一种开放的自我描
计算机体系结构的异构和基础操作系统的异构和 述方式定义数据结构,在描述数据内容的同时突出
DBMS本身的异构。解决异构数据库问题的目的是 对结构的描述,从而体现出数据之间的关系。
为企业综合应用系统提供集成、统一、安全、快捷的 XML包含3个要素:DTD(文档类型定)或者
信息查询、数据挖掘和决策支持服务。为了满足这
XML Schema(XML规范)、XSL(可扩展样式语言)和
个需求条件,整合、集成后的数据必须保证一定的集 x1ink(xML链接语言)。DTD或者XML Schema规定
成性、完整性、一致性和访问安全性。整合、集成后 了XML文件的逻辑结构,定义了XML文件的元素、
的数据应该根据一定的数据转换模式和商业规则进
元素的属性以及元素和元素属性的关系。XSL用于
行统一数据结构和字段语义编码转换。 规定XML文档呈现的式样。Xlink则进一步扩展目
传统的异构关系数据库之间数据转换采用一个 前Web上已有的简单链接。XML最大的优点是对
文本文件作为中间媒介,但是文本只能实现单张关
数据描述和数据传送的能力,因此具备很强的开
系表间的简单信息交互,在现代信息共享平台中,需
放性
要交互的信息量是庞大、复杂的,用这种简单的文本
收稿日期:2007—11-23
2008年无线电工程第38卷第5期 1
维普资讯
信息系统与网络
XML提供了一种简便的标准方法对数据进行
分类,以使其更易于读取、访问以及处理。XML在
XSD文件),从而确定用于保存中间数据的XML文
档的结构和数据类型,根据相应Schema文件的定
义,就可以从源数据库中读出数据生成XML文档;
XML文档接口2根据XML文档与目的数据库的数
据类型映射表,在目的数据库中建立被导入表单,并
定义相应字段的数据类型,最终将数据从XML文档
写入到目的数据库中。
数据描述方面具有通用、开放、可扩展、自描述、跨平
台和直接动态支持Web操作的特点,适合作为数据
库中间层,适于异构应用程序间的数据共享,可以进
行数据检索并提供多语种支持。XML文件作数据
管理手段具有以下优点:
①XML文件为纯文本文件,不受操作系统和运
行平台的限制,可使用文件系统进行存储;
②XML文件提供了独立于数据库的存储结构,
对数据能够进行直接存取访问;
③XML文件提供文档类型定义DTD和XML
Schema描述数据的逻辑结构,其易表义和跨平台特
性可有效地描述结构化数据、半结构化数据以及非
结构化数据;
④XML文件提供了SAX(Simple API for XML)和
DOM(DocumentObject Mode1)定义应用编程接口,使
应用程序能够访问和更新XML文档的样式、结构和
内容。
2实现异构关系数据库的数据转换
利用XML文档作为中间文件进行关系数据库
管理系统(RDMS)间信息交换,必须实现RDMS--- ̄
XML-- ̄RDMS的转换,转换过程中需注意从XML中
的数据到关系模式中字段的映射,和从XML中数据
的相互位置关系到关系模式中元组与元组的关系及
元组与字段的关系的映射。XML与关系数据库的
转换的核心与实质就是按XPDL(XML Processing
Descripfion Language)编写的转换规则和转换规则的
执行解释方法。待交换的数据先以XML文档的格
式从源数据库中导出,经解析、验证,然后导入到目
的数据库中,如图1所示。
图1 XML与关系数据库的相互转换
图1中,XML文档接口1从源数据库导出表单
的各个字段名及其数据类型,再根据源数据库与
XML的数据类型映射表建立相应的Schema文件(如
2 2008 Radio Engineering Vo1.38 No.5
2.1 从源数据库生成XML文档
从源数据库生成XML文档的转换过程中,首先
将源数据库数据结构定义通过转换生成Schema文
档文档,Schema文档定义的数据结构与源数据库数
据结构保持一致;然后读取源数据库中数据,通过
Schema文档定义的语义约束,将数据转换生成XML
文档,这样保证了生成的XML文档与源数据库中数
据的等价性(可通过XSD文档进行验证),处理过程
如图2所示。
图2从源数据库生成XML文档
具体实现可采用基于模板驱动映射和模型驱动
映射2种方法。
2.1.1基于模板驱动映射
基于模板驱动的映射是一种浅层映射,只能应
用于关系数据库和文档之间传递数据,方法是提供
一
个嵌入了select语句并用固定标签标识“<select
stmt>”的XML文档模板,用数据传输中间件等实体
软件进行处理,中间件检查标签找到并执行select
语句,将select语句执行结果生成XML文档。内嵌
的SQL执行的数据结果集为依据,不涉及库赖以存
在的关系模式或对象模式。模板映射提供了很大的
灵活性,支持嵌套查询和使用loop循环及if判断语
句的查询。
2.1.2基于模型驱动映射
基于模型驱动的映射是一种深层映射,是模式
和模式之间的映射,当把数据从数据库传送到XML
维普资讯
信息系统与网络
文档时,是用一个具XML体的模型实现的,而不是
仅仅依赖内嵌SQL命令,XML文档的依据是
Schemas和DTD。具体方法是使用一个表示为由数
据对象构成的树的XML文档,XML文档包含的元素
类型与对象模式中的对象一一对应。在这个过程
中,需要对XML文档进行解析和定位,采用了DOM
(Document Object Mode1)技术。DOM对象提供了一
个标准的方法来操作存储在XML文档中的信息,它
能使用户把文档看成是一个有结构的信息树,而不
是简单的文本流。这种方式的缺点是灵活性不如模
板驱动方式,但是由于它是基于具体的数据模型来
图3利用XSLT进行数据转换
进行映射的,因此基于模型驱动的映射方法简单易
XSLT转换通常涉及了3个文档:XML文档、
用。方法如下:
SQL脚本文件和XSLT样式表文件。XSLT解析器可
①通过数据库管理系统提供的数据库编程接
以直接使用SUN、ORACLE和微软等公司提供的
口导出整个数据集,利用XML解析器(MSXML)创建
XSLT解析器软件。XML文档解析过程:首先,XML
XML DOM Document对象XMLDoc和根节点
XMLRoot。
文档被解析成DOM树存放在内存中,接着对文档进
Set XMLDoc=CreateObject
行分析,每一个DOM树中的节点都会与一个模式相
(“Microsoft.XMLDOM”)
比较,当二者匹配时,就会按照XSLT样式表包含的
Set XMLRoot=XMLDoc.createElement(“result”)
模板中定义的规则进行转换,否则继续往下匹配。
②通过循环取出结果集中的记录,用记录中字
如此循环,直至整个XML文档处理完毕。对于异构
段名作为标记生成XML文件。
数据库之间,需要构造一些对应的XSLT样式表文
Set XMLChild=XMLDoc.createElement(fld.Name)
件,将数据从XML文件转换到目的数据库平台的
XMLChild.Text=CStr(fld.value)
SQL脚本文件。
XMLRoot.appendChild(XMLChild)
XML文件样例:
2.2从XML文档导入目的数据库
<数据库><表><表名>表1</表名>
<字段集合><字段><字段名>字段1</字段名>
常用方法是利用XML与XSL转换(XSLT)结合
<字段类型>char</字段类型>
进行数据转换,生成SQL脚本文件,从而将XML文
<字段长度>256</字段类型>
件中存储的源数据库中的数据导入目的数据库。
<是否主键>Yes</是否主键>
XSLT本身也是一种XML文件,提供将一种组织方
<是否外键>No</是否外键>
式的信息转换为另一种组织方式的构造方法,它在
<是否允许为空>not null</是否允许为空>
表达文件转换的时候被链接到需要转换的XML文
</字段></字段集合></表></数据库>
件,再通过XSLT解析器实现对XML文件的转换。
其中,根节点<数据库>下可包含多个子节点
通常XSLT文件为XSLT样式表文件,定义了源数据
<表>,而每个节点<表>下可包含多个子节点
结构和目的数据结构中对应部分的转换规则。
<字段集合>,从而形成树形结构。
在从XML文档导入目的数据库的过程中,首先
与XML文件对应的创建库表功能的XSLT样式
需要根据源数据库和目的数据库的数据结构,定义
表文件应包含以下3个模板:
XSLT样式表文件,然后使用XSLT样式表文件作为
①主模板<xsl:template name=“table.create”
模板,调用XSLT解析器来解析XML文件,从XML
match=“表”>。通过主模板生成数据库中包含的
文件中提取出所需的数据,按照XSLT样式表文件
所有表的基本信息,并调用子模板,将数据库表中全
定义的转换规则将数据组合生成SQL脚本文件,最
部的信息输出。
后将SQL脚本导入目的数据库中,过程如图3所示。
(下转第42页)
2008年无线电工程第38卷第5期 3
维普资讯
电磁场与微波
②使用0形丝网衬垫时,安装丝网衬垫的结构
可能存液,在湿热环境下由于电化学反应,也会影响
产品的电磁兼容性;
③使用扁平丝网衬垫时,安装面多为胶粘方
式,不便于经常打开顶盖板;
④使用指状簧片时,由于是切向受力,经常打
开顶盖板,容易损坏指簧片,同时在切向受力的情况
下,打开顶盖板,必须克服簧片的切向力,操作与维
修比较麻烦;
需要添加屏蔽材料,无论是拆卸或安装机箱顶盖时,
都不会受到屏蔽材料弹性摩擦力的影响,十分方便。
为了验证该产品的电磁兼容性,在试验室对该
产品进行了电场发射与磁场发射敏感度测试,试验
证明,其电场发射与磁场发射敏感度指标全面达到国
家相关标准的要求,与传统接缝的敏感度曲线相仿。
4 结束语
非永久接缝的屏蔽处理一直是电子产品进行屏
⑤如顶盖板为薄板结构时,使用指状簧片需要
在薄板的四周使用焊接或铆接的方式安装了接缝法
蔽设计的重点与难点,随着产品维修性要求的不断
兰条,这种结构不利于在产品表面处理(导电氧化或
提高,作为维修界面位置的非永久接缝更是产品电
电镀)时化学液体的排出,残余的电镀池液体长期存
磁兼容性与维修性的矛盾集合体,在采用了本文介
在两金属面间会对金属产生腐蚀。
绍的接缝设计方法后,可以较好地解决这一矛盾,但
为了提高产品的电磁兼容性与维修性,采用本
同时带来了加工成本的提高,可以根据具体使用场
文所介绍的接缝形式设计了机箱的维修界面的最后
合选用。 .耋.
一
道接缝,采用机加工或铸造加工的方式在机箱顶
参考文献
盖板上形成叉状接缝法兰条,同时在机箱上也设计
[1]廖承恩.微波技术基础[M].西安:西安电子科技大学出
了与之配套的结构零件,机箱顶盖板与机箱只靠顶
版社,2001.
盖板后部的2个不脱落螺钉实现快速连接。要打开
[2]刘学观.郭辉萍.微波技术与天线[M].西安:西安电子
科技大学出版社.2001.
顶盖时,只需松开这2个不脱落螺钉,向后推顶盖约
作者简介
10 mill,就可以向上取下顶盖,反之可以快速地装上
徐立颖女,(1972一),中国电子科技集团公司第十五研究所高
顶盖。由于采用了这种设计方式,在机箱顶盖处不
级工程师。主要研究方向:电子产品抗恶劣环境技术。
(上接第3页)
得异构数据转换成为一个难以解决的问题,随着
②子模板<xsl:template name=“field”match=
XML语言的出现,凭借其简单、易于扩展和便于实
“字段集合”>。通过此子模板输出数据库表中包含
现等诸多优点,逐渐成为了解决异构数据转换的重
的字段信息:字段名、字段类型、字段长度、是否允许
要手段。基于XML的数据交换平台的建立使得各
为空,并输出到结果中。
种异构应用系统之间能够实现最大限度的协同,并
③子模板<xsl:template name=“fieldname”match
能扩展现有数据交换应用,利用其解决异构数据库
=
“字段”>。通过此模板判断数据库表中主键。
数据转换可扩展性强,实现起来高效、快速,系统可
最终生成的SQL脚本如下:
以屏蔽掉后台的多种数据源,是解决异构系统间数
create table表1(
据交换的有效途径。 十
字段1 char(256)not null,
参考文献
[1]CHAUDHRI A B.XML数据管理:纯XML和支持XML的
constraint表1 primary key(字段1),)go
数据库系统[M].北京,清华大学出版社,2006.
在目的数据库中运行此脚本,即可将XML文件
[2]胡广,孙焘,闰英辉.利用XML与XSLT实现异构数据库
中的库表导人到目的数据库中。同样,与XML文件
间的数据转换[J].现代计算机,2007,24(8):64—66.
对应的插人数据记录功能的XSLT样式表文件生成
[3]熊丽,熊前兴.基于XSLT的XML文档处理[J].现代计
算机,2002,19(3):82—84.
的SQL脚本文件可以将ML文件中的数据记录插入
[4]路玉.企业移动数据采集系统的设计与实现[J].无线电
至目的数据库中。至此便完成了从源数据库到目的
工程,2007,37(11):4—7.
数据库的数据转换任务。
[5]李力鸿,邵敏.XML文档信息的几种转换方法分析与应
用实例[J].计算机科学,2003,30(2):40—44.
3 结束语
作者简介
赵鹏男,(1975一),中国电子科技集团公司第五十四研究所
一
直以来,由于异构数据源之间的显著差异,使
工程师。主要研究方向:信息处理。
42 2008 Radio Engineering Vo1.38 No.5
版权声明:本文标题:XML与异构数据转换技术探讨 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1713540067a639795.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论