[發明專利]一種針對關系型數據庫的大容量SQL文件的導入方法在審
| 申請號: | 202211686988.2 | 申請日: | 2022-12-27 |
| 公開(公告)號: | CN115878658A | 公開(公告)日: | 2023-03-31 |
| 發明(設計)人: | 梁效寧;雷珂;張佳強;蒲軍 | 申請(專利權)人: | 四川效率源信息安全技術股份有限公司 |
| 主分類號: | G06F16/242 | 分類號: | G06F16/242;G06F16/28;G06F8/41 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 641000 四*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 針對 關系 數據庫 容量 sql 文件 導入 方法 | ||
本發明公開了一種針對關系型數據庫的大容量SQL文件的導入方法,包括以下步驟:S100:SQL文件的詞法分析,包括以下步驟:S101:配置詞法分析規則,生成詞法分析配置文件:根據SQL詞法規則及詞法分析器配置規則,配置詞法類型的識別規則并生成詞法分析配置文件;S102:采用詞法分析器,將所述詞法分析配置文件生成為可執行文件;S103:采用所述可執行文件,生成詞法標記;S200:SQL文件的語法分析:生成語法分析配置文件,采用語法分析器生成SQL文件中各個語句各自所對應的語法結構體對象;S300:語法結構持久化:采用所述語法結構體對象,提取數據庫結構并存儲到JSON文件中;S400:根據所述JSON文件創建關系型數據庫,將所獲取的文本文件導入至關系型數據庫。
技術領域
本發明屬于數據庫及數據恢復領域,涉及大容量SQL文件的導入方法,尤其涉及一種針對關系型數據庫的大容量SQL文件的導入方法。
背景技術
隨著信息技術的飛速發展,各種數據也呈指數級的不斷增長,對于這些數據的存儲、備份及備份下載的需求也日益凸顯。為此出現了各種各樣的數據庫,如MYSQL、SQLServer、Oracle等。部分廠家提供了云數據庫存儲服務,如阿里云、亞馬遜云等,這些廠家為數據庫的移植和數據安全都提供了導出備份或者下載的功能。
現有技術中,大部分導出備份或者下載的文件格式都是SQL格式的文件(為方便起見,以下統稱SQL文件)。這些SQL文件非常之大,常常超出數十GB、甚至上百GB。這就造成重新導入到數據庫中會花費大量時間,更有甚者,如果導入過程中有SQL語句有錯,則會導致全部導入失敗,下次導入時會從頭開始導入,非常耗時,導入的效率低下;而且用戶不能自行選擇所需部分進行導入,只能全盤導入,導入的靈活性很差。
例如,現有技術中,通過phpmyadmin導入,該方法對內存有限制;再如,通過Navicat Premium工具運行SQL,工作效率低;通過source命令導入也非常耗時,例如,導入一個2.G的文件耗時一個小時;另外,上述方法都存在導入過程中有SQL語句有錯會導致全部導入失敗的問題。
發明內容
針對現有技術的技術問題,本發明提供了一種針對關系型數據庫的大容量SQL文件的導入方法,利用詞法分析器及語法分析器將SQL文件分割成一個個建表語句和文本文件,同時,將數據庫創建語法可視化為數據庫節點樹,并開啟多個并行線程,提高導入速度,包括以下步驟:
S100:SQL文件的詞法分析,包括以下步驟:
S101:配置詞法分析規則,生成詞法分析配置文件:根據SQL詞法規則及詞法分析器配置規則,配置詞法類型的識別規則并生成詞法分析配置文件;
S102:采用詞法分析器,將所述詞法分析配置文件生成為可執行文件;
S103:采用所述可執行文件,生成詞法標記;
S200:SQL文件的語法分析:生成語法分析配置文件,采用語法分析器生成SQL文件中各個語句各自所對應的語法結構體對象,其中,SQL文件中所述各個語句包括建庫語句、庫選擇語句、建表語句及插入語句;
S300:語法結構持久化:采用所述語法結構體對象,提取數據庫結構并存儲到JSON文件中;
S400:根據所述JSON文件創建關系型數據庫,將所獲取的文本文件導入至關系型數據庫。
優選地,所述詞法分析器為FLEX,所述語法分析器為BISON。
優選地,所述詞法類型包括SQL關鍵字、用戶標記、值標記及符號標記,所述SQL關鍵字包括創建、插入、刪除、表、數據庫,所述用戶標記為用戶自行命名的標記,包括數據庫名稱、表名、字段名,所述值標記包括字符串值、整型值、浮點數值、十六進制值及二進制值,所述符號標記包括算術運算符號、邏輯運算符號、標點符號及文件結束符號。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于四川效率源信息安全技術股份有限公司,未經四川效率源信息安全技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211686988.2/2.html,轉載請聲明來源鉆瓜專利網。





