[發明專利]SQL檢查方法與裝置有效
| 申請號: | 201210202776.2 | 申請日: | 2012-06-15 |
| 公開(公告)號: | CN103514166A | 公開(公告)日: | 2014-01-15 |
| 發明(設計)人: | 樊振華 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;G06F9/44 |
| 代理公司: | 北京潤澤恒知識產權代理有限公司 11319 | 代理人: | 蘇培華 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 開曼群島;KY |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | sql 檢查 方法 裝置 | ||
1.一種結構化查詢語言SQL檢查方法,其特征在于,包括:
根據文件變更類型,獲取待檢查文件,所述待檢查文件為進行過SQL修改的文件;
對所述待檢查文件進行SQL修改過濾,獲取待檢查的SQL修改;
將所述待檢查的SQL修改轉換為SQL語句;
獲取所述SQL語句對應的SQL執行計劃,對所述SQL執行計劃進行檢查。
2.根據權利要求1所述的方法,其特征在于,所述根據文件變更類型,獲取待檢查文件的步驟包括:
使用Perl語言調用版本管理工具SVN命令,使所述SVN命令根據所述文件變更類型,獲取修改類型的所述待檢查文件。
3.根據權利要求1或2所述的方法,其特征在于,所述將對所述待檢查文件進行SQL修改過濾,獲取待檢查的SQL修改的步驟包括:
獲取所述待檢查文件的當前版本的信息和所述當前版本的前次版本的信息;
根據所述當前版本的信息和所述當前版本的前次版本的信息,獲取所述當前版本對應的所述待檢查文件的文件內容,和所述當前版本的前次版本對應的所述待檢查文件的文件內容;
將所述當前版本的前次版本對應的所述待檢查文件的文件內容中的SQL內容從所述當前版本對應的所述待檢查文件的文件內容中清除,獲取所述待檢查的SQL修改。
4.根據權利要求3所述的方法,其特征在于,所述將所述當前版本的前次版本對應的所述待檢查文件的文件內容中的SQL內容從所述當前版本對應的所述待檢查文件的文件內容中清除,獲取所述待檢查的SQL修改的步驟包括:
分別對所述當前版本對應的所述待檢查文件的文件內容,和所述當前版本的前次版本對應的所述待檢查文件的文件內容進行解析,并分別生成對應的SQL標識和SQL內容;
將所述SQL內容分別存放到不同的哈希Hash結構中;
根據所述SQL標識比較所述不同的Hash結構中的SQL內容,獲取所述待檢查的SQL修改。
5.根據權利要求1所述的方法,其特征在于,所述將所述待檢查的SQL修改轉換為SQL語句的步驟包括:
使用正則表達式,將所述待檢查的SQL修改格式化為SQL語句。
6.根據權利要求5所述的方法,其特征在于,所述使用正則表達式,將所述待檢查的SQL修改格式化為SQL語句的步驟包括:
使用所述正則表達式,將所述待檢查的SQL修改中的IBATIS標記刪除,將刪除了所述IBATIS標記的SQL修改格式化為SQL語句。
7.根據權利要求1所述的方法,其特征在于,所述獲取所述SQL語句對應的SQL執行計劃的步驟包括:
使用正則表達式,從所述待檢查的SQL修改的信息中獲取所述待檢查的SQL修改所在的數據表名;
獲取所述數據表名所在的數據庫信息;
連接所述數據庫信息指示的數據庫,從所述數據庫中獲取所述SQL語句對應的SQL執行計劃。
8.根據權利要求7所述的方法,其特征在于,所述獲取所述數據表名所在的數據庫信息的步驟包括:
通過數據庫對應關系表確定所述數據表名對應的數據庫,獲取所述數據庫的信息,其中,所述數據庫對應關系表用于指示數據表與數據庫的對應關系,所述數據庫對應關系表中還存儲有所述數據庫的地址信息。
9.根據權利要求1所述的方法,其特征在于,獲取所述SQL語句對應的SQL執行計劃,對所述SQL執行計劃進行檢查的步驟包括:
使用正則表達式,從所述待檢查的SQL修改的信息中獲取所述待檢查的SQL修改所在的數據表名;
判斷所述數據表名是否在系統的白名單表中,所述白名單表中包括設定的指示SQL語句檢查通過的數據表名;
若所述數據表名在所述白名單表中,則確定所述SQL語句通過檢查。
10.根據權利要求1所述的方法,其特征在于,在所述根據文件變更類型,獲取待檢查文件的步驟之前,還包括:
檢查進行過SQL修改的文件中是否存在無效修改的文件;
若是,則不對所述無效修改的文件進行所述SQL檢查。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210202776.2/1.html,轉載請聲明來源鉆瓜專利網。





