B端產品新老系統(tǒng)切換過程中的數據遷移總結

7 評論 8851 瀏覽 48 收藏 7 分鐘
B端产品经理要负责对目标行业和市场进行深入的分析和调研,了解客户的需求、痛点、期望和行为,找到产品的价值主张 🔗

作為工作多年的B端產品經理,或多或少會遇到新系統(tǒng)替換老系統(tǒng)或系統(tǒng)重構升級的場景,數據遷移是系統(tǒng)切換過程中非常重要的一環(huán),數據遷移的成功與否直接影響到后續(xù)系統(tǒng)的穩(wěn)定運行。不同的切換場景會面臨不同的數據遷移的問題,一套全面的數據遷移方案,能夠指導數據遷移工作順利的進行。

01 數據遷移場景

企業(yè)業(yè)務發(fā)現(xiàn),原系統(tǒng)無法滿足業(yè)務需求,需要開發(fā)新的系統(tǒng)替換原有系統(tǒng),而原系統(tǒng)中的歷史數據或正在進行中的業(yè)務數據需要在新系統(tǒng)中體現(xiàn),新系統(tǒng)上線前,需要完成舊系統(tǒng)向新系統(tǒng)的數據遷移。

02 系統(tǒng)切換方式

系統(tǒng)的切換方式,會影響數據遷移方式的選擇。新老系統(tǒng)進行切換時,常見的幾種操作方式:

  1. 確定新系統(tǒng)上線時間后,新老系統(tǒng)并行運行,新訂單使用新系統(tǒng),在途訂單使用老系統(tǒng),待老系統(tǒng)所有在途訂單都完成后,將歷史數據一次性遷移至新系統(tǒng)。
  2. 確認新系統(tǒng)上線時間后,老系統(tǒng)停用,所有數據及功能全部切換至新系統(tǒng)。
  3. 新系統(tǒng)的調整比較大,業(yè)務流程也進行了大規(guī)模調整的情況下,也會采用選擇年或月的結算區(qū)間選擇上線時間進行切換,切換后,業(yè)務數據不進行遷移,歷史數據保留在舊系統(tǒng)進行查看。

03 數據遷移內容

1、數據:

  1. 基礎數據:支撐各個模塊及各業(yè)務的主數據,如客戶、資產、項目、產品、車輛、工具信息等
  2. 字典數據:系統(tǒng)全局的字典數據
  3. 用戶數據:用戶賬號、組織、角色、權限等
  4. 業(yè)務數據:業(yè)務進行過程中產生的數據,如訂單數據、交易數據、賬單數據、操作數據、各環(huán)節(jié)的流轉數據等。業(yè)務數據還包括:
  5. 歷史數據:業(yè)務上已經完成結算的或其他完成節(jié)點已經產生的數據。
  6. 在途數據:系統(tǒng)升級或切換的同時,業(yè)務也在正常的運行,系統(tǒng)中會存在很多在途數據,如未完成的訂單數據,在途中的運單數據等;在途數據的處理需要特別關注。

2、數據間的關聯(lián)關系:關系型數據通過ID或主鍵進行數據關聯(lián),遷移時數據之間的關聯(lián)關系需要進行重新對應

3、文件:部分附件、圖片等數據和業(yè)務數據直接關聯(lián),需要重新存儲和建立聯(lián)系,一些單獨存儲的文件可直接轉移到新服務器,同時需要存儲對應的URL等

04 遷移方式

影響遷移方式選擇的要素很多:遷移數據量的大小、傳輸的時長、業(yè)務是否可暫停。

1、離線遷移:

  1. Excel導出-導入:通過導出-導入Excel的方式,將數據導入到新系統(tǒng),導出的數據可根據新系統(tǒng)的數據格式進行調整后導入;
  2. 數據庫同步:通過Sql或數據庫同步工具,將新系統(tǒng)和老系統(tǒng)的字段進行對應,批量導入到新系統(tǒng)中;

2、在線遷移:

  1. 接口傳輸,通過定義和編寫接口,實現(xiàn)新老系統(tǒng)之間的數據同步,新舊系統(tǒng)切換需要雙系統(tǒng)并行的場景下,接口傳輸可實現(xiàn)新老系統(tǒng)之間的雙向同步。企業(yè)在信息化建設過程中,會存在外采轉自研的場景,項目不可控時,盡量實現(xiàn)系統(tǒng)一次性切換升級,避免系統(tǒng)并行。
  2. 數據庫同步:面對遷移數據量比較大,耗時比較久的項目時,可以借助數據庫遷移工具等,采用部分數據會進行全量+增量遷移的方式,數據全量遷移到新系統(tǒng),然后執(zhí)行每天的自動增量遷移或手動增量遷移,系統(tǒng)切換前,要完成最后一次增量備份。

05 數據驗證

遷移的過程中和遷移后需要做數據的驗證,確保數據的準確性、完整性、一致性,如:新舊系統(tǒng)的數據數量、數據內容、遷移過程中未產生增量數據等。數據遷移一般需要多次的預演和多次的驗證,保證正式系統(tǒng)正式切換時,數據遷移的成功率。

驗證需要準備詳細的驗證用例,和測試用例相似:

  1. 基礎數據、數據字典的變化頻率較低,可預先進行數據同步,屬于上線前的環(huán)境準備工作,可提前同步到新系統(tǒng)并完成測試;
  2. 已經完成的業(yè)務歷史數據,同步后通過查詢、導出、BI等關聯(lián)功能驗證數據是否正確,完整;
  3. 未完成的業(yè)務在途數據,需額外進行業(yè)務操作流程的驗證,根據數據所處的流程階段,進行下一步的業(yè)務正逆向業(yè)務操作,確保在途數據能順利完成。

06 結語

近幾年傳統(tǒng)行業(yè)進行信息化建設,完成了多個項目的外采轉自研,經歷了多次的數據遷移,關系型數據庫、非關系型數據庫、生產系統(tǒng)、辦公系統(tǒng)。嘗試將數據遷移的一點經驗總結下來,還有很多欠缺,每日一點成長,以此自勉。

歡迎大家一起討論。

本文由@特立獨行俠 原創(chuàng)發(fā)布于人人都是產品經理,未經許可,禁止轉載。

題圖來自 Unsplash,基于 CC0 協(xié)議。

該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. SAAS系統(tǒng)在數據遷移中做半標準化處理,這方面想請教下怎么入手比較好?

    來自上海 回復
  2. 假如新菜單基本都變了,角色關聯(lián)的菜單也要跟著變,這種情況請問你們是怎么處理的?

    來自廣東 回復
    1. 菜單屬于基礎數據,菜單除角色外不和其他數據關聯(lián)(SaaS另說),且一次性處理,不存在未完成等狀態(tài)屬性,屬于系統(tǒng)初始化,導出導入應該就能解決這種問題。

      來自北京 回復
  3. 舊系統(tǒng)是二十多年前的系統(tǒng),新系統(tǒng)是現(xiàn)在流行的架構和技術,新老系統(tǒng)的數據對接有點惱火,老的歷史數據和新的數據的融合,數據字段命名方式都不一樣。

    來自四川 回復
    1. 這種情況數據庫層面的融合難度會很高,尤其是關聯(lián)數據的對應,可以考慮采用導出導入的方式,或者API接口的方式,從功能層面進行數據的融合??礃I(yè)務數據量的大小,合理的考慮用哪種方式,數據量小,導入導出就能滿足要求,數據量大,API后臺任務先同步完歷史數據,再同步新數據。

      來自北京 回復
  4. 系統(tǒng)升級是非常非常燒腦的事情

    來自上海 回復
    1. 是呀,系統(tǒng)升級涉及到的內容非常多,系統(tǒng)升級設計時就需要進行全面的考慮,1、新老系統(tǒng)并行運行問題;2、內外部系統(tǒng)的對接問題;3、數據遷移問題;4、新技術切換問題等等

      來自北京 回復