倪兴旺
(安庆职业技术学院 电子信息系,安徽 安庆 246003)
基于XML的异构数据交换研究与实现
倪兴旺
(安庆职业技术学院 电子信息系,安徽 安庆 246003)
异构数据交换是进行异构信息资源集成和共享的关键技术.针对XML技术的优势,对基于XML的异构数据交换机制和异构数据交换实现方法进行了研究和探讨,给出了一个基于XML的异构数据交换技术的实现方案.
XML;异构数据;数据交换
随着互联网信息化应用的不断普及,互联网上连接着各种模型的数据库系统,组成了海量的信息资源库.然而,这些信息资源库采用的数据模型不同,导致数据共享比较差,从而浪费了很大的资源.为了使这些分布在不同数据库中的信息资源实现共享,互联网的异构分布式信息系统正在快速发展,最终实现数据信息资源和硬件设备资源在不同数据模型数据库之间的合并和共享,实现数据的集成共享访问[1].
1.1XML技术
XML(Extensible Markup Language)是由W3C组织于1998年2月制定的一种通用标记语言规范,是SGML的简化子集,它独立于系统和处理程序,已成为了当前数据描述的事实标准[1].与其他的专用标记语言相比较,XML语言具有明显的优势,这集中表现在如下4个方面:
1)XML语言可以实现数据内容与形式分离,通过XML,可以有助于程序直接分析、处理数据内容,而不会被格式化代码干扰;
2)XML用于数据交换,由于XML格式开放,在许多操作系统上得到多种开发平台的支持,因此,在系统集成的过程中常使用XML作为数据交换的媒体;
3)XML可以实现数据共享,以前在异构系统之间进行数据交换常需要有与该数据相对应的应用程序才可行,而XML文档是基于纯文本格式的,进行数据交换的各种系统只需要有XML解析器就可以存取XML文档,XML也可以用于数据的存储,XML格式自由、易于扩展、编辑方便、文档中嵌套的标记结构清晰,目前很多的应用程序和业务系统都选择XML作为应用系统的程序数据文件和配置文件,应用程序可以方便地存储和读写数据[1];
4)XML可以实现数据的重复使用,XML文档因本身是开放的纯文本文档,相比二进制文件容易理解,易于访问编辑,这降低了重复使用文档数据的难度.
1.2 基于XML的异构数据交换机制
异构数据交换,是将异构数据转换成一种统一的标准数据传送格式,然后通过网络传送与交换,被其它的目标数据库接收后,再将标准化的数据转换成目标数据库的数据模型或相应的DBMS格式,进而实现异构数据库系统中数据的共享和透明访问[2].基于XML的异构数据交换系统模型如图1所示.
利用XML提供的标准为交换模型,通过把XML文档作为底层数据交换的中介进行数据的转换与传输,完成各应用系统之间的无缝数据交换,从而实现异构数据的集成共享,达到各种现有信息资源的充分利用[3].
利用XML技术进行异构数据交换,首先需要远程连接数据库,读取源数据后通过数据库信息到XML的映射规则将异构源数据转换为XML标准结构文档,实现将异构数据保存到XML文档中.再将XML标准结构文档通过传输通道传送到相应的目标数据库系统.最后,通过目标数据库系统的数据转换程序,将XML文档转换成目标系统相应的数据结构模式,进而完成异构数据源之间的异构数据交换[2,4].
图1 基于XML的异构数据交换系统模型
笔者设置了2台服务器,分别安装了Access 2010和SQL Server 2008.下面首先将Access数据库数据转化成XML文档,再将XML文档数据保存到SQL Server数据库中.另外还设置了1台编程工作站,分别使用Java和VS 2010为编程工具.
2.1 访问Access数据库
建立读取表student中数据的主方法,将数据信息保存到XML文档中,代码如下:
方法setAttrName(String,int)用来将stud_id(student表中的主键)指定为元素student的属性,方法setElementName(String,int)用来设置转换后的XML文档的元素名称,其中的String型字符串用来指定元素名称或是属性名称,int型数字用来关联此元素或属性的值是从表中的第几个字段读取的.逐行读取数据库中数据并保存为XML数据的主要部分代码如下:
主方法执行后,得到的XML文档元素内容为:
2.2 转换异构数据
首先在SQL Server 2008中增加一张与student的结构一样的表,然后在VS 2010中添加一个GridView控件,在数据源中选择“XML”文件,用来将XML结构的数据绑定到GridView控件,接着为GridView控件添加自动更新事件,通过GridView控件的自动更新事件,把XML数据保存到SQL Server 2008数据库中.
在SQL Server 2008中执行SQL语句,正好得到XML结构文档中的数据,结果如图2所示.
图2 SQL执行结果
异构数据交换一直是信息资源集成共享领域研究的热点,是进行异构数据集成和共享的关键技术之一.笔者对基于XML的异构数据交换实现机制进行了探讨,给出了一个基于XML的异构数据交换技术的实现方案,为不同源数据的信息集成共享提供参考.
[1]陈爱华.基于XML和WebService的异构数据库数据交换研究[J].软件工程师,2011,(5):56-58.
[2]张丽华.基于XML的异构数据交换技术研究[J].苏州科技学院学报,2010,(6):77-79.
[3]李沐,谢红薇.基于XML的异构数据交换技术的研究[J].电脑开发与应用,2010,23(8):37-40.
[4]邹卫国,郭建胜,王毅,等.基于XML的异构数据交换研究[J].中国管理信息化,2009,(12):82-83.
[5]APARICIO S,OSCAR L M.Applying Ontologies in the Integration of Heterogeneous Relational Databases[C].Conferences in Research and Practice in Information Teachnology Series,172;Proceedings of the 2005 Australasion Ontology Workshop,58,2005.
(责任编辑 李健飞)
A Study of Implementation on Heterogeneous Data Exchange Based on XML
NI Xing-wang
(Department of Electronic Engineering,Anqing Vocational College,Anqing,Anhui 246003,China)
Heterogeneous data exchange is a key technology for heterogeneous information resources integration and sharing.Based on the advantages of XML technology,and mechanism of heterogeneous data exchange,a plan is given based on XML heterogeneous data.
XML;heterogeneous data;data exchange
TP311.138
:A
:1673-1972(2014)03-0035-04
2014-02-16
倪兴旺(1975-),男,安徽安庆人,讲师,主要从事网络与数据库、算法设计研究.