[發(fā)明專利]基于神經(jīng)網(wǎng)絡(luò)模型和哈希匹配的SQL檢測方法及系統(tǒng)在審
| 申請?zhí)枺?/td> | 202110231922.3 | 申請日: | 2021-03-02 |
| 公開(公告)號: | CN112966268A | 公開(公告)日: | 2021-06-15 |
| 發(fā)明(設(shè)計)人: | 周誠;李偉偉;汪晨;何金棟 | 申請(專利權(quán))人: | 全球能源互聯(lián)網(wǎng)研究院有限公司;國網(wǎng)福建省電力有限公司電力科學(xué)研究院;國家電網(wǎng)有限公司 |
| 主分類號: | G06F21/56 | 分類號: | G06F21/56;G06F16/22;G06F16/242;G06N3/08 |
| 代理公司: | 北京三聚陽光知識產(chǎn)權(quán)代理有限公司 11250 | 代理人: | 劉靜 |
| 地址: | 102209 北京*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 神經(jīng)網(wǎng)絡(luò) 模型 匹配 sql 檢測 方法 系統(tǒng) | ||
1.一種基于神經(jīng)網(wǎng)絡(luò)模型和哈希匹配的SQL檢測方法,其特征在于,包括:
將獲取的SQL語句轉(zhuǎn)化為SQL語句模板,通過預(yù)設(shè)特征提取模型提取帶標(biāo)記SQL語句模板集合的特征向量,所述標(biāo)記用于表征SQL語句模板正常或異常,將特征向量輸入到神經(jīng)網(wǎng)絡(luò)模型中對其進行訓(xùn)練,將訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型作為SQL檢測模型,用于識別SQL語句是否異常;
構(gòu)建帶標(biāo)記SQL語句模板集合的哈希表,所述哈希表中的鍵值對用于表征SQL語句模板為正常或異常;
獲取用戶訪問數(shù)據(jù)庫所使用的SQL語句,并轉(zhuǎn)化成SQL語句模板,在所述哈希表中查找SQL語句模板對應(yīng)的標(biāo)記,若查找成功則輸出對應(yīng)的標(biāo)記結(jié)果;若查找失敗,通過所述預(yù)設(shè)特征提取模型獲取用戶使用SQL語句模板的特征向量,并輸入到SQL檢測模型中,當(dāng)輸出結(jié)果為正常時,則將該SQL語句模板及對應(yīng)的標(biāo)記更新到哈希表中,并檢測下一條SQL語句。
2.根據(jù)權(quán)利要求1所述的基于神經(jīng)網(wǎng)絡(luò)模型和哈希匹配的SQL檢測方法,其特征在于,還包括:當(dāng)在哈希表中查找的標(biāo)記結(jié)果為異常,或當(dāng)SQL檢測模型輸出結(jié)果為異常時,則發(fā)送異常信息給管理人員進行告警。
3.根據(jù)權(quán)利要求1所述的基于神經(jīng)網(wǎng)絡(luò)模型和哈希匹配的SQL檢測方法,其特征在于,在提取帶標(biāo)記SQL語句模板集合的特征向量的語句的步驟之前、構(gòu)建帶標(biāo)記SQL語句模板集合的哈希表的步驟之前、及獲取用戶訪問數(shù)據(jù)庫所使用的SQL語句之后,在所述哈希表中查找SQL語句對應(yīng)的標(biāo)記的步驟之前,均對SQL語句進行正規(guī)化處理得到SQL語句模板。
4.根據(jù)權(quán)利要求3所述的基于神經(jīng)網(wǎng)絡(luò)模型和哈希匹配的SQL檢測方法,其特征在于,所述正規(guī)化處理包括:將SQL語句中的數(shù)值重寫為0,變量除外;將SQL語句中的單引號引起的參數(shù)重寫為#,空字符串除外;將換行轉(zhuǎn)換為空格;將連續(xù)的空格合并為1個;去掉運算符兩端空格;去掉數(shù)字前的正、負號;去掉注釋內(nèi)容,為注釋添加占位符,連續(xù)的多個注釋視為一個;謂詞格式化,按照各數(shù)據(jù)庫的對象名命名原則,統(tǒng)一語句中的非參數(shù)的詞的大小寫;去掉語句開頭、結(jié)尾的空格;在謂詞和+/-號之間,如果沒有空格或者注釋,添加空格。
5.根據(jù)權(quán)利要求1基于神經(jīng)網(wǎng)絡(luò)模型和哈希匹配的SQL檢測方法,其特征在于,所述預(yù)設(shè)特征提取模型包括:詞袋模型。
6.根據(jù)權(quán)利要求1基于神經(jīng)網(wǎng)絡(luò)模型和哈希匹配的SQL檢測方法,其特征在于,所述預(yù)設(shè)特征提取模型、哈希表和SQL檢測模型保存在外存上,在對用戶訪問數(shù)據(jù)庫所使用的SQL語句進行檢測時,將所述預(yù)設(shè)特征提取模型、哈希表和SQL檢測模型保存到需要部署的服務(wù)器中。
7.一種基于神經(jīng)網(wǎng)絡(luò)模型和哈希匹配的SQL檢測系統(tǒng),其特征在于,包括:
模型訓(xùn)練模塊,用于將獲取的SQL語句轉(zhuǎn)化為SQL語句模板,通過預(yù)設(shè)特征提取模型提取帶標(biāo)記SQL語句模板集合的特征向量,所述標(biāo)記用于表征SQL語句模板正常或異常,將特征向量輸入到神經(jīng)網(wǎng)絡(luò)模型中對其進行訓(xùn)練,將訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型作為SQL檢測模型,用于識別SQL語句模板是否異常;
哈希表構(gòu)建模塊,用于構(gòu)建帶標(biāo)記SQL語句模板集合的哈希表,所述哈希表中的鍵值對用于表征SQL語句模板為正常或異常;
用戶SQL語句檢測模塊,用于獲取用戶訪問數(shù)據(jù)庫所使用的SQL語句,并轉(zhuǎn)化成SQL語句模板,在所述哈希表中查找SQL語句模板對應(yīng)的標(biāo)記,若查找成功則輸出對應(yīng)的標(biāo)記結(jié)果;若查找失敗,通過所述預(yù)設(shè)特征提取模型獲取用戶使用SQL語句模板的特征向量,并輸入到SQL檢測模型中,當(dāng)輸出結(jié)果為正常時,則將該SQL語句模板及對應(yīng)的標(biāo)記更新到哈希表中,并檢測下一條SQL語句。
8.一種計算機設(shè)備,其特征在于,包括:至少一個處理器,以及與所述至少一個處理器通信連接的存儲器,其中,所述存儲器存儲有可被所述至少一個處理器執(zhí)行的指令,所述指令被所述至少一個處理器執(zhí)行,以使所述至少一個處理器執(zhí)行權(quán)利要求1-6中任一所述的基于神經(jīng)網(wǎng)絡(luò)模型和哈希匹配的SQL檢測方法。
9.一種計算機可讀存儲介質(zhì),其特征在于,所述計算機可讀存儲介質(zhì)存儲有計算機指令,所述計算機指令用于使所述計算機執(zhí)行1-6中任一所述的基于神經(jīng)網(wǎng)絡(luò)模型和哈希匹配的SQL檢測方法。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于全球能源互聯(lián)網(wǎng)研究院有限公司;國網(wǎng)福建省電力有限公司電力科學(xué)研究院;國家電網(wǎng)有限公司,未經(jīng)全球能源互聯(lián)網(wǎng)研究院有限公司;國網(wǎng)福建省電力有限公司電力科學(xué)研究院;國家電網(wǎng)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110231922.3/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 硬件神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換方法、計算裝置、軟硬件協(xié)作系統(tǒng)
- 生成較大神經(jīng)網(wǎng)絡(luò)
- 神經(jīng)網(wǎng)絡(luò)的生成方法、生成裝置和電子設(shè)備
- 一種舌診方法、裝置、計算設(shè)備及計算機存儲介質(zhì)
- 學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
- 脈沖神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換方法及相關(guān)轉(zhuǎn)換芯片
- 圖像處理方法、裝置、可讀存儲介質(zhì)和計算機設(shè)備
- 一種適應(yīng)目標(biāo)數(shù)據(jù)集的網(wǎng)絡(luò)模型微調(diào)方法、系統(tǒng)、終端和存儲介質(zhì)
- 用于重構(gòu)人工神經(jīng)網(wǎng)絡(luò)的處理器及其操作方法、電氣設(shè)備
- 一種圖像神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)化方法及裝置





