本公開提供一種數據遷移方法、裝置及存儲介質,所述的方法包括:讀取并解析由用戶的應用系統發出的原始數據列的數據遷移配置信息,獲取所述原始數據列中數據的遷移需求信息;讀取并解析由所述用戶的應用系統發出的寫結構化查詢語言SQL語句,基于所述寫SQL語句的解析結果,判斷所述寫SQL語句中的第一目標數據是否與所述原始數據列中的數據關聯;基于所述判斷結果,根據所述原始數據列中數據的遷移需求信息,將所述第一目標數據或所述原始數據列中的數據寫入遷移目標列對應的位置。本公開提供的方案,能夠在用戶的應用系統不停機、且不侵入用戶的應用系統的前提下完成數據遷移。入用戶的應用系統的前提下完成數據遷移。入用戶的應用系統的前提下完成數據遷移。
【技術實現步驟摘要】
數據遷移方法、裝置及存儲介質
[0001]本公開涉及數據遷移領域,尤其涉及一種數據遷移方法、裝置及存儲介質。
技術介紹
[0002]隨著用戶的應用系統規模的逐漸增長,業務變更,不可避免的將產生數據遷移需求信息。比如,應用系統重構后數據庫結構發生了變化時,或者決定對某個字段執行加密操作時,舊數據也需要進行加密,此時,也將產生數據遷移需求信息。相關技術中采用將用戶的應用系統停機的方式,或修改用戶的應用系統中程序代碼以進行同步雙寫的不停機方式進行數據遷移。但是用戶的應用系統停機時,用戶無法使用系統;修改用戶應用系統的程序代碼的方式實施難度大,且對用戶的應用系統具有入侵性。
技術實現思路
[0003]本公開提供一種數據遷移方法、裝置及存儲介質,以解決相關技術中進行數據遷移時,需要用戶的應用系統停機或者對用戶的應用系統具有侵入性的問題。
[0004]本公開的第一方面實施例提出了一種數據遷移方法,包括:
[0005]讀取并解析由用戶的應用系統發出的原始數據列的數據遷移配置信息,獲取所述原始數據列中數據的遷移需求信息;
[0006]讀取并解析由所述用戶的應用系統發出的寫結構化查詢語言SQL語句,基于所述寫SQL語句的解析結果,判斷所述寫SQL語句中的第一目標數據是否與所述原始數據列中的數據關聯;
[0007]基于所述判斷結果,根據所述原始數據列中數據的遷移需求信息,將所述第一目標數據或所述原始數據列中的數據寫入遷移目標列對應的位置。
[0008]在本公開的一些實施例中,所述基于所述判斷結果,根據原始數據列中數據的遷移需求信息,將所述第一目標數據或所述原始數據列中的數據寫入遷移目標列對應的位置,包括:
[0009]根據所述原始數據列中數據的遷移需求信息,構建所述遷移目標列;
[0010]若所述寫SQL語句中的所述第一目標數據與所述原始數據列中的數據關聯,則根據所述原始數據列中數據的遷移需求信息,將所述第一目標數據寫入所述遷移目標列對應的位置;
[0011]若所述寫SQL語句中的所述第一目標數據不與所述原始數據列中的數據關聯,則根據所述原始數據列中數據的遷移需求信息,將所述原始數據列中的數據寫入所述遷移目標列對應的位置。
[0012]在本公開的一些實施例中,所述的方法還包括:
[0013]將所述原始數據列中與所述遷移目標列中已寫入數據的位置對應的位置的數據刪除。
[0014]在本公開的一些實施例中,所述的方法還包括:
[0015]讀取并解析由所述用戶的應用系統發出的讀SQL語句,獲取所述讀SQL語句的解析結果;
[0016]基于所述讀SQL語句的解析結果,判斷所述讀SQL語句中的第二目標數據是否與所述原始數據列中的數據關聯;
[0017]若所述讀SQL語句中的第二目標數據與所述原始數據列中的數據關聯,則按照所述原始數據列中的數據格式將所述遷移目標列中的數據寫入所述原始數據列,并向所述用戶的應用系統發送所述第二目標數據。
[0018]在本公開的一些實施例中,所述的方法還包括:
[0019]基于所述原始數據列中是否有數據判斷數據遷移是否完成;
[0020]若數據遷移完成,則刪除所述原始數據列,并停止讀取所述用戶系統發出的讀SQL語句和寫SQL語句。
[0021]在本公開的一些實施例中,所述的方法還包括:
[0022]若所述寫SQL語句中的所述第一目標數據與所述原始數據列中的數據關聯,則根據所述原始數據列中的數據格式,將所述第一目標數據寫入所述原始數據列對應的位置;
[0023]構建遷移完成標記列,并在所述遷移完成標記列中與所述遷移目標列中有數據的位置對應的位置寫入遷移完成標識。
[0024]在本公開的一些實施例中,所述的方法還包括:
[0025]讀取并解析由所述用戶的應用系統發出的讀SQL語句,獲取所述讀SQL語句的解析結果;
[0026]基于所述讀SQL語句的解析結果,從所述原始數據列中讀取對應的數據。
[0027]在本公開的一些實施例中,所述的方法還包括:
[0028]基于所述遷移完成標記列中的遷移完成標識判斷數據遷移是否完成;
[0029]若數據遷移完成,則刪除所述原始數據列和遷移完成標記列,并停止讀取所述用戶系統發出的讀SQL語句和寫SQL語句。
[0030]本公開的第二方面實施例提出了一種數據遷移裝置,包括:
[0031]獲取模塊,用于讀取并解析由用戶的應用系統發出的原始數據列的數據遷移配置信息,獲取所述原始數據列中數據的遷移需求信息;
[0032]判斷模塊,用于讀取并解析由所述用戶的應用系統發出的寫結構化查詢語言SQL語句,基于所述寫SQL語句的解析結果,判斷所述寫SQL語句中的第一目標數據是否與所述原始數據列中的數據關聯;
[0033]遷移模塊,用于基于所述判斷結果,根據所述原始數據列中數據的遷移需求信息,將所述第一目標數據或所述原始數據列中的數據寫入遷移目標列對應的位置。
[0034]本公開的第三方面實施例提出了一種存儲有計算機指令的非瞬時計算機可讀存儲介質,其特征在于,所述計算機指令用于使所述計算機執行本公開第一方面實施例中描述的方法的步驟。
[0035]綜上,本公開提供的數據遷移方法,包括:讀取并解析由用戶的應用系統發出的原始數據列的數據遷移配置信息,獲取所述原始數據列中數據的遷移需求信息;讀取并解析由所述用戶的應用系統發出的寫結構化查詢語言SQL語句,基于所述寫SQL語句的解析結果,判斷所述寫SQL語句中的第一目標數據是否與所述原始數據列中的數據關聯;基于所述
判斷結果,根據所述原始數據列中數據的遷移需求信息,將所述第一目標數據或所述原始數據列中的數據寫入遷移目標列對應的位置。本公開提供的方案,在進行數據遷移時,能夠將所述用戶的應用系統的寫SQL語句中的目標數據寫入所述遷移目標列的對應位置,在所述用戶的應用系統不停機的前提下實現了數據的平滑遷移。進一步的,本公開只需讀取并解析用戶的應用系統發出的讀SQL語句,不需要修改所述用戶的應用系統,對所述用戶的應用系統沒有侵入性。
[0036]應當理解的是,以上的一般描述和后文的細節描述僅是示例性和解釋性的,并不能限制本公開。
附圖說明
[0037]此處的附圖被并入說明書中并構成本說明書的一部分,示出了符合本公開的實施例,并與說明書一起用于解釋本公開的原理,并不構成對本公開的不當限定。
[0038]圖1為本公開實施例提供的相關技術中方案A的原理框圖;
[0039]圖2為本公開實施例提供的相關技術中方案B的原理框圖;
[0040]圖3為本公開實施例提供的數據遷移方法的流程示意圖;
[0041]圖4為本公開實施例提供的數據遷移裝置的結構示意圖;
[0042]圖5為本公開應用示例提供的一個應用場景中原始數據表的結構示意圖;
[0043]圖6為本公開應用示例提供的一個應用本文檔來自技高網...
【技術保護點】
【技術特征摘要】
1.一種數據遷移方法,其特征在于,包括:讀取并解析由用戶的應用系統發出的原始數據列的數據遷移配置信息,獲取所述原始數據列中數據的遷移需求信息;讀取并解析由所述用戶的應用系統發出的寫結構化查詢語言SQL語句,基于所述寫SQL語句的解析結果,判斷所述寫SQL語句中的第一目標數據是否與所述原始數據列中的數據關聯;基于所述判斷結果,根據所述原始數據列中數據的遷移需求信息,將所述第一目標數據或所述原始數據列中的數據寫入遷移目標列對應的位置。2.根據權利要求1所述的方法,其特征在于,所述基于所述判斷結果,根據原始數據列中數據的遷移需求信息,將所述第一目標數據或所述原始數據列中的數據寫入遷移目標列對應的位置,包括:根據所述原始數據列中數據的遷移需求信息,構建所述遷移目標列;若所述寫SQL語句中的所述第一目標數據與所述原始數據列中的數據關聯,則根據所述原始數據列中數據的遷移需求信息,將所述第一目標數據寫入所述遷移目標列對應的位置;若所述寫SQL語句中的所述第一目標數據不與所述原始數據列中的數據關聯,則根據所述原始數據列中數據的遷移需求信息,將所述原始數據列中的數據寫入所述遷移目標列對應的位置。3.根據權利要求2所述的方法,其特征在于,還包括:將所述原始數據列中與所述遷移目標列中已寫入數據的位置對應的位置的數據刪除。4.根據權利要求3所述的方法,其特征在于,還包括:讀取并解析由所述用戶的應用系統發出的讀SQL語句,獲取所述讀SQL語句的解析結果;基于所述讀SQL語句的解析結果,判斷所述讀SQL語句中的第二目標數據是否與所述原始數據列中的數據關聯;若所述讀SQL語句中的第二目標數據與所述原始數據列中的數據關聯,則按照所述原始數據列中的數據格式將所述遷移目標列中的數據寫入所述原始數據列,并向所述用戶的應用系統發送所述第二目標數據。5.根據權利要...
【專利技術屬性】
技術研發人員:雪智偉,
申請(專利權)人:北京原點數安科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。