论文部分内容阅读
摘要:本文对基于XML技术的数据交换方式进行了研究,探讨了异构系统间的数据交换问题,提出一种基于XML技术的异构系统数据交换技术,构建了以XML为数据交换标准的异构数据交换平台。
关键词:异构数据;XML;数据交换
中图分类号:TP311.12文献标识码:A文章编号:1007-9599 (2010) 10-0000-01
XML Research on Exchange of Heterogeneous Data
Sun Cuigai
(Henan Agricultural University,Huaye College,Shangqiu476006,China)
Abstract:This article study data exchange technology based on XML,discussed the exchange of data between heterogeneous systems problem,proposed a heterogeneous system data exchange technology based on XML technology,created the heterogeneous data exchange platform by XML data exchange standards.
Keywords:Heterogeneous data;XML;Data exchange
一、引言
目前,许多分布式系统所采用的网络环境、操作系统和数据库系统都有所差异,各个异构系统间的数据共享和交换都比较困难,形成了众多信息孤岛。随着各个系统之间需要交换的数据日益繁重,异构系统间的数据交换技术的研究显得越来越重要。
二、数据交换平台概述
数据交换平台的核心功能是方便有效的实现异构系统间的数据访问、集成和交换。
本文研究的数据交换平台使数据在传输之前都转换成格式统一的XML格式,方便数据在Web上的传输,应用程序在接收到XML数据以后可以方便的对数据做进一步处理。由于系统采用基于开放数据标准的传输方式,这样就增加了系统的扩展性,可以使异构信息系统间非常方便有效的进行数据交换。
三、 数据转换的研究
(一)Web数据到XML文档的映射
HTML定义了一套标准的置标用于标注文档,不允许用户在HTML文档中创建和使用自己的置标,而XML一种置标语言,允许用户在XML文档中根据需要定义自己的置标及属性,使数据具有结构性。HTML中的置标所起的作用仅仅是用于置标文本,置标本身没有意义,而XML主要用来存储和发送数据信息,其语法规则非常严格,所有的XML元素必须都有开始置标和闭合置标。对于一个格式良好的HTML文档来说,可以很容易的转换为XML文档,只需要在HTML文档的首行加上XML声明,消除格式差异,同时将文件的扩展名从.html改为.xml就可以了。
(二)XML文档和数据库的映射
在XML和数据库之间转换数据时,需要考虑许多问题,XML不支持任何有实际意义的数据模型,所有XML文档中的数据都会被当成纯文本处理。通常数据转换中间件需要把XML文档中的纯文本转换成数据库的数据类型,或把数据库的数据类型转换为纯文本的XML格式。在XML文档结构和数据库模式结构之间进行相互映射,一般有两种映射方法:模板驱动映射与模型驱动映射。
四、数据交换的实现过程
对于一般HTML文档到XML文档的转换关键就是消除HTML文档中不严格的语法格式,首先就要验证HTML文档的格式,这就要使用数据结构中的二叉树的对称性。为了实现HTML文档的置标元素的二叉树结构表示,需要定义一个字符串数组用来存放HTML文档中的置标元素,定义变量S用来存放当前读到的结束置标,用带头节点的线性链表L作为存储结构,其具体转换过程的算法如下:
(1)首先读取HTML文件,每读入一个开始置标时就把它的置标内容作为一个元素加入到线性表L中。
(2)当读入一个结束置标时,把它的置标内容写入变量S中。
(3)将变量S与线性链表L当前尾节点元素比较,如果相同则,以B为根的二叉树的左右子树对称,表示这是一对符合XML的严格语法的匹配置标,并将线性链表L中的此元素删除,不需做其它处理。
(4)如果变量S与线性链表L当前尾节点元素不相同,则需要依次把P与A的父节点和祖先节点比较,如果找到B与之匹配,此时以C为根节点的二叉树的左右子树就不对称了,则需要增加相应的结束置标和元素A配成一对,然后就可以删除A。这样以C为根的二叉树的左右子树保持对称了,接着可以则在L中删除节点B。如此递推,直到L中只剩下头节点元素。
(5)在读完HTML文档后,如果L中还剩下头节点元素,则在这个元素内容的前面加上“”后面加上“>”,使之成为一对符合XML的严格语法的匹配置标,然后写入HTML文档,即表示转换成功。
实现XML和数据库之间的交换可以利用Velocity模板,其结合了基于模板驱动映射和基于模型驱动映射技术。
具体的实现步骤是:
(1)当业务系统应用程序需要使用底层数据库的数据时,不考虑数据在哪个异构系统中,只要根据输入的查询条件,都会得到所需要的数据信息的一个结果集。
(2)将查询到的结果集,也就是一个JAVA对象,传给Velocity模版引擎,Velocity将按规定的模版格式,把数据库中的数据按规定的XML格式生成自动生成XML文档。
(3)当需要将业务系统的信息数据存入底层数据库时,首先将数据转换成XML文档,利用Velocity模版引擎,可以将Schema模式转换成关系表的结构。
(4)这样利用Schema文档产生了一个表结构。
(5)最后利用DOM遍历XML文件,将其节点根据表的结构依次存入数据库中。
五、结论
本文根据XML的技术特点,对异构数据交换方法进行了研究分析,提出了一种基于XML技术的异构系统数据交换技术。本文所提出的异构系统数据交换技术是一种比较高效的开发技术,具有一定的理论和现实意义。
参考文献:
[1]孔祥疆,马玉鹏,李英凡.异构数据库中的数据类型转换[J].计算机应用研究,2006,4:217-219
[2]Fangju Wang,Jing Li.A space efficient XML DOM Parser.Data&Khowledge Engineering[J],2007,60:185-207
关键词:异构数据;XML;数据交换
中图分类号:TP311.12文献标识码:A文章编号:1007-9599 (2010) 10-0000-01
XML Research on Exchange of Heterogeneous Data
Sun Cuigai
(Henan Agricultural University,Huaye College,Shangqiu476006,China)
Abstract:This article study data exchange technology based on XML,discussed the exchange of data between heterogeneous systems problem,proposed a heterogeneous system data exchange technology based on XML technology,created the heterogeneous data exchange platform by XML data exchange standards.
Keywords:Heterogeneous data;XML;Data exchange
一、引言
目前,许多分布式系统所采用的网络环境、操作系统和数据库系统都有所差异,各个异构系统间的数据共享和交换都比较困难,形成了众多信息孤岛。随着各个系统之间需要交换的数据日益繁重,异构系统间的数据交换技术的研究显得越来越重要。
二、数据交换平台概述
数据交换平台的核心功能是方便有效的实现异构系统间的数据访问、集成和交换。
本文研究的数据交换平台使数据在传输之前都转换成格式统一的XML格式,方便数据在Web上的传输,应用程序在接收到XML数据以后可以方便的对数据做进一步处理。由于系统采用基于开放数据标准的传输方式,这样就增加了系统的扩展性,可以使异构信息系统间非常方便有效的进行数据交换。
三、 数据转换的研究
(一)Web数据到XML文档的映射
HTML定义了一套标准的置标用于标注文档,不允许用户在HTML文档中创建和使用自己的置标,而XML一种置标语言,允许用户在XML文档中根据需要定义自己的置标及属性,使数据具有结构性。HTML中的置标所起的作用仅仅是用于置标文本,置标本身没有意义,而XML主要用来存储和发送数据信息,其语法规则非常严格,所有的XML元素必须都有开始置标和闭合置标。对于一个格式良好的HTML文档来说,可以很容易的转换为XML文档,只需要在HTML文档的首行加上XML声明,消除格式差异,同时将文件的扩展名从.html改为.xml就可以了。
(二)XML文档和数据库的映射
在XML和数据库之间转换数据时,需要考虑许多问题,XML不支持任何有实际意义的数据模型,所有XML文档中的数据都会被当成纯文本处理。通常数据转换中间件需要把XML文档中的纯文本转换成数据库的数据类型,或把数据库的数据类型转换为纯文本的XML格式。在XML文档结构和数据库模式结构之间进行相互映射,一般有两种映射方法:模板驱动映射与模型驱动映射。
四、数据交换的实现过程
对于一般HTML文档到XML文档的转换关键就是消除HTML文档中不严格的语法格式,首先就要验证HTML文档的格式,这就要使用数据结构中的二叉树的对称性。为了实现HTML文档的置标元素的二叉树结构表示,需要定义一个字符串数组用来存放HTML文档中的置标元素,定义变量S用来存放当前读到的结束置标,用带头节点的线性链表L作为存储结构,其具体转换过程的算法如下:
(1)首先读取HTML文件,每读入一个开始置标时就把它的置标内容作为一个元素加入到线性表L中。
(2)当读入一个结束置标时,把它的置标内容写入变量S中。
(3)将变量S与线性链表L当前尾节点元素比较,如果相同则,以B为根的二叉树的左右子树对称,表示这是一对符合XML的严格语法的匹配置标,并将线性链表L中的此元素删除,不需做其它处理。
(4)如果变量S与线性链表L当前尾节点元素不相同,则需要依次把P与A的父节点和祖先节点比较,如果找到B与之匹配,此时以C为根节点的二叉树的左右子树就不对称了,则需要增加相应的结束置标和元素A配成一对,然后就可以删除A。这样以C为根的二叉树的左右子树保持对称了,接着可以则在L中删除节点B。如此递推,直到L中只剩下头节点元素。
(5)在读完HTML文档后,如果L中还剩下头节点元素,则在这个元素内容的前面加上“”后面加上“>”,使之成为一对符合XML的严格语法的匹配置标,然后写入HTML文档,即表示转换成功。
实现XML和数据库之间的交换可以利用Velocity模板,其结合了基于模板驱动映射和基于模型驱动映射技术。
具体的实现步骤是:
(1)当业务系统应用程序需要使用底层数据库的数据时,不考虑数据在哪个异构系统中,只要根据输入的查询条件,都会得到所需要的数据信息的一个结果集。
(2)将查询到的结果集,也就是一个JAVA对象,传给Velocity模版引擎,Velocity将按规定的模版格式,把数据库中的数据按规定的XML格式生成自动生成XML文档。
(3)当需要将业务系统的信息数据存入底层数据库时,首先将数据转换成XML文档,利用Velocity模版引擎,可以将Schema模式转换成关系表的结构。
(4)这样利用Schema文档产生了一个表结构。
(5)最后利用DOM遍历XML文件,将其节点根据表的结构依次存入数据库中。
五、结论
本文根据XML的技术特点,对异构数据交换方法进行了研究分析,提出了一种基于XML技术的异构系统数据交换技术。本文所提出的异构系统数据交换技术是一种比较高效的开发技术,具有一定的理论和现实意义。
参考文献:
[1]孔祥疆,马玉鹏,李英凡.异构数据库中的数据类型转换[J].计算机应用研究,2006,4:217-219
[2]Fangju Wang,Jing Li.A space efficient XML DOM Parser.Data&Khowledge Engineering[J],2007,60:185-207