`

新旧系统更替产生的数据迁移问题

阅读更多

新旧系统更替产生的数据迁移问题

者:西安项目组撰文时间:2004.11.08

在信息化建设过程中,随着技术的发展,原有的信息系统不断被功能更强大的新系统所取代。从两层结构到三层结构,从Client/ServerBrowser/Server。在新旧系统的切换过程中,必然要面临一个数据迁移的问题。

数据迁移的概念

原有的旧系统从启用到被新系统取代,在其使用期间必然会积累大量珍贵的历史数据,其中许多历史数据都是新系统顺利启用所必须的。另外,这些历史数据也是进行决策分析的重要依据。数据迁移,就是将这些历史数据进行清洗、转换,并装载到新系统中的过程。数据迁移主要适用于一套旧系统切换到另一套新系统,或多套旧系统切换到同一套新系统时,需要将旧系统中的历史数据转换到新系统中的情况。税务、电信、工商、银行、保险以及销售等领域发生系统切换时,一般都需要进行数据迁移。对于多对一的情况,例如由于信息化建设的先后,造成有多个不同的系统同时运行,但相互间不能做到有效信息共享,所以就需要一套新系统包容几套旧系统的问题。

数据迁移对系统切换乃至新系统的运行有着十分重要的意义。数据迁移的质量不光是新系统成功上线的重要前提,同时也是新系统今后稳定运行的有力保障。如果数据迁移失败,新系统将不能正常启用;如果数据迁移的质量较差,没能屏蔽全部的垃圾数据,对新系统将会造成很大的隐患,新系统一旦访问这些垃圾数据,可能会由这些垃圾数据产生新的错误数据,严重时还会导致系统异常。

相反,成功的数据迁移可以有效地保障新系统的顺利运行,能够继承珍贵的历史数据。因为无论对于一个公司还是一个部门,历史数据无疑都是十分珍贵的一种资源。例如税务部门的纳税资料、公司的客户信息、银行的存款记录等。

数据迁移的特点

系统切换时的数据迁移不同于从生产系统OLTP On-line Transaction Processing),到数据仓库DWData Warehouse)的数据抽取。后者主要将生产系统在上次抽取后所发生的数据变化同步到数据仓库,这种同步在每个抽取周期都进行,一般以天为单位。而数据迁移是将需要的历史数据一次或几次转换到新的生产系统,其最主要的特点是需要在短时间内完成大批量数据的抽取、清洗和装载。

数据迁移的内容是整个数据迁移的基础,需要从信息系统规划的角度统一考虑。划分内容时,可以从横向的时间和纵向的模块两个角度去考虑。

横向划分

以产生数据的时间为划分依据,需要考虑比较久远的历史数据如何迁移的问题。由于信息技术的发展,以及我们对计算机依赖性的增强,新系统每天往往需要比旧系统存储更多的信息,同时为了解决数据量高增长带来的性能瓶颈,新系统一般只保留一定时期的数据,比如1年,而把超过保存周期的数据,即1年以前的数据转移到数据仓库中,以便用于决策分析(需建立决策支持系统)DSS系统。对于这种新系统的数据迁移,主要迁移1年以内的数据,1年以前的历史数据需要另外考虑。

纵向划分

以处理数据的功能模块为划分依据,需要考虑在新系统中没有被包含的功能模块,其所涉及数据的处理问题。这类数据由于无法建立映射关系,一般不需要迁移到新系统中。但对于模块间偶合度比较紧密的旧系统,在纵向划分时需要注意数据的完整性。对于这次的数据迁移,旧系统的各个功能模块可以和新系统建立一定的映射关系,因此本次的迁移基本是针对模块做的工作。

数据迁移的方法

数据迁移可以采取不同的方法进行,归纳起来主要有四种方法,即系统切换前通过ETL工具迁移、编写后台数据库程序、系统切换前采用手工录入和系统切换后通过新系统生成。

系统切换前通过工具迁移

在系统切换前,利用ETLExtract Transform Load)工具把旧系统中的历史数据抽取、转换,并装载到新系统中去。其中ETL工具可以购买成熟的产品(如InfomaticBusiness Objects公司的Data Integrator Designer),也可以是自主开发的程序。这种方法是数据迁移最主要,也是最快捷的方法。其实施的前提是,历史数据可用并且能够映射到新系统中。

编写后台数据库程序

在系统切换前,将旧系统涉及到的迁移数据,在新系统中建立相应的数据库表结构,并将旧数据导入相应的表中,然后在新系统中编写后台程序,将历史数据迁移到新系统中。本次我们的迁移是建立一个和正式系统一模一样的数据迁移数据库,将旧系统的迁移数据imp到此迁移数据库中,所有的编码和调试也都在此环境中进行,这样就可以将导入到新系统的数据可能产生的问题,如:字典表数据的转化、外键约束等等,在迁移数据库中全部处理掉,这样得到的数据便可顺利的导入新系统。

系统切换前采用手工录入

在系统切换前,组织相关人员把需要的数据手工录入到新系统中。这种方法消耗的人力、物力比较大,同时出错率也比较高。主要是一些无法转换到新系统中的数据,和新系统启用时必需要而旧系统无法提供的数据采用这种方法,可作为第一种方法的有益补充。

系统切换后通过新系统生成

在系统切换后,通过新系统的相关功能,或为此专门开发的配套程序生成所需要的数据。通常根据已经迁移到新系统中的数据来生成所需的信息。其实施的前提是,这些数据能够通过其它数据产生。

数据迁移的策略

数据迁移的策略是指采用什么方式进行数据的迁移。结合不同的迁移方法,主要有一次迁移、分次迁移、先录后迁、先迁后补等几种方式可供选择。

一次迁移

一次迁移是通过数据迁移工具或迁移程序,将需要的历史数据一次性全部迁移到新系统中。一次迁移的优点是迁移实施的过程短,相对分次迁移,迁移时涉及的问题少,风险相对比较低。其缺点工作强度比较大,由于实施迁移的人员需要一直监控迁移的过程,如果迁移所需的时间比较长,工作人员会很疲劳。一次迁移的前提是新旧系统数据库差异不大,允许的宕机时间内可以完成所有数据量的迁移。

分次迁移

分次迁移是通过数据迁移工具或迁移程序,将需要的历史数据分几次迁移到新系统中。分次迁移可以将任务分开,有效地解决了数据量大和宕机时间短之间的矛盾。但是分次切换导致数据多次合并,增加了出错的概率,同时为了保持整体数据的一致性,分次迁移时需要对先切换的数据进行同步,增加了迁移的复杂度。分次迁移一般在系统切换前先迁移静态数据和变化不频繁的数据,例如代码、用户信息等,然后在系统切换时迁移动态数据,例如交易信息,对于静态数据迁移之后发生的数据变更,可以每天同步到新系统中,也可以在系统切换时通过增量的方式一次同步到新系统中。本次就采用了分次迁移的策略,即按分局分次迁移;对于某些信息也采用了定时更新的手段,以保证数据的正确性。

先录后迁

先录后迁是在系统切换前,先通过手工把一些数据录入到新系统中,系统切换时再迁移其它的历史数据。先录后迁主要针对新旧系统数据结构存在特定差异的情况,即对于新系统启用时必需的期初数据,无法从现有的历史数据中得到。对于这部分初期数据,就可以在系统切换前通过手工录入。比如这次的核定信息、征管鉴定信息、减免税审批结果、发票领购申请/审批等等,就是采用的先录后迁的方式。

先迁后补

先迁后补是指在系统切换前通过数据迁移工具或迁移程序,将原始数据迁移到新系统中,然后通过新系统的相关功能,或为此专门编写的配套程序,根据已经迁移到新系统中的原始数据,生成所需要的结果数据。先迁后补可以减少迁移的数据量。

数据迁移的技术准备

数据转换与迁移通常包括多项工作:旧系统数据字典整理、旧系统数据质量分析、新系统数据字典整理、新旧系统数据差异分析、建立新旧系统数据之间的映射关系、开发部署数据转换与迁移程序、制定数据转换与迁移过程中的应急方案、实施旧系统数据到新系统的转换与迁移工作、检查转换与迁移后数据的完整性与正确性。

数据转换与迁移程序,即ETL的过程大致可以分为抽取、转换、装载三个步骤。数据抽取、转换是根据新旧系统数据库的映射关系进行的,而数据差异分析是建立映射关系的前提,这其中还包括对代码数据的差异分析。转换步骤一般还要包含数据清洗的过程,数据清洗主要是针对源数据库中,对出现二义性、重复、不完整、违反业务或逻辑规则等问题的数据进行相应的清洗操作,在清洗之前需要进行数据质量分析,以找出存在问题的数据,否则数据清洗将无从谈起。数据装载是通过装载工具或自行编写的SQL程序将抽取、转换后的结果数据加载到目标数据库中。

数据迁移的实现

数据迁移的实现可以分为三个阶段:数据迁移前的准备、数据迁移的实施和数据迁移后的校验。

由于数据迁移的特点,大量的工作都需要在准备阶段完成,充分而周到的准备工作是完成数据迁移的主要基础。具体而言,要进行待迁移数据源的详细说明,包括数据的存放方式、数据量、数据的时间跨度,建立新旧系统数据库的数据字典,就是我们常说的参照表;对旧系统的历史数据进行质量分析,新旧系统数据结构的差异分析;新旧系统代码数据的差异分析;建立新老系统数据库表的映射关系,对无法映射字段的处理方法,开发、部属ETL工具,编写数据转换的测试计划和校验程序,制定数据转换的应急措施。我们对于部分由于时间太久而无法对应的数据字典数据,采用建特殊代码并对新系统禁用的方式,以保证迁移的完整性,此部分数据可在今后通过于客户协商采用更好的方式进行修正。

其中,数据迁移的实施是实现数据迁移的三个阶段中最重要的环节。它要求制定数据转换的详细实施步骤流程;准备数据迁移环境;业务上的准备,结束未处理完的业务事项,或将其告一段落;对数据迁移涉及的技术都得到测试;最后实施数据迁移。

数据迁移后的校验是对迁移工作的检查,数据校验的结果是判断新系统能否正式启用的重要依据。可以通过质量检查工具或编写检查程序进行数据校验,通过试运行新系统的功能模块,特别是查询、报表功能,检查数据的准确性。

对数据的检查

数据长度检查:检查数据的有效长度。对于char类型的字段转换到varchar类型中,需要特别关注。

区间范围检查:检查数据是否包含在定义的最大值和最小值的区间中;例如年龄为300,或录入日期在4000-1-1

空值、默认值检查:检查新旧系统定义的空值、默认值是否相同,不同数据库系统对空值的定义可能不同,需要特别关注。

完整性检查:检查数据的关联完整性。如记录引用的代码值是否存在,特别需要注意的是有些系统在使用一段时间后,为了提高效率而去掉了外键约束。

一致性检查:检查逻辑上是否存在违反一致性的数据,特别是存在分别提交操作的系统。

数据迁移后的校验

在数据迁移完成后,需要对迁移后的数据进行校验。数据迁移后的校验是对迁移质量的检查,同时数据校验的结果也是判断新系统能否正式启用的重要依据。可以通过两种方式对迁移后的数据进行校验。

对迁移后的数据进行质量分析,可以通过数据质量检查工具,或编写有针对性的检查程序进行。对迁移后数据的校验有别于迁移前历史数据的质量分析,主要是检查指标的不同。迁移后数据校验的指标主要包括五方面:完整性检查,引用的外键是否存在;一致性检查,相同含义的数据在不同位置的值是否一致;总分平衡检查,例如欠税指标的总和与分部门、分户不同粒度的合计对比;记录条数检查,检查新旧数据库对应的记录条数是否一致;特殊样本数据的检查,检查同一样本在新旧数据库中是否一致。

新旧系统查询数据对比检查,通过新旧系统各自的查询工具,对相同指标的数据进行查询,并比较最终的查询结果;先将新系统的数据恢复到旧系统迁移前一天的状态,然后将最后一天发生在旧系统上的业务全部补录到新系统,检查有无异常,并和旧系统比较最终产生的结果。

此次迁移的数据检查采用了检查新旧系统的记录数据是否一致,按照行业、按纳税户、按级次、按转化条件等等得到的数据与在旧系统按同样的方式查询是否一致。

分享到:
评论

相关推荐

    sql数据库之间数据的转录

    最后,迁移后需要进行详尽的数据验证,确保所有数据都已正确导入且新旧数据库的数据一致性得到保持。这可能涉及到执行对比查询,检查统计信息,甚至进行业务逻辑验证。 总结,SQL数据库之间的数据转录是一个涉及多...

    安川MP7系列工控系统源码解析:关键算法与硬件交互揭秘

    内容概要:本文深入剖析了安川MP7系列工业控制系统的关键源码,重点介绍了运动轨迹规划、通信协议处理以及故障处理机制等方面的技术细节。通过对实际代码片段的解读,揭示了该系统在硬件寄存器直接访问、特殊功能码处理等方面的独特之处。同时,文中还分享了一些基于实践经验得出的重要参数设置及其背后的故事,如特定摩擦补偿系数的选择原因等。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是对安川产品有一定了解并希望深入了解其内部工作机制的专业人士。 使用场景及目标:帮助读者掌握安川MP7系列控制器的工作原理,提高对类似系统的维护能力和故障排查效率。对于想要进一步研究或二次开发该系统的开发者来说,也能提供宝贵的参考资料。 其他说明:文章不仅限于理论讲解,还包括了许多来自一线的实际案例和经验教训,使读者能够更好地理解和应用所学知识。

    自动化测试与脚本开发_Python3_pynput_键盘鼠标操作录制执行代码生成工具_用于自动化测试_脚本录制_重复操作模拟_宏命令生成_提高工作效率_支持GUI界面_跨平台兼容_.zip

    自动化测试与脚本开发_Python3_pynput_键盘鼠标操作录制执行代码生成工具_用于自动化测试_脚本录制_重复操作模拟_宏命令生成_提高工作效率_支持GUI界面_跨平台兼容_

    嵌入式八股文面试题库资料知识宝典-深入分析Windows和Linux动态库应用异同.zip

    嵌入式八股文面试题库资料知识宝典-深入分析Windows和Linux动态库应用异同.zip

    嵌入式八股文面试题库资料知识宝典-C语言总结.zip

    嵌入式八股文面试题库资料知识宝典-C语言总结.zip

    风储直流微电网母线电压控制策略与双闭环MPPT技术研究

    内容概要:本文详细探讨了风储直流微电网中母线电压控制的关键技术。首先介绍了风储直流微电网的背景和发展现状,强调了母线电压控制的重要性。接着阐述了永磁风机储能并网技术,解释了永磁风机如何通过直接驱动发电机将风能转化为电能,并确保与电网的同步性和稳定性。然后深入讨论了双闭环控制MPPT技术,这是一种通过内外两个闭环控制系统来实现实时调整发电机运行参数的技术,确保风机始终处于最大功率点附近。最后,文章探讨了储能控制母线电压平衡的方法,即通过储能系统的充放电操作来维持母线电压的稳定。结论部分指出,通过这些技术的有机结合,可以实现对风储直流微电网的有效管理和优化控制。 适合人群:从事新能源技术研发的专业人士、电气工程研究人员、风电系统工程师。 使用场景及目标:适用于希望深入了解风储直流微电网母线电压控制策略的研究人员和技术人员,旨在帮助他们掌握最新的控制技术和方法,以提高系统的稳定性和效率。 其他说明:文章还对未来风储直流微电网的发展进行了展望,指出了智能化和自动化的趋势,以及储能技术的进步对系统性能的影响。

    嵌入式八股文面试题库资料知识宝典-C++object-oriented.zip

    嵌入式八股文面试题库资料知识宝典-C++object-oriented.zip

    【操作系统开发】HarmonyOS目录结构详解:构建高效开发环境与跨设备协同应用

    内容概要:文章详细介绍了HarmonyOS的目录结构及其重要性,从整体框架到核心目录的具体功能进行了全面剖析。HarmonyOS凭借其分布式架构和跨设备协同能力迅速崛起,成为全球操作系统领域的重要力量。文章首先概述了HarmonyOS的背景和发展现状,强调了目录结构对开发的重要性。接着,具体介绍了根目录文件、AppScope、entry和oh_modules等核心目录的功能和作用。例如,AppScope作为全局资源配置中心,存放应用级的配置文件和公共资源;entry目录是应用的核心入口,负责源代码和界面开发。此外,文章还对比了HarmonyOS与Android、iOS目录结构的异同,突出了HarmonyOS的独特优势。最后,通过旅游应用和电商应用的实际案例,展示了HarmonyOS目录结构在资源管理和代码组织方面的应用效果。; 适合人群:具备一定编程基础,尤其是对移动操作系统开发感兴趣的开发者,包括初学者和有一定经验的研发人员。; 使用场景及目标:①帮助开发者快速理解HarmonyOS的目录结构,提高开发效率;②为跨设备应用开发提供理论和技术支持;③通过实际案例学习资源管理和代码组织的最佳实践。; 其他说明:HarmonyOS的目录结构设计简洁明了,模块职责划分明确,有助于开发者更好地管理和组织代码和资源。随着万物互联时代的到来,HarmonyOS有望在开发便利性和生态建设方面取得更大进展,吸引更多开发者加入其生态系统。

    飞轮储能充放电控制Simulink仿真模型:基于永磁同步电机的矢量控制与dq轴解耦

    内容概要:本文详细介绍了飞轮储能充放电控制的Simulink仿真模型,重点在于采用永磁同步电机的矢量控制和dq轴解耦控制策略。充电时,外环控制转速,内环控制dq轴电流;放电时,外环控制直流母线电压,内环同样控制dq轴电流。文中还讨论了硬件与软件环境的选择,以及仿真模型的调试与运行情况,最终得出该模型具有良好的跟随性能和波形完美度。 适用人群:从事电力电子系统、储能技术和Simulink仿真的研究人员和技术人员。 使用场景及目标:适用于需要对飞轮储能系统进行深入研究和仿真的场合,旨在提高充放电效率和稳定性,满足不同应用场景的需求。 其他说明:该仿真模型已调试完成,可以直接用于进一步的研究和实际应用,为未来的飞轮储能技术研发提供了有价值的参考。

    嵌入式八股文面试题库资料知识宝典-北京瑞德方科技.zip

    嵌入式八股文面试题库资料知识宝典-北京瑞德方科技.zip

    嵌入式八股文面试题库资料知识宝典-同方万维硬件测试工程师.zip

    嵌入式八股文面试题库资料知识宝典-同方万维硬件测试工程师.zip

    1_15套python PDF格式.zip

    1_15套python PDF格式.zip

    三相三电平整流器仿真:基于电压电流双闭环控制与SPWM调制的性能分析

    内容概要:本文详细介绍了三相三电平整流器的仿真过程及其性能分析。文中首先概述了三相三电平整流器的基本概念及其在电力系统中的重要作用,接着重点探讨了电压电流双闭环控制方式的工作原理和优势,以及SPWM调制技术的具体应用。通过仿真文件展示了整流器在不同条件下的响应情况,验证了这两种技术的有效性和优越性。最后,作者表达了对未来实际应用的期望。 适合人群:从事电力电子研究的技术人员、高校相关专业师生、对电力控制系统感兴趣的工程爱好者。 使用场景及目标:适用于希望深入了解三相三电平整流器工作原理和技术细节的研究人员;目标是在理论基础上掌握电压电流双闭环控制和SPWM调制的实际应用方法。 其他说明:本文提供的仅为仿真文件,未涉及实物实验数据。

    嵌入式八股文面试题库资料知识宝典-恒光科技.zip

    嵌入式八股文面试题库资料知识宝典-恒光科技.zip

    嵌入式八股文面试题库资料知识宝典-北京天华威视科技有限公司面试题.zip

    嵌入式八股文面试题库资料知识宝典-北京天华威视科技有限公司面试题.zip

    嵌入式八股文面试题库资料知识宝典-微软研究院笔试题目的答案.zip

    嵌入式八股文面试题库资料知识宝典-微软研究院笔试题目的答案.zip

    Arduino UART实验例程【正点原子EPS32S3】

    Arduino UART实验例程,开发板:正点原子EPS32S3,本人主页有详细实验说明可供参考。

    嵌入式八股文面试题库资料知识宝典-朝歌数码.zip

    嵌入式八股文面试题库资料知识宝典-朝歌数码.zip

    嵌入式八股文面试题库资料知识宝典-Cortex系列.zip

    嵌入式八股文面试题库资料知识宝典-Cortex系列.zip

    嵌入式八股文面试题库资料知识宝典-中科中科长青笔试题.zip

    嵌入式八股文面试题库资料知识宝典-中科中科长青笔试题.zip

Global site tag (gtag.js) - Google Analytics