「转」IT项目新旧系统切换方案

本文章和大家探讨一下老系统升级到新系统的方案,本方案是基于我接到了一个客户的需求是系统迁移。方案从以下几个方面阐述的。

一、系统切换工作流程

image

二、系统迁移需求分析

前期调研是数据转换中很重要的一个步骤,也是至关重要的一部分。在进行数据转换工作前,我们需要先认真阅读系统的相关文档,如《数据字典》、《系统概要设计报告》等,来熟悉原有的系统。当然在阅读文档的过程中肯定还会有理解不清晰的地方,这时还需要熟悉原有系统的工程师的帮助。

  1. 对于先用的系统的需求以及功能点的梳理分析;

  2. 对于现有系统功能点的画出业务流程图,和Costa业务部门确认业务流程的正确性;

  3. 现有系统的系统架构、实现语言以及数据库的版本;

  4. 现有系统的数据量级;

  5. 现有系统的数据字典;

  6. 现有系统架构与第三方的通信接口;

  7. 将所有数据表进行分类,如系统参数类、代码类、综合业务类、相关业务类等等。 对所有数据表的数据组成、数据来源、用途等进行描述;

  8. 并非所有的数据都是需要进行转换的,在《数据字典分析报告》中要指出那些数据表是需要进行转换的,那些是不需要进行转换的,对于不需要转换的表要说明不需要转换的原因;

  9. 描述数据在各表中的流向,对于关键的或复杂的业务点要做详细说明;

风险分析

由于老系统运行时间比较久,对于现有系统很难描述清楚现有系统的业务逻辑,尤其是细节,可能当初设计的人已经离职了;

三、迁移方案总体思路

1、保障业务中断停机时间最小化

业务中断对于用户无论是运行环境还是测试环境均存在较大的恢复风险,这样的风险特别对于时间敏感型数据和数据完整性业务都是不可以接受的。我们基于这样的要求,考虑到如何将停机时间最小,能否实现0停机的建设目标?

  1. 梳理系统核心业务,拆分核心业务,保证业务的独立性
  2. 迁移系统分主次,尽量避免统一迁移,而是逐步迁移
  3. 核心业务迁移保证兼容老系统业务
  4. 新系统本地留存数据,同时将数据同步到老系统以保证未迁移的系统可用性

下图为会员注册模块的迁移流程图


image

2、数据转换设计

转换设计阶段主要是完成新旧数据字典的对照,同时明确各个表中具体数据字段的转换方式。在转换设计阶段主要是编写《数据字典对照报告》 《数据字典对照报告》主要描述新旧系统数据表间的对照关系以及代码对照关系。以新系统为准,原系统作参照,将原系统的数据字典对应到相应的系统数据字典中。在对照过程中,需要遵循数据照搬原则,数据尽量不要作处理。 在数据字典对照表中需要进行转换的数据字段应该一一对应,对新旧数据表中字段的名称、类型、精度等都要有详细的描述,同时还要明确数据的转换方式。数据转换方式主要有以下几种

  1. 直接转换。直接转换方式是最常用的方式,就是将原表中对应字段的数据原封不动的搬到新表中来。按照“数据照搬”原则,我们应该应该尽量采用这种方法。
  2. 程序转换。对那些需要进行计算才能进行转换的数据将采用程序转换方式进行。
  3. 代码对照。某些代码字段,往往新旧系统的编码不相同,这时就需要参照代码对照表进行代码对照转换。
  4. 类型转换。少数数据可能需要对类型进行转换,如就表以字符串‘YYYY-MM-DD’来存放日期,而新表中以DATE型来存放日期,这时就需要进行类型转换。
  5. 常量转换。新表中某些字段可能存在缺省值,这时将采用常量转换方式,当旧表没有对应字段或旧表对应字段数据为空时,将直接在新表中写入缺省数据。
  6. 不转换。对于旧表有但新表中没有的字段将不作任何转换。

新旧系统代码对照列出了全部需要进行转换的新旧系统数据表中存在的二级代码间的对照关系,主要以二级代码对照表的形式来反映。

3、数据迁移

数据整理策略

数据整理就是将原系统数据整理为系统转换程序能够识别的数据。数据整理大致分为两个阶段:第一阶段就是将不同类型来源数据采集备份到统一的数据库中;第二阶段就是将原始数据进行整理,按照不同的要求分类进入不同的中间数据库,为数据转换提供中间数据。数据整理过程采用了以下方法:

1)确保原始数据的完整性

在进行数据整理之间,我们先需要对原始采集数据进行备份。备份的目的有两个:一个是统一数据库,便于数据转换,另一个就是为以后数据追根溯源提供参考依据。

2)数据分级过滤策略

数据分级过滤就是把数据按照不同的数据级别进行分类整理进入不同的中间数据库中。本系统中我们把数据分为三个级别:废弃数据、待调整数据、可转换数据。废弃数据就是该部分数据的存在对系统资源造成浪费的数据,并且会影响以后系统的运行。待调整数据就是该部分数据严重影响新系统的运行,必须进行人工调整后,方可进行数据转换。可转换数据就是该部分数据不需做任何处理,基本满足数据转换的要求或者是该部分数据新系统建议调整,但是不影响系统的运行,可以等新系统运行后再调整,这样可以为数据转换工作节省很多时间。

3)借助数据整理相关工具

数据整理非常艰巨,涉及的数据量很大,通过人工检查是不可能完成的,因此必须编写相关的数据整理工具完成数据整理。包括数据整理工具和数据纠错工具。数据整理工具负责将原始备份数据库中的数据进行分类进入不同的中间数据库;数据纠错工具负责提供友好、方便的工具界面供用户方相关人员完善和纠正错误数据。

4)利用API接口作为桥梁

由于原系统和新系统的数据库结构可能不一样,所以采用API接口作为衔接新旧系统数据的重要桥梁,对于建立新旧系统的对照关系很重要。一旦业务人员对新系统中某项转换数据存在疑问的情况下,就可以通过API接口,顺利找出原数据。

数据转换

数据转换就是将整理后的数据,依照对照表的要求进行转换,并写入到新系统。这个过程可以通过交换系统实现。

数据整理与转换步骤

1)进行数据模拟移植

根据设计的数据移植方案,建立一个模拟的数据移植环境,它既能仿真实际环境又不影响实际数据,然后在数据模拟移植环境中测试数据移植的效果。 数据模拟移植前也应按备份策略备份模拟数据,以便数据移植后能按恢复策略进行恢复测试。

2)测试数据模拟移植

根据设计的数据移植测试方案测试数据模拟移植,也就是检查数据模拟移植后数据和应用软件是否正常,主要包括:数据一致性测试、应用软件执行功能测试、性能测试、数据备份和恢复测试等。

3)准备实施数据移植

数据模拟移植测试成功后,在正式实施数据移植前还需要做好以下几个方面工作:进行完全数据备份、确定数据移植方案、安装和配置软硬件等。

4)正式实施数据移植

按照确定的数据移植方案,正式实施数据移植。

4、数据整理和转换的关键

对于多源异构数据库之间的数据转换,因为目标数据库的格式和约束的限制严格,直接编写转换程序实现困难,可在原有数据库系统中编写转换程序。

对于源数据库、目标数据库结构有差异的数据,建立API接口,API接口在原数据库平台中建立。

非空处理:对于应该非空但实际为空的记录制定处理规则。

取值约束处理:对于有取值范围约束的字段进行规范化处理,即将转换后的数据取值规范到该范围内。

主键处理:重新对中间库进行编号。

填写外键:每个数据库或多或少存在外键,外键越多,标明与其它库关联越多,这样的库应后处理;反之,外键越少的库应该先处理。

唯一键处理:对要求唯一的数据项(主键、唯一键)进行唯一检测,并对检测出的不唯一的记录,制定处理规则。

附加分散处理:对某些表中的某些字段进行数据规范化处理,即将不合规范的数据替换成规范的数据,几个表之间的关联处理,以及一些特殊处理等。

数据一致性处理:对于有多个数据源的数据进行一致性检查, 制定处理规则。

新老系统并存的架构

image
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,835评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,598评论 1 295
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,569评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,159评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,533评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,710评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,923评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,674评论 0 203
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,421评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,622评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,115评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,428评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,114评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,097评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,875评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,753评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,649评论 2 271

推荐阅读更多精彩内容