本技術(shù)涉及計(jì)算機(jī),具體涉及一種邊緣節(jié)點(diǎn)的限流方法、裝置、計(jì)算設(shè)備、計(jì)算機(jī)存儲(chǔ)介質(zhì)及計(jì)算機(jī)程序產(chǎn)品。
背景技術(shù):
1、限流是當(dāng)服務(wù)負(fù)載或者qps(queries?per?second,每秒處理的請求數(shù)量)超過一定量級(jí)時(shí),丟棄一部分請求,是保護(hù)服務(wù)路徑核心系統(tǒng)不被拖垮的常用方案,是服務(wù)端常用的一種過載保護(hù)手段。目前,常用的限流手段是在qps達(dá)到峰值負(fù)載時(shí),對一定時(shí)間內(nèi)的單個(gè)進(jìn)程或者單個(gè)用戶的請求進(jìn)行限制。
2、現(xiàn)有的限流方式只適用于高qps低吞吐場景,而不適用于低qps高吞度場景。高qps低吞吐場景下,單位時(shí)間內(nèi)處理的請求數(shù)量大,數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)量都比較均勻且數(shù)據(jù)量都較小。低qps高吞度場景下,單位時(shí)間內(nèi)處理的請求數(shù)量小,數(shù)據(jù)請求對應(yīng)的數(shù)據(jù)量都是不均勻的,上下行數(shù)據(jù)差異較大?;诖?,現(xiàn)有的限流方案在低qps高吞度場景下的限流效果較差。
技術(shù)實(shí)現(xiàn)思路
1、鑒于上述問題,提出了本技術(shù)以便提供一種克服上述問題或者至少部分地解決上述問題的邊緣節(jié)點(diǎn)的限流方法、裝置、計(jì)算設(shè)備、計(jì)算機(jī)存儲(chǔ)介質(zhì)及計(jì)算機(jī)程序產(chǎn)品。
2、根據(jù)本技術(shù)的一個(gè)方面,提供了邊緣節(jié)點(diǎn)的限流方法,包括:
3、攔截請求端發(fā)起的數(shù)據(jù)請求;
4、根據(jù)當(dāng)前時(shí)段內(nèi)邊緣節(jié)點(diǎn)的流量總額度和已占用流量額度,確定剩余流量額度;
5、若剩余流量額度滿足限流觸發(fā)條件且存儲(chǔ)有基準(zhǔn)性能評價(jià)指標(biāo),獲取邊緣節(jié)點(diǎn)的實(shí)時(shí)性能評價(jià)指標(biāo);
6、若實(shí)時(shí)性能評價(jià)指標(biāo)不小于基準(zhǔn)性能評價(jià)指標(biāo),對數(shù)據(jù)請求進(jìn)行限流處理。
7、可選地,方法進(jìn)一步包括:
8、若剩余流量額度滿足限流觸發(fā)條件且未存儲(chǔ)基準(zhǔn)性能評價(jià)指標(biāo),獲取邊緣節(jié)點(diǎn)的實(shí)時(shí)性能評價(jià)指標(biāo);
9、根據(jù)實(shí)時(shí)性能評價(jià)指標(biāo)確定基準(zhǔn)性能評價(jià)指標(biāo),將基準(zhǔn)性能評價(jià)指標(biāo)進(jìn)行存儲(chǔ),并對數(shù)據(jù)請求進(jìn)行限流處理。
10、可選地,將基準(zhǔn)性能評價(jià)指標(biāo)進(jìn)行存儲(chǔ)之后,方法進(jìn)一步包括:
11、當(dāng)前時(shí)段結(jié)束時(shí),將基準(zhǔn)性能評價(jià)指標(biāo)進(jìn)行清除。
12、可選地,方法進(jìn)一步包括:確定當(dāng)前時(shí)段內(nèi)邊緣節(jié)點(diǎn)的流量總額度;
13、其中,每一個(gè)周期包含按照第一時(shí)長劃分得到的多個(gè)時(shí)段,各個(gè)周期是按照第二時(shí)長劃分得到的。
14、可選地,確定當(dāng)前時(shí)段內(nèi)邊緣節(jié)點(diǎn)的流量總額度進(jìn)一步包括:
15、若當(dāng)前時(shí)段是周期內(nèi)的第一個(gè)時(shí)段,確定當(dāng)前時(shí)段內(nèi)邊緣節(jié)點(diǎn)的流量總額度為補(bǔ)充流量額度;
16、若當(dāng)前時(shí)段是周期內(nèi)的除第一個(gè)時(shí)段之外的其他時(shí)段,根據(jù)補(bǔ)充流量額度以及當(dāng)前時(shí)段之前的至少一個(gè)時(shí)段的時(shí)段剩余流量額度的累加和,確定當(dāng)前時(shí)段內(nèi)邊緣節(jié)點(diǎn)的流量總額度。
17、可選地,方法進(jìn)一步包括:
18、若實(shí)時(shí)性能評價(jià)指標(biāo)小于基準(zhǔn)性能評價(jià)指標(biāo),對數(shù)據(jù)請求進(jìn)行響應(yīng)。
19、根據(jù)本技術(shù)的另一方面,提供了邊緣節(jié)點(diǎn)的限流裝置,包括:
20、攔截模塊,用于攔截請求端發(fā)起的數(shù)據(jù)請求;
21、第一處理模塊,用于根據(jù)當(dāng)前時(shí)段內(nèi)邊緣節(jié)點(diǎn)的流量總額度和已占用流量額度,確定剩余流量額度;
22、第二處理模塊,用于若剩余流量額度滿足限流觸發(fā)條件且存儲(chǔ)有基準(zhǔn)性能評價(jià)指標(biāo),獲取邊緣節(jié)點(diǎn)的實(shí)時(shí)性能評價(jià)指標(biāo);若實(shí)時(shí)性能評價(jià)指標(biāo)不小于基準(zhǔn)性能評價(jià)指標(biāo),對數(shù)據(jù)請求進(jìn)行限流處理。
23、可選地,第二處理模塊進(jìn)一步用于:
24、若剩余流量額度滿足限流觸發(fā)條件且未存儲(chǔ)基準(zhǔn)性能評價(jià)指標(biāo),獲取邊緣節(jié)點(diǎn)的實(shí)時(shí)性能評價(jià)指標(biāo);
25、根據(jù)實(shí)時(shí)性能評價(jià)指標(biāo)確定基準(zhǔn)性能評價(jià)指標(biāo),將基準(zhǔn)性能評價(jià)指標(biāo)進(jìn)行存儲(chǔ),并對數(shù)據(jù)請求進(jìn)行限流處理。
26、可選地,第二處理模塊進(jìn)一步用于:
27、將基準(zhǔn)性能評價(jià)指標(biāo)進(jìn)行存儲(chǔ)之后,當(dāng)前時(shí)段結(jié)束時(shí),將基準(zhǔn)性能評價(jià)指標(biāo)進(jìn)行清除。
28、可選地,第一處理模塊進(jìn)一步用于:
29、確定當(dāng)前時(shí)段內(nèi)邊緣節(jié)點(diǎn)的流量總額度;
30、其中,每一個(gè)周期包含按照第一時(shí)長劃分得到的多個(gè)時(shí)段,各個(gè)周期是按照第二時(shí)長劃分得到的。
31、可選地,第一處理模塊進(jìn)一步用于:
32、若當(dāng)前時(shí)段是周期內(nèi)的第一個(gè)時(shí)段,確定當(dāng)前時(shí)段內(nèi)邊緣節(jié)點(diǎn)的流量總額度為補(bǔ)充流量額度;
33、若當(dāng)前時(shí)段是周期內(nèi)的除第一個(gè)時(shí)段之外的其他時(shí)段,根據(jù)補(bǔ)充流量額度以及當(dāng)前時(shí)段之前的至少一個(gè)時(shí)段的時(shí)段剩余流量額度的累加和,確定當(dāng)前時(shí)段內(nèi)邊緣節(jié)點(diǎn)的流量總額度。
34、可選地,第二處理模塊進(jìn)一步用于:
35、若實(shí)時(shí)性能評價(jià)指標(biāo)小于基準(zhǔn)性能評價(jià)指標(biāo),對數(shù)據(jù)請求進(jìn)行響應(yīng)。
36、根據(jù)本技術(shù)的又一方面,提供了一種計(jì)算設(shè)備,包括:處理器、存儲(chǔ)器、通信接口和通信總線,所述處理器、所述存儲(chǔ)器和所述通信接口通過所述通信總線完成相互間的通信;
37、所述存儲(chǔ)器用于存放至少一可執(zhí)行指令,所述可執(zhí)行指令使所述處理器執(zhí)行上述邊緣節(jié)點(diǎn)的限流方法對應(yīng)的操作。
38、根據(jù)本技術(shù)的再一方面,提供了一種計(jì)算機(jī)存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)中存儲(chǔ)有至少一可執(zhí)行指令,所述可執(zhí)行指令使處理器執(zhí)行如上述邊緣節(jié)點(diǎn)的限流方法對應(yīng)的操作。
39、根據(jù)本技術(shù)的還一方面,提供了一種計(jì)算機(jī)程序產(chǎn)品,包括至少一可執(zhí)行指令,所述可執(zhí)行指令使處理器執(zhí)行如上述邊緣節(jié)點(diǎn)的限流方法對應(yīng)的操作。
40、根據(jù)本技術(shù)實(shí)施例提供的邊緣節(jié)點(diǎn)的限流方法、裝置、計(jì)算設(shè)備、計(jì)算機(jī)存儲(chǔ)介質(zhì)及計(jì)算機(jī)程序產(chǎn)品,攔截請求端發(fā)起的數(shù)據(jù)請求;根據(jù)當(dāng)前時(shí)段內(nèi)邊緣節(jié)點(diǎn)的流量總額度和已占用流量額度,確定剩余流量額度;若剩余流量額度滿足限流觸發(fā)條件且存儲(chǔ)有基準(zhǔn)性能評價(jià)指標(biāo),獲取邊緣節(jié)點(diǎn)的實(shí)時(shí)性能評價(jià)指標(biāo);若實(shí)時(shí)性能評價(jià)指標(biāo)不小于基準(zhǔn)性能評價(jià)指標(biāo),對數(shù)據(jù)請求進(jìn)行限流處理。通過上述方式,實(shí)現(xiàn)了結(jié)合實(shí)時(shí)剩余流量額度和實(shí)時(shí)性能的限流管理方式,以及,實(shí)現(xiàn)了以時(shí)段為時(shí)間粒度的限流管理方式,每當(dāng)攔截到數(shù)據(jù)請求時(shí)就進(jìn)行限流策略的判斷,若當(dāng)前時(shí)段內(nèi)邊緣節(jié)點(diǎn)的剩余流量額度不足,進(jìn)一步判斷邊緣節(jié)點(diǎn)的實(shí)時(shí)性能是否達(dá)到規(guī)定的性能上限值,若已經(jīng)達(dá)到規(guī)定的性能上限值,則對數(shù)據(jù)請求進(jìn)行限流,保證當(dāng)前時(shí)段的剩余時(shí)間內(nèi)邊緣節(jié)點(diǎn)的帶寬維持平穩(wěn),在低qps高吞度場景下能夠取得較好的限流效果和帶寬管理效果。
41、進(jìn)一步地,以當(dāng)前時(shí)段內(nèi)首次監(jiān)測到滿足限流觸發(fā)條件時(shí)邊緣節(jié)點(diǎn)的qps為基準(zhǔn)qps,后續(xù)再滿足限流觸發(fā)條件時(shí)將實(shí)時(shí)qps和基準(zhǔn)qps進(jìn)行比對,只有在實(shí)時(shí)qps小于基準(zhǔn)qps的情況下,才對數(shù)據(jù)請求進(jìn)行響應(yīng),實(shí)現(xiàn)了在滿足限流觸發(fā)條件時(shí)就啟動(dòng)限制qps繼續(xù)增長的單進(jìn)單出的限流方式,即完成一個(gè)數(shù)據(jù)請求才允許處理新的數(shù)據(jù)請求,能夠?qū)崿F(xiàn)在剩余流量額度不足時(shí)避免qps繼續(xù)增長,以此來限制邊緣節(jié)點(diǎn)的整體帶寬,保證當(dāng)前時(shí)段的剩余時(shí)間內(nèi)邊緣節(jié)點(diǎn)的帶寬保持穩(wěn)定,在低qps高吞吐場景下既能有效限流又能保持邊緣節(jié)點(diǎn)的整體帶寬穩(wěn)定;同時(shí),能夠根據(jù)邊緣節(jié)點(diǎn)的實(shí)時(shí)情況確定基準(zhǔn)qps,能夠保證限流閾值更加匹配邊緣節(jié)點(diǎn)的實(shí)時(shí)線上情況,進(jìn)一步提升在低qps高吞度場景的限流管理效果。
42、進(jìn)一步地,以時(shí)段為時(shí)間粒度進(jìn)行限流管理,以邊緣節(jié)點(diǎn)的帶寬上限為限制,量化邊緣節(jié)點(diǎn)發(fā)送數(shù)據(jù)的情況,在周期內(nèi)每間隔一定時(shí)長動(dòng)態(tài)地對邊緣節(jié)點(diǎn)的流量總額度進(jìn)行補(bǔ)充,能夠?qū)崿F(xiàn)更精細(xì)化地限流管理,實(shí)現(xiàn)了保障邊緣節(jié)點(diǎn)的帶寬整體平穩(wěn)的同時(shí),還能夠避免邊緣節(jié)點(diǎn)的帶寬超出限制。
43、上述說明僅是本技術(shù)技術(shù)方案的概述,為了能夠更清楚了解本技術(shù)的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本技術(shù)的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本技術(shù)的具體實(shí)施方式。