[發明專利]一種基于云計算的SQL語句處理系統有效
| 申請號: | 201410636239.8 | 申請日: | 2014-11-12 |
| 公開(公告)號: | CN104391895A | 公開(公告)日: | 2015-03-04 |
| 發明(設計)人: | 別志銘;張健明;張勇鵬;王旭;王禮;吳楠 | 申請(專利權)人: | 珠海世紀鼎利通信科技股份有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 廣州嘉權專利商標事務所有限公司 44205 | 代理人: | 譚志強 |
| 地址: | 519085 廣*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 計算 sql 語句 處理 系統 | ||
技術領域
?本發明涉及數據庫處理領域,特別是一種基于云計算的SQL語句處理系統。
背景技術
目前支持云計算的sql語句系統中,對于同時批量提交2條以上的查詢SQL語句,每條SQL語句都是單獨執行,沒有對SQL語句里面相同表達式和語句進行共享合并操作,導致多條SQL語句同時執行的情況下,系統的內存和CPU等占用急劇變大,運行的速度比單條SQL順序執行時還要慢,有些系統則直接導致內存不足等現象,導致任務執行失敗。
發明內容
為解決上述問題,本發明的目的在于提供一種基于云計算的SQL語句處理系統,優化SQL語句的并行與串行操作,降低SQL語句處理時的內存與CPU消耗,提升SQL語句處理效率。
本發明解決其問題所采用的技術方案是:
一種基于云計算的SQL語句處理系統,包括:
編譯解析器,用于將接收到的SQL語句或存儲過程的文本轉換為對應的原子對象;
合并優化器,用于遍歷每個SQL語句的原子對象,將具有相同內容的原子對象提取出來作為一個公用的原子對象;
執行監控器,用于接收合并優化器處理后的原子對象,為每個原子對象分配獨立的可執行組件,并由可執行組件的運行獲取計算結果。
進一步,還包括數據適配器,所述數據適配器包括數據輸入適配器和數據輸出適配器,其中:
所述數據輸入適配器用于從不同的數據源讀取數據,并傳遞至編譯解析器;
所述數據輸出適配器用于將執行監控器生成的計算結果寫入至對應的數據源中。
進一步,所述存儲過程的文本為SQL語句文本。
進一步,所述編譯解析器包括:
語法判斷單元,用于判斷對應的SQL語句是否符合語法規定;
解析單元,用于將符合語法規定的SQL語句分割為對應字段表達式和/或條件表達式;
語法分析對象單元,用于將字段表達式和/或條件表達式轉換成語法樹;
原子對象單元,用于將語法樹里面的對象進一步分解為最小粒度的原子對象,所述最小粒度的原子對象包括字段、表名、函數和分組對象。
進一步,所述最小粒度的原子對象被保存至一個hashmap對象中,且不同的原子對象,都具有唯一的GUID編號。
進一步,所述合并優化器在提取公用的原子對象時,若原子對象的父親節點是一個表達式對象,且所有原子對象的表達式對象內容相同,則提取該表達式對象作為公用的表達式對象,所述提取的公用的原子對象、表達式對象均被存入至公共內存池中。
進一步,所述執行監控器包括:
執行器,用于為為每個原子對象分配獨立的可執行組件,每個組件分別在執行器中獨立執行;
監控器,用于記錄每個可執行組件的開始時間、結束時間、占用CPU和內存及耗費網絡流量參數,以優化可執行組件的串行與并行,獲取本次計算中的關鍵路徑和最優模型。
本發明的有益效果是:
本發明采用一種基于云計算的SQL語句處理系統,將SQL語句首先分割為原子對象,再對原子對象進行合并優化,提取出公用的原子對象或表達式對象,為每個原子或表達式對象分配單獨的可執行組件,并監控執行過程,根據監控的每個可執行組件的開始時間、結束時間、占用CPU和內存及耗費網絡流量等參數,確定哪些組件可以并行運行,哪些組件必須串行運行,并依此計算本次任務中的關鍵路徑和最優模型,以便對系統性能等進行優化。本發明在分割原子對象時,每個原子對象均有唯一的GUID編號,方便記錄及后續的合并優化;公共內存池中存儲的不僅是原子對象,亦可以是原子對象的父親節點——表達式對象,實現了大對象的共享功能;根據監控的開始時間、結束時間、占用CPU和內存及耗費網絡流量等參數,及時判斷哪些可執行組件可以并行和串行,從而計算本次任務中的關鍵路徑和最優模型,提高運行速度,優化CPU和內存,降低流量消耗。
附圖說明
下面結合附圖和實例對本發明作進一步說明。
圖1是本發明優選實施例中所述系統的整體結構示意圖;
圖2是本發明優選實施例中分割為原子對象后的語法樹示意圖;
圖3是本發明優選實施例中優化合并后的語法樹示意圖。
具體實施方式
實施例1:
參照圖1所示,本發明的優選實施例提供了一種基于云計算的SQL語句處理系統,包括:
編譯解析器,用于將接收到的SQL語句或存儲過程的文本轉換為對應的原子對象;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于珠海世紀鼎利通信科技股份有限公司,未經珠海世紀鼎利通信科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410636239.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:數據展示方法和裝置
- 下一篇:內容類別檢測方法及裝置





