[發明專利]一種應用于國產化替代的數據遷移方法與系統在審
| 申請號: | 202210208292.2 | 申請日: | 2022-03-03 |
| 公開(公告)號: | CN114691643A | 公開(公告)日: | 2022-07-01 |
| 發明(設計)人: | 高碩;張浩;李楊 | 申請(專利權)人: | 浪潮軟件集團有限公司 |
| 主分類號: | G06F16/21 | 分類號: | G06F16/21;G06F16/25 |
| 代理公司: | 濟南信達專利事務所有限公司 37100 | 代理人: | 郗艷榮 |
| 地址: | 250100 山東*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 應用于 國產化 替代 數據 遷移 方法 系統 | ||
1.一種應用于國產化替代的數據遷移方法,其特征在于:包括以下步驟:
步驟1:數據提取
(1)通過JDBC API接口與源數據庫建立連接,通過調用Connection對象的元數據DatabaseMetadata接口提供的一系列getXXX()方法,得到含有元數據信息的結果集;
(2)循環處理結果集中的各條數據,得到源數據庫中各表的表名及主鍵、外鍵、索引以及表中各列的信息,包括列名、數據類型、列的大小以及列是否可為空;
(3)對原數據表中數據信息進行提取,并存儲到JSON文件中;
步驟2:數據遷移
(1)提取結果集中的信息,根據數據類型轉換方法對數據類型進行轉換,生成建表SQL語句;
(2)連接目的數據庫,創建表結構并解析JSON中的數據信息;
(3)在創建的新表中插入數據,完成數據遷移;
采用分步的數據遷移方法,將表結構的遷移和數據的遷移完全分開,有利于異常處理和數據庫的恢復。
2.根據權利要求1所述的應用于國產化替代的數據遷移方法,其特征在于:所述步驟1中,使用JSON文件記錄數據庫的數據以及數據庫結構信息,針對不同的數據庫,通過數據類型映射轉換后生成不同JSON文件;
所述步驟2中,針對需要部署的目標數據庫,通過解析JSON文件自動生成相應SQL語句,在目標數據庫上批量執行,完成數據庫部署。
3.根據權利要求2所述的應用于國產化替代的數據遷移方法,其特征在于:所述步驟1中,對源數據庫中各表循環執行“select列名from表名”查詢,返回各列的數據,保存在ResultSet對象中;循環抽取ResultSet對象中的信息,得到源數據庫中各表的數據,將數據信息抽取到JSON文檔中保存。
4.根據權利要求2所述的應用于國產化替代的數據遷移方法,其特征在于:所述步驟2中,通過依次遍歷源數據庫中的每個表、源表中的每一條記錄以及源記錄中的每一個字段,將源表字段與目標表字段做映射,然后依次處理下個字段、下條記錄以及下個表,完成數據遷移。
5.根據權利要求3所述的應用于國產化替代的數據遷移方法,其特征在于:所述步驟2中,數據類型轉換時,依次對源數據表的所有列進行以下操作:
(1)從結果集中取得列名,判斷是否有命名沖突;如果有沖突,則重命名,用一個固定的字符串為原列名添加后綴;
(2)從結果集中取得列的數據類型信息;
(3)生成目的數據庫的SQL語句。
6.一種應用于國產化替代的數據遷移系統,其特征在于:包括數據提取模塊和數據遷移模塊;
所述數據提取模塊負責使用JSON文件記錄數據庫的數據以及數據庫結構信息,針對不同的數據庫,通過數據類型映射轉換后生成不同JSON文件;
所述數據遷移模塊負責解析JSON文件自動生成相應SQL語句,在目標數據庫上批量執行,完成目標數據庫的部署。
7.根據權利要求6所述的應用于國產化替代的數據遷移系統,其特征在于:所述數據提取模塊先通過JDBC API接口與源數據庫建立連接,通過調用Connection對象的元數據DatabaseMetadata接口提供的一系列getXXX()方法,得到含有元數據信息的結果集;
然后,循環處理結果集中的各條數據,得到源數據庫中各表的表名及主鍵、外鍵、索引以及表中各列的信息,包括列名、數據類型、列的大小以及列是否可為空;
最后,對原數據表中數據信息進行提取,并存儲到JSON文件中。
8.根據權利要求6所述的應用于國產化替代的數據遷移系統,其特征在于:所述數據遷移模塊先提取結果集中的信息,根據數據類型轉換方法對數據類型進行轉換,生成建表SQL語句;
然后,連接目的數據庫,創建表結構并解析JSON中的數據信息;
最后,在創建的新表中插入數據,完成數據遷移;在數據遷移時采用分步遷移方法,將表結構的遷移和數據的遷移完全分開,有利于異常處理和數據庫的恢復。
9.根據權利要求8所述的應用于國產化替代的數據遷移系統,其特征在于:所述數據遷移模塊依次遍歷源數據庫中的每個表、源表中的每一條記錄以及源記錄中的每一個字段,將源表字段與目標表字段做映射,然后依次處理下個字段、下條記錄以及下個表,完成數據遷移;
數據類型轉換時,依次對源數據表的所有列進行以下操作:
(1)從結果集中取得列名,判斷是否有命名沖突;如果有沖突,則重命名,用一個固定的字符串為原列名添加后綴;
(2)從結果集中取得列的數據類型信息;
(3)生成目的數據庫的SQL語句。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浪潮軟件集團有限公司,未經浪潮軟件集團有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210208292.2/1.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





