本技術(shù)實(shí)施例涉及計算機(jī),特別涉及一種下載任務(wù)執(zhí)行方法、裝置、設(shè)備、存儲介質(zhì)及程序產(chǎn)品。
背景技術(shù):
1、令牌桶是一種流量控制算法,用于限制對資源的訪問速率。它可以用于網(wǎng)絡(luò)通信、系統(tǒng)調(diào)度、限流等場景。目前許多場景下對令牌桶算法的改進(jìn),會根據(jù)流量情況動態(tài)調(diào)整令牌的產(chǎn)生速率和桶的容量,以適應(yīng)不同的流量模式和需求。這種算法可以根據(jù)實(shí)時的流量情況來調(diào)整令牌的生成速率,從而更加精確地控制流量的速率和延遲。
2、然而,由于在相關(guān)技術(shù)中,令牌生成和消費(fèi)服務(wù)通常整合在同一個服務(wù)或者模塊內(nèi),令牌生成服務(wù)對應(yīng)部署在每個消費(fèi)服務(wù)節(jié)點(diǎn)上,無法實(shí)現(xiàn)對不同下載服務(wù)器的下載任務(wù)的整體管控;且僅基于流量情況調(diào)整令牌的生成速率,調(diào)控方式較為單一,使得下載任務(wù)控制效果較差。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)實(shí)施例提供了一種下載任務(wù)執(zhí)行方法、裝置、設(shè)備、存儲介質(zhì)及程序產(chǎn)品,可以實(shí)現(xiàn)對不同下載服務(wù)器的下載任務(wù)的整體管控,同時,基于下載服務(wù)器的多維度因素綜合調(diào)整令牌下發(fā)參數(shù),提高了令牌下發(fā)參數(shù)的準(zhǔn)確性,基于該令牌下發(fā)參數(shù)進(jìn)行令牌下發(fā)可以提高對下載服務(wù)器執(zhí)行下載任務(wù)的控制效果,該技術(shù)方案如下。
2、一方面,提供了一種下載任務(wù)執(zhí)行方法,所述方法由令牌管理服務(wù)器執(zhí)行,所述令牌管理服務(wù)器用于對至少兩個下載服務(wù)器的下載任務(wù)進(jìn)行管控,所述方法包括:
3、接收目標(biāo)下載服務(wù)器發(fā)送的反饋信息,所述反饋信息包括資源信息以及下載文件大??;所述目標(biāo)下載服務(wù)器是至少兩個下載服務(wù)器中的任意一個;
4、基于所述目標(biāo)下載服務(wù)器發(fā)送的反饋信息,調(diào)整所述目標(biāo)下載服務(wù)器對應(yīng)的令牌下發(fā)參數(shù);
5、基于所述令牌下發(fā)參數(shù)向所述目標(biāo)下載服務(wù)器下發(fā)令牌,以使得所述目標(biāo)下載服務(wù)器基于接收到的令牌執(zhí)行下載任務(wù)。
6、另一方面,提供了一種下載任務(wù)執(zhí)行方法,所述方法由目標(biāo)下載服務(wù)器執(zhí)行,所述目標(biāo)下載服務(wù)器是令牌管理服務(wù)器進(jìn)行下載任務(wù)管控的至少兩個下載服務(wù)器中的任意一個,所述方法包括:
7、接收用戶下載請求;
8、將所述目標(biāo)下載服務(wù)器的反饋信息發(fā)送給所述令牌管理服務(wù)器;所述反饋信息包括資源信息以及下載文件大??;
9、接收所述令牌管理服務(wù)器基于調(diào)整后的令牌下發(fā)參數(shù)下發(fā)的令牌,并存儲到令牌桶中;所述令牌下發(fā)參數(shù)是所述令牌管理服務(wù)器基于所述反饋信息調(diào)整得到的;所述令牌桶是對應(yīng)于所述用戶下載請求創(chuàng)建并初始化后得到的令牌桶;
10、基于從所述令牌桶中獲取到的令牌執(zhí)行下載任務(wù)。
11、另一方面,提供了一種下載任務(wù)執(zhí)行裝置,所述裝置應(yīng)用在令牌管理服務(wù)器中,所述令牌管理服務(wù)器用于對至少兩個下載服務(wù)器的下載任務(wù)進(jìn)行管控,所述裝置包括:
12、信息接收模塊,用于接收目標(biāo)下載服務(wù)器發(fā)送的反饋信息,所述反饋信息包括資源信息以及下載文件大??;所述目標(biāo)下載服務(wù)器是至少兩個下載服務(wù)器中的任意一個;
13、參數(shù)調(diào)整模塊,用于基于所述目標(biāo)下載服務(wù)器發(fā)送的反饋信息,調(diào)整所述目標(biāo)下載服務(wù)器對應(yīng)的令牌下發(fā)參數(shù);
14、令牌下發(fā)模塊,用于基于所述令牌下發(fā)參數(shù)向所述目標(biāo)下載服務(wù)器下發(fā)令牌,以使得所述目標(biāo)下載服務(wù)器基于接收到的令牌執(zhí)行下載任務(wù)。
15、在一種可能的實(shí)現(xiàn)方式中,所述參數(shù)調(diào)整模塊,用于:
16、獲取目標(biāo)滑動窗口內(nèi)接收到的所述反饋信息;
17、基于所述目標(biāo)滑動窗口內(nèi)接收到的所述反饋信息,確定平均反饋信息;
18、基于所述平均反饋信息,調(diào)整所述目標(biāo)下載服務(wù)器對應(yīng)的令牌下發(fā)參數(shù)。
19、在一種可能的實(shí)現(xiàn)方式中,參數(shù)調(diào)整模塊,包括,
20、第一調(diào)整子模塊,用于調(diào)整下發(fā)給所述目標(biāo)下載服務(wù)器的令牌對應(yīng)的令牌信息;所述令牌信息包括下載緩沖區(qū)大小以及下載線程數(shù)量;
21、和/或,
22、第二調(diào)整子模塊,調(diào)整所述目標(biāo)下載服務(wù)器對應(yīng)的令牌生成速率。
23、在一種可能的實(shí)現(xiàn)方式中,所述資源信息包括cpu利用率信息、內(nèi)存利用率信息以及cpu核心數(shù);所述第一調(diào)整子模塊,包括:
24、第一計算單元,用于基于所述下載文件大小以及當(dāng)前令牌的令牌信息進(jìn)行計算,得到線性變量;所述線性變量用于指示數(shù)據(jù)處理效率;
25、第二計算單元,用于基于當(dāng)前令牌的下載線程數(shù)量、所述cpu利用率信息以及所述目標(biāo)下載服務(wù)器的cpu核心數(shù)進(jìn)行計算,得到關(guān)系數(shù)值;所述關(guān)系數(shù)值用于指示所述下載線程數(shù)量與cpu利用率之間的相關(guān)性;所述cpu利用率信息包括當(dāng)前cpu利用率,cpu利用率最大值以及cpu利用率最小值;
26、第一參數(shù)調(diào)整單元,用于基于所述線性變量、所述關(guān)系數(shù)值以及當(dāng)前令牌的下載線程數(shù)量,得到調(diào)整后的下載緩沖區(qū)大小。
27、在一種可能的實(shí)現(xiàn)方式中,所述第一調(diào)整子模塊,還包括:
28、第二參數(shù)調(diào)整單元,用于基于所述目標(biāo)下載服務(wù)器的當(dāng)前cpu利用率調(diào)整所述下載線程數(shù)量;所述下載線程數(shù)量與所述當(dāng)前cpu利用率負(fù)相關(guān)。
29、在一種可能的實(shí)現(xiàn)方式中,所述第二調(diào)整子模塊,用于,
30、在所述下載文件大小小于文件大小閾值的情況下,基于第一計算方式結(jié)合所述資源信息以及所述下載文件大小,確定調(diào)整后的所述目標(biāo)下載服務(wù)器對應(yīng)的令牌生成速率;所述第一計算方式中包含基于令牌剩余量與令牌消耗速率構(gòu)建的第一平滑因子,所述第一平滑因子用于進(jìn)行全局速率調(diào)節(jié);
31、在所述下載文件大小大于所述文件大小閾值的情況下,基于第二計算方式結(jié)合所述資源信息以及所述下載文件大小,確定調(diào)整后的所述目標(biāo)下載服務(wù)器對應(yīng)的令牌生成速率;所述第二計算方式中包含基于令牌剩余量與令牌消耗速率構(gòu)建的第二平滑因子,所述第二平滑因子用于進(jìn)行局部速率調(diào)節(jié)。
32、在一種可能的實(shí)現(xiàn)方式中,所述裝置還包括:
33、調(diào)整請求接收模塊,用于接收各個下載服務(wù)器反饋的速率調(diào)整請求;
34、數(shù)量統(tǒng)計模塊,用于通過滑動窗口算法統(tǒng)計單位時間內(nèi)發(fā)起所述速率調(diào)整請求的下載服務(wù)器數(shù)量;
35、速率調(diào)整模塊,用于基于單位時間內(nèi)的所述下載服務(wù)器數(shù)量對各下載服務(wù)器各自對應(yīng)的令牌生成速率進(jìn)行調(diào)整。
36、在一種可能的實(shí)現(xiàn)方式中,所述速率調(diào)整模塊,用于,
37、在所述速率調(diào)整請求為提高令牌生成速率的請求,所述下載服務(wù)器數(shù)量的占比大于第一占比閾值,且當(dāng)前的令牌生成速率低于最高令牌生成速率的情況下,將各下載服務(wù)器各自對應(yīng)的令牌生成速率提高第一百分比,且提升后的令牌生成速率低于所述最高令牌生成速率。
38、在一種可能的實(shí)現(xiàn)方式中,所述速率調(diào)整模塊,用于,
39、在所述速率調(diào)整請求為降低令牌生成速率的請求,所述下載服務(wù)器數(shù)量的占比大于第二占比閾值,且當(dāng)前的令牌生成速率高于最低令牌生成速率的情況下,將各下載服務(wù)器各自對應(yīng)的令牌生成速率降低第二百分比,且降低后的令牌生成速率高于所述最低令牌生成速率。
40、在一種可能的實(shí)現(xiàn)方式中,所述令牌下發(fā)模塊,用于,
41、將基于所述令牌下發(fā)參數(shù)生成的令牌通過消息隊列下發(fā)給所述目標(biāo)下載服務(wù)器。
42、另一方面,提供了一種下載任務(wù)執(zhí)行裝置,所述裝置應(yīng)用在目標(biāo)下載服務(wù)器中,所述目標(biāo)下載服務(wù)器是令牌管理服務(wù)器進(jìn)行下載任務(wù)管控的至少兩個下載服務(wù)器中的任意一個,所述裝置包括:
43、下載請求接收模塊,用于接收用戶下載請求;
44、信息發(fā)送模塊,用于將所述目標(biāo)下載服務(wù)器的反饋信息發(fā)送給所述令牌管理服務(wù)器;所述反饋信息包括資源信息以及下載文件大?。?/p>
45、令牌接收模塊,用于接收所述令牌管理服務(wù)器基于調(diào)整后的令牌下發(fā)參數(shù)下發(fā)的令牌,并存儲到令牌桶中;所述令牌下發(fā)參數(shù)是所述令牌管理服務(wù)器基于所述反饋信息調(diào)整得到的;所述令牌桶是對應(yīng)于所述用戶下載請求創(chuàng)建并初始化后得到的令牌桶;
46、任務(wù)執(zhí)行模塊,用于基于從所述令牌桶中獲取到的令牌執(zhí)行下載任務(wù)。
47、在一種可能的實(shí)現(xiàn)方式中,所述令牌接收模塊,用于,
48、通過消息隊列接收所述令牌管理服務(wù)器下發(fā)的對應(yīng)于所述目標(biāo)下載服務(wù)器的令牌。
49、另一方面,提供了一種計算機(jī)設(shè)備,所述計算機(jī)設(shè)備包含處理器和存儲器,所述存儲器存儲有至少一條計算機(jī)程序,所述至少一條計算機(jī)程序由所述處理器加載并執(zhí)行以實(shí)現(xiàn)上述的下載任務(wù)執(zhí)行方法。
50、另一方面,提供了一種計算機(jī)可讀存儲介質(zhì),所述計算機(jī)可讀存儲介質(zhì)中存儲有至少一條計算機(jī)程序,所述計算機(jī)程序由處理器加載并執(zhí)行以實(shí)現(xiàn)上述的下載任務(wù)執(zhí)行方法。
51、另一方面,提供了一種計算機(jī)程序產(chǎn)品,所述計算機(jī)程序產(chǎn)品包括至少一條計算機(jī)程序,所述計算機(jī)程序由處理器加載并執(zhí)行以實(shí)現(xiàn)上述各種可選實(shí)現(xiàn)方式中提供的下載任務(wù)執(zhí)行方法。
52、本技術(shù)提供的技術(shù)方案可以包括以下有益效果:
53、本技術(shù)實(shí)施例提供的下載任務(wù)執(zhí)行方法,通過對令牌管理服務(wù)器與下載服務(wù)器進(jìn)行解耦,以通過令牌管理服務(wù)器對多個下載服務(wù)器的下載任務(wù)進(jìn)行管控,以對其中一個下載服務(wù)器的管控的過程為例,令牌管理服務(wù)器基于接收到的目標(biāo)下載服務(wù)器發(fā)送的反饋信息,調(diào)整目標(biāo)下載服務(wù)器對應(yīng)的令牌下發(fā)參數(shù),并基于該令牌下發(fā)參數(shù)向目標(biāo)下載服務(wù)器下發(fā)令牌,以使得目標(biāo)下載服務(wù)器基于接收到的令牌執(zhí)行下載任務(wù);其中,該反饋信息包括資源信息以及下載文件信息,通過上述方法,可以實(shí)現(xiàn)對不同下載服務(wù)器的下載任務(wù)的整體管控,同時,基于下載服務(wù)器的多維度因素綜合調(diào)整令牌下發(fā)參數(shù),提高了令牌下發(fā)參數(shù)的準(zhǔn)確性,基于該令牌下發(fā)參數(shù)向下載服務(wù)器發(fā)送令牌,可以提高對下載服務(wù)器執(zhí)行下載任務(wù)的控制效果。
54、應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本技術(shù)。