APP下载

基于XML的异构数据交换引擎的设计

2013-08-20韦乐

网络安全技术与应用 2013年2期
关键词:适配器异构引擎

韦乐

杭州电子科技大学信息与控制研究所 浙江 310018

0 引言

随着计算机技术和互联网技术的快速发展,许多行业和机构都进行了信息化建设。行业之间和行业内部都要进行数据共享和交换。由于各行业、各部门信息化建设水平存在着不同程度的差异,各自的业务应用系统在设计中没有统一的规范,数据存储在不同的数据库操作系统中(如 sql server,Oracle),使得各部门在数据共享和交换中存在困难,形成一个个的“信息孤岛”,严重影响了各部门间的信息交互。数据的高效共享和交换已成为信息化建设水平的一个重要标志,所以通过设计数据交换引擎来实现各部门之间的数据共享交换就显得十分迫切。

1 XML简介

XML(可扩展标记语言)是由互联网联合组织发布的一种标准,是从SGML派生言,XML是结构化标记数据,实现了文档结构化的语言规范,采用 DTD文档类型定义的语言标准。XML语法规则非常简单,没有复杂的数据定义。它提供统一的方法定义数据结构,这种结构的描述独立于应用程序,描述的是一种能够通过常用编辑器读取的文档。

由于XML的跨平台、易表义和独立性的良好特点,使得 XML在数据交换中拥有巨大的优势。虽然数据源的异构性和应用操作平台的差别,使得数据交换受到了严重限制,但是随着XML技术的深入研究和高速发展,XML已成为数据交换的标准和公共语言,XML将在异构数据交换和应用系统数据交换中发挥更大的作用。

2 数据交换引擎设计

异构数据交换引擎应具有与操作平台独立性、不受数据格式限制和传输安全性的要求,基于数据格式存在着格式众多,标准繁杂的特性,数据交换引擎的设计需要实现以下功能:

(1) 数据信息展现:充分展现数据库中的表、数据类型和约束等信息。

(2) 数据格式统一:对各种数据进行格式统一。

(3) 信息展现服务:交换节点和规则等信息的查询和展现。

(4) 权限控制:对各个用户进行权限限制,在数据交换时,用户只能在自己的权限范围内操作。

根据功能要求,通过数据交换引擎来实现不同业务系统的数据交换,基于XML中间件的数据交换原理如图1所示。

图1 数据交换原理图

2.1 数据交换引擎逻辑结构

根据数据交换高效性、准确性的要求,交换引擎逻辑结构有数据连接层、数据处理层和业务逻辑层。数据交换引擎的逻辑结构图如图2所示。

图2 数据交换引擎逻辑结构

2.1.1 数据连接层

数据连接层是实现底层数据库和数据处理层间的连接,它通过数据适配器的建立,提供统一的数据访问接口来连接数据库获取信息。数据连接层主要包括数据的读取和存储。

2.1.2 数据处理层

数据处理层接收数据连接层传输过来的数据,根据业务逻辑层中定义好的映射模式和交换规则,运用DOM模型对数据进行解析,并按XSLT语言对XML文件规定的样式转换,最终生成符合交换规则的XML文件。

2.1.3 业务逻辑层

业务逻辑层由交换规则库组成,主要是规定数据交换的规则。通过与数据处理层的交互,确定数据处理层在数据转换时的转换标准和要求,确保数据转换格式的统一性和正确性。

2.2 数据交换引擎体系架构

数据交换流程如下:首先通过数据连接层中的数据适配器进行数据提取和统一数据格式,再由数据处理层中的XML处理组件通过业务逻辑层中的数据交换规则来对数据进行处理,生成符合数据交换的XML中间件,最后由数据解析器解析,导入目标数据库中。整个数据交换引擎的体系架构如图3所示。数据交换的主要组件是数据适配器、XML处理组件、规则定义库和管理工具。现在就其具体功能进行介绍。

图3 数据交换引擎体系架构

2.2.1 数据适配器

通过建立数据适配器组件,提供统一的数据库访问接口来获取异构数据库中的数据,并且监视数据库中的数据变化。原始数据从数据库提取之后,通过适配器中的操作对象,把原始数据生成XML文档,为下步数据处理转换提供数据。数据适配器的开发采用 ADO.NET技术,使用其中的DataAdapte和DataSet对象进行操作,获取和存储XML文档。由于数据源的异构性,要为不同类型的数据源提供相应的适配器。以关系数据库中的sql server数据库为例,介绍数据适配器的开发。现有一个名称为 MyDatabase的数据库,其中一张表为student。主要代码如下:

2.2.2 XML处理组件

XML处理组件是交换引擎的核心部件。它包括XML转换器、XML封装器、XML解析器。各组件具体功能如下:

(1) XML转换器:XML转换器先接收从数据连接层传送过来的XML文档,对其文件的格式进行检验,再提取规则交换库中数据交换的定义和标准,并根据XSLT样式表设定XML数据转换,使XML转换成标准的格式。

(2) XML封装器:把格式转换后的XML文件根据SOAP协议进行封装,并在封装过程中加入相关属性,例如源数据库名称,发送的数据类型等。

(3) XML解析器:使用DOM树对XML文件进行解析,读取XML的数据信息,然后根据交换规则库中的映射规则,把数据存储到相应的数据库表中。

2.2.3 数据交换规则库

交换规则库是对数据交换规则的管理和存储,主要包括数据导入导出的规则。首先对源数据库和目标数据库的表、数据项和数据类型进行分析,利用XML Schema标准规定两个数据库的双向映射,包括数据库导出形成 XML文件和XML导入到数据库的双向映射规则。源数据库和目标数据库的映射关系是数据交换的基础。

2.2.4 管理工具

管理工具主要功能是维护、修改交换规则库规则和对数据交换的相关信息进行处理。可通过管理工具对 Schema文件进行增加、删除和修改,从而可对交换规则进行修改。数据交换中的源和目标数据库的名称、类型和地址等相关信息也是由管理工具进行统一管理。

3 结束语

XML文档作为各异构系统数据交换的中间件,拥有极高的效率和灵活性。本文所设计的数据交换引擎以XML技术为基础,采用三层结构,能高效地完成数据的提取、转换和交换。此数据交换引擎具有良好的扩展性和通用性,为异构数据交换提供了一种解决方案,为今后设计功能更为齐全、服务更为优秀的数据共享交换平台奠定了基础。

[1]吴敏.基于XML的数据交换技术研究[J].科技创新导报.2009.

[2]崇大志.基于元数据的电子政务数据交换引擎应用研究[D].合肥:合肥工业大学.2006.

[3]杨剑.基于 XML的异构数据交换系统的研究与实现[D].重庆:西南交通大学.2005.

[4]何国辉,卿银波.基于XML的数据交换系统设计[J].计算机工程与设计.2007.

[5]韩芳,卢海涛.XML与数据库的映射技术研究[J].云南民族大学学报.2006.

猜你喜欢

适配器异构引擎
试论同课异构之“同”与“异”
新海珠,新引擎,新活力!
三生 三大引擎齐发力
蓝谷: “涉蓝”新引擎
基于3D打印的轻型导弹适配器
潜空导弹垂直发射出筒适配器受载变形仿真研究
异构醇醚在超浓缩洗衣液中的应用探索
电源适配器怎么选
overlay SDN实现异构兼容的关键技术
LTE异构网技术与组网研究