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

數(shù)據(jù)庫中SQL限流的方法、裝置、電子設(shè)備和存儲(chǔ)介質(zhì)與流程

文檔序號(hào):40653811發(fā)布日期:2025-01-10 19:02閱讀:1來源:國知局
數(shù)據(jù)庫中SQL限流的方法、裝置、電子設(shè)備和存儲(chǔ)介質(zhì)與流程

本申請涉及數(shù)據(jù)庫,尤其涉及一種數(shù)據(jù)庫中sql限流的方法、裝置、電子設(shè)備和存儲(chǔ)介質(zhì)。


背景技術(shù):

1、隨著企業(yè)業(yè)務(wù)規(guī)模的發(fā)展擴(kuò)大,分布式數(shù)據(jù)庫的應(yīng)用越來越廣泛,且用戶對數(shù)據(jù)庫的性能要求也越來越高。在數(shù)據(jù)庫的使用過程中,經(jīng)常會(huì)遇到各種場景問題如異常調(diào)用等使得某類sql并發(fā)急劇上升,這會(huì)使得數(shù)據(jù)庫的性能下降。

2、sql限流功能是指用戶可以根據(jù)問題sql的某些特征來設(shè)置該sql的匹配規(guī)則(一般稱為限流規(guī)則),目前現(xiàn)有的sql限流方式單一,會(huì)影響到數(shù)據(jù)庫的正常安全運(yùn)行。


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

1、本申請?zhí)峁┝艘环N數(shù)據(jù)庫中sql限流的方法、裝置、電子設(shè)備和存儲(chǔ)介質(zhì),以解決數(shù)據(jù)庫運(yùn)行不夠安全穩(wěn)定的問題。

2、第一方面,本申請?zhí)峁┝艘环N數(shù)據(jù)庫中sql限流的方法,所述方法包括:

3、確定限流配置中的限流方式,其中,所述限流方式包括模板限流、令牌限流以及規(guī)則限流,所述模板限流用于限制sql語句的整體特征,所述令牌限流用于限制sql語句的部分特征,所述規(guī)則限流用于對sql語句的子操作進(jìn)行限制;

4、基于所述限流方式對從客戶端獲取到的目標(biāo)sql語句進(jìn)行匹配,并根據(jù)匹配成功結(jié)果阻止所述目標(biāo)sql語句被數(shù)據(jù)庫執(zhí)行。

5、可選地,基于所述限流方式對從客戶端獲取到的目標(biāo)sql語句進(jìn)行匹配,并根據(jù)匹配成功結(jié)果阻止所述目標(biāo)sql語句被數(shù)據(jù)庫執(zhí)行包括:

6、確定所述模板限流對應(yīng)的模板sql語句、所述令牌限流對應(yīng)的令牌sql語句以及所述規(guī)則限流中的規(guī)則;

7、采用模板匹配方式對所述目標(biāo)sql語句和所述模板sql語句進(jìn)行模板匹配;

8、若模板匹配失敗,則采用令牌匹配方式對所述目標(biāo)sql語句和所述令牌sql語句進(jìn)行令牌匹配;

9、若令牌匹配失敗,則采用所述規(guī)則對所述目標(biāo)sql語句進(jìn)行規(guī)則匹配;

10、若規(guī)則匹配成功,則阻止所述目標(biāo)sql語句被數(shù)據(jù)庫執(zhí)行。

11、可選地,采用模板匹配方式對所述目標(biāo)sql語句和所述模板sql語句進(jìn)行模板匹配包括:

12、對所述模板sql語句進(jìn)行指紋化處理,生成模板sql指紋和模板哈希值;

13、以所述模板哈希值為key,以所述模板sql指紋為value存儲(chǔ)到map數(shù)據(jù)結(jié)構(gòu)中;

14、對所述目標(biāo)sql語句進(jìn)行解析生成目標(biāo)sql指紋和目標(biāo)哈希值,并在所述map數(shù)據(jù)結(jié)構(gòu)中查找所述目標(biāo)哈希值對應(yīng)的目標(biāo)sql指紋;

15、如果能夠查找到則確定模板匹配成功,如果無法查找到則確定模板匹配失敗。

16、可選地,采用令牌匹配方式對所述目標(biāo)sql語句和所述令牌sql語句進(jìn)行令牌匹配包括:

17、對所述目標(biāo)sql語句進(jìn)行解析生成目標(biāo)sql指紋,并根據(jù)所述目標(biāo)sql指紋生成目標(biāo)數(shù)組;

18、對所述令牌sql語句進(jìn)行指紋化處理生成令牌sql指紋,并根據(jù)所述令牌sql指紋生成令牌數(shù)組;

19、若所述目標(biāo)數(shù)組的長度大于所述令牌數(shù)組的長度,則對所述目標(biāo)數(shù)組中的令牌和所述令牌數(shù)組中的令牌進(jìn)行匹配;

20、若所述令牌數(shù)組中的令牌全部匹配成功,則輸出令牌匹配成功;

21、若所述令牌數(shù)組中的令牌未全部匹配成功,則輸出令牌匹配失敗。

22、可選地,所述規(guī)則限流中的規(guī)則包括:禁止全表查詢、禁止翻頁查詢、限制join個(gè)數(shù)、限制刪除表數(shù)據(jù),限制exists表達(dá)式的個(gè)數(shù)。

23、可選地,采用模板匹配方式對所述目標(biāo)sql語句和所述模板sql語句進(jìn)行模板匹配之后,所述方法還包括:

24、若模板匹配成功,則在已有并發(fā)數(shù)的基礎(chǔ)上加一得到實(shí)際并發(fā)數(shù);

25、若所述已有并發(fā)量達(dá)到最大并發(fā)數(shù),則阻止所述目標(biāo)sql語句被數(shù)據(jù)庫執(zhí)行;

26、若所述已有并發(fā)量未達(dá)到最大并發(fā)數(shù),則在已有并發(fā)數(shù)的基礎(chǔ)上加一。

27、可選地,采用令牌匹配方式對所述目標(biāo)sql語句和所述令牌sql語句進(jìn)行令牌匹配之后,所述方法還包括:

28、若令牌匹配成功,則在已有并發(fā)數(shù)的基礎(chǔ)上加一得到實(shí)際并發(fā)數(shù);

29、若所述已有并發(fā)量達(dá)到最大并發(fā)數(shù),則阻止所述目標(biāo)sql語句被數(shù)據(jù)庫執(zhí)行;

30、若所述已有并發(fā)量未達(dá)到最大并發(fā)數(shù),則在已有并發(fā)數(shù)的基礎(chǔ)上加一。

31、第二方面,本申請?zhí)峁┝艘环N數(shù)據(jù)庫中sql限流的裝置,其所述裝置包括:

32、確定模塊,用于確定限流配置中的限流方式,其中,所述限流方式包括模板限流、令牌限流以及規(guī)則限流,所述模板限流用于限制sql語句的整體特征,所述令牌限流用于限制sql語句的部分特征,所述規(guī)則限流用于對sql語句的子操作進(jìn)行限制;

33、匹配模塊,用于基于所述限流方式對從客戶端獲取到的目標(biāo)sql語句進(jìn)行匹配,并根據(jù)匹配成功結(jié)果阻止所述目標(biāo)sql語句被數(shù)據(jù)庫執(zhí)行。

34、第三方面,本申請?zhí)峁┝艘环N電子設(shè)備,包括:至少一個(gè)通信接口;與所述至少一個(gè)通信接口相連接的至少一個(gè)總線;與所述至少一個(gè)總線相連接的至少一個(gè)處理器;與所述至少一個(gè)總線相連接的至少一個(gè)存儲(chǔ)器。

35、第四方面,本申請還提供了一種計(jì)算機(jī)存儲(chǔ)介質(zhì),存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令,所述計(jì)算機(jī)可執(zhí)行指令用于執(zhí)行本申請上述任一項(xiàng)所述的數(shù)據(jù)庫中sql限流的方法。

36、本申請實(shí)施例提供的上述技術(shù)方案與現(xiàn)有技術(shù)相比具有如下優(yōu)點(diǎn):本申請?zhí)峁┤N限流方式,分別從sql語句的整體特征、部分特征和子操作三個(gè)方面進(jìn)行限制,用戶可以根據(jù)實(shí)際場景自由選擇具體的限流方式,在匹配成功時(shí)阻止該sql語句被數(shù)據(jù)庫執(zhí)行,避免數(shù)據(jù)庫處理量過大,本申請通過擴(kuò)寬sql語句限流方式的范圍,能夠限制多種sql類型,保證數(shù)據(jù)庫的穩(wěn)定和安全運(yùn)行。



技術(shù)特征:

1.一種數(shù)據(jù)庫中sql限流的方法,其特征在于,所述方法包括:

2.根據(jù)權(quán)利要求1所述的方法,其特征在于,基于所述限流方式對從客戶端獲取到的目標(biāo)sql語句進(jìn)行匹配,并根據(jù)匹配成功結(jié)果阻止所述目標(biāo)sql語句被數(shù)據(jù)庫執(zhí)行包括:

3.根據(jù)權(quán)利要求2所述的方法,其特征在于,采用模板匹配方式對所述目標(biāo)sql語句和所述模板sql語句進(jìn)行模板匹配包括:

4.根據(jù)權(quán)利要求2所述的方法,其特征在于,采用令牌匹配方式對所述目標(biāo)sql語句和所述令牌sql語句進(jìn)行令牌匹配包括:

5.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述規(guī)則限流中的規(guī)則包括:禁止全表查詢、禁止翻頁查詢、限制join個(gè)數(shù)、限制刪除表數(shù)據(jù),限制exists表達(dá)式的個(gè)數(shù)。

6.根據(jù)權(quán)利要求2所述的方法,其特征在于,采用模板匹配方式對所述目標(biāo)sql語句和所述模板sql語句進(jìn)行模板匹配之后,所述方法還包括:

7.根據(jù)權(quán)利要求2所述的方法,其特征在于,采用令牌匹配方式對所述目標(biāo)sql語句和所述令牌sql語句進(jìn)行令牌匹配之后,所述方法還包括:

8.一種數(shù)據(jù)庫中sql限流的裝置,其特征在于,所述裝置包括:

9.一種電子設(shè)備,其特征在于,包括處理器、通信接口、存儲(chǔ)器和通信總線,其中,處理器,通信接口,存儲(chǔ)器通過通信總線完成相互間的通信;

10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)內(nèi)存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1-7任一所述的方法。


技術(shù)總結(jié)
本申請涉及一種數(shù)據(jù)庫中SQL限流的方法、裝置、電子設(shè)備和存儲(chǔ)介質(zhì),所述方法包括:確定限流配置中的限流方式,其中,所述限流方式包括模板限流、令牌限流以及規(guī)則限流,所述模板限流用于限制SQL語句的整體特征,所述令牌限流用于限制SQL語句的部分特征,所述規(guī)則限流用于對SQL語句的子操作進(jìn)行限制;基于所述限流方式對從客戶端獲取到的目標(biāo)SQL語句進(jìn)行匹配,并根據(jù)匹配成功結(jié)果阻止所述目標(biāo)SQL語句被數(shù)據(jù)庫執(zhí)行。本申請保證數(shù)據(jù)庫的穩(wěn)定和安全運(yùn)行。

技術(shù)研發(fā)人員:李玉坤,朱柯見
受保護(hù)的技術(shù)使用者:金篆信科有限責(zé)任公司
技術(shù)研發(fā)日:
技術(shù)公布日:2025/1/9
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
微山县| 惠来县| 苍梧县| 融水| 桃江县| 桐庐县| 拉孜县| 湟中县| 西乌珠穆沁旗| 神池县| 永胜县| 阜新市| 贵港市| 右玉县| 澄迈县| 鲁甸县| 门源| 临泉县| 常宁市| 宝应县| 石屏县| 平武县| 赤水市| 香河县| 自治县| 大田县| 会泽县| 略阳县| 天气| 芦溪县| 布拖县| 萝北县| 孟州市| 烟台市| 绍兴县| 乌海市| 天峨县| 西林县| 鞍山市| 资兴市| 阜阳市|