[摘要]如何实现旧网站保留的历史数据向新系统中的顺利迁移,成为目前企业内容管理
系统必须解决的一个问题。本文通过研究网站内容管理系统升级时的数据迁移,实现了数据
迁移过程模型。通过设计一个跨平台的通用的数据迁移工具,最终实现了系统的数据迁移。
[关键词]内容管理系统
数据迁移 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 接口得到,并将其转换为静态