迁移方案
1.验证阶段
1.1 资源扩容验证
国产操作系统服务器【资源扩容】(CPU/内存/磁盘/网卡热添加)验收(政务云提供相关能力);
1.2 中间件兼容性验证
各种【中间件】(Nginx、MySQL、Redis、nacos、MQ、minio、rancher等)国产系统兼容性验证;
1.3 部署验证
政务云提供国产操作系统服务器3-5台,最小化部署各业务系统,包括前端、后端服务、数据库、中间件等,并进行功能验证;
2.部署阶段
2.1 平行迁移
2.1.1 定义说明
平行迁移模式实施的原则是对业务不产生影响,业务流程不变、业务功能不变、应用处理逻辑不变、与外围系统接口不变、数据逻辑模型不变的前提下,重新申请服务器资源,全量部署系统,待测试验证完成后,进行系统入口切换,一步到位迁移系统。
2.1.2 实施步骤
- 资源申请:单独申请国产操作系统服务器,并保持与既存系统同等配置及安全要求;
- 系统部署:基础软件初始化安装及中间件,单独部署全量业务系统;
- 业务验证:进行基线测试,主流程功能验证;
- 配套设施:添加安全策略、访问权限、监控告警等;
- 入口测试:提供新域名/公网地址,进行公网业务功能测试;
2.2 绞杀模式
2.2.1 定义说明
老系统向新系统迁移时,可采用将老系统的部分功能使用新应用或服务替换的方式逐步进行。当老系统全部的功能被替换后,新系统就完成了对老系统的替代,从而老系统被”绞杀“,老系统可以关闭或者下线。这种逐步替换老系统功能到新系统的应用或服务上,逐步完成老系统替换的模式,称之为”绞杀者“模式。简而言之,”绞杀者“模式就是一步一步的对老系统进行替换,直至老系统的所有功能都被替换。
2.2.2 实施步骤
- 资源申请:单独申请国产操作系统服务器,并保持与既存系统同等配置及安全要求;
- 系统部署:基础软件初始化安装及中间件,在当前线上环境部署业务,与现有集群组成国产/CentOS混合集群;
- 业务验证:进行基线测试,主流程功能验证;
- 配套设施:添加安全策略、访问权限、监控告警等;
- 逐步替换:按照后端服务、中间件服务、数据库、前端服务的顺序逐步替换原系统。
3.测试阶段
3.1 功能测试
对测试对象的功能测试应侧重于所有可直接追踪到用例或业务功能和业务规则的测试需求。这种测试的目标是核实数据的接受、处理和检索是否正确,以及业务规则的实施是否恰当,操作流程是否无问题。此类测试基于黑盒技术,该技术通过图形用户界面(GUI)与应用程序进行交互,并对交互的输出或结果进行分析,以此来核实应用程序及其内部进程。
测试目标 | 确保测试的功能正常。 |
测试范围: | 系统中所有功能模块 |
技术: | 利用有效的和无效的数据来执行各个用例、用例流,以核实以下内容: 在使用有效数据时得到预期的结果。 在使用无效数据时显示相应的错误消息或警告消息。 各业务规则都得到了正确的应用,业务流程能无障碍走通。 操作流程测试:主要有业务流程、数据流程、逻辑流程、正反流程、检查软件在按流程操作时是否能正确处理。 |
开始标准: | 需求趋于稳定,开发工作阶段基本完成。 |
完成标准: | 所计划的测试已全部执行,且问题修改完成。 |
测试重点和优先级: | 需确保系统与需求一致,检查所有流程分支、功能正常、异常场景。优先级高。 |
需考虑的特殊事项: | 回归测试时需检查是否引入新问题 |
3.2 用户界面测试
用户界面(UI)测试用于核实用户与软件之间的交互。UI测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。另外,UI测试还可确保UI中的对象按照预期的方式运行,并符合公司或行业的标准。
测试目标 | UI测试核实以下内容: 通过测试进行的浏览可正确反映业务的功能和需求,这种浏览包括窗口与窗口之间、字段与字段之间的浏览,以及各种访问方法(Tab键、鼠标移动、和快捷键)的使用 窗口的对象和特征(例如,菜单、大小、位置、状态和中心)都符合标准《界面设计规范》。 |
测试范围: | 页面布局是否合理、文字排版是否对齐、易用性(快捷方便、简单明了)等 |
技术: | 为每个窗口创建或修改测试,以核实各个应用程序窗口和对象都可正确地进行浏览,并处于正常的对象状态。 |
开始标准: | 需求趋于稳定,开发工作阶段基本完成。 |
完成标准: | 成功地核实出各个窗口都与基准版本保持一致,或符合可接受标准 |
测试重点和优先级: | 需确保系统与UI设计规范一致。 优先级高。 |
需考虑的特殊事项: | 并不是所有定制或第三方对象的特征都可访问。 |
3.3 性能测试
性能评测是一种性能测试,它对响应时间、事务处理速率和其他与时间相关的需求进行评测和评估。性能评测的目标是核实性能需求是否都已满足。实施和执行性能评测的目的是将测试对象的性能行为当作条件(例如工作量或硬件配置)的一种函数来进行评测和微调。
注:以下所说的事务是指“逻辑业务事务”。这种事务被定义为将由系统的某个Actor通过使用测试对象来执行的特定用例,添加或修改给定的合同。
测试目标 | 核实所指定的事务或业务功能在以下情况下的性能行为: 成功率>99% 吞吐量/处理能力:>=50/秒 平均响应时间:<=5秒 同时在线用户量:100 |
测试范围: | 列表查询 |
技术: | 使用jmeter工具,用于模拟多用户并发操作,测试服务器在不同压力下的性能,并输出测试结果。 |
开始标准: | 系统架构趋于稳定,各模块功能无严重问题遗留。 |
完成标准: | 单个事务或单个用户:在每个事务所预期时间范围内成功地完成测试脚本,没有发生任何故障。 多个事务或多个用户:在可接受的时间范围内成功地完成测试脚本,没有发生任何故障。 |
测试重点和优先级: | 优先级中 |
需考虑的特殊事项: |
3.4 兼容性测试
兼容性测试核实测试对象在不同的软件和硬件配置中的运行情况。在大多数生产环境中,客户机工作站、网络连接和数据库服务器的具体硬件规格会有所不同。客户机工作站可能会安装不同的软件 例如,应用程序、驱动程序等 而且在任何时候,都可能运行许多不同的软件组合,从而占用不同的资源。
测试目标 | [核实测试可在所需的硬件和软件配置中正常运行(包括操作系统)。] |
测试范围: | 操作系统:centos7、 银河麒麟V10 对于B/S 架构的系统:chrome、Firefox、Microsoft Edge 对于C/S 架构的系统:Android7、iOS |
技术: | [使用功能测试脚本。 在测试过程中或在测试开始之前,打开各种与非测试对象相关的软件(例如Microsoft应用程序:Excel和Word),然后将其关闭。 执行所选的事务,以模拟Actor与测试对象软件和非测试对象软件之间的交互。 重复上述步骤,尽量减少客户机工作站上的常规可用内存。] |
开始标准: | 页面开发完成,自测结束 |
完成标准: | [对于测试对象软件和非测试对象软件的各种组合,所有事务都成功完成,没有出现任何故障。] |
测试重点和优先级: | 测试不同系统和机型的兼容性 |
需考虑的特殊事项: | [需要、可以使用并可以通过桌面访问哪种非测试对象软件? 通常使用的是哪些应用程序? 应用程序正在运行什么数据?例如,在Excel中打开的大型电子表格,或是在Word中打开的100页文档。 作为此测试的一部分,应将整修系统、Netware、网络服务器、数据库等都记录下来。] |
4.切换阶段
4.1 数据迁移
4.1.1 全量迁移
对当前数据(包括不仅限于Redis、MySQL、minio等)进行迁移验证及全量迁移;
4.1.2 增量迁移
根据迁移计划,在系统切换当日进行,系统关停,并对增量数据(包括不仅限于Redis、MySQL、minio等)进行迁移;
4.2 入口切换
将各系统地址更换为新环境公网IP/域名/CDN地址,并与云服务、第三方进行沟通,配合切换;
4.3 APP强制升级(按需)
APP客户端需更换全量后端服务地址提交审核,强制升级,并做好回退版本准备;
5.回退方案
5.1 平行迁移回退
此部署方案采用双独立环境部署,国产/CentOS各一套,并且有单独公网IP、域名等,如需切换,即停用国产环境,启用既存CentOS环境服务,并且对APP进行强制升级;
数据同步,两套环境数据单独运行不做同步,如需切换,需要停服务,将新增数据全量同步回CentOS环境。
5.2 绞杀模式回退
绞杀模式下,CentOS服务已做下线处理,回退时需将服务重启,并加入国产操作系统服务集群中,并进行数据迁移。