两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

結(jié)構(gòu)化查詢語言SQL防御的方法、系統(tǒng)以及計(jì)算設(shè)備與流程

文檔序號:40642459發(fā)布日期:2025-01-10 18:48閱讀:2來源:國知局
結(jié)構(gòu)化查詢語言SQL防御的方法、系統(tǒng)以及計(jì)算設(shè)備與流程

本技術(shù)涉及數(shù)據(jù)庫領(lǐng)域,并且更具體地,涉及一種結(jié)構(gòu)化查詢語言sql防御的方法、系統(tǒng)以及計(jì)算設(shè)備。


背景技術(shù):

1、在當(dāng)前的結(jié)構(gòu)化查詢語言(structured?query?language,sql)引擎中,通過執(zhí)行用戶的sql語句為用戶提供數(shù)據(jù)查詢服務(wù)。隨著技術(shù)的發(fā)展,sql引擎層出不窮,在帶給我們解決方案多樣性的同時(shí),也暴露出一定的問題,比如用戶輸入的sql語句的質(zhì)量良莠不齊,低質(zhì)量的sql語句會給平臺或系統(tǒng)帶來的不可預(yù)料的沖擊。對于大sql語句或爛sql語句會造成系統(tǒng)的癱瘓,導(dǎo)致服務(wù)不可用。對于慢sql語句會影響系統(tǒng)的穩(wěn)定性,主要表現(xiàn)是服務(wù)器線程池被占滿,造成雪崩效應(yīng),其它正常sql無法正常執(zhí)行,出現(xiàn)系統(tǒng)假死現(xiàn)象。

2、相關(guān)的技術(shù)方案中,通過業(yè)務(wù)層對sql語句進(jìn)行解析和防御,一方面,由于在業(yè)務(wù)層中對sql語句進(jìn)行解析判斷,需要改造業(yè)務(wù)層的業(yè)務(wù)流程。另一方面,由于在業(yè)務(wù)層中需要對sql語句進(jìn)行解析判斷,對于符合要求的sql語句需要發(fā)送給sql引擎,sql引擎在對sql語句進(jìn)行處理時(shí),還需要對sql語句再次進(jìn)行解析,性能損耗較高。另一方面,每個(gè)sql引擎各自針對自己的sql語法進(jìn)行sql語句的解析和防御,這樣不僅靈活性差,可擴(kuò)展性也較差,sql語法的通用性不足。

3、因此,如何增強(qiáng)sql防御的靈活性和可擴(kuò)展性成為亟需要解決的技術(shù)問題。


技術(shù)實(shí)現(xiàn)思路

1、本技術(shù)提供一種結(jié)構(gòu)化查詢語言sql防御的方法、系統(tǒng)以及計(jì)算設(shè)備,該方法能夠增強(qiáng)sql防御的靈活性和可擴(kuò)展性。

2、第一方面,提供了一種結(jié)構(gòu)化查詢語言sql防御的方法,該方法應(yīng)用于sql防御系統(tǒng),該sql防御系統(tǒng)包括sql防御規(guī)則配置單元和多個(gè)sql引擎,該方法包括:該sql防御規(guī)則配置單元通過統(tǒng)一的入口為該多個(gè)sql引擎配置對應(yīng)的sql防御規(guī)則,每個(gè)該sql防御規(guī)則中包括生效的sql引擎以及對應(yīng)的執(zhí)行動作,該多個(gè)sql引擎對應(yīng)的sql防御規(guī)則的格式相同;該sql防御規(guī)則配置單元根據(jù)每個(gè)該sql防御規(guī)則中生效的sql引擎,將配置的sql防御規(guī)則分別發(fā)送給對應(yīng)的sql引擎,以便于該sql引擎根據(jù)獲得的sql防御規(guī)則對接收到的sql語句進(jìn)行防御。

3、上述技術(shù)方案中,通過一個(gè)統(tǒng)一的入口為多個(gè)sql引擎配置并下發(fā)格式相同的sql防御規(guī)則,由sql引擎基于獲得的sql防御規(guī)則對接收到的sql語句進(jìn)行防御。這樣,一方面,業(yè)務(wù)層不需要對sql語句進(jìn)行解析,直接在sql引擎對sql語句進(jìn)行解析和防御,性能損耗較較低。另一方面,由于可以為多個(gè)sql引擎配置sql防御規(guī)則,并且sql防御規(guī)則的格式相同,增強(qiáng)了靈活性、可擴(kuò)展性以及sql語法的通用性。

4、結(jié)合第一方面,在第一方面的某些實(shí)現(xiàn)方式中,該多個(gè)sql引擎包括第一sql引擎,該方法還包括:該第一sql引擎從該sql防御規(guī)則配置單元獲取對應(yīng)的至少一個(gè)sql防御規(guī)則,該至少一個(gè)sql防御規(guī)則包括第一sql防御規(guī)則;該第一sql引擎從業(yè)務(wù)層接收到第一sql語句;該第一sql引擎根據(jù)該第一sql語句滿足該第一sql防御規(guī)則,執(zhí)行該第一sql防御規(guī)則中的動作。

5、上述技術(shù)方案中,sql引擎可以自主對sql語句進(jìn)行防御,避免低質(zhì)量的sql語句對大數(shù)據(jù)分析處理平臺或數(shù)據(jù)庫造成的不可預(yù)料的沖擊,使得防御更加準(zhǔn)確。并且,由于在sql引擎直接對sql語句先進(jìn)行解析,在業(yè)務(wù)層不需要對sql語句進(jìn)行解析,使得性能損耗較低,業(yè)務(wù)層無改造,易實(shí)施落地。

6、結(jié)合第一方面,在第一方面的某些實(shí)現(xiàn)方式中,該sql防御規(guī)則配置單元根據(jù)每個(gè)該sql防御規(guī)則中生效的sql引擎,在加載周期內(nèi)自動將配置的sql防御規(guī)則分別發(fā)送給對應(yīng)的sql引擎。

7、上述技術(shù)方案中,在加載周期內(nèi)自動將配置的sql防御規(guī)則分別發(fā)送給對應(yīng)的sql引擎,這樣,sql引擎可以在加載周期內(nèi)自動加載sql防御規(guī)則,而不需要重啟sql引擎,也不需要中斷業(yè)務(wù)。

8、結(jié)合第一方面,在第一方面的某些實(shí)現(xiàn)方式中,該sql防御規(guī)則包括提示類的sql防御規(guī)則、攔截類的sql防御規(guī)則、熔斷類的sql防御規(guī)則。

9、結(jié)合第一方面,在第一方面的某些實(shí)現(xiàn)方式中,第一sql防御規(guī)則為該提示類的sql防御規(guī)則,該第一sql引擎繼續(xù)執(zhí)行該第一sql語句。

10、結(jié)合第一方面,在第一方面的某些實(shí)現(xiàn)方式中,該方法還包括:該第一sql引擎向用戶顯示該第一sql語句的提示信息。

11、上述技術(shù)方案中,可以通過客戶端向用戶顯示該第一sql語句的提示信息,提高用戶的交互體驗(yàn)。

12、結(jié)合第一方面,在第一方面的某些實(shí)現(xiàn)方式中,該第一sql防御規(guī)則為該攔截類的sql防御規(guī)則或該熔斷類的sql防御規(guī)則,該第一sql引擎停止執(zhí)行該第一sql語句。

13、結(jié)合第一方面,在第一方面的某些實(shí)現(xiàn)方式中,該方法還包括:該第一sql引擎向用戶顯示該第一sql語句被停止執(zhí)行的原因。

14、上述技術(shù)方案中,可以通過客戶端向用戶顯示該第一sql語句被停止執(zhí)行的原因,提高用戶的交互體驗(yàn)。

15、結(jié)合第一方面,在第一方面的某些實(shí)現(xiàn)方式中,該第一sql引擎自動在加載周期內(nèi)加載該至少一個(gè)sql防御規(guī)則。

16、上述技術(shù)方案中,sql引擎可以在加載周期內(nèi)自動加載sql防御規(guī)則,而不需要重啟sql引擎,也不需要中斷業(yè)務(wù)。

17、結(jié)合第一方面,在第一方面的某些實(shí)現(xiàn)方式中,該sql防御規(guī)則中還包括生效的租戶列表以及規(guī)則標(biāo)識id。

18、第二方面,提供了一種結(jié)構(gòu)化查詢語言sql防御的系統(tǒng),該系統(tǒng)包括sql防御規(guī)則配置單元和多個(gè)sql引擎:該sql防御規(guī)則配置單元,用于通過統(tǒng)一的入口為該多個(gè)sql引擎配置對應(yīng)的sql防御規(guī)則,每個(gè)該sql防御規(guī)則中包括生效的sql引擎以及對應(yīng)的執(zhí)行動作,該多個(gè)sql引擎對應(yīng)的sql防御規(guī)則的格式相同;該sql防御規(guī)則配置單元,還用于根據(jù)每個(gè)該sql防御規(guī)則中生效的sql引擎,將配置的sql防御規(guī)則分別發(fā)送給對應(yīng)的sql引擎,以便于該sql引擎根據(jù)獲得的sql防御規(guī)則對接收到的sql語句進(jìn)行防御。

19、結(jié)合第二方面,在第二方面的某些實(shí)現(xiàn)方式中,該多個(gè)sql引擎包括第一sql引擎,該第一sql引擎,用于從該sql防御規(guī)則配置單元獲取對應(yīng)的至少一個(gè)sql防御規(guī)則,該至少一個(gè)sql防御規(guī)則包括第一sql防御規(guī)則;該第一sql引擎,還用于從業(yè)務(wù)層接收到第一sql語句;該第一sql引擎,還用于根據(jù)該第一sql語句滿足該第一sql防御規(guī)則,執(zhí)行該第一sql防御規(guī)則中的動作。

20、結(jié)合第二方面,在第二方面的某些實(shí)現(xiàn)方式中,該sql防御規(guī)則配置單元具體用于:根據(jù)每個(gè)該sql防御規(guī)則中生效的sql引擎,在加載周期內(nèi)自動將配置的sql防御規(guī)則分別發(fā)送給對應(yīng)的sql引擎。

21、結(jié)合第二方面,在第二方面的某些實(shí)現(xiàn)方式中,該sql防御規(guī)則包括提示類的sql防御規(guī)則、攔截類的sql防御規(guī)則、熔斷類的sql防御規(guī)則。

22、結(jié)合第二方面,在第二方面的某些實(shí)現(xiàn)方式中,第一sql防御規(guī)則為該提示類的sql防御規(guī)則,該第一sql引擎具體用于:繼續(xù)執(zhí)行該第一sql語句。

23、結(jié)合第二方面,在第二方面的某些實(shí)現(xiàn)方式中,該第一sql引擎,還用于向用戶顯示該第一sql語句的提示信息。

24、結(jié)合第二方面,在第二方面的某些實(shí)現(xiàn)方式中,該第一sql防御規(guī)則為該攔截類的sql防御規(guī)則或該熔斷類的sql防御規(guī)則,該第一sql引擎具體用于:停止執(zhí)行該第一sql語句。

25、結(jié)合第二方面,在第二方面的某些實(shí)現(xiàn)方式中,該第一sql引擎,還用于向用戶顯示該第一sql語句被停止執(zhí)行的原因。

26、結(jié)合第二方面,在第第二方面的某些實(shí)現(xiàn)方式中,該第一sql引擎自動在加載周期內(nèi)加載該至少一個(gè)sql防御規(guī)則。

27、結(jié)合第二方面,在第二方面的某些實(shí)現(xiàn)方式中,該sql防御規(guī)則中還包括生效的租戶列表以及規(guī)則標(biāo)識id。

28、第三方面,提供了一種計(jì)算設(shè)備集群,包括至少一個(gè)計(jì)算設(shè)備,每個(gè)計(jì)算設(shè)備包括處理器和存儲器;該至少一個(gè)計(jì)算設(shè)備的處理器用于執(zhí)行該至少一個(gè)計(jì)算設(shè)備的存儲器中存儲的指令,以使得該計(jì)算設(shè)備集群執(zhí)行第一方面或第一方面任意一種可能的實(shí)現(xiàn)方式中的方法。

29、可選地,該處理器可以是通用處理器,可以通過硬件來實(shí)現(xiàn)也可以通過軟件來實(shí)現(xiàn)。當(dāng)通過硬件實(shí)現(xiàn)時(shí),該處理器可以是邏輯電路、集成電路等;當(dāng)通過軟件來實(shí)現(xiàn)時(shí),該處理器可以是一個(gè)通用處理器,通過讀取存儲器中存儲的軟件代碼來實(shí)現(xiàn),該存儲器可以集成在處理器中,可以位于該處理器之外,獨(dú)立存在。

30、第四方面,提供了一種芯片,該芯片獲取指令并執(zhí)行該指令來實(shí)現(xiàn)上述第一方面以及第一方面的任意一種實(shí)現(xiàn)方式中的方法。

31、可選地,作為一種實(shí)現(xiàn)方式,該芯片包括處理器與數(shù)據(jù)接口,該處理器通過該數(shù)據(jù)接口讀取存儲器上存儲的指令,執(zhí)行上述第一方面以及第一方面的任意一種實(shí)現(xiàn)方式中的方法。

32、可選地,作為一種實(shí)現(xiàn)方式,該芯片還可以包括存儲器,該存儲器中存儲有指令,該處理器用于執(zhí)行該存儲器上存儲的指令,當(dāng)該指令被執(zhí)行時(shí),該處理器用于執(zhí)行第一方面以及第一方面中的任意一種實(shí)現(xiàn)方式中的方法。

33、第五方面,提供了一種包含指令的計(jì)算機(jī)程序產(chǎn)品,當(dāng)該指令被計(jì)算設(shè)備集群運(yùn)行時(shí),使得該計(jì)算設(shè)備集群執(zhí)行如上述第一方面以及第一方面的任意一種實(shí)現(xiàn)方式中的方法。

34、第六方面,提供了一種計(jì)算機(jī)可讀存儲介質(zhì),包括計(jì)算機(jī)程序指令,當(dāng)該計(jì)算機(jī)程序指令由計(jì)算設(shè)備集群執(zhí)行時(shí),該計(jì)算設(shè)備集群執(zhí)行如上述第一方面以及第一方面的任意一種實(shí)現(xiàn)方式中的方法。

35、作為示例,這些計(jì)算機(jī)可讀存儲包括但不限于如下的一個(gè)或者多個(gè):只讀存儲器(read-only?memory,rom)、可編程rom(programmable?rom,prom)、可擦除的prom(erasableprom,eprom)、flash存儲器、電eprom(electrically?eprom,eeprom)以及硬盤驅(qū)動器(harddrive)。

36、可選地,作為一種實(shí)現(xiàn)方式,上述存儲介質(zhì)具體可以是非易失性存儲介質(zhì)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
龙海市| 珲春市| 涟源市| 荆门市| 陇川县| 墨江| 平利县| 峨山| 九龙县| 郧西县| 岳普湖县| 永胜县| 丹巴县| 台南市| 大同县| 孟州市| 海淀区| 贡山| 马边| 吴忠市| 佳木斯市| 浦城县| 章丘市| 张掖市| 庆元县| 安化县| 巴东县| 南京市| 原平市| 涞水县| 襄樊市| 锦屏县| 兴安县| 汤原县| 逊克县| 宜宾县| 闽清县| 乌拉特前旗| 务川| 平陆县| 宣威市|