免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1011 | 回复: 0
打印 上一主题 下一主题

[归档与迁移] 数字图书馆的数据迁移技术 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-28 20:01 |只看该作者 |倒序浏览

1 数字图书馆的建设
20世纪90年代以来,以西方发达国家为首的图书馆正朝着网络化、信息化和数字化的方向发展。他们借助于现代信息技术,尤其是计算机技术、数据库技术、通讯技术、网络技术和超媒体技术的发展优势,正在积极使传统图书馆向数字图书馆飞跃逐步成为现实。
数字图书馆从信息技术角度来讲由多个分布式、大规模、具有可互操作的异构多媒体资源库组成,通过Internet对用户提供高效、跨库、无缝连接的信息服务。数字图书馆建设的基础是各类型数据库的建设,在图书馆自动化阶段,数据库建设主要是以书目数据库建设为主,数字图书馆的建设是在本馆的馆藏资源数字化的基础上,对可利用的信息资源数字化,构建各种类型的数据库,数字图书馆的建设也相应促进数据库技术的发展。
2 数据库技术发展
数据库从本质讲上就是记录数据集合的仓库,它可以组织和处理数据,单从历史角度来看,数据库从较简单的DBase、FoxBase+、FoxPro等演变至今众多的大型数据库,如Oracle、Sybase、Microsoft SOL Server、IBM DB2、Informix等;现在数据库家族非常庞大,其应用开发也很精彩。随着互联网技术蓬勃发展,传统数据库的弊端也愈发显示出来。传统的网络数据库应用基本上都是基于客户,服务器(C/S)方式,客户端需要安装许多集成了商业规则的应用程序,然后再通过网络同远程服务器交换数据。这样一方面网络上可能会有大量数据在传输,从而造成网络瓶颈;另一方面,客户端也会越来越不堪重负。而Web数据库的三层(或多层)架构,客户端位于最上层,仅需安装用户界面软件(如Web浏览器)用于交互处理;数据部分被放置在最底层的数据库服务器中;而大量的商业规则被封装起来存放至中间逻辑层。这种架构的优点在于将用户界面同应用逻辑分离,而数据和计算规则也可位于不同的节点上,使负载得以均衡化,从而有效地提高了系统的响应速度。另外一点,它使得程序的开发周期大大缩短。因此Web数据库被誉为跨世纪的数据库。
3 数据迁移技术
由于数据库技术的飞速发展,随着数据库管理系统和操作系统平台的更新换代的速度的加快,数据库管理员经常需要在两个不同的数据库之间或在两种不同的系统平台之间进行数据迁移,在开发环境向运行环境转换、低版本数据库向高版本数据库转换以及两个不同数据库之间进行转换时,数据库中的数据(包括结构定义)需要被转移并使之正常运行,这就是数据库中的数据迁移。数据迁移也可认为是数据库数据的一种存储和备份。
对于中小图书馆的小型数据库,如原来 DBase、FoxBase+、FoxPro数据库系统中的*.dbf文件,这种数据迁移相对容易,一般只需通过简单的Copy命令就能完成,并且高级版本的数据库系统也相应对它们兼容。但对于适用于大型图书馆的大型数据库系统,如Sybase、Microsoft SOL Server、 Oracle等数据库,数据迁移就不那么简单了,特别是数字图书馆工程建设,数据库数据庞大且数据极为重要,它需要相当丰富的技术水平和经验,并承担一定的风险性,对数据库管理人员来说,数据库数据迁移极具挑战性,一旦措施不当,珍贵的数据资源将面临丢失的危险,要成功地实现数据库数据平滑迁移,需要预先制定周密详实的计划,然后按照步骤有序地进行。
(1)充分了解本馆的信息环境。数字图书馆建设不是一项孤立的工程,而是一项综合的社会工程。其目的是充分利用现阶段世界范围内的信息技术成果,推动研究向新工具和新技术方向发展,最大限度地满足用户不同的信息需要。因此,图书馆在进行数字图书馆建设之前,必定对工程建设进行过充分的论证,对本馆的信息环境(包括计算机设备、信息技术力量等)都了如指掌,如数据迁移在硬件方面可能由多个大容量硬盘、磁盘阵列、光存储介质和传统的磁带库等组成,数字图书馆建设在软件方面如采取何种网络操作系统、数据库系统等,数字图书馆建设的具体规划方案和掌握这些信息技术的专门人才。只有熟悉数字图书馆建设的所有情况,才能设计、制定完美的数据迁移方案。
(2)设计数据迁移方案。设计数据迁移方案主要包括以下几个方面工作:研究与数据迁移相关的资料,或在网站上查询相关内容、评估和选择数据迁移的软硬件平台、选择数据迁移方法、选择数据备份和恢复策略、设计数据迁移和测试方案等。
数字图书馆建设经过充分论证选择的适合自身实际情况的软硬件平台,也是数据迁移的基础设备。图书馆在多年来的发展过程中,可能采用过磁带机、人容量硬盘、光存储介质(如CD—ROM、 DVD)、磁盘阵列等作为自己的存储设备,我们应对这些设备进行比较分析,充分利用并发挥它们的作用,来进行数据迁移。
磁带机长期以来一直是数据存储备份的首选产品,因为磁带介质不仅能提供高容量、高可靠性以及可管理性,而且价格比光盘、磁盘介质便宜很多。但是由于磁带在信息存取方面存在不足,有些已经被图书馆所淘汰。目前磁带机的数据存储技术存在多种技术,已经非常完善,分别面向不同的用户,市场细化的程度非常高,如SONY公司的AIT(先进的智能型磁带)技术,是在快速访问高密度磁带录制技术方面的最新创新,现已成为磁带机工业标准。AIT使用一种磁带盒上含有记忆体晶片的磁带通过在微型晶片上记录磁带上文件的位置,大大减少了存取时间。所以对那些可以说在正常情况下基本上不怎么读取的数据文件,但又绝对不能把这些文件删掉,磁带库就是一个最好的解决方案。
大容量硬盘是图书馆在规模较小时,如在进行图书馆自动化建设阶段,数据库正在进行书目数据库建设,由于信息设备数据少,可能整个馆只有几台计算机,只组建成简单的基于Novell、WINNT或 Linux技术的局域网,馆内图书馆自动化管理系统只有几个模块(如采访、编目、流通等),整个馆的数据信息资源相应就很小,只需要用一个大容量硬盘或单机就可以存储和备份数据。这只是图书馆建设前期的方案,在数字图书馆建设过程中,数据吞吐量极大,单个大容量硬盘已经满足不了要求,
但是,对于一些极为重要和数量小的资料还是可以用大容量硬盘存储,可以单独保存,达到保密的效果。
光存储介质主要是利用光盘柜、塔存取设备。光盘柜的工作原理是所有光盘通过系统的管理后由一个机械手负责把所需的光盘找出来放到光驱里读取,可是光盘柜不能提供多用户、多盘片的同时访问,传统的光盘存储介质不稳定,介质材料设计都是基于激光的热效应,介质在经历几十万次的写/擦循环后会出现信噪比下降的热疲劳,随着记录激光采用短波长,激光的热效应逐渐减弱,且易于划伤和损害。DVD—RAM新的介质材料设计基于激光的光效应,能满足高速存取数据的要求。光存储在记录密度、容量、数据传输率、寻址时间等关键技术的发展将会促进其功能多样化和操作智能化。
近几年来图书馆新兴的常用数据的存取设备——磁盘阵列,其提供快速、安全的即时在线数据供应系统,磁盘阵列所保留的为全在线数据,即第一级数据。也就是我们常用的数据,操作系统、应用程序、数据库数据等,可以说是全面备份。可以根据数字图书馆建设的实际情况具体分析,把一些不常用的数据文件迁移到成本比较低的大容量的硬盘中去是比较合适的,磁带作为数据保存的载体是最便宜不过的了,某一些文件基本上没有什么用,但又绝对不能删掉,在这种情况下,以价格低廉的磁带库作永久保存是最好不过的了,从实际的系统配置上来讲,经费不太足够的时候我们只配置磁盘阵列和磁带库省光盘库。随着信息技术的发展,磁盘阵列技术水平不断改进,其成本不断降低,现在数字图书馆建设、数据迁移以磁盘阵列为主。
(3)进行数据模拟迁移。根据预先设计的数据迁移方案,建立一个模拟的数据迁移环境,它既能仿真实际环境又不影响实际数据,然后在数据模拟迁移环境中测试数据迁移的效果。数据模拟迁移前也应按备份策略备份模拟数据,以便数据迁移后能按恢复策略进行恢复测试。
(4)测试数据模拟迁移。根据设计的数据迁移测试方案测试数据模拟迁移,也就是检查数据模拟迁移后数据和应用软件是否正常,主要包括:数据一致性测试、应用软件执行功能测试、性能测试和恢复测试等。数据一致性测试是为保证数据的规范性和一致性,应用软件执行功能测试应用软件所提供的功能是否能正确实现,应用软件执行功能测试由软件开发人员和各子系统业务人员共同参与完成,性能测试用来测试系统并发性和时效性,恢复测试用来测试系统的应急功能。
(5)准备实施数据迁移。数据模拟迁移测试成功后,在正式实施数据迁移前还需要做好以下几个方面工作:进行数据准备、完全数据备份、确定数据迁移方案、安装和配置软硬件等。如数据准备是把原始系统中需要转换的数据通过ODBC(Open Database Connectivity,开放式数据库连接)或JDBC(Java Database Connectivity,Java数据库连接)调入到数据迁移系统中来。
(6)正式实施数据迁移。按照确定的数据迁移方案,正式实施数据迁移。可以按照数据表的依赖关系,按顺序分步执行数据迁移,在数据迁移运行的同时,数据清理过程在后台运行。数据清理就是从数据源中清除错误数值和重复记录,从而提高数据迁移的质量。
(7)监控数据迁移过程。数据迁移过程中,可能会出现一些不正常、难以预料的情况,如何有效地最大限度地防止这些异常情况的发生,我们可以运行监控软件(如系统监控软件可以实时监控系统资源、程序运行、数据传输等),同时信息技术人员全程跟踪监控,随时有情况马上报告并解决。
(8)测试数据迁移效果。按照数据迁移测试方案测试数据迁移效果,程序运行结束后,在新系统数据显示窗口中检验迁移后的新系统中的数据,并手工迁移不符合系统预定义规则的数据,从而完成系统的数据迁移,并查看数据清理日志和数据迁移日志,检验数据迁移和数据清理的正确性,对数据迁移后的数据库参数和性能进行调整,使之满足数据迁移后实际应用系统的需要。
(9)移植系统应用软件。将实际应用系统的应用软件移植到数据迁移后的数据库系统上,并使之正常运行。
(10)正式运行应用系统。在正式实施数据迁移成功并且数据库参数和性能达到要求后,就可以正式运行应用系统,并投入实际使用。
4 数据迁移技术应用
4.1 硬盘数据完全迁移
在硬盘数据迁移之前,需要做好如下准备工作:首先必须将新的硬盘(目标盘)跳线开关置于从盘(SLAVE盘)位置,作为第二硬盘挂接到机器内,开机自检,进入CMOS设置有关参数,使机器识别到第二硬盘的存在;其次准备好DOS系统启动软盘,并在启动盘上拷入必要的工具软件;最后,将机器从软盘上引导,启动成功后,即可开始硬盘数据完全迁移工作了。根据硬盘容量的大小及拷贝工具的不同,硬盘数据完全迁移方法有如下几种:①可利用NU8.0工具中的DISKEDIT程序(需 NLIB200.RTL库,如为中文版还需CHINAl6.FNT的支持)进行精确数据迁移,此种方法要求目标盘与源盘的容量大小完全一致,耗时长,但由于是源目标盘到目标盘之间对应扇区的精确复制,因此也称为精确拷贝法。支持各种磁盘操作系统、磁盘分区及大部分加密软件的复制。②使用硬盘专用复制工具GHOST进行快捷硬盘数据迁移。GHOST的功能非常强大,它不但支持各种磁盘操作系统和分区,支持双机并日互连,还能将磁盘的全部内容形成一个压缩映像文件保存在另一个硬盘上,必要时再展开拷贝到新的硬盘上。拷贝时间特快,特别适合于硬盘的升级、维护或操作系统的迁移复制。 GHOST要求目标盘的容量大于或等于源目标盘,若目标盘的容量大于源目标盘,则目标盘新的分区容量大小还可以进行适度调整,有些加密软件可能需要重新安装,而且GHOST无法将大盘的内容复制到小盘上,即使大盘的实际内容远远低于小盘的容量。③利用DOS/Windows操作系统的命令 XCOPY或XCOPY32进行简易硬盘数据迁移。一些具体命令参数可以在命令后输入“/?”得到详细内容。此种方法最大的优点是对目标硬盘的容量大小没有要求,操作比较简单,安全系数高。但只适用于DOS/Windows 9x操作系统的硬盘,拷贝速度较慢,不能复制加密软件。
在实际工作中,如何实现笔记本电脑之间、笔记本电脑与台式机之间的硬盘完全数据迁移。我们可利用并口通信电缆将两台机器的打印口、红外线数据端口或USB接口连接起来,也可以用对等网线将两台机器连接起来,前提是两台机器都配置有网卡,可以通过设置IP地址,通过网络邻居查找对方的机器,再共享所要迁移文件所处的硬盘或文件夹,就可实现硬盘数据的完全迁移。
4.2 同构数据库的数据迁移
目前,许多大型数字图书馆都利用Oracle数据库。在正常情况下,Oracle数据库自身提供了较高的安全保障,能够保证数据的安全、稳定,为用户提供正确的数据,但由于计算机系统本身的故障(硬件故障、软件故障、网络故障或系统故障),甚至一些人为因素(如操作不当等)会影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失,造成整个系统处于瘫痪甚至崩溃状态,这种结局将会是灾难性的,会严重影响到我们的日常业务工作。应该对数据库进行及时的备份和恢复来防止计算机本身的故障。在日常工作中,数据库的备份(数据的迁移)是数据库管理员必须不断进行的一项工作,如 Oracle数据库的备份分为物理备份和逻辑备份两种:①物理备份。即拷贝构成数据库的物理文件而不管其逻辑内容。它是数据库管理员经常使用的一种备份方式,它又分为脱机备份和联机备份两种,它们各有所长,在实际应用中可以根据具体情况和所处状态进行选择。Oracle数据库的物理备份主要对象是数据库的几个重要文件,如数据文件、日志文件、控制文件、密码文件和参数文件。脱机备份是在Oracle数据库正常关闭后,对Oracle数据库进行备份,把文件在操作系统级用拷贝命令复制到不同的物理磁盘或磁带上,其中尤其对于控制文件要多在几个物理磁盘上制作副本,控制文件在数据库恢复期间用于引导Oracle,因此保持多个控制文件的备份,可以确保在出现磁盘故障后,能有可用的控制文件用于数据库的恢复。联机备份主要是针对运行在归档模式下的Oracle数据库。在这种方式下,联机日志被归档,在数据库内部建立一个所有作业的完整记录。相对于脱机备份来说,联机备份拥有两大优势:提供了完全的时间点的恢复和在文件系统备份时允许数据库保持打开状态。物理备份的好处是可将Oracle数据库管理系统完整转储,一旦发生故障,可以方便及时地恢复,以减少数据库管理员重新安装Oracle的麻烦。②逻辑备份。逻辑备份就是将整个或部分数据库的记录读出并将其写入到一个文件中,这也是经常使用的一种备份方式。具体到Oracle数据库系统就是使用Export(导出)和Import(导入)命令。导出命令可以将某个数据文件、某个用户的数据文件或整个数据库进行备份。导入命令则将导出命令建立的转储文件读入到数据库系统中,也可按某个数据文件、用户或整个数据库进行。
此外,我们尽量使用双服务器,Oracle数据库安装成OPS方式,在另一服务器上保留一个备份数据库。备份数据库与正在使用的数据库具有相同的参数状态,这样在数据库发生故障后,只须作必需的最少恢复,最大限度地缩短了恢复时间。
4.3 异构数据库的数据迁移
用动态SQL语句来实现异构数据库之间的数据迁移。动态SQL语句能对所有关系数据进行处理,可利用它分条读取源数据库中的数据,将这些数据以字符串形式存入变量中,然后插入目的数据库的表字段中,实现数据迁移。关键在于字段值字符串Stringvar如何构造。为实现起来方便,以字符型为准但对数值型数据做特殊的处理。这里通常用第一与第四类动态SQL语句,语法规则比较严格,对数据的操作比较灵活。用SQL语句实现数据迁移同样需要两个事务对象,用于访问两类数据库。在PowerBulder的数据库连接中,Transaction对象作为应用程序与数据库之间的通讯区域,声明了PB连接数据库时用到的参数,并接收由数据库返回的状态信息。PB缺省的提供一个事务对象SQLCA,还需创建一个事务对象作为应用程序访问源数据库时通信的桥梁。动态SQL语句方法虽然实现较复杂,缺少可视化操作界面,但是灵活多变,适用范围广,常作为其它方法的补充。在使用这些方法时应当充分考虑系统的实际情况,以确保数据迁移的准确性,稳定性,可靠性与高效性。
5 结 语
数据迁移是一项高技术含量的工作,相当复杂和烦琐。如在异种机(不同的网络操作系统、数据库系统)之间实现数据迁移,往往会在实际操作过程中出现意想不到的问题。因此,就要求信息技术人员根据不同用户要求、不同数据类型具体分析,在实际工作中充分发挥自己的主观能动性,顺利地完成数据库的数据迁移,为数字图书馆建设奠定基础。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/74483/showart_1095012.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP