APP下载

异构数据库数据迁移模型的设计与研究

2012-01-12郑仕勇

贺州学院学报 2012年2期
关键词:跨平台中间件异构

郑仕勇

(1.贺州学院 计算机科学与工程系,广西 贺州 542899;)

异构数据库数据迁移模型的设计与研究

郑仕勇

(1.贺州学院 计算机科学与工程系,广西 贺州 542899;)

异构数据库数据迁移的模型,包括数据的提取、转换、校验、写入等功能,具有跨平台性、易扩展性、复用性等特点,可有效解决异构数据库间数据迁移问题。

数据迁移;中间件;异构数据库

目前许多数据库厂商都提供数据迁移的ETL工具,但这些ETL工具在使用时都存在一定局限性,无法脱离数据库产品的前端程序而单独运行,而且迁移过程中手工参与过多,导致出错率较高。因此,我们需要一个针对异构数据库间数据迁移的跨平台、通用的ETL工具。

1 数据迁移面临的主要问题

1.1 数据的异构

异构数据库系统间的异构性体现在三个方面:①同一词义在不同数据库中表示不一致;②不同的数据库系统[1]56;③不同的操作系统。怎样有效屏蔽源数据库间的异构问题是完成异构数据转换的首要问题[2]137-138。

1.2 选择数据转换的方法

在数据迁移过程中,异构数据库间的数据转换,成为数据迁移建模的关键所在。解决该问题应当从数据的抽取、格式转换等几个方面入手[3]45-46。

1.3 确定数据迁移的策略

数据迁移的策略,包括先录后迁和先迁后补、一次或分次迁移。数据迁移策略的选择主要考虑的是迁移过程中的数据量大小、系统切换时间的长短、新系统所需数据的完整性等几个因素[4]182-183。

1.4 制定业务转换规则

1.4.1 基本信息的统一

原应用系统由一个或多个不同数据库组成,转到新系统后要求实现信息的一致,所以首先得保证基本信息的统一[5]75。

1.4.2 业务数据的统一

原有应用系统的业务数据合并后则要求基本信息与业务信息相对应,能够定位到所有相关业务数据,这就要求对原数据进行合并时产生统一的主键来实现,并适当保留各应用系统的原有主键,还能分辨出所属子系统。

1.5 数据的抽取

在异构数据库的数据迁移过程中,数据的抽取必须是跨平台的,提供数据抽取的接口能与各种关系数据库兼容,如SQLServer、Oracle等。所以,使用的数据抽取技术必须与平台无关。

1.6 实时数据的处理

在进行数据迁移时,新系统还没有正常动作,必须保持原应用系统的正常运行,原应用系统会不间断产生新的业务数据,所以必须能够分时段进行数据的提取、清理、整理、整合等迁移工作,并能产生与已迁移数据的对应关系。

2 异构数据库数据迁移的模型设计

通过中间件技术可以屏蔽底层操作系统的复杂度,简化程序设计的同时,也提供了更高层的应用程序编程接口。使用XML定义数据传输的格式,可实现数据信息的标准化。由此本文提出了一种基于XML和中间件,实现异构数据库间数据迁移的模型,如图1所示。

图1 基于XML和中间件的异构数据库数据迁移模型

2.1 该模型主要使用了四种关键技术:

2.1.1 使用了XML作为信息交互的标准。现在很多系统在数据集成的互操作过程中,都使用XML作为数据传输的统一格式,该方法主要依靠SAX和DOM来提供应用编程接口,依靠Schema和DTD对数据格式进行描述,依靠XSL和XSLT技术来解决数据的转换问题,提高数据转换效率。利用XML的跨平台性,创建XML格式与底层异构数据格式之间的映射关系,并依靠将相关的XML技术实现源数据库至XML文档以及XML文档至目标数据库数据之间的数据转换[6]89-90。

2.1.2 使用了中间件作为数据迁移的主体。在客户端和服务器端之间增加了具有数据库 /数据库查询代理、事务处理逻辑应用服务等功能的组件。在C/S结构里中间件充当了中间层,保证了数据传输的完整性和安全性,减轻了客户端和服务器端的负载,同时也解决了传输不可靠、跨平台等问题[7]7。

2.1.3 使用ODBC建立与数据源的连接。目前大多数的数据库管理系统,如FoxPro、SQLserver和Oracle等,都提供了相应的ODBC驱动程序,使数据库系统具有良好的开放性,因此模型可以应用到与ODBC兼容的所有关系数据库中进行数据的交换[8]99。

2.1.4 使用了信号接收检测机制,中间件在接收到数据迁移的信号后开始一次数据迁移,所以模型中可使用一次迁移或分次迁移的策略,使本模型得到更加广泛的应用[9]46。

2.2 模型的总体功能简介

基于XML和中间件技术的异构数据库数据迁移模型,是通过对一个或多个源数据库中的数据进行提取、转换后迁移至目标数据库。原有的各个源数据库之间相互独立、接口各异,数据格式也不相同。这些异构数据库通过中间件连接起来,组成一个有机的整体。通过XML来作为统一的数据格式实现数据的交换和资源的共享。本模型中使用的数据迁移策略既适用一次迁移又适用分次迁移,从而满足实际应用中各种迁移的需要。迁移过程中,新系统数据库发出迁移信号,中间件接收到信号后,通过ODBC对旧系统数据库进行数据抽取,并将抽取出的数据转换为统一的XML文件,再通过ODBC写入新系统数据库中[10]。

2.3 模型的层次结构

该模型中,各部分描述如下:

2.3.1 源数据库层。一个或多个旧应用系统的操作系统平台以及应用系统的DBMS,这些数据库管理系统之间相互独立,如 Acees,Oracle,SQL Server,DB2等。对各个源数据库的访问,是通过ODBC来实现的。

2.3.2 中间件层。中间件介于系统软件和用户应用软件之间,使得应用软件具有一定的独立性。用户在新系统数据库端发出数据迁移信号,源数据库中的数据经过中间件处理后迁移至目标数据库。因此,中间件层是本模型的核心部分。主要利用ODBC接口建立与源数据库的连接,进行数据抽取。将来自不同数据源的数据转换为统一的XML文档,然后通过一定的规则从XML文档中提取数据,再利用ODBC接口把这些数据写入新系统的数据库中。

2.3.3 目标数据库层。包括新的应用系统及其数据库。在迁移过程中向中间件层发出迁移信号并接收完成信号。

2.3.4 旧系统数据库。旧系统数据库即旧的业务系统所使用的数据库,可能是基于同一平台或不同平台、同一类型或不同类型的、单个或多个数据库。

2.3.5 旧系统。在数据迁移后的数据补录、校验阶段,为需要补录的数据和作为校验的特殊样本提供原始数据作为参照。

2.3.6 迁移前期调研。数据迁移前期的调研包括:对数据源进行详细的说明(如数据的存放方式、数据量、数据的时间跨度);整理新旧系统数据库的数据字典;对旧系统的历史数据进行分析;新旧系统数据结构的差异分析;建立新旧系统数据库表的映射关系、制定数据转换与迁移过程中的应急方案等。

2.3.7 新系统数据库。在本模型中,新系统数据库即目标数据库。在迁移过程中向中间件发送迁移信号,存储迁移后的数据,并接收数据迁移完成信号[11]46。

2.3.8 新系统。数据迁移后的校验是对迁移工作的检查,数据校验的结果是判断新系统能否正式启用的重要依据[12]。新系统根据在数据迁移后,根据旧系统提供的原始数据和前期指定的校验、补录方案以及业务转换规则,对数据迁移结果进行检验、补录工作。

2.4 模型流程简介

前面介绍了模型的总体功能和层次结构,为进一步加深对其理解,下面简要介绍一下模型中数据迁移的流程,如图2.2所示。

图2数据迁移流程图

该模型中数据迁移流程主要分以下几个步骤:

2.4.1 数据迁移前期对新、旧系统数据库调研,制定数据补录方案和新旧数据库映射关系。

2.4.2 针对新系统需要的数据进行检索。若待迁移数据已存在新系统中则转步骤7);若不存在,则发出迁移信号。

2.4.3 中间件接收到数据迁移信号后,建立与源数据库的连接,并提取数据。

2.4.4 结合步骤1)生成的新旧数据库映射关系,对数据进行转换生成XML文档。

2.4.5 对XML文档进行校验无误后,将数据导入目标数据库。

2.4.6 若中间件发出完成信号,则转入步骤7);若没有发出信号,则转入步骤2)。

2.4.7 对迁移结果进行校验,若数据不完整,则转入步骤8);若数据完整,则结束迁移过程。

2.4.8 结合步骤1)生成的数据补录方案进行数据补录后,转入步骤6)。

2.5 中间件模型

如何将不同数据源的数据格式转换为统一的格式是异构数据库间的数据迁移的关键[9],这里我们使用中间件来屏蔽各数据源之间的差异,将异构数据转换为统一格式,并迁移至目标数据库中[13]23。

数据迁移中间件模型的设计原则:

2.5.1 具有易扩展性。由于数据迁移所涉及到的源数据库不止一个,所以本中间件必须具备易扩展性能,以适应实际应用中数据源增减时的需要。

2.5.2 尽量减少宕机时间。很多企业单位(如社保、证劵、银行、监测等)在新旧系统切换过程中宕机时间很紧。因此,本数据迁移中间件只有尽可能的缩短宕机时间,才能在更广泛的领域得到推广和应用。

本数据迁移中间件模型的详细设计如图3

图3中间件的模型

该中间件模型的数据抽取器是通过ODBC接口实现与源数据库之间的连接,从而获取源数据库的表和字段的信息,这些数据信息根据事先定义的XML文档结构生成一个临时的XML文档。该临时XML文档通过一定的映射关系,经过数据转换器转换后,生成目标XML文档。然后使用事先创建的XML Schema文档对目标XML文档的合法性及文档结构等进行验证,无误后方可将目标XML文档中各元素及元素值提取出来,再通过数据写入器将所提取的信息写入目标数据库中,从而完成XML文档中的数据到目标数据库数据的转换。

中间件的具体工作步骤:

步骤一:信号检测器接收到数据迁移开始的信号。

步骤二:数据提取器对数据源进行数据提取,提取出的数据按照事先定义的XML文档结构生成一个临时的XML文档。

步骤三:数据转换器通过事先制定的 XSL Transform文档,将临时的XML文档转换成目标XML文档。

步骤四:XML文档校验器通过事先制定的XSD文档,验证目标XML文档的数据类型、数据值、文档结构等是否合法。

步骤五:数据写入器提取目标XML文档中的元素及元素值后,通过ODBC接口将数据输出至目标数据库中[14]78-79。

步骤六:信号检测器发出数据迁移完成信号。

2.6模型设计的重点和难点

基于模型中的多个源数据库的差异,数据异构程度大,数据库管理系统间无法直接进行数据交互。因此,模型中存在的主要问题就是如何有效的解决异构数据的格式转换。这里我们使用XML作为数据表示和传输的统一格式,有效屏蔽数据的异构性,从而完成异构数据库间的数据迁移。而如何实现源数据库中的异构数据与XML格式的转换,以及把XML文档写入目标数据库中成为本模型的关键。我们将使用ODBC作为XML技术的中间件与关系数据库连接的桥梁来解决数据的转换问题[15]36-37。

2.7 本模型的主要优越性

本模型以中间件作为数据库迁移过程中数据处理的中介机制,优越性主要体现在以下三个方面。

2.7.1 跨平台性。在不同的网络环境下,客户端的软、硬件配置千差万别,跨平台性使本模型具有更广阔的应用领域。其中,XML具有数据来源的多样性和多种应用的灵活性、适应性,可将各个源数据库的数据进行转换、迁移。因此XML的应用是本模型具有跨平台性的保证[9]46。

2.7.2 易维护性和易扩展性。模型使用中间件技术,其中大部分的应用均集中在中间件层,从而使开发、维护过程中的大部分工作可以在中间件完成,无需考虑客户端的系统状况,仅在调用和调试时涉及到客户端。新、旧系统与中间件层之间使用的是标准接口,因此可根据实际应用的需要增减参与数据迁移的源数据库数量。

2.7.3 复用性。模型中使用的是分次迁移的策略,因此可视实际应用的需要进行一次或多次数据迁移,应用范围更广。

结 语

本文设计的基于XML的数据迁移系统实现了数据的可靠和较快速的迁移,但由于不同应用系统间数据量差异大,且有很多实时数据,如何进一步提高实时数据迁移的速度还有待更深入研究。

[1]王云晓,张学诚,屈彪.基于XML的构件库管理系统实现研究[J].计算机应用与软件,2009(26).

[2]吉芳,刘纪敏.基于XML的异构数据集成技术在联网审计中的应用[J].现代计算机,2009(12).

[3]欧阳峥峥,李禹生.基于XML的异构数据库数据交换中间件的研究[J].计算机与现代化,2008(12).

[4]马竹娟,汪宏喜.一种XML数据库到关系数据库的映射模型[J].计算机与现代化,2010(2).

[5]徐茜,吕良双.MIS数据迁移中的映射规则[J].计算机与现代化,2010(30).

[6]郑仕勇,周建峰,王新星.基于XML的社保数据迁移系统的设计与实现[J].软件导刊,2010(25).

[7]乔扬.实现社保信息系统的三层应用体系结构[J].信息化研究,2009(1).

[8]殷丽凤,郝忠孝.存在XML强多值依赖的XML Schema规范化研究[J].计算机科学,2010(37).

[9]郑仕勇,王亚伟,曹忠锋.数据迁移技术在社保业务中的应用研究[J].计算机与现代化,2010,3(16).

[10]李钟隽.基于XML数据迁移中间件的研究[D].哈尔滨:哈尔滨工程大学,2007.

[11]徐燕,梁正和.信息系统中的通用数据迁移工具的研究与设计[J].计算机与现代化,2010(16).

[12]彭晓军.ETL技术在数据迁移中的应用及特殊数据的转换[D].西安:西安电子科技大学,2007.

[13]尹建璋.基于XML的应用层数据交换技术的研究[J].计算机与现代化,2009(11).

[14]吴洁.可视化的数据标准化转换系统的设计与研究[J].计算机与现代化,2009(11).

[15]刘宁,张立杰.数据流查询计划的并行迁移策略[J].计算机工程,2009(35).

The Research and Application of the Heterogeneous Database’s Migration Data Migration Model

ZHENGShi-yong
(Department of Computer Science and Engineering,Hezhou university,Hezhou Guangxi 542899)

This page targeted at the problem in heterogeneous database migration process,and proposes a data migration model of a heterogeneous Database based on XML and Middleware technology.The model with features of cross-platform,easy extensibility,reusability and so on,which achieve the data migration problem.

Data migration;Middleware;Heterogeneous database

TP391

A

1673-8861(2012)02-0132-04

2011-12-10

郑仕勇(1983-),男,广西桂林市人,贺州学院助教,硕士。主要研究方向:数据库应用。

贺州学院科研项目(2011ZRKY08)。

猜你喜欢

跨平台中间件异构
试论同课异构之“同”与“异”
跨平台APEX接口组件的设计与实现
RFID中间件技术及其应用研究
基于VanConnect中间件的设计与开发
overlay SDN实现异构兼容的关键技术
LTE异构网技术与组网研究
基于QT的跨平台输电铁塔监控终端软件设计与实现
基于OPC跨平台通信的电机监测与诊断系统
基于B/S的跨平台用户界面可配置算法研究
在新兴异构SoCs上集成多种系统