堯平+陸慧妍+姜繼鎖
【摘要】 西藏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