一种基于“时间加速”思想的西藏CRM系统跨年建表保障方案设计与实现
2017-04-10尧平陆慧妍姜继锁
尧平+陆慧妍+姜继锁
【摘要】 西藏CRM业务支撑系统中,涉及大量的数据库表,用于保存三户资料(用户、客户、账户)、资源数据,以及用户订购关系等各类数据。在这些数据库表中,跨年保障关注的重点为年份表、月份表、日表,以及相关的索引等对象。为了尽量避免因建表遗漏或有误导致的业务异常,提高保障工作成功率,亟需在测试环境设计和实现一套基于“时间加速”思想,将时间提前进入1月1日并进行业务测试的方案。
【关键词】 CRM 跨年建表 时间加速Designing and Realizing A Scheme of Cross Year Creating Table Based on Time Acceleration Thought YAO Ping1 ,JIANG Ji-suo2
(1GMCC,Guangzhou Guangdong 510033;2 GMCC, Guangzhou Guangdong 510033)
Abstract: CRM business support system of Tibet contains lots of tables in databases, so as to saving the three-account data (user, customer, and account), resources, and others like order data. The most important things concerned by this article is yearly table, monthly tables, daily tables, and the objects like indexes. So as to avoid service anomaly caused by this job, also to improving success rate, designing and implementing the scheme to realize service test in test environment based on “time acceleration”, which needs to change time from current time to January 1st directly, and this is urgent and important.
Keywords:CRM; cross year creating table; time acceleration
一、引言
CRM业务系统有关的表及其对象的创建,都是以自然年为单位开展。往年,该工作保障流程较为简单,主要为测试环境建表à简单稽核à生产环境建表à稽核。因该工作存在临时性特征,未能制定统一的规范保障体系,往往临时组队、临时变阵,不管在准确性还是效率上,都存在很大问题。
本文结合西藏CRM[1]系统历年跨年建表实际情况,创造性的引入“时间加速”思想,将测试环境的时间提前进入元旦,并就此开展了全面的业务测试工作。这有力保障了跨年建表工作的体系化、高效化、规范化,最大程度确保其准确性,极大降低跨年节点系统风险。
二、“时间加速”保障方案指导流程
需將CRM测试环境时间变更为2017年,以便提前进行测试。但是,测试环境需提供给需求上线前的测试使用,故只有月底最后几天可提供测试。
这里采用生产环境提前新建表,在月底测试结束后及时修正生产数据的方式来完成。总体规划如下:
其中:
(1)虚拟时间-T1,T2:T1时间节点(测试完成时间),鉴于该工作的实际意义,T1必须在实际时间的2017年1月1日前。且测试完成后,需在T2节点及时关闭应用和数据库,确保数据库时钟静止在T1时刻。
(2)实际时间-T3:即开始恢复主机时间到实际时间节点。为了确保数据库能够正常启动,数据库时钟不出现倒流,T3必须大于T2。此后可以安排启动数据库和应用。
三、测试环境跨年建表及业务测试
3.1 测试环境建表及业务测试
测试环境的工作除去建表外,主要任务是针对新创建的表同步完成业务测试。如第2章节所述,开展测试的前提条件是,需提供时间窗口以便主机将时间变更提前进入2017年。
核心操作流程如下图2所示,关键的时间节点已在图1中标明。但仍需重视以下:
(1)时钟更改。前向依赖于测试环境准备就绪。即必须确保南基和西藏公司所有需要使用测试环境的重大操作已顺利完成,包括代码上线、配置类需求上线以及其他重大问题解决。
(2)主机时间变更。关闭NTP时钟自动同步服务,变更主机时间为2017年1月1日凌点。
(3)测试完成后必须关闭数据库及应用。保证数据库时钟静止(虚拟时间:T2时刻)。开始恢复时钟时,必须确保实际时间T3>T2,避免数据库时钟出现“倒流”现象。
3.2.2 数据库时间“倒流”问题
时间“倒流”究竟会对数据库、业务系统造成什么影响?分析如下:
(1)数据库
SCN在数据库中是一个单一的不断的随着数据库一致性状态的改变而自增的序列,每一个SCN值也代表着数据库在运行当中的一个一致性的点。如图4所示,当把时钟从T1回调到T0时,虽然SCN0>SCN1,但TS0 (2)应用系统。有些应用系统的记录是和系统时间相关的,如果时间出现回调,实际的业务逻辑将出现混乱。 综上,通常不建议在更改时间后进行回调操作。 四、业务测试及元旦保障效果 12月31日前完成了生产建表、稽核,测试建表、稽核以及全面业务测试工作。其中,CRM与CBOSS发现少部分索引缺失问题,保障组第一时间已更新完善生产环境数据。由此,元旦凌晨保障工作中,达到了史无前例的零投诉、零故障、零业务问题的完美效果。 五、总结 2017年跨年保障工作,不管在广度还是深度上,都较往年有了很大进步。特别是在跨年建表的测试工作上,进行了突破性的尝试:更改主机时间,提前进入元旦进行业务测试。从实际结果来看,2017年的跨年工作未出现任何重大问题。后续,该方案可以持续指导CRM系统跨年建表保障工作,并可很容易推广应用到其他业务系统中。 参 考 文 献 [1] 王筱琼. 中国移动通信CRM系统的设计与实现[D].湖南大学硕士学位论文,2013