針對現網大集團、大合帳、親情付、歷史資料等全業務遷移等業務場景通過一次性資料遷移方式來完成全網資料遷移。
由于一次性遷移資料量一般很大,建議在晚上進行資料遷移,同時要避開版本資料庫腳本發布期間等。
一次性遷轉把目前CB1.0物理庫及記憶體庫資料按地市及產品批量搬遷到CB2.0的資料庫里。目前cb1.0里主要分為營業庫,賬管庫及計費的記憶體資料。在CB2.0中對應的為客戶中心,用戶中心,賬戶中心,賬務中心,計費中心,信控中心等。物理庫由oracle變為drds,記憶體庫由單機變為分布式。
借鑒省分資料上收的遷移經驗,以大批量的資料操作的方式,最短時間內一次性把一批資料從cb1.0搬遷到到cb2.0系統上。
參照目前的在線流程,結合目前的省分資料上收流程,離線遷移大致梳理成以下流程:資料提取,資料清洗(多次),資料校驗,加鎖(打標),搬遷,稽核,入庫,路由更新,解鎖(激活)等,并對每個流程批量化處理進行分析開發驗證。
資料提取:
? 要求:不能拆分(群組和合賬的)關聯用戶,要作為一個單元,整體進行搬遷。
? 根據省分搬遷目標圈定全業務(集團、大合賬、親情付等)用戶范圍,提取出本次遷移用戶資料(可分批遷移),后續遷移已此為目標基礎用戶。
? 資料校驗,生成校驗結果表和問題用戶明細記錄表。
資料清洗:
資料清洗主要包含基礎資料清洗和遷移資料的新老模型資料轉換,該部分根據各業務中心提供的轉換表(欄位)規則進行資料級別的轉換作業,轉換完成之后再根據資料維度、業務維度進行二次清洗,以此保證轉換后的資料表能直接落地到新架構。
資料清洗內部分成預清洗、最終清洗兩個部分,切分點為用賬戶加鎖,加鎖前為預清洗,加鎖后為最終清洗,預清洗主要是暴露問題,最終清洗為最終資料。
清洗方案:
預清洗:考慮到對生產環境的負載影響,可以分成基于鏡像庫的資料清洗和生產庫的資料清洗,鏡像
庫的清洗主要是發現大批量的資料類和業務類限制等,盡量減少生產環境的資料清洗作業,
考慮到時差等因素,生產的預清洗可考慮增量方式進行。
最終清洗:
新老模型轉換:
1、 基礎表倒換
針對新老架構表模型基本一致的表,倒換只需要欄位對接即可。
2、 橫縱表倒換
橫表轉換成縱表,縱表轉換成橫表,這類表的轉換,要做特殊性處理。
3、 合成表倒換
多張表合成一張表,要兼顧轉換效率
4、 特殊表倒換
資料校驗:
? 資料校驗主要是針對資料常規化校驗(主鍵、唯一索引等)、業務維度進行校驗,業務維度參考在線遷移目前提供的一些業務類限制校驗,比如在途工單、跨省限制等。
? 資料校驗結果,生成校驗結果表和問題用戶明細記錄表。一個用戶對所有校驗規則都要跑一遍,盡量避免出現處理了一種問題在跑的時候又報出其他問題;并且存盤的結果要有關系資訊,如user_id、serial_number、如果是在途訂單要有訂單號等關鍵資訊等。
? 詳見校驗腳本
校驗范圍:
1. 業務類:在途單;
2. 資料類:和新架構生產的主鍵沖突和唯一索引;
資料加鎖:
為保障遷移程序中資料靜止,需要對用戶、賬戶狀態進行加鎖處理。用戶中心、賬戶中心、計費中心提供對應的加鎖規則,遷移工具按此方法完成加鎖動作。
中間表倒換&資料搬遷:
經過資料清洗步驟之后形成的倒換表與cBSS2.0資料模型一致,因此一次性遷移通過專用的資料倒換工具一次性規模化匯入到新架構,考慮到新架構運營能力較繁瑣,因此新架構表的校驗、規則都前移到資料清洗步驟來完成,中間表資料實際就是待遷移的真實資料,后續可以直接按表搬遷即可。
? ORACLE按表遷移到DRDS上。通過datax工具實作搬遷,經過對datax進一步封裝,使用具有動態生成配置的功能。示例如下:
Mydatax.sh tablename oracle_tns drds_tns
? DRDS在寫腳本寫入生產資料表:資料通過搬遷到生產上的臨時表中后,通過資料代理層直接把資料插入到生產表中。在生生產實體前需再次稽核資料是否已在生產上存在。
? 此模塊有以下腳本產出:
導換腳本
drds生產上稽核腳本
datax啟停腳本
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/278232.html
標籤:其他
上一篇:前端資料結構--線性結構-鏈表
