张强善 白连红 严正香
(1:信阳职业技术学院网络中心,信阳 464000; 2:信阳职业技术学院计算机系,信阳 464000)
随着高等院校校园信息化的迅猛发展,数字校园建设得到广泛深入的开展和研究,通过综合运用计算机技术、网络技术及通讯技术等对学校的所有信息资源进行整合和集成,构成统一的用户管理,统一的资源管理,在传统校园的基础上构建一个数字空间,最终实现超越时间、空间的数字校园,为此,急需在相对独立的各计算机应用系统之间提取有意义、有价值的数据,建立统一的数据传送格式标准实施数据交换.针对网络环境中的这些异构数据库,如何实施数据共享和数据处理是网络数据库集成中重要的研究课题.
XML作为一种源标记语言,它为应用系统提供一个标准,定义了一种文件格式和数据保存方法,集成不同的数据源的数据,各系统可根据需要制定自身领域的新标记语言和配套标签,各种异构数据库中的数据能在不同的平台上进行有效地传递、共享和运用.
本文正是利用XML技术作为异构数据库信息交换的数据格式技术标准,并将其作为数据转换和描述的工具,建立一个实现数字校园数据交换、共享的平台,以期解决数字校园中的各应用系统之间,在进行信息交换时数据内容提取率不高,各系统需反复、重复录入数据等大量现实问题,满足数字校园中各异构系统之间的数据交换和信息整合的要求.
数字校园数据交换是指在学校不同部门的不同计算机应用系统间,相互发送、传递有效、通用、有价值的数据,这就需要数据交换双方建立统一的数据传送格式标准.事实上,学校各应用系统中大部分是相对独立的,数据格式多样,难以实现系统间直接、准确地进行数据交换,且数据交换中存在诸多安全隐患.为此,可利用XML包含的一系列规范的技术体系建立统一的数据传送格式标准,从而实现异构数据交换.
数据交换过程包括数据转换和数据传输两个过程.其中,数据转换是指将不同的数据格式文档统一转化为标准的XML文档,新文档的数据组织结构和布局格式与旧文档不同,但它保留了原有文档的数据内容[1],利用XSL/XSLT等将不同的XML文档转换成标准的XML文档,或者根据XML数据的DTD或Schema可以对数据进行有效处理,分解出其中需处理的数据或是采用不同的样式呈现[2],在异构网络环境下,利用消息队列服务器来统一管理消息.消息包括数据包、请求、应答、报告等基本类型,通过在客户端用DTD和DOM对消息进行约束,使消息面向XML[3].
针对上述应用需求,可以提取数据交换的共性,将异构数据转换为相同的XML文档格式,各应用系统针对请求读取相关数据,并对请求使用XML数据进行事务处理,在异构网络中的数据交换,如图1所示,不同的局域网中的数据格式需要进行数据间的映射与转换,从而完成这一相互、对等的交换过程.
图1 数据转换示意图
为了实现数字校园中各异构系统间的数据交换,实现数据有效共享和交换,本文设计了基于XML的数字校园数据交换平台,以期克服数字校园中各应用系统间信息交换的数据提取率不高,以及各系统需要反复、重复录入数据等诸多问题,为分布式应用提供一种安全可靠的数据交换机制.
基于XML的数字校园数据交换平台,通过定义XML格式作为标准格式,实现不同应用系统的数据共享和数据转换.本平台采用4种功能机构,即IML(标准数据交换语言集)、消息中心(文档转换中心)、数据库管理和安全机制.
数字校园数据交换平台以XML作为核心,以XSL/XSLT定义用户视图,以XML Schena或DTD构建合法的
XML文档,实现异构数据的共享的数据转换,其组织结构如图2所示.
本系统由数据交换平台管理中心统一控制,IML管理器、消息中心控制台、数据库管理器和安全机制分工负责,互相配合,各异构网络中均有各自的数据库系统和数据格式,但这些网络功能节点可通过Intranet或Internet与基于XML的数字校园数据交换中介功能,实现异构网络数据转换、共享的目的.
整个系统均采用规范的XML数据格式通信,不同数据格式可由IML过滤器处理规范、协调,支持HTTP,Email,FTP等多种协议.
图2 系统组织结构图
要实现异构数据的共享、交换,就需要将不同的数据源的数据转换成统一格式,为各异构数据源的局部模式提供统一的全局模式,以下就实现数据交换的两个关键问题做简要说明.
(1)数据驱动管理模块. 目前市场上占主导地位的数据库仍然是关系数据库,主要有 ACCESS,Oracle,SQLServer,Mysql,Sysbase等,为此,该模块包含了这几种常见数据源的驱动[4],其流程如图3所示.该模块完成各种异构数据库数据的识别,通过加载相应数据库的驱动文件,将获取的驱动信息写入驱动库中并构建驱动信息表,这样在建立新数据源时就可以通过该表调用相应的驱动文件.
(2)数据映射模块的实现. 在异构数据中,不同的数据模式下其结构是不同的,但其表示的信息内容却有共性.本模块采用XML Schema作为XML文档的模式语言,将XML文档看作是数据库中的数据,DTD或XML Schema作为数据库模式,并将其映射为关系数据库中的Schema[5],通过其提供的简单数据类型或用户自定义类型,将异构数据库的数据中有用的信息提取出来,构建用于交换的XML文档.该文档保存了关系数据库的数据表之间的关系、字段的类型、字段的约束及字段的内容等重要信息,为异构数据库数据交换提供了统一的数据访问类型.
图3 驱动加载流程图
数字校园建设过程中,异构数据库的数据交换、共享是一个迫切需要解决的问题.本文定义使用的新的XML数据格式语言IML,用于将异构数据构建成具有统一的数据交换格式的标准XML数据参与数据交换.系统通过构建通用的IML数据格式,对平台内部和外部各种类型的数据流进行处理,并根据实际交换需要,提取各异构数据库中相关数据的关键部分形成新的XML数据参与数据交换,从而实现数字化校园中异构数据库的数据的共享和共用.
[1] [美]Gowri Shankar.将二进制数据嵌入 XML 文档的三种方法[J].IBM Developer Works.2002(2):38.
[2] [美]G Huck;P Fankhauser;K Aberer;E J Neuhold.Extracting and Synthesizing Information[J].Proceedings of the 3rd IFCIS International Conference on Cooperative Information Systems.1998(32):43 -45.
[3] 张强善,白国枝.基于XML的数据交换平台设计[J].信阳农业高等专科学校学报,2005(4):97-99.
[4] 萨师煊,王珊.数据库系统概论[M].北京:高等教育出版社,2006:391-405.
[5] 黄宽娜,刘微.基于XML中间件的异构数据库集成[J].西南大学学报(自然科学版),2010(9):141-146.