本文摘自《移动通信》2013年4期。作者:王海霞 朱明英 【摘 要】通过对传统的系统割接和增量割接这两种方法进行介绍,提出了采用增量割接的方法可以大大缩短业务中断的时间,将系统割接对客户的影响减到最少,尤其是在超级规模的业务系统中具有极其显著的优势。
【关键词】业务系统 增量割接 连续性
1 背景
随着信息技术的发展,通信在人们生活中越来越重要,人们的需求朝着个性化、网络化的方向发展,电信网络是支撑这一发展的基础。2008年电信运营商进行重组,电信迎来了全业务运营时代,这对IT系统的建设无疑是一个巨大的挑战。
系统割接是随着IT系统的建设提出的一个名词,它是一个业务系统上线、升级以及迁移过程中的重要组成部分。系统割接的类型多种多样,举例如下:
(1)主机或者存储设备更新,要求将系统从一个设备迁移至另一个设备;
(2)系统功能不适应当前业务需求,做升级改造;
(3)系统架构和部署的改变,例如从省、市两级部署模式升级成省集中的模式;
(4)新系统上线,替代旧系统。
由于系统割接涉及范围广、风险大,过去常常采用业务完全停止的方式来完成系统割接,对业务系统的连续性和可用性带来了巨大的影响,尤其是现在的IT系统的业务实时性要求都很高,这种长时间中断业务的割接方法已完全不适用现状。
2 传统的系统割接的流程及方法
传统的系统割接流程如图1所示,主要步骤如下:
(1)停止正在运行的业务系统;
(2)后台停止所有的服务进程;
(3)从源系统中提取数据;
(4)将数据迁移至新系统中;
(5)新系统的应用部署和服务配置;
(6)在新系统中进行数据验证、功能验证和接口验证;
(7)新系统开始启用。
根据传统的系统割接流程,可计算出业务被中断的时间:
业务中断时间=前台停止业务的时间+后台停止所有服务进程的时间+数据提取的时间(总数据容量/速度)+数据迁移到新系统时间(总数据容量/速度)+应用部署和配置的时间+数据验证、功能验证和接口验证的时间 (1)
举例:一个大规模的数据库存放了一年的业务数据,容量按照10T(10000G)估算,数据的读写时间为3000M/分钟。
前台停止业务的时间:1分钟;
后台停止所有服务进程的时间:10分钟;
数据提取的时间:10000×1024/3000≈3413分钟;
数据迁移到新系统时间:10000×1024/3000≈
3413分钟;
应用部署和配置的时间:30分钟;
数据验证、功能验证和接口验证的时间:240分钟;
业务中断总时间=1+10+3413+3413+30+240=7107分钟≈118小时。
由此可见,传统的系统割接方法存在停机时间长、业务不得不长时间中断的问题,严重影响了客户感受。
3 增量割接的流程及方法
在系统割接过程,为缩短业务中断的时间,提高业务连续性,可采用增量割接的方法。该方法采用了应用和数据分离的思想,数据迁移采用全量加增量的方式,在正式割接前n天进行全量数据割接、新应用系统的部署和服务配置,并对全量数据、功能、接口做充分验证和测试,在割接当晚仅迁移增量数据,大大缩短了业务中断的时间,将系统割接对客户的影响减到最少。
增量割接的具体流程如图2所示,主要步骤如下:
(1)根据业务数据的规模,选择一个时间点,例如在割接前n天开始,提取全量数据;
(2)将全量数据迁移到新系统中;
(3)新系统的应用部署和配置;
(4)在新系统中做全量数据验证、功能验证和接口验证;
(5)停止正在运行的业务系统;
(6)后台停止所有的服务进程;
(7)提取n天的增量数据;
(8)将增量数据迁移至新系统中;
(9)增量数据验证、功能验证和接口验证;
(10)新系统开始启用。
根据新的系统割接流程,可计算出业务被中断的时间:
业务中断时间=前台停止业务的时间+后台停止所有服务进程的时间+增量数据提取的时间(总数据容量/速度)+增量数据迁移到新系统时间(总数据容量/速度)+增量数据验证、功能验证和接口验证的时间 (2)
为对比传统的系统割接方法,同样以一个容量10T(10000G)数据库为例,数据的读写时间为3000M/分钟,根据业务数据的规模,在割接前4天开始做全量割接,增量数据按照10×4/365≈0.11T(110G)估算。
前台停止业务的时间:1分钟;
后台停止所有服务进程的时间:10分钟;
增量数据提取的时间:110×1024/3000≈38分钟;
增量数据迁移到新系统时间:110×1024/3000≈
38分钟;
数据验证、功能验证和接口验证的时间:240分钟;
业务中断总时间=1+10+38+38+240=327分钟≈5小时。
4 结束语
比较上述两种方法可知,增量割接的方法可以将业务的终止时间由118小时降低到5小时,从而最大限度地保障了业务系统的连续性。该方法可以广泛应用于系统和业务平台的迁移,尤其是在超级规模的业务系统中具有极其显著的优势。
增量割接的优势主要表现如下:
(1)实现应用和数据的分离,在系统割接之前就已经部署好系统和应用;
(2)将数据分割成全量数据和增量数据,全量数据的提取和迁移期间不需要中断业务,大大缩短了业务停止的时间;
(3)将全量数据验证、功能验证和接口验证的环节置于系统割接之前,这样可以有充分的时间做验证,为系统的可用性提高了保障;
(4)系统割接之后稳定性好,通常业务系统割接之后可能会面临一些功能和性能问题,但采用本方法通常不会出现这类问题;
(5)在割接过程中,新旧系统是并行的,即使出现重大问题,也可继续启用旧系统,直至排除问题后再进行增量数据的割接,安全行比较高。
参考文献:
[1] 严蔚敏,吴伟民. 数据
结构(C语言版)[M].
北京: 清华大学出版社, 1997.
[2] M H Alsuwaiyel. 算法设计技巧与分析[M]. 吴伟昶,方世昌,等译. 北京: 电子工业出版社, 2004.
[3] 李继武. Visual C#.NET项目开发实战[M]. 北京: 清华大学出版社, 2007.
[4] 林邦杰. 深入浅出C#程序设计[M]. 北京: 中国铁道出版社, 2005.★ |