麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種流量控制方法及相關設備與流程

文檔序號:41757076發布日期:2025-04-29 18:25閱讀:4來源:國知局
一種流量控制方法及相關設備與流程

本技術涉及流量控制,尤其涉及一種流量控制方法、流量控制系統、計算設備集群、計算機可讀存儲介質以及計算機程序產品。


背景技術:

1、隨著業務規模的不斷擴大,越來越多的用戶選擇將業務部署在分布式系統中。一個分布式系統中存在著許多不同的節點和服務,它們之間相互通信、協調工作。然而,當系統負載過高或資源不足時,可能會導致系統性能下降甚至崩潰。為此,分布式系統中,通常需要進行全局流量控制(簡稱為流控)。

2、全局流控是一種用于管理系統負載和資源分配的技術。目前,業界使用的全局流控方案是部署一個集中的令牌服務器(token?server),分布式系統中的服務器節點,如broker接收到業務請求,向token?server請求token,若未被限流,則該業務請求通過,若已達到流控值,則拒絕該業務請求。

3、然而,broker與token?server之間的通信時延直接影響業務請求的核心鏈路,對系統的請求處理時延、吞吐量都有極大的影響。因此,如何優化全局流控方案,在分布式系統中實現一種能夠達到低時延、高吞吐的全局流控方案,是目前亟待解決的問題。


技術實現思路

1、本技術提供了一種流量控制方法,該方法以異步方式批量拉取令牌,當有業務請求到達業務服務器,需要進行令牌扣減時,若令牌客戶端的狀態為非限流,則令牌客戶端可以在本地令牌充足的情況下,直接從本地扣減相應數量的令牌,降低令牌獲取過程對業務核心鏈路影響,能夠有效滿足低時延、大流量、高吞吐的場景。并且該方法支持自適應調整令牌拉取數量,降低批量拉取令牌導致的流控損失。本技術還提供了與上述方法對應的流量控制系統、計算設備集群、計算機可讀存儲介質以及計算機程序產品。

2、第一方面,本技術提供一種流量控制方法。該方法可以由流量控制系統執行。該流量控制系統用于對分布式系統進行流量控制。其中,分布式系統包括多個業務服務器,流量控制系統包括部署于業務服務器的令牌客戶端以及令牌服務器。

3、具體地,令牌客戶端從令牌服務器異步拉取令牌,并在令牌客戶端的可用令牌數量小于或等于閾值時,繼續從令牌服務器異步拉取令牌。其中,令牌客戶端的可用令牌數量根據從令牌服務器拉取的令牌數量和令牌客戶端扣減的令牌數量(如令牌消耗數量)確定。令牌客戶端可以接收業務服務器根據業務請求觸發的令牌扣減請求,令牌扣減請求包括令牌扣減數量。當令牌客戶端的狀態為非限流,令牌客戶端在可用令牌數量大于或等于令牌扣減數量時,根據令牌扣減數量進行令牌扣減。然后,令牌客戶端向業務服務器返回第一流量控制結果,該第一流量控制結果指示放通業務請求。

4、該方法中,令牌客戶端以異步方式批量拉取令牌,從而實現提前拉取令牌,降低令牌獲取過程對業務核心鏈路影響,能夠有效滿足低時延、大流量、高吞吐的場景。

5、在一些可能的實現方式中,當令牌客戶端的可用令牌數量小于令牌扣減數量,令牌客戶端還可以向令牌服務器發送令牌拉取請求。令牌客戶端接收令牌服務器返回的令牌拉取響應,令牌拉取響應包括實際拉取令牌數量。當令牌拉取響應中實際拉取令牌數量等于0,令牌客戶端向業務服務器返回第二流量控制結果,第二流量控制結果指示對所述業務請求進行流量控制。

6、該方法中通過在可用令牌數據小于扣減數量時,繼續從遠端拉取令牌,若令牌拉取響應中實際拉取令牌數量為0表示,遠端令牌也被完全消耗,可以對業務請求進行流量控制,避免流量過大導致業務服務器收到沖擊,影響業務正常運行。

7、在一些可能的實現方式中,令牌客戶端還可以配置狀態為限流。在限流狀態下,令牌客戶端可以對業務請求進行流控,例如是拒絕業務請求,或者是允許部分業務請求通過,拒絕另一部分業務請求。該方法通過配置狀態為限流狀態,如此當有新的業務請求到達時,無需再執行復雜的操作,可直接決策對業務請求進行流控,降低令牌客戶端壓力。

8、在一些可能的實現方式中,令牌客戶端還可以獲取當前時間戳,若當前時間戳超出限流時間,則令牌客戶端向令牌服務器發送令牌拉取請求。該方法通過在當前時間戳超出限流時間的情況下,再拉取令牌,從而減少同一時間片內令牌消耗完后的無效拉取。

9、在一些可能的實現方式中,當令牌拉取響應中實際拉取令牌數量大于0,令牌客戶端在更新后的可用令牌數量小于令牌扣減數量時繼續發送令牌服務器拉取請求,直至更新后的可用令牌數量大于或等于令牌扣減數量。如此,可以實現在本地令牌不足的時候,從遠端的令牌服務器拉取令牌進行扣減,以放通業務請求,而不局限于本地令牌,具有較高可用性。

10、在一些可能的實現方式中,令牌客戶端未接收到令牌服務器返回的令牌拉取響應時,令牌客戶端還可以配置狀態為失效。在令牌客戶端的狀態為失效的情況下,流量控制降級,當有新的業務請求到達時可以直接放通業務請求,滿足低時延、大流量、高吞吐的場景。

11、在一些可能的實現方式中,令牌客戶端請求拉取的令牌數量可以根據令牌服務器的流控值、分布式系統中節點數量和流控損失參數確定。其中,流控損失參數與業務運行階段相關。該方法通過自適應調整流控損失參數,從而調整token批量拉取值,以減少流控損失。

12、在一些可能的實現方式中,流控損失參數可以通過如下方式確定:

13、當業務運行階段為慢啟動,通過第一調整量對當前的流控損失參數進行調整,調整后的流控損失參數小于當前的流控損失參數;

14、當業務運行階段為穩態,確定流控損失參數為第一值;

15、當業務運行階段為退避,通過第二調整量對當前的流控損失參數進行調整,調整后的流控損失參數大于當前的流控損失參數。

16、該方法借鑒了傳輸控制協議(transmission?control?protocol,tcp)擁塞控制的思路,按照業務運行階段分別調整流控損失參數,進而實現自適應調整拉取的令牌數量,以降低批量獲取令牌的流控損失?;谏鲜隹刂品绞娇蓪⒗碚摌O限損失控制在1%以內。

17、在一些可能的實現方式中,流量控制系統包括令牌服務器集群,令牌服務器集群中的令牌服務器同步全局在線視圖。其中,全局在線視圖是指令牌服務器集群中處于在線狀態的令牌服務器的全局視圖。令牌客戶端還可以向令牌服務器集群查詢全局在線視圖,令牌客戶端根據全局在線視圖,確定對分布式系統進行流量控制的令牌服務器。該方法通過采用集群部署方式部署令牌服務器,實現了無三方依賴的全局流控。而且,通過采用集群部署可以降低系統復雜度,提高可維護性,令牌服務器集群高可用,支持垂直擴容或水平擴容。

18、在一些可能的實現方式中,當令牌服務器故障,令牌客戶端還可以根據全局在線視圖,確定新的令牌服務器對分布式系統進行流量控制。如此可以實現在令牌服務器故障時快速切換或恢復,保障了業務的連續性,具有高可用性。

19、第二方面,本技術提供一種流量控制系統。所述流量控制系統用于對分布式系統進行流量控制,所述分布式系統包括多個業務服務器,所述流量控制系統包括部署于所述業務服務器的令牌客戶端以及令牌服務器;

20、所述令牌客戶端,用于從所述令牌服務器異步拉取令牌,并在所述令牌客戶端的可用令牌數量小于或等于閾值時,繼續從所述令牌服務器異步拉取令牌,所述令牌客戶端的可用令牌數量根據從所述令牌服務器拉取的令牌數量和所述令牌客戶端扣減的令牌數量確定;

21、所述令牌客戶端,還用于接收業務服務器根據業務請求觸發的令牌扣減請求,所述令牌扣減請求包括令牌扣減數量,當所述令牌客戶端的狀態為非限流,在所述可用令牌數量大于或等于所述令牌扣減數量時,根據所述令牌扣減數量進行令牌扣減,向所述業務服務器返回第一流量控制結果,所述第一流量控制結果指示放通所述業務請求。

22、在一些可能的實現方式中,所述令牌客戶端還用于:

23、當所述令牌客戶端的可用令牌數量小于所述令牌扣減數量,向所述令牌服務器發送令牌拉取請求;

24、接收所述令牌服務器返回的令牌拉取響應,所述令牌拉取響應包括實際拉取令牌數量;

25、當所述令牌拉取響應中實際拉取令牌數量等于0,向所述業務服務器返回第二流量控制結果,所述第二流量控制結果指示對所述業務請求進行流量控制。

26、在一些可能的實現方式中,所述令牌客戶端還用于:

27、配置所述狀態為限流。

28、在一些可能的實現方式中,所述令牌客戶端還用于:

29、獲取當前時間戳,若所述當前時間戳超出限流時間,向所述令牌服務器發送令牌拉取請求。

30、在一些可能的實現方式中,所述令牌客戶端還用于:

31、當所述令牌拉取響應中實際拉取令牌數量大于0,在更新后的可用令牌數量小于所述令牌扣減數量時繼續發送令牌服務器拉取請求,直至更新后的可用令牌數量大于或等于所述令牌扣減數量。

32、在一些可能的實現方式中,所述令牌客戶端還用于:

33、未接收到所述令牌服務器返回的令牌拉取響應時,所述令牌客戶端配置所述狀態為失效。

34、在一些可能的實現方式中,所述令牌客戶端請求拉取的令牌數量根據所述令牌服務器的流控值、所述分布式系統中節點數量和流控損失參數確定,所述流控損失參數與業務運行階段相關。

35、在一些可能的實現方式中,所述流控損失參數通過如下方式確定:

36、當所述業務運行階段為慢啟動,通過第一調整量對當前的流控損失參數進行調整,調整后的流控損失參數小于當前的流控損失參數;

37、當所述業務運行階段為穩態,確定所述流控損失參數為第一值;

38、當所述業務運行階段為退避,通過第二調整量對當前的流控損失參數進行調整,調整后的流控損失參數大于當前的流控損失參數。

39、在一些可能的實現方式中,所述流量控制系統包括令牌服務器集群,令牌服務器集群中的令牌服務器同步全局在線視圖;

40、所述令牌客戶端,還用于向所述令牌服務器集群查詢所述全局在線視圖,根據所述全局在線視圖,確定對所述分布式系統進行流量控制的令牌服務器。

41、在一些可能的實現方式中,所述令牌客戶端還用于:

42、當所述令牌服務器故障,根據所述全局在線視圖,確定新的令牌服務器對所述分布式系統進行流量控制。

43、第三方面,本技術提供一種令牌客戶端。所述令牌客戶端部署于分布式系統的業務服務器,用于對所述分布式系統進行流量控制,所述令牌客戶端包括:

44、令牌拉取模塊,用于從令牌服務器異步拉取令牌,并在所述令牌客戶端的可用令牌數量小于或等于閾值時,繼續從所述令牌服務器異步拉取令牌,所述令牌客戶端的可用令牌數量根據從所述令牌服務器拉取的令牌數量和所述令牌客戶端扣減的令牌數量確定;

45、交互模塊,用于接收業務服務器根據業務請求觸發的令牌扣減請求,所述令牌扣減請求包括令牌扣減數量;

46、流量控制模塊,用于當所述令牌客戶端的狀態為非限流,在所述可用令牌數量大于或等于所述令牌扣減數量時,根據所述令牌扣減數量進行令牌扣減,向所述業務服務器返回第一流量控制結果,所述第一流量控制結果指示放通所述業務請求。

47、第四方面,本技術提供一種計算設備集群。所述計算設備集群包括至少一臺計算設備,所述至少一臺計算設備包括至少一個處理器和至少一個存儲器。所述至少一個處理器、所述至少一個存儲器進行相互的通信。所述至少一個處理器用于執行所述至少一個存儲器中存儲的指令,以使得計算設備或計算設備集群執行如第一方面或第一方面的任一種實現方式所述的流量控制方法。

48、第五方面,本技術提供一種計算機可讀存儲介質,所述計算機可讀存儲介質中存儲有指令,所述指令指示計算設備或計算設備集群執行上述第一方面或第一方面的任一種實現方式所述的流量控制方法。

49、第六方面,本技術提供了一種包含指令的計算機程序產品,當其在計算設備或計算設備集群上運行時,使得計算設備或計算設備集群執行上述第一方面或第一方面的任一種實現方式所述的流量控制方法。

50、本技術在上述各方面提供的實現方式的基礎上,還可以進行進一步組合以提供更多實現方式。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 淳安县| 山东省| 肥城市| 麻栗坡县| 凌海市| 伊通| 靖州| 麻江县| 兴业县| 扎鲁特旗| 封开县| 新建县| 陇川县| 清水县| 南安市| 玉环县| 开阳县| 揭阳市| 临朐县| 安康市| 拉孜县| 襄汾县| 英德市| 延长县| 隆化县| 广德县| 信宜市| 玉门市| 三都| 富裕县| 河南省| 石首市| 乐至县| 岗巴县| 绥江县| 乌恰县| 家居| 明星| 东城区| 巢湖市| 滨海县|