新老系统迁移

什么是系统迁移
首先介绍一下,我是一名产品经理。本篇文章主要是笔者经历过的两次系统迁移来分享一下,我经历的两次系统迁移,一次b2b电商系统,一次支付公司交易系统和支付系统,那么我们都做了什么?

为什么要做系统迁移
随着业务的不断发展,时间的推移,当前运行的系统在架构、性能等方面无法满足业务的发展,无法进行更好功能的扩展,此时,需要一套新的架构,一套更符合当前业务发展及公司整体战略的新系统出现,去承接现有的业务。所以系统迁移既是根据现有业务去开发一套兼容老业务的新系统,再将线上的业务数据迁移至新系统。
系统迁移要做哪些工作
如前文说,笔者有幸经历两次系统迁移工作,b2b电商系统的迁移主要涉及新系统开发和数据迁移。支付系统的迁移涉及新系统开发,数据迁移,接口适配。
为什么要做这些工作
系统迁移,顾名思义,一定要有新系统建设的工作。整体方案上,为了尽量减小系统迁移过程对线上交易带来的影响,我们要保证新老系统可以快速切换,一旦新系统出现问题,要可以做到瞬间切换回老系统。新系统要兼容老系统产生的数据,支持用户可以在新系统操作历史数据,比如查单,退款等。所以有了数据迁移的工作。
新系统建设
新系统开发工作,主要分为产品设计阶段,研发测试阶段,系统上线准备,正式上线。
系统迁移项目中的产品设计,是一个对老系统“取其精华去其糟粕”的过程。
产品设计:下面脑图介绍了产品设计的工作内容及注意事项。

新老系统迁移_第1张图片
产品研发及测试:
架构师对整体产品架构设计,研发小伙伴对细节流程流转进行设计,研发评审时如果是电商系统这种平台型网站产品经理可不必参加评审,只需要关注页面功能是否满足需求即可;如果是支付系统此类接口型系统,产品经理应该参加此部分评审,关注信息流转。测试用例评审产品经理也需要参加。
数据库设计:
1.数据库表格式设计时,一定要兼容老数据,否则存量用户不会放过你
2.数据结构设计时,如果进行了表结构的拆分,需要考虑前端数据展示时进行表关联造成的查询效率降低的问题。任何用户都无法忍受效率低响应慢的操作。
上线前准备:
系统上线前需要提前给产品运营、技术支持、客服、销售等同学做好相关培训。需要准备:产品操作手册、测试账号、对外宣讲ppt(主要给销售)、还有适当的学习时间。新系统上线后一定会出现各种问题,如果不能让产品运营、技术支持、客服这些解决用户问题的小伙伴学会新系统,那么亲爱的产品同学就开始身兼数职吧。。。有问题不知道如何解决的情况下大家都会来找你的。
数据迁移
1.迁移方式:
系统映射同步:老数据的处理,大批量交易数据我们采用了新老数据库字段映射同步的方式,将老数据库的数据导入新数据库中。
导出后导入:少量配置数据采用数据导出的方式,将相关数据清洗,添加到新系统中。
2. 迁移数据时间跨度:根据线上交易常用时间段为准,我们导入了2年内活跃数据。
3. 数据迁移涉及的数据纬度有:数据迁移涉及的数据纬度有:
a.商户/用户基础信息数据
b.商户/用户配置数据
c.商户/用户交易数据
4.关于一些异常数据的处理:
数据同步至新系统的过程中可能会出现数据重复、数据缺失、数据同步有时间差等问题。所以数据迁移后的核对工作至关重要。
数据重复:对于重复数据可能造成前端用户查询或下载数据重复,如有相关处理逻辑判断同样会影响后续流程判断,可以根据同步纬度进行重复数据的删除。
数据缺失:对于缺失数据可能造成前端用户查询或下载数据缺失,如有相关处理逻辑判断同样会影响后续流程判断,可以根据同步纬度在一定时间内进行数据重复补充同步。
数据同步时间差:数据同步时间差可能会影响用户在新系统查询数据时发现数据缺失,如有相关处理逻辑判断同样会影响后续流程判断,此时可以根据用户使用习惯调整同步频率。

新交易迁移
为了让交易尽量走到新系统,对于电商系统等平台型产品只需要在页面升级,使交易从新系统进入即可。对于接口类产品,由于新系统对应一套新的对外接口,需要将新系统接口对应适配到老系统接口上,保证交易从老接口进入,但信息流入新系统。
系统迁移为了保证线上交易平稳, 需要将线上交易按照商户维度将商户信息按照业务维度整条进行迁移,保证交易进入到新系统后整条信息流都处在新系统中。此种迁移方式可以保证即使迁移的交易回滚,用户处理信息可以在新老系统中处理完成整条信息流。
迁移前需要提前同步销售、用户或者商户迁移事项及影响,在双方达成一致后再进行迁移,迁移后双方同时观测交易,出现问题便于沟通排查,其他使用问题也可以收到及时反馈。也避免影响了线上交易,用户及商户侧反感较大。
迁移后需要实时观察交易,保证相关观测点无问题后才可以放弃观察。一旦发现问题及时回滚后再排查问题。
做项目的流程大体如上,其他细节后续再更。

你可能感兴趣的:(总结)