




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、保险信息系统数据迁移研究李建国,汪小帆(1易保网络技术有限公司 研发事业部, 上海市 200433; 2上海交通大学 控制工程系, 上海市 200001;)联系作者e-mail:摘 要:数据迁移是在保险信息系统替换过程中非常重要的一部分。结合项目管理知识体系框架并考虑数据迁移的特点,研究了在建设保险核心业务系统的同时进行数据迁移的步骤和方法,并进一步探讨了在数据迁移项目进行过程中经常遇到的问题,给出了解决方案。关键词:数据迁移;数据清理;保险;信息系统;Abstract: Data Conversion, or Data Migration, is one of the most import
2、ant parts in the replacement of insurance information systems. Based on the project management body of knowledge, considering the feature of data conversion, I introduced the data conversion approach and methodology, and the key issues and solutions during data conversion.Key words: Data Conversion;
3、 Data Migration; Data Cleansing; Insurance; Information System;1 概述从上个世纪七八十年代以来,信息技术迅速发展,许多保险公司纷纷开始信息化建设。由于保险业务复杂,通常一个系统很难满足所有的业务需求,于是就出现了一个保险公司有数十个系统的尴尬状况。与此同时,保险公司为了抢夺市场,拓展业务,也在不断的改进业务规则和战略,使旧有信息系统逐渐不能满足企业的需要,变成了“老系统”而被停止使用;一些技术更先进,功能更强大的信息系统登上历史舞台。俗话说“三分技术,七分管理,十二分数据”,数据对于保险公司来讲,是举足轻重的。在淘汰“老系统”的同
4、时,如何处理仍然存在于“老系统”中的数据?是否可以在新的系统中继续处理呢?在引进新系统的同时,许多保险公司都选择了一条比较稳妥并且一劳永逸的方法数据迁移。11 数据迁移的概念数据迁移,就是将旧有系统中的数据导入到新系统的一系列活动。数据迁移不同于数据库管理中的数据导入和导出。数据库的导入导出过程不会关心数据本身的结构和数据的含义,而数据迁移则相反,他要求迁移人员比较透彻的了解老系统与新系统的结构以及每个字段的含义,从而建立映射关系。数据迁移不同于信息集成(Integration)。Integration通常使用各种固定格式的文件,从而使两个系统都可以处理这个文件,达到信息交互的目的,而数据迁移
5、是将数据直接导入到新系统,新系统将代替老系统,执行所有的日常操作,比如查询,修改等。对于用户来讲,就和使用在新系统产生的数据一样。数据迁移通常会遇到下列首当其冲的问题:1) 数据库构变化了,业务含义也可能不同,甚至同一个业务所使用的数据也有可能不同。2) 部分数据的字段长度可能变化了,数据之间的完整性约束也可能不同。3) 需要迁移的数据量有多大?新系统是否能否支持?4) 需要迁移的系统有多少?5) 老系统的业务处理能力有多大?12 中间数据库通常需要迁移的数据往往以不同的形式存在,可能存在于关系型数据库中,比如DB2, Assess, SQL Server等;也可能存在于Microsoft E
6、xcel甚至文本文件中。为了方便处理,我们通常把来自各种数据源的数据转换成文本文件,导入到一个中间数据库(Staging Database)中。这个中间数据库通常和新系统的数据库是一致的。见图1。 图1我们通常不推荐使用直接导入的方法,是因为:1) 保险业务复杂,映射规则通常也很复杂,建立中间数据库便于处理。2) 如果老系统有多种格式,需要开发各种读取数据的引擎(除非购买专业的工具),成本较高。3) 由于客户的老系统的安全问题,通常不允许随意访问,因此会给后期测试带来不便。4) 直接导入性能较低,建立中间数据库,可以对数据进行预处理,效率很高,而且便于调试。2 数据迁移过程的生存期数据迁移项目
7、,归根到底是一个IT(Information Technology)项目。他是一个很复杂的过程,通常将这个过程拆分成一系列定义明确的任务和过程,从而减少项目成本,使项目管理灵活,容易控制。在此,根据IT项目的SDLC(Systems Development Life Cycle)理论,并结合数据迁移的项目时间,得到了数据迁移过程的生存周期模型。如图2。图21) 第一阶段,项目启动与计划阶段。在该阶段,需要决定数据迁移策略和方法,定义数据迁移的范围。制定项目详细计划,获得人力资源以及必要的技术。其中,制定项目计划和确定数据迁移范围特别重要。数据迁移小组应该仔细调查被替换系统以估计出大概的工作量,
8、并按照标准的数据迁移流程,制定出比较切实可行的计划。同时,也需要和客户的高级经理们沟通,制定出符合实际的数据迁移范围,在满足新系统需要的基础上,对于一些不重要的数据可以考虑以后再处理甚至不导入。2) 第二阶段,分析与设计阶段。以数据迁移的范围为基础,与用户或者客户系统专家一起,研究老系统数据库结构,并结合新系统的业务需求,得到新老系统之间的Mapping规则,完成Mapping文档。同时需要对新老系统结构之间的差异进行分析,确保需要的信息能够导入。3) 第三阶段,实施阶段。在该阶段,开发人员根据Mapping设计文档进行编程,并能够将数据导入到新系统。数据导入之后,测试人员进行反复的测试,通过
9、后提交给用户进行测试。最后用户签署测试结果,同意项目上线。4) 第四阶段,项目上线之后,数据已经在生产环境上运行。数据迁移小组还需要担当起一些维护工作,对于一些突发事件,如果和导入数据相关,需要立刻帮助解决。一个月后,数据应该已经进入比较稳定的状态,这个时候,数据迁移小组撤出项目,数据迁移项目顺利完成。3 数据迁移的基本流程为了保证数据迁移的质量,确保数据精确并且完整的导入到新系统中,我结合实际的项目经验,总结出了数据迁移的基本流程。如图3。 图31) 收集老系统信息和数据迁移的需求 (Inventory of Legacy Systems and Data Conversion)。在项目启动
10、初期,明确项目需求,制定切实可行的项目计划,是摆在数据迁移小组面前的首要问题。在这一阶段,主要完成一下工作:a) 向客户的业务和信息技术的高级经理以及下属讲授数据迁移的工作流程以及数据导入策略。详细解释数据迁移每个步骤的工作内容,以及提交给项目经理的结果。详细说明在整个数据迁移过程中,客户需要提供哪些帮助,承担哪些责任(没有客户的密切配合,数据迁移几乎是不可能的)。另外,还需要讨论在数据迁移过程中可能出现的数据安全问题。b) 数据分析员要详细了解新系统,明确新系统能够支持哪些功能,以及具体的实现方式,比如某些功能都需要哪些数据。这是和数据迁移开展工作的基础。c) 数据分析员广泛的与客户的业务人
11、员和信息技术人员开展讨论。通常是以讨论会的形式,针对保险系统的各个模块,包括人员管理,保单管理,保全,理陪,财务管理,再保等模块,讨论老系统中数据的组织形式,决定数据是否需要导入或者部分导入等等,最后形成数据迁移项目范围文档,并要求客户签署。d) 数据迁移管理人员根据数据迁移范围,结合数据迁移工作流程和以往项目经验,制定初步的数据迁移项目计划。如果数据迁移项目和新系统开发项目同时进行,需要参考新系统开发项目的计划,以便及时的跟踪新系统的需求变更,以保证数据迁移的进度和质量。项目计划形成之后,需要提交项目管理组审定,并用以跟踪以后项目实施。2) 数据质量评估 (Data Assessment)。
12、在数据迁移工程中,老系统数据质量是影响数据迁移项目进程以及质量的决定性因素。由于数据迁移的时候,迁移人员不能对老数据进行修改;通常数据清理的工作都有用户来完成。因此,及早的认识老数据的数据质量是很必要的。数据迁移小组以问卷的形式调查老系统数据质量情况,得到大致的一些概念。同时,如果用户许可,可以拿到一些实际的数据,对数据进行更详细的质量评估。数据质量评估的结果可以作为数据清理的输入,用户可以着手清理脏数据了。数据质量评估可以在项目启动以及Mapping的时候同时进行。3) 数据映射 (Data Mapping)。在该阶段,数据分析员依据数据迁移范围文档,开展更详细的分析、设计与映射工作。a)
13、首先,数据分析员需要了解对应模块老系统的数据结构,包括表和字段,以及多个表之间的关系,并撰写相应的文档供后期开发人员阅读、理解。b) 再次,数据分析员必须提供新系统的数据字典信息,并向客户的信息技术人员详细说明。c) 客户的信息技术人员在了解新系统的基础上,提供老系统中对应表和字段。数据分析员在得到这些字段的基础上,需要详细的讨论映射规则。因为,通常新老系统中的业务规则是有差异的。比如T_GENDER这个代码表,在客户系统中的值可能是1 Male,2 Female,可是在新系统中,可能是M male, F female。这时,就需要注明详细的映射规则,以免后期导入数据的时候报错。d) 数据分析
14、员撰写数据映射文档,提交给客户审阅;同时,也要和新系统的开发人员一起审阅这个文档,以保证数据映射的质量。4) 数据差异分析 (Data Gap Analysis)。Mapping结束之后,数据迁移小组需要对数据差异进行分析。一些新系统需要但是老系统无法提供的数据,需要采取合适的手段来处理;一些老系统存在但是新系统不存在的数据,如果确实需要,可能需要修改新系统的表结构。5) 开发 (Development)。在这一阶段,开发人员需要开发:a) 中间数据库的创建脚本。b) 将数据从文本文件导入到中间数据库的数据导入脚本。如果使用ORACLE数据库,可能需要编写sqlldr的控制文件和导入命令。c)
15、 编写数据检查脚本。通常,新系统是有很多业务规则的,但是老系统中的业务规则未必能满足新系统的严格要求,因此需要检查非法的数据并要求用户做数据清理。d) 编写数据导入脚本(从中间数据库到目标数据库)。e) 部分测试脚本和数据统计脚本。6) 测试 (Testing)。在该过程中,数据迁移小组运用多种方法对导入数据进行测试,确保导入数据可以在新系统中顺畅运行。a) 开发人员需要数据导入过程进行经常性的测试。见图4。开发人员从抽取,建立中间数据库,上载数据到导入数据,必须确保无错误运行。b) 测试人员对数据进行保费重算测试。在保险系统中,保费的计算非常复杂,也是最不允许出错的部分。测试人员运用开发人员
16、开发的保费重算脚本对所有导入的保单进行重算保费,并对结果进行分析。c) 测试人员对导入的数据进行统计,并和老系统中的统计结果比较,检查是否一致,从而保证数据导入的总量以及关键业务数据的值的正确性。d) 测试人员运用导入数据进行功能测试,保证上线之后数据的正常运行。e) 用户对数据进行校验,并进行功能测试。7) 数据清理 (Data Cleansing)。从图3可以看出,在数据迁移的过程中,数据清理是从头到尾贯彻始终的过程。在分析设计,开发,测试等各个阶段,都有可能发现老数据的错误,因此及时的通知客户进行数据清理,并重新抽取数据是相当重要的。8) 系统上线。见图4。在新系统开发完成,数据迁移测试
17、完成之后,客户重新抽取最新的数据,数据迁移小组将数据导入之后,用户停用老系统并使用新系统以及导入的数据进行日常工作。 图44 数据迁移的各种角色数据迁移的特点,决定了数据迁移人员通常要具有较高的素质。从项目初期的系统分析以及映射,需要对新老系统的业务有很深的了解,同时也需要有较强的沟通能力。在开发阶段,需要有较强的数据库技能,包括开发导入脚本以及进行中间数据库的数据库管理。同时,还需要有较强的测试能力,以及项目管理能力。当然,也可以是一个项目管理小组来共同完成这项工作。通常一个数据迁移小组中,包括以下各种角色。1) 用户(Business Owners)。用户主要负责数据迁移过程的下列任务:a
18、) 在老系统中进行数据清理b) 在新系统中对导入数据进行测试c) 确认新老系统字段之间映射关系,以及业务规则d) 在项目实施各个阶段,确认并签署相应文档2) 数据分析员 (Analyst)。数据分析员主要承担下列任务:a) 精通新老数据模型b) 确定数据迁移的需求和范围c) 在新老系统之间建立映射关系d) 跟踪新系统需求变更并保持数据迁移文档的更新3) 数据库管理员 (Database Administrator)。数据库管理员主要承担下面的任务:a) 建立数据库b) 控制数据迁移文档质量,注意表名等命名规范是否合法。c) 确认数据库结构变更,并及时通知数据迁移小组成员。d) 保证数据安全e)
19、 其他DBA的例行任务4) 开发人员 (Programmer)。开发人员的主要任务包括:a) 分配开发任务,并开发数据迁移代码,进行单元测试b) 遵守开发规范c) 报告开发进度d) 审阅需求文档,并提出有疑问之处。5) 测试人员 (Tester)。测试人员的主要任务包括:a) 对导入数据进行大规模有计划的测试b) 进行回归测试,确保发现问题及时解决c) 统计Bug数量,并报告项目经理5 数据迁移的难点及解决方案1) 客户通常要求把所有老数据都导入,我们怎么办?对于传统数据迁移或数据库更替问题,客户或数据库开发维护人员考虑得更多的是数据迁移的完整性和可靠性。但是,鉴于保险业务的复杂性以及系统的复
20、杂性,我们不建议导入所有的数据。因为新旧系统替换过程中,历史数据的迁移绝对不是孤立存在的。它虽然看似一个简单的数据库更替问题,但是,它涉及到从一个保险系统到另一个保险系统,从一个应用模式转向另一个应用模式的转变,这其中更多的是保险业务以及系统的差异问题。对于同一场上不同版本系统之间的替换,由于系统是在同一数据库基础上开发,而且存储逻辑或方法基本相同,所以旧系统中的数据利用率会很高,可以达到70%;而对于不同厂商的产品替换,其旧数据利用率不超过10%,而且旧系统中数据利用得越多,新系统的负担就越大、性能越差、信息越不准确,这与简单的数据库迁移强调完整性有着本质区别。而且,虽然用户选择的保险核心业
21、务系统提供商所提供产品的模块可能相同,但是在相应实现方法、数据库记录的表结构以及工作流程方面却是大相径庭,因此,保险系统替换过程中的数据迁移不仅仅是数据的导入、导出问题,更是系统的更换、工作方式的改变。所以,必须结合新老系统之间的差异程度以及实现复杂性,并考虑投入成本和时间问题,作出比较合理的决策。简单的说要导入所有数据是不合适的,也是不实际的,最终只会导致项目的失败。2) 业务数据的迁移通常有哪些条件呢?首先,并不是所有的数据都可以平滑过渡到新系统之中,尤其是对不同厂商的保险系统替换,原有数据的利用率非常低。因此用户和实施顾问更应该关注数据的有效性,即搞清到底哪些数据对于新系统功能模块来说是
22、有用的。通常,数据分为两大类:一类是基础数据,一类是业务数据。其中,基础数据是指开展业务活动所需要的基础数据,如产品基本信息、客户、保单嘻嘻等等。基础数据的特点是它在整个系统使用过程中会基本保持不变,同时它是业务数据的基础,用户所有业务人员通过调用基础数据来保持同一数据在整个系统中的唯一性。所以,用户在新旧系统迁移过程中首先应考虑这一项。而且通常情况下,这些数据在同一厂商不同产品中或不同厂商的产品中可以共用。因此,这些数据基本上可以导入到新系统当中。而对于老系统中发生的保全信息,通常我们要求客户把一些没有完成的保全操作完成,或者在新系统中重新做保全。如果保全已经完成,由于已经生效,而且保单信息已经更改,所以我们不建议导入保全操作的历史记录。又如,财务历史记录,如果在同一厂商保
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年河北省定州市辅警招聘考试试题题库含答案详解(a卷)
- 2025年K2学校STEM课程实施与科学教育改革研究报告
- 初中美术九年级上册统编教案
- 偏头痛诊治攻略2025
- 世界人口日人口发展现状老龄化探讨提升出生人口素质课件
- 初中数学九年级下册统编教案 7.6用锐角三角函数解决问题(第1课时)
- 2025届高考物理大一轮复习课件 第六章 第31课时 专题强化:动力学和能量观点的综合应用
- DeepSeek大模型教育领域解决方案
- 江苏省苏州市2024-2025学年七年级下学期生物期末模拟试卷 (含解析)
- 相似三角形测试题及答案
- JJG 151-2006 金属维氏硬度计检定规程-(高清现行)
- 张双楼煤矿安全评价报告(出版稿10.14)
- 关于赣州市登革热病例疫情的初步调查报告
- 网络舆论监督存在的问题及对策分析研究行政管理专业
- 普佑克四期临床方案
- (苏教版)二年级科学(下册)第四单元课件全套
- 深圳实验学校小学毕业班数学试卷
- 工业产品质量监督抽查复查复检样品确认书(模板)
- 挂牌上锁及维修管理程序文件
- 上海初中地理会考知识点汇总(上海乡土地理
- 模糊层次分析法讲解
评论
0/150
提交评论