本申請涉及計算機(jī),尤其涉及一種流量控制方法、裝置、電子設(shè)備及計算機(jī)可讀介質(zhì)。
背景技術(shù):
1、對公核心系統(tǒng)國產(chǎn)化后數(shù)據(jù)庫能力相較商業(yè)版的數(shù)據(jù)庫存在一定差距,高并發(fā)操作同一個賬戶,可能出現(xiàn)數(shù)據(jù)庫鎖(行鎖)超時的問題,需要訪問核心系統(tǒng)的組件進(jìn)行降并發(fā)控制。而同一個轉(zhuǎn)賬服務(wù)由于對公活期收付款賬戶簽約產(chǎn)品不同或服務(wù)類型的差異,性能存在極大的差異,例如普通活期賬戶的轉(zhuǎn)賬服務(wù)性能是簽約了三級實時池賬戶的三倍?,F(xiàn)有的流控機(jī)制是單機(jī)的,且是針對呼出或呼入的uri或者是客戶端的并發(fā)控制。無法實現(xiàn)更細(xì)粒度賬號級別的全局流控,流量控制準(zhǔn)確性差。
技術(shù)實現(xiàn)思路
1、有鑒于此,本申請實施例提供一種流量控制方法、裝置、電子設(shè)備及計算機(jī)可讀介質(zhì),能夠解決現(xiàn)有的流控機(jī)制無法實現(xiàn)更細(xì)粒度賬號級別的全局流控,流量控制準(zhǔn)確性差的問題。
2、為實現(xiàn)上述目的,根據(jù)本申請實施例的一個方面,提供了一種流量控制方法,包括:接收流量控制請求,確定流控查詢賬號;基于流控查詢賬號和預(yù)設(shè)流控名單表,確定流控賬號;響應(yīng)于流控賬號不存在于緩存中,從預(yù)設(shè)流控名單表中獲取各個賬號的性能數(shù)據(jù);基于性能數(shù)據(jù),生成令牌,將令牌刷新到緩存中,執(zhí)行令牌獲取進(jìn)程,響應(yīng)于令牌獲取失敗并且交易標(biāo)識對應(yīng)于非聯(lián)機(jī)交易,執(zhí)行令牌獲取重試進(jìn)程;響應(yīng)于令牌獲取成功,調(diào)用對公存款組件以執(zhí)行相應(yīng)交易,釋放令牌。
3、可選地,確定流控查詢賬號,包括:獲取收付款賬號,截取收付款賬號的前預(yù)設(shè)數(shù)量位數(shù)字以作為流控查詢賬號。
4、可選地,確定流控賬號,包括:響應(yīng)于流控查詢賬號在預(yù)設(shè)流控名單表中,從預(yù)設(shè)流控名單表中查詢與流控查詢賬號對應(yīng)的賬號;基于賬號,確定流控賬號。
5、可選地,基于賬號,確定流控賬號,包括:確定賬號的類型,響應(yīng)于類型包括主賬號,則將類型為主賬號的賬號確定為流控賬號;響應(yīng)于類型不包括主賬號,則將類型為子賬號的賬號確定為流控賬號。
6、可選地,調(diào)用對公存款組件以執(zhí)行相應(yīng)交易,包括:增加并發(fā)數(shù)后調(diào)用對公存款組件執(zhí)行相應(yīng)交易,待相應(yīng)交易執(zhí)行完成后,減少并發(fā)數(shù)。
7、可選地,執(zhí)行令牌獲取重試進(jìn)程,包括:間隔預(yù)設(shè)時長,并嘗試預(yù)設(shè)次數(shù),以重試獲取令牌,若仍未獲取到令牌,返回交易受限信息;若重試獲取到令牌,則確定令牌獲取成功。
8、另外,本申請還提供了一種流量控制裝置,包括:接收單元,被配置成接收流量控制請求,確定流控查詢賬號;流控賬號確定單元,基于流控查詢賬號和預(yù)設(shè)流控名單表,確定流控賬號;獲取單元,被配置成響應(yīng)于流控賬號不存在于緩存中,從預(yù)設(shè)流控名單表中獲取各個賬號的性能數(shù)據(jù);執(zhí)行單元,被配置成基于性能數(shù)據(jù),生成令牌,將令牌刷新到緩存中,執(zhí)行令牌獲取進(jìn)程,響應(yīng)于令牌獲取失敗并且交易標(biāo)識對應(yīng)于非聯(lián)機(jī)交易,執(zhí)行令牌獲取重試進(jìn)程;令牌釋放單元,被配置成響應(yīng)于令牌獲取成功,調(diào)用對公存款組件以執(zhí)行相應(yīng)交易,釋放令牌。
9、可選地,接收單元進(jìn)一步被配置成:獲取收付款賬號,截取收付款賬號的前預(yù)設(shè)數(shù)量位數(shù)字以作為流控查詢賬號。
10、可選地,流控賬號確定單元進(jìn)一步被配置成:響應(yīng)于流控查詢賬號在預(yù)設(shè)流控名單表中,從預(yù)設(shè)流控名單表中查詢與流控查詢賬號對應(yīng)的賬號;基于賬號,確定流控賬號。
11、可選地,流控賬號確定單元進(jìn)一步被配置成:確定賬號的類型,響應(yīng)于類型被配置成主賬號,則將類型為主賬號的賬號確定為流控賬號;響應(yīng)于類型不被配置成主賬號,則將類型為子賬號的賬號確定為流控賬號。
12、可選地,令牌釋放單元進(jìn)一步被配置成:增加并發(fā)數(shù)后調(diào)用對公存款組件執(zhí)行相應(yīng)交易,待相應(yīng)交易執(zhí)行完成后,減少并發(fā)數(shù)。
13、可選地,執(zhí)行單元進(jìn)一步被配置成:間隔預(yù)設(shè)時長,并嘗試預(yù)設(shè)次數(shù),以重試獲取令牌,若仍未獲取到令牌,返回交易受限信息;若重試獲取到令牌,則確定令牌獲取成功。
14、另外,本申請還提供了一種流量控制電子設(shè)備,包括:一個或多個處理器;存儲裝置,用于存儲一個或多個程序,當(dāng)一個或多個程序被一個或多個處理器執(zhí)行,使得一個或多個處理器實現(xiàn)如上述的流量控制方法。
15、另外,本申請還提供了一種計算機(jī)可讀介質(zhì),其上存儲有計算機(jī)程序,程序被處理器執(zhí)行時實現(xiàn)如上述的流量控制方法。
16、為實現(xiàn)上述目的,根據(jù)本申請實施例的又一個方面,提供了一種計算機(jī)程序產(chǎn)品。
17、本申請實施例的一種計算機(jī)程序產(chǎn)品,包括計算機(jī)程序,程序被處理器執(zhí)行時實現(xiàn)本申請實施例提供的流量控制方法。
18、上述發(fā)明中的一個實施例具有如下優(yōu)點或有益效果:本申請通過接收流量控制請求,確定流控查詢賬號;基于流控查詢賬號和預(yù)設(shè)流控名單表,確定流控賬號;響應(yīng)于流控賬號不存在于緩存中,從預(yù)設(shè)流控名單表中獲取各個賬號的性能數(shù)據(jù);基于性能數(shù)據(jù),生成令牌,將令牌刷新到緩存中,執(zhí)行令牌獲取進(jìn)程,響應(yīng)于令牌獲取失敗并且交易標(biāo)識對應(yīng)于非聯(lián)機(jī)交易,執(zhí)行令牌獲取重試進(jìn)程;響應(yīng)于令牌獲取成功,調(diào)用對公存款組件以執(zhí)行相應(yīng)交易,釋放令牌。通過令牌實現(xiàn)了支持動態(tài)調(diào)整流量,通過流控賬號實現(xiàn)了更細(xì)粒度的相同的服務(wù)差異化流量控制,提高流量控制的準(zhǔn)確性。
19、上述的非慣用的可選方式所具有的進(jìn)一步效果將在下文中結(jié)合具體實施方式加以說明。
1.一種流量控制方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定流控查詢賬號,包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定流控賬號,包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述基于所述賬號,確定流控賬號,包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述調(diào)用對公存款組件以執(zhí)行相應(yīng)交易,包括:
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述執(zhí)行令牌獲取重試進(jìn)程,包括:
7.一種流量控制裝置,其特征在于,包括:
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述接收單元進(jìn)一步被配置成:
9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述流控賬號確定單元進(jìn)一步被配置成:
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述流控賬號確定單元進(jìn)一步被配置成:
11.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述令牌釋放單元進(jìn)一步被配置成:
12.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述執(zhí)行單元進(jìn)一步被配置成:
13.一種流量控制電子設(shè)備,其特征在于,包括:
14.一種計算機(jī)可讀介質(zhì),其上存儲有計算機(jī)程序,其特征在于,所述程序被處理器執(zhí)行時實現(xiàn)如權(quán)利要求1-6中任一項所述的方法。
15.一種計算機(jī)程序產(chǎn)品,包括計算機(jī)程序,其特征在于,所述計算機(jī)程序被處理器執(zhí)行時實現(xiàn)如權(quán)利要求1-6中任一項所述的方法。