B端產(chǎn)品新老系統(tǒng)切換過程中的數(shù)據(jù)遷移總結(jié)

7 評(píng)論 8625 瀏覽 48 收藏 7 分鐘

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

01 數(shù)據(jù)遷移場(chǎng)景

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

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

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

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

03 數(shù)據(jù)遷移內(nèi)容

1、數(shù)據(jù):

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

2、數(shù)據(jù)間的關(guān)聯(lián)關(guān)系:關(guān)系型數(shù)據(jù)通過ID或主鍵進(jìn)行數(shù)據(jù)關(guān)聯(lián),遷移時(shí)數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系需要進(jìn)行重新對(duì)應(yīng)

3、文件:部分附件、圖片等數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù)直接關(guān)聯(lián),需要重新存儲(chǔ)和建立聯(lián)系,一些單獨(dú)存儲(chǔ)的文件可直接轉(zhuǎn)移到新服務(wù)器,同時(shí)需要存儲(chǔ)對(duì)應(yīng)的URL等

04 遷移方式

影響遷移方式選擇的要素很多:遷移數(shù)據(jù)量的大小、傳輸?shù)臅r(shí)長、業(yè)務(wù)是否可暫停。

1、離線遷移:

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

2、在線遷移:

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

05 數(shù)據(jù)驗(yàn)證

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

驗(yàn)證需要準(zhǔn)備詳細(xì)的驗(yàn)證用例,和測(cè)試用例相似:

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

06 結(jié)語

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

歡迎大家一起討論。

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

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

該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. SAAS系統(tǒng)在數(shù)據(jù)遷移中做半標(biāo)準(zhǔn)化處理,這方面想請(qǐng)教下怎么入手比較好?

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

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

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

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

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

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

      來自北京 回復(fù)