欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

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

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

本技術(shù)涉及數(shù)據(jù)庫(kù)領(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語句會(huì)給平臺(tái)或系統(tǒng)帶來的不可預(yù)料的沖擊。對(duì)于大sql語句或爛sql語句會(huì)造成系統(tǒng)的癱瘓,導(dǎo)致服務(wù)不可用。對(duì)于慢sql語句會(huì)影響系統(tǒng)的穩(wěn)定性,主要表現(xiàn)是服務(wù)器線程池被占滿,造成雪崩效應(yīng),其它正常sql無法正常執(zhí)行,出現(xiàn)系統(tǒng)假死現(xiàn)象。

2、相關(guān)的技術(shù)方案中,通過業(yè)務(wù)層對(duì)sql語句進(jìn)行解析和防御,一方面,由于在業(yè)務(wù)層中對(duì)sql語句進(jìn)行解析判斷,需要改造業(yè)務(wù)層的業(yè)務(wù)流程。另一方面,由于在業(yè)務(wù)層中需要對(duì)sql語句進(jìn)行解析判斷,對(duì)于符合要求的sql語句需要發(fā)送給sql引擎,sql引擎在對(duì)sql語句進(jìn)行處理時(shí),還需要對(duì)sql語句再次進(jìn)行解析,性能損耗較高。另一方面,每個(gè)sql引擎各自針對(duì)自己的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引擎配置對(duì)應(yīng)的sql防御規(guī)則,每個(gè)該sql防御規(guī)則中包括生效的sql引擎以及對(duì)應(yīng)的執(zhí)行動(dòng)作,該多個(gè)sql引擎對(duì)應(yīng)的sql防御規(guī)則的格式相同;該sql防御規(guī)則配置單元根據(jù)每個(gè)該sql防御規(guī)則中生效的sql引擎,將配置的sql防御規(guī)則分別發(fā)送給對(duì)應(yīng)的sql引擎,以便于該sql引擎根據(jù)獲得的sql防御規(guī)則對(duì)接收到的sql語句進(jìn)行防御。

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

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

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

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

7、上述技術(shù)方案中,在加載周期內(nèi)自動(dòng)將配置的sql防御規(guī)則分別發(fā)送給對(duì)應(yīng)的sql引擎,這樣,sql引擎可以在加載周期內(nèi)自動(dòng)加載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引擎自動(dòng)在加載周期內(nèi)加載該至少一個(gè)sql防御規(guī)則。

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

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

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

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

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

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

28、第三方面,提供了一種計(jì)算設(shè)備集群,包括至少一個(gè)計(jì)算設(shè)備,每個(gè)計(jì)算設(shè)備包括處理器和存儲(chǔ)器;該至少一個(gè)計(jì)算設(shè)備的處理器用于執(zhí)行該至少一個(gè)計(jì)算設(shè)備的存儲(chǔ)器中存儲(chǔ)的指令,以使得該計(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è)通用處理器,通過讀取存儲(chǔ)器中存儲(chǔ)的軟件代碼來實(shí)現(xiàn),該存儲(chǔ)器可以集成在處理器中,可以位于該處理器之外,獨(dú)立存在。

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

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

32、可選地,作為一種實(shí)現(xiàn)方式,該芯片還可以包括存儲(chǔ)器,該存儲(chǔ)器中存儲(chǔ)有指令,該處理器用于執(zhí)行該存儲(chǔ)器上存儲(chǔ)的指令,當(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ī)可讀存儲(chǔ)介質(zhì),包括計(jì)算機(jī)程序指令,當(dāng)該計(jì)算機(jī)程序指令由計(jì)算設(shè)備集群執(zhí)行時(shí),該計(jì)算設(shè)備集群執(zhí)行如上述第一方面以及第一方面的任意一種實(shí)現(xiàn)方式中的方法。

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

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

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
深州市| 乳山市| 霞浦县| 兴宁市| 从江县| 米林县| 古交市| 安徽省| 大姚县| 城固县| 新闻| 东丽区| 浑源县| 裕民县| 永川市| 浙江省| 滦平县| 桐庐县| 揭东县| 鞍山市| 多伦县| 淳安县| 崇左市| 浑源县| 交口县| 上杭县| 珲春市| 吐鲁番市| 陆河县| 班玛县| 济宁市| 巧家县| 隆德县| 阿克陶县| 安乡县| 乌兰浩特市| 蚌埠市| 七台河市| 高唐县| 南皮县| 苏尼特右旗|