[發明專利]數據庫遷移方法、裝置、終端及存儲介質在審
| 申請號: | 202011624019.5 | 申請日: | 2020-12-31 |
| 公開(公告)號: | CN112632038A | 公開(公告)日: | 2021-04-09 |
| 發明(設計)人: | 孔小敏 | 申請(專利權)人: | 中國平安人壽保險股份有限公司 |
| 主分類號: | G06F16/21 | 分類號: | G06F16/21;G06F16/22;G06F16/242;G06F16/2455;G06F16/25 |
| 代理公司: | 深圳國新南方知識產權代理有限公司 44374 | 代理人: | 原明云 |
| 地址: | 518000 廣東省深圳市福田區益田路5033號*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據庫 遷移 方法 裝置 終端 存儲 介質 | ||
本申請公開了一種數據庫遷移方法、裝置、終端及存儲介質,其中方法包括:接收數據庫遷移指令,數據庫遷移指令包括源數據庫和目標數據庫;將源數據庫中的數據導出,得到源SQL文件和數據文件;解析源SQL文件,以得到源SQL文件中的語法規則信息和關鍵信息,并根據語法規則信息和關鍵信息構建符合目標數據庫的目標SQL文件;執行目標SQL文件以將數據文件導入至目標數據庫。通過上述方式,本申請能夠自動實現異構數據庫之間的數據遷移工作,減少數據庫管理員的工作量,提升了數據遷移效率。
技術領域
本申請涉及數據庫管理技術領域,特別是涉及一種數據庫遷移方法、裝置、終端及存儲介質。
背景技術
在數據庫管理系統的領域,已經存在多個成熟的數據庫產品(例如Oracle、SQLServer、Mysql、Postgre、武漢達夢、人大金倉、神州通用等),而在企業搭建的眾多應用系統中,由于應用開發部門不同或者應用系統本身特點等因素,不同的系統使用的數據庫系統不同,已經在這些異構數據庫內的數據無法融合在一起。為解決異構數據庫之間的數據融合問題,需要將數據從一個異構數據庫遷移到另外一個異構數據庫中。目前各個數據庫廠商提供的數據遷移工具只適用于自身數據庫與其他特定數據庫之間遷移,例如達夢數據庫提供達夢與Oracle數據庫之間的數據遷移工具,該工具不能完成達夢與Mysql或者Postgre數據庫之間的數據遷移,因此并不具有普遍適用性。而通過手動遷移的方式來進行數據庫遷移時,其工作量巨大,需要開發人員先將源端數據庫的數據備份出來,然后進行手動的語法適配(將源端的數據庫的SQL語法轉換為目標端數據庫的SQL語法),然后傳輸到目標端數據庫所在服務器,再導入目標端數據庫,這個過程耗時長,還容易出現錯誤,遷移效率低下。
發明內容
本申請提供一種數據庫遷移方法、裝置、終端及存儲介質,以解決現有數據庫遷移效率低、耗時長的問題。
為解決上述技術問題,本申請采用的一個技術方案是:提供一種數據庫遷移方法,包括:接收數據庫遷移指令,數據庫遷移指令包括源數據庫和目標數據庫;將源數據庫中的數據導出,得到源SQL文件和數據文件;解析源SQL文件,以得到源SQL文件中的語法規則信息和關鍵信息,并根據語法規則信息和關鍵信息構建符合目標數據庫的目標SQL文件;執行目標SQL文件以將數據文件導入至目標數據庫。
作為本申請的進一步改進,接收數據庫遷移指令,數據庫遷移指令包括源數據庫和目標數據庫之后,還包括:暫停向源數據庫中寫入數據,并將需要存儲至源數據庫中的數據存儲至緩存中;
執行目標SQL文件以將數據文件導入至目標數據庫之后,還包括:將緩存中存儲的數據存儲至目標數據庫。
作為本申請的進一步改進,將源數據庫中的數據導出,得到源SQL文件和數據文件,包括:分析數據庫中數據表之間的血緣關系;將存在血緣關系的數據表劃分為一個批次,再導出每個批次的數據表的源SQL文件和數據文件。
作為本申請的進一步改進,解析源SQL文件,以得到源SQL文件中的語法規則信息和關鍵信息,并根據語法規則信息和關鍵信息構建符合目標數據庫的目標SQL文件,包括:從源SQL文件中提取出所有源SQL語句并進行解析,得到每條源SQL語句對應的語法規則和關鍵信息;獲取目標數據庫的目標數據庫類型,基于目標數據庫類型確認查詢范圍;根據查詢范圍在預設的知識庫中查詢每條源SQL語句的語法規則對應的目標語法規則;根據目標語法規則和關鍵信息生成每條源SQL語句對應的目標SQL語句,由目標SQL語句組成目標SQL文件。
作為本申請的進一步改進,根據查詢范圍在預設的知識庫中查詢每條源SQL語句的語法規則對應的目標語法規則,包括:判斷在查詢范圍內是否存在與語法規則對應的目標語法規則;若存在,則獲取目標語法規則;若不存在,則發送手動補充指令至外部以提醒開發人員手動補充與語法規則對應且符合目標數據庫的目標語法規則。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國平安人壽保險股份有限公司,未經中國平安人壽保險股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011624019.5/2.html,轉載請聲明來源鉆瓜專利網。





