(计算机软件与理论专业论文)基于邮储历史数据管理的数据迁移系统研究与实现.pdf_第1页
(计算机软件与理论专业论文)基于邮储历史数据管理的数据迁移系统研究与实现.pdf_第2页
(计算机软件与理论专业论文)基于邮储历史数据管理的数据迁移系统研究与实现.pdf_第3页
(计算机软件与理论专业论文)基于邮储历史数据管理的数据迁移系统研究与实现.pdf_第4页
(计算机软件与理论专业论文)基于邮储历史数据管理的数据迁移系统研究与实现.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

(计算机软件与理论专业论文)基于邮储历史数据管理的数据迁移系统研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 诸如银行、电信等行业都有着业务集中、数据集中、大业务量、业务连续 性强的特点。数据量的急剧增长对数据的存放、管理和使用提出了挑战。目前, 分级存储管理( h s m ) 是解决这种海量数据管理的一种主流方式。 分级存储管理一般由数据迁移系统来实现。而数据迁移系统要解决两个关 键问题:数据迁移和存储管理。数据迁移通常包含以下技术:一、不同主机或 存储设备之间的数据文件或数据块的传输技术;二、数据库之间海量数据的( 增 量) 导入、导出技术;三、异构数据库之间的数据映射与转换技术;四、针对 具体应用环境所采用的其它技术( 如迁移作业的调度管理) 等。在存储管理方 面,目前除了对存储设备本身( 如磁盘阵列、磁带库、光盘库) 的存储管理技 术研究外,存储资源的整合与虚拟化的研究则是另一个需要深入研究的问题。 本文以邮储历史数据管理软、硬件环境为基础,从用户的实际需求出发。 按照生产系统数据库、历史系统数据库、光盘库三个存储层级对数据迁移系统 进行了研究与实现。本文的研究工作包括以下几个方面:存储规划、o m c l e 表 数据迁移脚本工具的编写、批量迁移作业的调度和离线数据归档管理。其中, 批量迁移作业的调度和归档数据存储算法是本文研究与实现的重点。 在批量迁移作业的调度执行方面,作者借鉴了开源的o p c n p b s 以及其它作 业系统的一些设计思想,实现了更实用的批处理作业管理系统。调度系统将作 业分派在多台主机上运行,使主机之间负载均衡,还可以将作业分派在预先指 定的机器上,从而大大缩减了数据迁移的处理时间。在光盘库离线数据文件存 放管理方面,本文通过分析多目标优化问题的基本原理,同时考虑了文件关联 性的保持和光盘存储空间的利用率,提出了一种存放带约束多目标关联文件的 进化算法,并与s p e a 2 算法的实验结果进行了对比,验证了它的有效性。另外, 通过对离线归档数据文件的元数据分析,系统还实现了有效的离线数据存储管 婵。 关键词分级存储管理;数据迁移;多目标优化;进化算法 1 n d u s t r i e s s u c ha sb a n ka n dt e l e c o m m u n i c a t i o ,h a v ef e a t u r e so fc e n 仃a l i z e dt r a n s a c t i o n s , c e n t r a l i z e dd a 诅,a n dh 讪c o n n u i t yr e q u e s ta n ds oo n f u n l l e 珊o r e ,t h ei n f o r n l a t i o ni s i n c r e a s i n ga las t r i k i n gs p e e d t h e f e f o r c ,i tp o s e sm o mc h a l l e n g e st ot h eo c e a nd a t a ss t o r a g e 、 m 柚a g e m e n ta n du s a g e a tp r e n t ,o eo ft 1 1 ee f 6 e c t i v es o l u t i o n su s e dt om 卸a g et 1 1 eo c e a nd a t a i sh i e r a r c h i c a ls t o r a g em 柚a g e m e n tm s m ) t e c h i ”e g e n e r a l l y ,d a t am 睁a o ns y s t e mi su s e dt 0i i n p l e m 跖ih s m d a t am i g r a i i o ns y s t e mc 柚 s o l v et h ef o l l o w i n g 咖p r o b l e m s :o 鹏i sd a t ai n i 孕a t i o n ,t h eo t h e ri ss t 0 糟g em 卸a g e m n t d a t a m i g m t i 叫u s u a l l yi n c l u d e st h ef o l l o w i n gt e c l l l l i q 眦s :f i r s t ,f :i l eo rd a t a 仃a n s f e ra m o n gd 斌e t e n t h o s t s0 rs t o r a g ee q u i p m e n t s ;s e n d ,m a s sd a t ai m p o f t ( i n c m a 血一y ) a de x p c l nb e t w e e n d a t a b 昭e s ;t l l i r d ,d a t am a p p i n ga dt r a n s f o n nb e t 、v e e nh e t e m g e n e o u sd a t a b a s e s ;f o u n h ,o t l l e r i e c l l i l i q u e ss u c h 髂m i 笋a t i o nj o bs c h e d u l i n g 壮dm a n a g c m e n tr e l e v 柚tt ot l i ee n v i r 0 姗e n t k s t o r a g em 粕a g e m e n tf i e l d ,i na d d i 曲nt ot h es t u d yo ft h ee q u i p m e n t sc h e m s e l v e s ( d i s km y 、t a p c l i b 璃r y 、a ) l i b r a r ye t c ) ,i n t e 盯a t i o n 卸dv i r t l l a l i z a o o ft h es t o r a g er e s o u r c e si sa o t h e r a t 仃k t i v eh o tt o p i c t h k i n gt h e 1 1 i s t o r i c a ld a t a m a n a g e m e n to fp o s tb a n ke n v i m n m e n t 粘t h ea p p l i c a o n b a c k g m u n d ,t h i sd i s s e n a t i o nm k e s t 1 1 es t u d ya di m p l e i n e t a t i o no fd a t am i g r a 廿o ns y s t e mo n t i l eb a s i so ft h r e es t o r a g eh i e r a r c h i e s :p m d u c i n gs y s t e md a t a b a 驼、h i s t o r ys y s t e md a t a b 船ea n d c dl i b r a r y t h ea u t h o r ss t u d yw o r ki l l c l u d e ss t o r a g ep r o g r a m m i n g 、t h ei m p l e m e n t i n go ft h e s c 打p tt o o lf o ro r a c l et a b l ed a t am i 铲a t i o n 、t b es c h e d u l i n go fb a t c hm 蟾r a t i o nj o b sa n do 铂i n e a r c h i v em a 蚰g e i i l e n t 1 h es c h e d u l i n go fb a t c hm 蟾r a t i o nj o b s 柚do m i n ea r c h i v ef i l es i o r a g e a l g o r i t h ma r et h ef o c i l 驼so ft l l i sd i s s e n a t i o n a sf o rs c h e d u l i n go fb a t c hm i g m t i o nj o b s ,t l l ea u t h o rr e f e r st ot h eo p e ns o u r c es ”t e m 0 p e n p b sa n dm ei d e a so fo t h e rj o bs y s t e m s ,柚di m p l e m e n t sam o r ep r a c t i c a lj o bs c h e d l i l i l l g s y s t e m t h es c h e d u l j n gs y s t e mf u l f i l l st h eh o s t s l o a db a l a n c eb yd i s p a t c h i n gj o b so nm u l t i - h o s t s , a n di tc a na l s od i s p a t c ht 1 1 ej o bo ns p e d f i cb o s t m e 粕w h i l e ,i td e c r e a s e st 1 1 ee x e c u t i o nt i m eo fa l l m 瞎r a t i o nj o b sg r e a t ly a sf o rs t o r i n gi h eo 衄i n ea r c h i v ed a t af i l e s ,b ya 1 1 a l y z i n gt h eb a s i c p r i i l c i p l e so fm u l t i - o b j e c 廿v eo p 蛀m u ma n di a k i n gt 1 1 er e l a t i o n sa m o n gt h ef i l e sa n dt h eu s a g er a t e t i 卜 o ft h es t o r a g es p a c ei n t oc o n s i d e f a t i o n ,t l l i sd i s s e n a t i o np r e s e n t sas p e c i a le v o l u t i 伽a r ya l g o r i t l l m t os t o r et h ei i l t e r r e l a t e df i l e so fc o n s t n i n e dm u l t i - 0 b j e c t i v e a t1 a s t ,t h i sd i s s e n a t i o nc o m p a r e st h e s i m u l a t e dr e s u l tw i t hs p e a 2t ov e r i f yi t sh i 曲e 舭c t i v e n e s s i na d d i t i o n ,b ya n a l y z i n gm e m e t a d a t ao fo f e l i n ea r c h i v ed a t af l e s ,t 】l es y s t e ma l s 0i m p l e m e t st h ee f i b c t i v ea r c h i v es t o r a g e m a g e l c n t k 七y w o r d sh i e r a r c h i c a ls t o r a g em a n a g e m e n t ; d a t am i g m t i o n : m u l t i _ 0 b j e c t i v e 叩t i m u m e v o l u t i o n a r ya l g o r i t h i n i v 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特另曲口以标注和致谢的地方外,论文中不包含其他人已经发 表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构的学位或证书 而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明 确的说明并表示了谢意。 签名:麓建穸醐:卅f 6 扩 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学橱痒魏蜾留 送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容, 可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 铭:丝剔撇:巡日期金翌苣:之终 第1 章绪论 1 1 动机 第1 章绪论 随着全国经济金融电子信息化进程的不断发展,银行、电信等单位和企业的数 据量越来越大。如何存储和有效使用这些海量数据已经成为影响这些企业发展的重 要问题之一。如今,海量数据的存储已经不是服务器本身的硬盘存储空间可以解决 的。为此,人们提出了“分级存储管理( h s m ) ”的概念。数据分级存储1 2 1 是指将 数据存放在不同级别的存储设备( 磁盘、磁盘阵列、光盘库、磁带库) 中,也可以 理解为是将“一级c a c h e ”“二级c a c h e ”一“内存”一“硬盘”这个层级模式的 再次扩展p j 。我们将最常用的数据存放在性能较高的大型磁盘阵列上,将不常用的 数据存储在较便宜的低速存储介质上( 如磁带、光盘库等) ,然后通过分级存储管 理软件( 数据迁移系统) 实现数据在存储垃备之间的自动迁移。分级存储大大降低 了海量数据的存储及管理成本。 “中国邮政储蓄统。版本工程”省中心系统切换上线后,为了确保生产系统的 性能稳定以及降低海量数据的管理成本,相关部门提出了对历史数据的专门管理。 考虑到业务数据的使用特点及存储成本,历史数据工作组最终将存储系统分为了生 产系统数据库、历史系统数据库、光盘库三个存储层级。系统需要实现数据在生产 系统数据库、历史系统数据库、光盘库之间的自动迁移。 由了:数据迁移是非常消耗系统资源的操作,为了避免对正常业务时间的联机交 易造成影响,在实现上要求系统尽量在较短的时间内完成次完整的数据迁移。 邮储历史数据系统将很少访问的数据存放存光盘库中。当将数据存放在光盘上 时,我们必须考虑如何存放这些数据文件使得将来对数据的使用更加方便,如何使 光盘空间利用率更高等问题。除此之外,光盘数据文件的存储管理对数据的使用也 很关键。 以上这些问题是本学位论文研究工作的动机。 1 2 数据迁移系统的现状 通常数据迁移系统包括以下两个部分:数据迁移服务器、存储系统。 数据迁移服务器就是负责整个存储网络中数据迁移的服务器。它扮演着整个存 储系统数据管理员的角色,当数据达到某一事先规定的阀值时,该服务器便将数据 从一级存储设备向下一级存储设备进行转储,并释放出前一级存储设备的空间。 从一级存储设备向下一级存储设备进行转储,并释放出静一缴存储设备的空间。 :,。一,塑呈型量童:量望窒:i :堡丝;! 。:,一,。,。,一! 一 存储系统按照数据访问、操作的特点可分为:在线、近线存储系统( 系统磁盘、 磁盘阵列) 和离线存储系统( 光盘库、磁带库) 。所谓在线存储系统就是能够提供 实时快速在线服务的数据存储系统:而离线存储系统则不需要提供实时的在线服 务;近线存储系统介于在线和离线系统之间。存储成本按照在线、近线、离线依次 降低。 根据数据迁移系统的构成特点,本论文需要重点研究两个关键问题:数据迁移、 存储管理。 1 2 1 数据迁移 数据迁移有两种情况:一种是一般的数据移植;另一种是动态迁移【”。数据移 植是为某种特定目的的一次性数据迁移,例如系统升级,更换存储设备或系统环境 等;而存储系统的动态数据迁移主要是将数据按照一定的策略从一种网络存储设备 转移到另外一种网络存储设备,将数据按照访问频率存放到不同成本的存储设备 上。这种动态数据迁移是实现数据分级存储管理的关键技术之。 数据迁移有多种迁移策略。如:p e t a s e r v e 对磁盘阵列或光盘的管理是通过对媒 体的容量设置上、下限水位来实现的。当数据容量超过上限水位时,数据就会被自 动迁移到下一级存储设备中;当数据容量低于下限水位时,数据就会被自动回迁到 响应速度更快的上级存储设备中。p e t a s e r v e 还可以对所有文件做一个加权,根据文 件的大小、文件在硬盘的上存放的时间和使用频率等因素来计算权值,最后通过权 值来决定哪些文件会被优先迁移到磁带库中,从而更加有效地利用硬盘空间【4 】; a d i cf i i e s e r v 提供集中的文件管理,根据数据文件的使用频率将不常用的文件迁移 到磁带存储系统蟑l 。 实现数据迁移的关键技术很大程度上依赖于软硬件环境。迁移通常涉及不同的 主机( 存储设备) 之间数据文件共享与传输技术、数据库系统之间海量数据的增量 导入、导出技术:对于异构数据库,迁移还要考虑源与目的数据库之间的数据映射 与转换等。另外,系统实现也可以采用适用于具体环境的其它技术,例如,可以通 过作业管理系统来实现迁移作业在集群环境中的运行管理及自动化处理。下面分别 对这些技术作简要介绍。 1 、数据( 文件) 共享与传输技术。 只要分级存储的各个层级位于网络中不同的存储设备上,就必然涉及数据( 文 件) 在各主机或存储设备之间的传输。目前常用的传输技术有以下两类: ( 1 ) 使用f t p 、s a m b a 等提供文件共享与传输服务。f t p 服务遵循t c p i p 协议族 中的文件传输协议f t p ,它允许用户将文件从一台计算机传输到另一台计算机上, 第1 章绪论 并且能保证传输的可靠性。f t p 有三种传输模式:一种是流模式,数据以字节流的 形式传送;一种是块模式,文件以块形式传送,块带有自己的头部分。最后一种是 压缩模式。sa 1 t l b a 的核心是服务器信息块( s e r v e rm e s s a g eb l o c k ) 协议。在 u n i x l i n u x 中,常用s a m b a 服务来实现与w i n d o w s 系统的文件共享和打印机共享。 它们之间的数据传输使用s m b 协议。 ( 2 ) 针对具体环境专门开发。例如可以根据建立在存储区域网s a n 结构之上的 s e r v e r f r e e 或l a n f r e e 解决方案,设计程序让数据在存储设备之间直接传输【7 】, 摆脱数据传输对主机或局域网的影响。 2 、大量数据库数据的增量导入、导出。 通常有两种方法用于数据库数据的增量导入、导出,一种是数据库本身提供的 专用工具,如0 r a d e 的c x p i m p 。另一种是通过其它技术使用中间文本文件进行处 理。文本文件方式往往更加灵活、通用,并适用于异构数据库之间的数据迁移。 3 、异构数据库之间的数据映射与转换。 对于异构数据库,首先要确定源数据与目标数据之间的映射关系。映射关系通 常包括两个方面: ( 1 ) 元数据之间的转换映射。各个不同的d b m s 所支持的数据类型以及它们的含 义往往各不相同,对此,一般系统通过知识库的形式存储元数据的有关信息来处理 这种转换。 ( 2 ) 进行数据集成时各组成宇段间的对应关系。 4 、迁移作业管理。 数据库之间的动态数据迁移往往是大量的批处理作业。如果人们能够充分利用 实际的软硬件环境,对这些批处理作业进行合理地调度管理,一般会提高整个迁移 任务的执行效率。目前已经有一些作业管理系统可以用于集群环境下的作业管理, 如开源的o p e n p b s ,加拿大p l a t f o m 公司的l s f 等。 1 2 1 2 存储管理 存储管理技术通常和存储设备紧密相关。目前存储管理除了针对存储设备( 如 磁盘阵列、磁带库、光盘库) 单独进行研究外,更进一步地扩展为存储资源的整合 与虚拟化纠。 对于磁盘阵列,主流l i n u x 舢n i x 系统提供有逻辑卷管理器( l v m ) 【1 0 】来管理阵 列存储空间,见图1 1 。l v m 是联机磁盘存储管理的一个子系统,它已经成为u n i x 实现存储管理事实上的标准。l v m 最初是出i b m 为它的a j x 操作系统开发。l 、,m 是在物理设备与内核中的块i ,o 接口之间添加了一个额外的层。 例如,文件系统( 如c x t 2 ) 会使用l v m 提供的块设备而不是直 接使用磁盘驱动器。l v m 系统在卷组( v o l u m eg m u p ,v g ) 中 组织存储,卷组包含一个或多个物理卷( p h v s i c a lv o l u m e ,p v ) 。 l v m 块设备被称为逻辑卷( l d g i c a lv o l u m e ,l ,v ) 。逻辑卷是从 l v m 维护的一个存储池中分配,即:磁盘由l v m 层来管理。 文件系统 0 l v m 上 块设备 系统中可以有多个卷组。一旦创建了卷组,卷图1 1l v m 系统 组( 而不是磁盘) 就会成为数据存储的基本单元 f i g u r e l 1l 、,ms y s t e m ( 可以将它看作由个或多个物理磁盘组成的虚拟磁盘) 。它将一个或多个磁盘驱 动器的容量组合在起。 另外,市场上也有一些公司针对离线或近线存储设备( 磁带库、光盘库) 以及 存储设备的整合推出了自己的数据存储系统方案及产品,下面是几个已有的系统的 简单介绍。 ( 1 ) a d i ca 】a s s ( a r c h i v a lm a i l a g e m e n ta i l ds t o r a g es y s t e m ) 近线存储管理软 件能把磁带库作为廉价的、存储空间巨大的磁盘文件系统提供给服务器及网络其它 平台主机共享使用。a m a s s 采用标准的u n i x 虚拟文件系统( v f s ) 技术,可以 在多种u n i x 系统上运行,应用起来就像在硬盘上读写归档文件一样。 ( 2 ) k g a t 0d i s k x t e n d e r 软件能够简化存储资源的管理。通过创建虚拟化的存储 池,系统将一级或二级存储扩展至无限:通过对元数据的管理,系统为所有的存储 数据提供单一的逻辑空间,允许用户透明访问所有的存储设备。 1 3 问题与不足 1 2 节中所介绍的产品都有各自的优点和使用领域,但是实际的需求及软硬件 环境使得这些产品的适用程度具有一定的局限性。 ( 1 ) 适用领域的限制。如p e t a s e r v e 专用于媒体资产的管理。媒体资产数据的存 储形式和金融银行业务数据的存储形式差别很大。前者所采用的数据迁移策略根本 不能用于银行业务数据。 ( 2 ) 软硬件环境的限制。实际的需求千差万别,迁移限定于特定的设备和软件 系统环境。特别是基于数据库之间的数据迁移时,数据的抽取、导入等都要根据实 际需求具体实现。而上述软件的数据迁移更多的是针对文件和数据块进行的,而其 支持的存储设备也是有限的。 ( 3 ) 所提供功能的局限性。迁移有时并不仅仅局限于数据的转储,而是要根据 实际的业务逻辑的需要来进行特殊的处理。 第1 章绪论 虽然有的系统甚至已经为具体的应用层提供了灵活的编程接口,并支持某种开 发语言,但是在实际应用中还需要考虑付出成本和取得的效果,这对于一般的需求 来讲,可能是一个要重点考虑的方面。 1 4 课题简介 本课题主要来源于“中国邮政储蓄统一版本应用软件工程”中的历史数据管理 部分。 中国邮政金融计算机网络系统从1 9 9 3 年开始建设,到目前已历时1 0 余年,建 成了1 个全国中心,3 1 个省中心,实现了全国范围内的通存通取。随着其网络及业 务的快速发展,相应的业务数据量也越来越海量化,由此带来的海量数据的存储管 理就成为急需解决的问题。中国邮政储蓄系统历史数据管理子系统是邮政储蓄系统 的重要组成部分。其目标是作为储蓄系统的辅助系统,完成历史数据的存储和查询 及离线数据的归档管理,减轻核心业务主机的负载,保证业务系统的运行效率。 1 5 作者的主要工作 本课题的目标是:结合邮储历史数据管理系统的实际需求,实现数据在分级存 储管理下的数据迁移和离线数据归档管理。主要工作包括: ( 1 ) 数据迁移前的准备工作,主要是参与存储空间的规划、迁移范围、迁移策 略的确定等; ( 2 ) 根据需求,实现o r a d e 大数据量的增量、更新方式的导入、导出; ( 3 ) 研究与借鉴当前的作业管理系统,实现批量迁移作业在多台机器上的有效 调度和负载均衡,使所有作业尽快完成。 ( 4 ) 实现光盘库归档数据文件的存储管理。研究归档数据文件在存放时存在的 多目标优化问题,针对此问题设计并实现专门的多目标优化算法:分析光盘库离线 数据文件的元数据,实现文件的存储管理。 1 6 小结 本章介绍了实现分级存储管理的数据迁移系统及其技术现状,并在此基础上提 出了实际的需求背景及本课题的重点研究内容:实现邮储历史数据在分级存储管理 下的数据迁移和离线数据文件的归档管理。 第2 章数据迁移前的准备 数据迁移之前首先要做好充分的准备工作,特别是对于存放在数据库中快速增 长的业务数据的定期迁移。迁移之前,首先要确定数据源及目的地、迁移策略、迁 移范围、数据抽取规则等。另外,由于历史数据管理系统不仅仅承担着数据的存储, 还承担着全省范围的查询请求,所以还需要对数据存储进行合理的规划设计,以免 对系统性能造成影响。 本系统所基于的历史数据管理中,整个存储系统分为以下三个存储层级: 第一层级为生产库,主要是存放生产系统正在发生或近期发生的业务数据。 第二层级为历史库,主要是存放生产库中数据存放时间超过设定时限之后转移 出来的数据,这些数据用来提供给业务技术人员查询使用。 第三层级为光盘库,主要是存放历史库中数据存放时间超过设定时限之后被转 移出来的数据,这些数据一般较少使用。 数据存储系统采用了存储区域网( s t o r a g ea r e an e t w o r k ,s a n ) “3 结构。s a n 可以使得各种存储设备通过光纤连接在一起实现各种数据的高速互通,而且它还做 到了计算机和存储设备的扩展互不影响。 2 1 邮储历史数据存储规划 2 1 1 磁盘空间估算 邮政储蓄业务系统的数据主要分为四大类:( 1 ) 交易流水;( 2 ) 交易明细:( 3 ) 分户账信息;( 4 ) 报表( 随机报表、批处理报表) 。在数据迁移之前,首先要根据 数据在历史库中存放的时间对所需的磁盘空间进行测算。根据邮政储蓄的实际情 况,历史库磁盘容量的测算具体包含以下几个方面: 存储总量。 s n = s d m + s 咄b + s 呻+ s 妊+ s 嘴p 式中品扩存储总量: & 。- o r a c l e 系统所占容量: 6 表数据所占容量; s 。临时表数据所占容量; b 索引所占容量; 北京工业大学工学硕士学位论文 。报表所占容量; 单个数据表。 r 。盯= r 。,+ j k 硎v k 鲫 上式中忍j 厂预计记录数: 如广_ 目前记录数; 风,打一月平均增量( 记录数) ; k 甜一存储月数; 单个数据表在规定的存储期限下所占用的磁盘空间包括两个部分: a 单个数据表的数据部分: = 揣心砷 式中旷一单个表数据总量( m ) ; 见预计记录数; 丑k 一行宽( b y t e ) : 卜冗余比例; b 单个数据表的索引部分: k :墅尝尝碧坠。a + 丁) “ j 0 2 4 j d 2 4 、7 式中厶圹一索引空间总量( m ) ; 见厂一预计记录数; 工。本地索引行宽( b y t e ) ; g 0 。一全局索引行宽( b y t e ) ; 卜冗余比例: 表2 1 是以某省为例,根据2 0 0 6 年的交易量的估算所计算的磁盘空间。对表2 1 的估算考虑适量的冗余:1 4 0 5 9 9 8 0 = 1 7 5 7 5g ;另外还要考虑磁盘碎片等问 题,实际存储空间应为1 7 5 7 5 1 5g 。这些都是与主要业务相关的数据。 表2 1 磁盘空间估算表 t a b l e2 - 1d i s ks p a c ee s t i m a i et a b l e 日发生笔数 保存时间( 天)空间大小( g ) 流水表 1 5 0 0 0 0 03 6 53 5 6 9 3 会计清算流水1 0 c 1 0 0 0 0 3 6 52 3 8 2 9 异地交换流水 5 0 0 0 0 03 6 51 3 1 7 2 定期交易明细3 0 0 0 0 03 6 53 1 4 1 活期交易明细 1 2 0 0 0 0 03 6 51 3 2 5 7 开销户登记簿1 咖0 3 6 5 0 1 1 0 5 各类报表83 6 5 08 7 0 2 各种索引1 0 0 0 0 其它 3 1 7 合计1 柏5 9 9 2 1 2 数据存储规划 为了方便主机对磁盘阵列存储空间的访问管理,通常使用i j n u x ,u n i x 提供的 l v m 。使用n ,m 的一个重要任务就是将磁盘阵列中划分的l u n ( l 0 百c a lu n i t n u l b e r ) 和物理卷之间建立映射关系,以及将物理卷与卷组之间建立映射关系。当 然,l u n 的划分和各映射关系的建立要根据实际的存储需求进行规划。 根据数据在实际中的访问频率和数据本身的特点,在邮储历史数据存储规划中 划分了三个卷组,分别对不同类型的数据进行存放。 图2 - 2 是某省的存储规划示意图,其中s d + 为物理卷,s p a 和s p b 为磁盘阵列 的两个处理器。划分的三个卷组分别描述如下: ( 1 ) v g d a 陵:存放生产库数据( 采用裸设备) ,系统对这部分数据的访问比较 活跃。从图2 1 中可以看到v g d 加阪所包含的物理卷均衡地映射到了不同的处理器 上,以便在处理器之间分摊负载; ( 2 ) v g m i g :存放移植数据( 采用裸设备) 。和旧的业务系统历史数据相关,本 文不涉及; ( 3 ) v g r e p o r t :存放生产系统报表( 采用文件系统) ,访问频率较低,本文不 作讨论。 v g 】附a 隗v g d 加r a v g m i gv g 】旺渺d l 盯 。一一一一一。一一一。一一一一一? 。一一一一一一一1 i 一一一一一。一一一一。! i 。1 篇辫瓣獬篮缓隧雠捌幽麟蟛l ;硝黼潮捌黜蝴黼蠲辅删:嘲黼蝌算磷黼蝌l :毋黼黼 | s d nl ;s d z | s d l | s d x ;| s d j ;| s d v ; | s d t ;ls d r ;j | | s d s 戳黜删翻黼黼涵酬薯删i i 汹期雕喇掘嘲删速翻越燃:谊嗽嘣辅黼黼i :獬黼辫 2 2 迁移策略的确定 图2 1 存储规划示意幽 f i g u r e2 - 1s t o n g cp m g r a m m i n gm o d e l 4 9 g 1 g 邮政储蓄的业务对数据的使用有个特点,就是越在最近发生的数据被使用的可 能性越大。据此,我们决定以数据在各个存储层级的存放时间为策略,对不同类型 的数据采用不同的频率来对数据进行迁移。 系统要求当前交易所用到的同一时间产生的相互关联的数据必须存放在同一存 储层级,这就对各个数据表的迁移频率的定义提出了要求。据此,在定义各表的迁 移频率之前,我们首先依据交易所确定的表之间的关系,使用算法来求解所有数据 表集合的一个划分,最终遵循在划分后的同一个子集内的数据表采用相同的迁移频 率,如果同一个子集内的数据表的迁移频率不同,则以其中最高的迁移频率( 具有 最短的存放周期) 作为整个子集的迁移频率。 2 3 小结 本章主要介绍了数据迁移的准备工作,具体包括迁移数据源与目的地、迁移范 围、迁移策略以及磁盘空间估算和存储规划等,另外还简单描述了具体需求给迁移 频率的确定所带来的复杂性。本章是实施数据迁移系统的工作基础。 第3 章数据迁移过程 第3 章数据迁移过程 生产系统( 即:邮政储蓄业务系统) 中的数据按照存储管理方式丰要分为两大 类:数据库表和撤表数据文件,由此决定了数据迁移的两种类型: ( 1 ) 数据库表数据迁移: ( 2 ) 报表迁移; 本章主要介绍数据库袁的数据迁移。数据迁移示意图如图3 1 所示: 蠛盘阡,u 图3 1 数据迁移过程 f i g u n3 1d a hm i g r a t i o np m c e d u r e 从图3 1 可以看到,迁移过程主要涉及以下操作; 生产库数据的导出; 生产库数据向历史库的导入; 历史库数据的导出; 历史库数据向光盘的存放。一旦达到存放要求的光盘数据包被安全刻录 就会对历史库进行必要的数据清理; 对于历史库导出数据的归档管理,将在5 1 节中将进行专门讨论。 3 1 数据导出 o r a c l e s o l p l u s 中的s p 0 0 l 命令提供了种便捷的方法,即通过s q l 语句将 符合条件的查询结果保存为文本文件,然后使用s e d 及其它的命令对其进行格式化 处理。 为了方便s p o o l 命令各项参数的设置以及导出文本的处理,我们编写了脚本 导出工具b c p o u t s h 完成所有这些任务。工具描述如下: 导出工具b c 口o u t s h 完成所有这些任务。工具插述如下: ! ,。,查型耋型些丝二,一,。一。 输入参数: u u s 盯:数据库用户名; p p w d :数据库用户口令: t t a b l e :要导出数据的数据库表; 一f e x p f i l e :导出数据所存放的外部文件: - c s q i :导出数据所使用的s q l 查询语句; x s p a c e t a b :是否将文件数据中的t a b 键转换为空格; d t a b :是否将生成的文件数据中的t a b 键删除; 一z z i p :对导出的数据文件进行压缩; 执行流程: ( 1 ) 从系统参数设置中获取系统会计日期。 ( 2 ) 以“b c p o u t + 会计日期1 0 9 ”为文件名创建日志文件。 ( 3 ) 解析输入参数。 ( 4 ) 连接数据库。 ( 5 ) 调用s o p p l u s ,设置各项命令参数,执行输入参数中指定的s q l 语句,并 将导出数据存入临时文件。 ( 6 ) 分析s q l ,p l u s 返回的执行结果。如果出现错误,则登记同志并退出。 ( 7 ) 使用s e d 的模式匹配替换命令删除导出临时文件中各个字段之间的t a b 键, 以便增强文件的可读性。将处理后的数据重定向到输入参数指定的文件中。 ( 8 ) 如果要求压缩,则调用g z i p 等工具对输出文件进行压缩处理。 ( 9 ) 结束返回。 3 2 数据导入 经需求分析,对于生产库数据导入到历史库时,我们最终确定将不同性质的数 据按以下几种方式进行导入。 t r u n c a t e 方式。即先清除,后导入。如:卡b l n 管理表、副卡属性表等; a p p e n d 方式。即直接追加,增量导入。如:会计清算流水、活期明细表、 非账务流水表等; m e 唱e 方式。即,合并更新。历史库中已经存在就更新,不存在就追加。如: 活期户主账、冻结止付登记簿等。 下面对这三种方式分别加以描述。 第3 章数据迁移过程 3 2 1a p p e n d 与t m n c a t e 方宝巴 在使用0 r a c l e 时,s q p l o a d c r 是装载外部数据文本的常用工具。 s o u l 0 a d e r 提供三种装载数据的方式 1 6 j :( 1 ) 常规路径装载;( 2 ) 直接路径装 载;( 3 ) 外部路径装载。每种方式适用于不同的用户需求。对于常规路径装载方式, s q p l o a d e r 为每条记录生成相应的s q li n s e r t 语句,逐条将记录插入到相应的 表中。这种方式的优点是不影响在线服务( o n l i n e ) ,但是其效率比较低下,适合 于装入少量的数据:直接路径装载将从外部文件读入的数据转换为o r a c l e 的内 部数据格式,它很适合大量数据的装载。不过,其使用限制也很多,其中一个很重 要的限制是在装入数据过程中对目的表加锁,这实际上决定了在数据装入过程中不 能同时提供在线服务,这一点在本系统需求中是难以接受的。外部路径装载与本系 统需求无关,不再赘述。 为了避免导入过程中的繁杂操作,我们编写了专门的脚本工具b c p i n s h 来直接 处理印p e n d 和t m n c a t e 两种方式的数据导入。b 印i 1 1 s h 通过动态地构建s q p h a d e f 所需要的各种参数信息来使用它进行数据导入。工具的输入参数及执行流程描述如 下。 输入参数: u u s c r :连接数据库的用户名; - p p w d :连接数据库的口令; t t a b l e :要导入数据的数据库表名; f f i l e :外部数据文件; _ s s p i i t :外部数据文件中各数据域( 字段) 之间的分隔符: m m o d e :数据导入方式。只接受两种:a p p e d 、t n i n c a t e ; 下面描述具体的执行过程。 ( 1 ) 从系统参数中获取当前会计同期,创建日志文件; ( 2 ) 解析输入参数,并检查参数的合法性; ( 3 1 连接数据库; ( 4 ) 根据输入参数,动态构建s q p l 0 a d e r 的控制文件,并保存到临时文件,同 时指定其日志和异常输出文件; ( 5 ) 以( 4 ) 中准备好的控制文件、同志文件、异常输出文件为参数调用 s o p l o a d c r 进行数据导入; ( 6 ) 清理临时文件,通过判断( 5 ) 中是否有异常输出文件返回导入执行结果; ( 7 1 结束返回。 3 2 2m e 唱e 方式 自o r a c l e 9 i 起新增加了一个m e r g e f l 7 j 语句,这个语句仅需要对全表扫描一次 就可以完成全部的工作,执行效率高于u p d 朋陋+ i n s e r t 。 m e r g e 导入方式采用了o r a c l e 的m e r g e 语句来实现。在使用m e r g e 语句时, 系统必须借助于一张表去更新另一张表。为此,本系统在历史库中为所有迁移方式 为m e r g e 的数据表创建了相应的临时表。系统首先将数据文件使用3 2 1 节中的 b c p j n s h 工具以t m n c a t e 方式导入到临时表中,然后再迸一步地使用m e r g e 语句对 最终目的数据表进行更新。为了避免m e r g e 语句的重复编写及维护,我们编写了 脚本工具m e r g c t a b 。m e r g e t a b 可以根据输入参数动态的生成相应的m e r g e 语句。 m e r g e t a b 的输入参数及处理过程如下: 输入参数: d e s tt a b l e :最终目的表; t e m nt a b l e :临时表。 处理过程如下: ( 1 ) 获取参数信息; ( 2 ) 使用b c p i n s h 将数据以t 兀l n c a t e 方式导入临时表; ( 3 ) 从系统表a l l _ i n d e x e s 、a l l i i l d _ c o l u m n s 中获取目的表的主键字段,构建目的 表与临时表之间的连接条件: ( 4 ) 从u s e r j a b _ c o l s 中获取目的表所有字段,然后排除( m i u s ) 主键字段,获 取所有非主键字段: ( 5 ) 根据( 4 ) 中获取的非主键字段构建u p d 舢 e 语句: ( 6 ) 利用目的表及临时表的所有字段构建l n s e r t 语句; ( 7 ) 根据m e r g e 语句的语法,将( 3 ) 、( 5 ) 、( 6 ) 构建的连接条件、u p d 御陋语句 和i n s e r t 语句合并起来,然后执行; ( 8 1 结束返回。 3 3 迁移数据逻辑性检查 当生产库数据迁移到历史库时会有一系列的逻辑检查,目的是为了尽量保证数 据的完整性以及逻辑上的正确性。比较重要两项检查有:( 1 ) 表数据文件的完整性; ( 2 ) 导入数据和已有数据在时间上的连续性。 生产库数据迁移到历史库时传输过来的文件包含以下部分: 周期性迁移的表数据文件; 第3 章数据迁移过程 本次迁移的表数据文件清单; 记录本次迁移的数据时间清单文件; 代表本次迁移数据传输完毕的标识文件。 系统会根据迁移文件清单,检查当前待导入的实际数据文件是否齐全,确认文 件没有缺失后,继续下一项检查。 通常,周期性的数据迁移要求数据保持严格的连续性,即当前迁移数据必须和 历史库中已经存在的相应数据保持时间上的连续,不然就意味着历史库中某个时间 段的数据发生缺失或重复。为此,系统专门设计了一张数据库表( 见3 4 3 节) 来维护 所有迁移表数据最近一次迁移的数据时间,通过检查本次与上一次迁移的数据时间 关系来判定数据是否连续。 3 4 历史库数据管理 我们定义了一套数据库表来方便对历史库数据的管理。几个比较重要的表描述 如下。 3 4 1 系统参数信息 系统参数是系统运行过程中需要经常访问的重要数据。我们通过系统参数表对 其进行设置,并允许系统添加新的参数。几个主要的参数如下: 会计日期。 系统状态。标识系统当前状态的一个逻辑值。如果发生某些严重的错误时, 系统可以通过这个参数来禁止运行新的作业。 日终处理启动时间。系统在这个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论