[發明專利]一種SQL語句動態解析方法在審
| 申請號: | 201910656221.7 | 申請日: | 2019-07-19 |
| 公開(公告)號: | CN110362595A | 公開(公告)日: | 2019-10-22 |
| 發明(設計)人: | 閆守臣 | 申請(專利權)人: | 北京首汽智行科技有限公司 |
| 主分類號: | G06F16/242 | 分類號: | G06F16/242;G06F16/28 |
| 代理公司: | 北京世譽鑫誠專利代理事務所(普通合伙) 11368 | 代理人: | 李世端 |
| 地址: | 100026 北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 動態解析 數據庫服務器 數據服務器 查詢條件 大數據 解析 | ||
本發明公開的SQL語句動態解析方法,涉及大數據技術領域,通過對SQL中的查詢條件進行動態解析,不必經過數據庫服務器解析,簡化了SQL編寫過程及減輕了數據服務器的壓力。
技術領域
本發明涉及大數據技術領域,具體涉及一種SQL語句動態解析方法。
背景技術
在大數據平臺建設過程中,需要將業務關系數據庫中的數據完整地導入數據倉庫中,而在抽取過程中需要編寫各種復雜SQL語句以避免抽取到無用的業務數據,使抽取過程變得繁瑣,數據服務器壓力較大。
發明內容
為解決現有技術的不足,本發明實施例提供了一種SQL語句動態解析方法,該方法包括以下步驟:
獲取SQL語句中的where查詢條件語句,生成查詢條件語句集;
分別判斷所述查詢條件語句集中各個where查詢條件語句攜帶的參數是否為空;
若否,則利用遞歸算法,將獲取的where查詢條件語句封裝為功能模塊;
執行所述功能模塊,得到對應的第一數據;
執行所述SQL語句,得到對應的第二數據;
根據所述第一數據及所述第二數據,判斷所述功能模塊是否有效。
優選地,在獲取SQL語句中的where查詢條件語句,生成查詢條件語句集之前,所述方法包括:
從多個數據庫中獲取數據源并根據所述數據源的標簽,生成數據標簽集。
優選地,在執行所述功能模塊,得到對應的第一數據之前,所述方法包括:
根據所述where查詢條件語句及所述數據源標簽,設置所述功能模塊的數據輸出類型。
優選地,所述功能模塊包括用戶自定義的函數。
本發明實施例提高的SQL語句動態解析方法具有以下有益效果:
通過對SQL中的查詢條件進行動態解析,不必經過數據庫服務器解析,簡化了SQL語句的編寫過程及減輕了數據服務器的壓力。
附圖說明
圖1是本發明實施例提供的SQL語句動態解析方法流程示意圖。
具體實施方式
以下結合附圖和具體實施例對本發明作具體的介紹。
參照圖1,本發明實施例提供的SQL語句動態解析方法包括以下步驟:
S101,獲取SQL語句中的where查詢條件語句,生成查詢條件語句集。
S102,分別判斷查詢條件語句集中各個where查詢條件語句攜帶的參數是否為空。
S103,若否,則利用遞歸算法,將獲取的where查詢條件語句封裝為功能模塊。
其中,該步驟實現了SQL語句中的where查詢條件語句與該SQL語句的解耦。
S104,執行功能模塊,得到對應的第一數據。
S105,執行SQL語句,得到對應的第二數據。
S106,根據第一數據及第二數據,判斷功能模塊是否有效。
其中,當第一數據及第二數據完全一致時,則確定該功能模塊有效。
可選地,在獲取SQL語句中的where查詢條件語句,生成查詢條件語句集之前,該方法包括:
從多個數據庫中獲取數據源并根據數據源的標簽,生成數據標簽集。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京首汽智行科技有限公司,未經北京首汽智行科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910656221.7/2.html,轉載請聲明來源鉆瓜專利網。





