background image

[摘要]如何实现旧网站保留的历史数据向新系统中的顺利迁移,成为目前企业内容管理
系统必须解决的一个问题。本文通过研究网站内容管理系统升级时的数据迁移,实现了数据
迁移过程模型。通过设计一个跨平台的通用的数据迁移工具,最终实现了系统的数据迁移。

 

  [关键词]内容管理系统

 数据迁移 Hibernate 

  [中图分类号]

TP315[文献标识码]A[文章编号]1009-5349(2011)01-0030-

02 
  

 

  引言

 

  如何实现旧网站保留的历史数据向新系统中的顺利迁移,是企业内容管理系统必须解
决的一个问题。由于所使用的数据库平台的异构性,亟待开发一个跨平台的通用的数据迁移
工具。本文通过构建数据迁移总体模型,引入

Hibernate 中间层,用来实现内容管理系统之

间的异构数据库数据交换。

 

  一、内容管理系统数据迁移的设计

 

  (一)系统需求分析

 

  基于目前企业网站的实际情况,以下是需要解决的一些问题:

 

  

1.数据迁移策略的选择 

  针对网站的内容管理系统,在升级网站内容管理系统时,应该结合不同的迁移方法和
不同的迁移工具,使数据迁移工作变得高效。

 

  

2.数据转换方法的选择 

  建立数据迁移模型的关键问题是如何解决不同数据库、不同平台之间的数据转换,包括
数据的分拆、数据的抽取、数据的传输、数据的重组等。

 

  

3.数据的抽取的实现 

  在数据抽取的实现中,该数据抽取方法可以应用到任何操作系统上,即具备平台无关
性。

 

  

4.跨平台与通用性的实现 

  怎样设计出一种跨平台与通用性的数据迁移工具,以减少程序设计的复杂性,也是所
面临的一个问题。

 

  (二)运用

Hibernate 消除数据库的异构性 

  本文运用

Hibernate 消除数据库的异构性。在具体的数据迁移中,首先对 Configuration

类进行调用,在内存中调入

Hibernate 映射文件和配置文件中的信息,基于这些信息,在

Configuration 类的作用下生成一个对象:Session Factory,经由这个对象进一步生成一个
Session 对象,然后生成 Transaction 对象。由 Session 对象的方法来实现持久化对象的不同操
作。最终通过

Transaction 对象来提交这些操作结果。 

  (三)数据迁移模型设计方案

 

  

1.模型总体功能与层次结构 

  为了适应企业网站中各种迁移需要,本模型设计的策略适用一次迁移,同时也适用分
次迁移。在进行迁移时,指令由新内容管理系统发出,迁移指令被中间处理层检测到,对源
数据库中的数据利用

Hibernate 提取,经过对数据表中的数据进行转换,使之成为统一的静

Java 类对象,在进行分拆处理后,以 Hibernate 在新系统中写入: 

  (

1)源数据库层。这个层次通过 Hibernate,可以将需要访问的数据类型抽象为静态

Java 类,从而实现访问需要迁移的数据库的信息。 
  (

2)中间处理层。在 Hibernate 的协助下,建立与目标数据库和源数据库之间的连接,

表中各数据字段信息及数据库中表的基本信息通过

Hibernate 接口得到,并将其转换为静态