[發明專利]一種基于JDBC代理的異構數據庫應用遷移方法有效
| 申請號: | 201810444092.0 | 申請日: | 2018-05-10 |
| 公開(公告)號: | CN108629035B | 公開(公告)日: | 2022-05-27 |
| 發明(設計)人: | 鄭林城;林禹 | 申請(專利權)人: | 福建星瑞格軟件有限公司 |
| 主分類號: | G06F16/21 | 分類號: | G06F16/21;G06F16/242;G06F16/25 |
| 代理公司: | 福州市鼓樓區京華專利事務所(普通合伙) 35212 | 代理人: | 王美花 |
| 地址: | 350000 福建省福州市鼓樓*** | 國省代碼: | 福建;35 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 jdbc 代理 數據庫 應用 遷移 方法 | ||
本發明提供一種基于JDBC代理的異構數據庫應用遷移方法,所述方法包括如下步驟:步驟1、在源應用與數據庫管理系統之間設置一JDBC代理;步驟2、在源應用中將數據庫的地址改到JDBC代理的地址;步驟3、JDBC代理對源應用的SQL語句進行語法解析生成AST語法樹;步驟4、根據源數據庫的AST語法樹生成目標數據庫的語法樹,并根據配置進行轉換;步驟5、JDBC代理根據目標數據庫語法樹生成SQL并返回結果給源應用。采用本發明方法可實現在應用系統幾乎不需要做修改的情況下,無縫的從舊數據庫遷移到新數據庫。
技術領域
本發明涉及數據庫應用領域,尤其涉及一種基于JDBC代理的異構數據庫應用遷移方法。
背景技術
在應用系統建設初期,由于管理和技術的限制,很難有一個全局的戰略和方向,各個子系統之間存在著各種差異。由于采用不同的部署平臺、不同的數據庫管理系統和開發技術,造成這些系統的擴展性和交互性較差,系統之間相互獨立。隨著業務的發展,應用管理系統需要不斷更新換代。各個系統之間需要進行重新整合,不同數據庫管理系統中的數據需要被重新整合,各個數據庫系統天然的差異性對數據遷移有著巨大的阻礙。異構數據遷移的主要困難點在于:新舊數據庫支持的字符編碼不同;新舊數據庫存在特有的函數和技術;新舊數據庫字符類型以及特殊字段存在差異;新舊數據庫SQL語法存在差異,需要應用系統針對不同的數據庫做大量修改等。因此需要有一種有效的方案來解決異構環境中的數據交換,降低遷移的風險增強遷移的平滑性,以使應用系統能夠平滑高效的完成各項工作。
發明內容
本發明要解決的技術問題,在于提供一種基于JDBC代理的異構數據庫應用遷移方法,在應用系統幾乎不需要做修改的情況下,無縫的從舊數據庫遷移到新數據庫。
本發明是這樣實現的:一種基于JDBC代理的異構數據庫應用遷移方法,所述方法包括如下步驟:
步驟1、在源應用與數據庫管理系統之間設置一JDBC代理;
步驟2、在源應用中將數據庫的地址改到JDBC代理的地址;
步驟3、JDBC代理對源應用的SQL語句進行語法解析生成AST語法樹;
步驟4、根據源數據庫的AST語法樹生成目標數據庫的語法樹,并根據配置進行轉換;
步驟5、JDBC代理根據目標數據庫語法樹生成SQL并返回結果給源應用。
進一步的,所述方法還包括:對于部分復雜的業務中,由JDBC代理發起復數次向目標數據庫的SQL請求,結束后將結果按照源數據庫期望的格式返回源應用。
進一步的,所述JDBC代理根據不同數據庫提供相應的語法解析和轉義程序,所述語法解析將SQL解析成SQL語法AST語法樹,轉義程序將源語法樹轉義成目標語法樹,最終遍歷目標語法樹完成SQL的輸出。
進一步的,所述轉義程序包括函數轉換、關鍵字轉換和數據類型轉換;
所述函數轉換將源數據庫的特定函數轉換成目標數據庫的函數;
所述關鍵字轉換將源數據庫的關鍵字段轉換成目標數據庫函數或關鍵字;
所述數據類型轉換根據映射規則將數據類型轉換成相應的類型。
進一步的,所述JDBC代理還包括SQL攔截,所述SQL攔截通過解析SQL抽象語法樹,分析SQL是否存在注入風險、查詢目標表是否在黑名單列表中來阻止SQL執行。
進一步的,所述JDBC代理采用直接嵌入應用系統或使用遠程調用方式完成。
本發明具有如下優點:通過將代理機制作為應用系統和數據庫庫管理系統的中間件,遵循JDBC規范,實現JDBC接口,通過攔截SQL和數據庫返回信息,轉義數據類型、函數、和SQL語法等,使應用系統幾乎不需要做修改,無縫的從舊數據庫遷移到新數據庫,且方便進行聯調和測試。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于福建星瑞格軟件有限公司,未經福建星瑞格軟件有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810444092.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種大數據公信度分析方法
- 下一篇:一種道路縮編方法及裝置





