[發(fā)明專利]一種SQL語句處理方法及裝置有效
| 申請?zhí)枺?/td> | 201210361178.X | 申請日: | 2012-09-25 |
| 公開(公告)號: | CN102915344A | 公開(公告)日: | 2013-02-06 |
| 發(fā)明(設(shè)計(jì))人: | 叢磊;王利俊;鄭志勇 | 申請(專利權(quán))人: | 新浪網(wǎng)技術(shù)(中國)有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京同達(dá)信恒知識產(chǎn)權(quán)代理有限公司 11291 | 代理人: | 郭潤湘 |
| 地址: | 100080 北京市海淀*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 sql 語句 處理 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)庫技術(shù)領(lǐng)域,尤其涉及一種SQL語句處理方法及裝置。
背景技術(shù)
MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),其使用的SQL(Structured?Query?Language,結(jié)構(gòu)化查詢語言)是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言。
在現(xiàn)有的MySQL技術(shù)中,MySQL?Proxy是一個(gè)處于客戶端和MySQL服務(wù)器端之間的一個(gè)應(yīng)用程序,作為中間層代理,負(fù)責(zé)將前臺應(yīng)用客戶端的連接請求轉(zhuǎn)發(fā)給后臺的數(shù)據(jù)庫,并且通過使用lua腳本,可以實(shí)現(xiàn)復(fù)雜的連接控制和過濾,從而實(shí)現(xiàn)讀寫分離和負(fù)載平衡。對于應(yīng)用客戶端來說,MySQL?Proxy是完全透明的,應(yīng)用客戶端則只需要連接到MySQL?Proxy的監(jiān)聽端口即可。
隨著對于海量數(shù)據(jù)存儲和查詢的需要,現(xiàn)有技術(shù)中出現(xiàn)了公有云計(jì)算的分布式數(shù)據(jù)庫集群技術(shù),在實(shí)際應(yīng)用中,經(jīng)常會有大量應(yīng)用客戶端向數(shù)據(jù)庫集群請求進(jìn)行一些數(shù)據(jù)庫處理操作,而且,其中還可能包括一些不良的,甚至是惡意的請求操作,導(dǎo)致數(shù)據(jù)庫集群的整體負(fù)載較高,降低了進(jìn)行數(shù)據(jù)庫處理操作的效率,并影響了對其他客戶端的正常請求的處理。
然而,將MySQL?Proxy引入到數(shù)據(jù)庫集群技術(shù)中,也僅是能實(shí)現(xiàn)連接控制、讀寫分離和負(fù)載平衡等,而無法對請求進(jìn)行數(shù)據(jù)庫處理操作的SQL語句的安全性進(jìn)行判定,以提高數(shù)據(jù)庫的運(yùn)行性能。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種SQL語句處理方法及裝置,用以解決現(xiàn)有技術(shù)中存在的數(shù)據(jù)庫運(yùn)行性能較低問題。
本發(fā)明實(shí)施例提供一種SQL語句處理方法,包括:
獲取請求進(jìn)行數(shù)據(jù)庫處理操作的SQL語句;
對所述SQL語句進(jìn)行結(jié)構(gòu)分析,得到分析結(jié)果;
根據(jù)所述分析結(jié)果,確定按照所述SQL語句進(jìn)行數(shù)據(jù)庫處理操作時(shí)所表征的基準(zhǔn)行數(shù),所述基準(zhǔn)行數(shù)為進(jìn)行數(shù)據(jù)庫處理操作時(shí)需要查詢的數(shù)據(jù)行數(shù);
當(dāng)確定的所述基準(zhǔn)行數(shù)小于行數(shù)閾值時(shí),確定按照所述SQL語句進(jìn)行數(shù)據(jù)庫處理操作,否則,確定取消按照所述SQL語句進(jìn)行數(shù)據(jù)庫處理操作。
本發(fā)明實(shí)施例還提供一種結(jié)構(gòu)化查詢語言SQL語句處理裝置,包括:
獲取單元,用于獲取請求進(jìn)行數(shù)據(jù)庫處理操作的SQL語句;
分析單元,用于對所述SQL語句進(jìn)行結(jié)構(gòu)分析,得到分析結(jié)果;
第一確定單元,用于根據(jù)所述分析結(jié)果,確定按照所述SQL語句進(jìn)行數(shù)據(jù)庫處理操作時(shí)所表征的基準(zhǔn)行數(shù),所述基準(zhǔn)行數(shù)為進(jìn)行數(shù)據(jù)庫處理操作時(shí)需要查詢的數(shù)據(jù)行數(shù);
第二確定單元,用于當(dāng)確定的所述基準(zhǔn)行數(shù)小于行數(shù)閾值時(shí),確定按照所述SQL語句進(jìn)行數(shù)據(jù)庫處理操作,否則,確定取消按照所述SQL語句進(jìn)行數(shù)據(jù)庫處理操作。
本發(fā)明有益效果包括:
本發(fā)明實(shí)施例提供的方法中,對于請求進(jìn)行數(shù)據(jù)庫處理操作的SQL語句,根據(jù)對該SQL語句進(jìn)行結(jié)構(gòu)分析的分析結(jié)果,確定按照該SQL語句進(jìn)行數(shù)據(jù)庫處理操作時(shí)所表征的基準(zhǔn)行數(shù),并當(dāng)確定的基準(zhǔn)行數(shù)小于行數(shù)閾值時(shí),確定按照該SQL語句進(jìn)行數(shù)據(jù)庫處理操作,否則,確定取消按照所述SQL語句進(jìn)行數(shù)據(jù)庫處理操作。由于該基準(zhǔn)行數(shù)為進(jìn)行數(shù)據(jù)庫處理操作時(shí)需要查詢的數(shù)據(jù)行數(shù),即能夠表征按照該SQL語句進(jìn)行數(shù)據(jù)庫處理操作時(shí)對數(shù)據(jù)庫負(fù)載的影響,所以當(dāng)該基準(zhǔn)行數(shù)小于行數(shù)閾值時(shí),表示該SQL語句不會引起數(shù)據(jù)庫系統(tǒng)負(fù)載的較大增長,確定按照該SQL語句進(jìn)行數(shù)據(jù)庫處理操作,否則,即當(dāng)該基準(zhǔn)行數(shù)不小于行數(shù)閾值時(shí),表示該SQL語句會引起數(shù)據(jù)庫系統(tǒng)負(fù)載的較大增長,確定取消按照該SQL語句進(jìn)行數(shù)據(jù)庫處理操作,因此能夠有效過濾掉導(dǎo)致數(shù)據(jù)庫負(fù)載較大的SQL語句,從而提高了數(shù)據(jù)庫運(yùn)行性能。
附圖說明
附圖用來提供對本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:
圖1為本發(fā)明實(shí)施例提供的SQL語句處理方法的流程圖;
圖2為本發(fā)明實(shí)施例1提供的SQL語句處理方法的流程圖;
圖3為本發(fā)明實(shí)施例2提供的SQL語句處理方法的流程圖;
圖4為本發(fā)明實(shí)施例3提供的SQL語句處理裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了給出提高數(shù)據(jù)庫運(yùn)行性能的實(shí)現(xiàn)方案,本發(fā)明實(shí)施例提供了一種SQL語句處理方法及裝置,以下結(jié)合說明書附圖對本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。并且在不沖突的情況下,本申請中的實(shí)施例及實(shí)施例中的特征可以相互組合。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于新浪網(wǎng)技術(shù)(中國)有限公司,未經(jīng)新浪網(wǎng)技術(shù)(中國)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210361178.X/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:終端及其控制方法
- 下一篇:用于檢測多階段事件的方法和設(shè)備
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F17-00 特別適用于特定功能的數(shù)字計(jì)算設(shè)備或數(shù)據(jù)處理設(shè)備或數(shù)據(jù)處理方法
G06F17-10 .復(fù)雜數(shù)學(xué)運(yùn)算的
G06F17-20 .處理自然語言數(shù)據(jù)的
G06F17-30 .信息檢索;及其數(shù)據(jù)庫結(jié)構(gòu)
G06F17-40 .數(shù)據(jù)的獲取和記錄
G06F17-50 .計(jì)算機(jī)輔助設(shè)計(jì)
- 基于聊天大數(shù)據(jù)知識庫的機(jī)器人對話控制方法和系統(tǒng)
- 基于大數(shù)據(jù)搜索的幽默型機(jī)器人對話控制方法和系統(tǒng)
- 基于對話知識庫的機(jī)器人對話控制方法和系統(tǒng)
- 一種自然語言語句評價(jià)方法及裝置
- 句子級雙語對齊方法及系統(tǒng)
- 一種獲取相似語句的方法、裝置、存儲介質(zhì)及電子設(shè)備
- 一種翻譯模型結(jié)果重排序的方法及裝置
- 用于輸出信息的方法、裝置、設(shè)備以及存儲介質(zhì)
- 搜索推薦方法和裝置、服務(wù)器、計(jì)算機(jī)可讀存儲介質(zhì)
- 文本識別方法、裝置、電子設(shè)備和可讀存儲介質(zhì)





