本發(fā)明涉及性能測試,具體涉及令牌桶算法測試方法、裝置、計(jì)算機(jī)設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、隨著信息技術(shù)的發(fā)展,對數(shù)據(jù)中心服務(wù)器存儲帶寬要求越來越高。研究人員設(shè)計(jì)了許多基于多通道的限流算法,需要測試人員對基于多通道的限流算法的功能正確性進(jìn)行測試。
2、相關(guān)技術(shù)中,對多功能nvme存儲設(shè)備的令牌桶算法的測試方式是通過構(gòu)造不同的令牌桶參數(shù),根據(jù)不同的令牌桶參數(shù)和硬件設(shè)計(jì)的令牌桶線性函數(shù),確定存儲設(shè)備執(zhí)行不同令牌桶參數(shù)對應(yīng)的理論帶寬。主機(jī)端將不同的令牌桶參數(shù)下發(fā)給存儲設(shè)備中不同的功能。針對任一功能,該功能根據(jù)主機(jī)端下發(fā)的讀寫命令和令牌桶參數(shù)執(zhí)行數(shù)據(jù)傳輸,主機(jī)端獲取該功能的實(shí)際帶寬,將該功能的實(shí)際帶寬與理論帶寬進(jìn)行比較,來確定該功能是否按照設(shè)計(jì)的令牌桶線性函數(shù)有效地執(zhí)行數(shù)據(jù)傳輸限流。
3、相關(guān)技術(shù)中對多功能nvme存儲設(shè)備的令牌桶算法的測試方式由于產(chǎn)品開發(fā)者不了解用戶場景,構(gòu)造的令牌桶參數(shù)有限,造成測試樣本不充分,獲得的令牌桶算法的測試結(jié)果準(zhǔn)確性較低。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本發(fā)明提供了一種令牌桶算法測試方法、裝置、計(jì)算機(jī)設(shè)備及存儲介質(zhì),以解決相關(guān)技術(shù)中由于產(chǎn)品開發(fā)者不了解用戶場景,構(gòu)造的令牌桶參數(shù)有限,造成測試樣本不充分,獲得的令牌桶算法的測試結(jié)果準(zhǔn)確性較低的問題。
2、第一方面,本發(fā)明提供了一種令牌桶算法測試方法,應(yīng)用于主機(jī)端,所述方法包括:
3、根據(jù)預(yù)測試的令牌桶算法類型,生成令牌桶樣本獲取命令和數(shù)據(jù)處理命令;
4、將所述令牌桶樣本獲取命令和數(shù)據(jù)處理命令發(fā)送至存儲設(shè)備,以使存儲設(shè)備執(zhí)行所述令牌桶樣本獲取命令和數(shù)據(jù)處理命令,獲得每個令牌桶樣本對應(yīng)的實(shí)際帶寬值,將每個令牌桶樣本對應(yīng)的實(shí)際帶寬值發(fā)送至主機(jī)端;
5、基于每個令牌桶樣本對應(yīng)的實(shí)際帶寬值,確定所述令牌桶樣本對應(yīng)的平均帶寬值;
6、基于所述令牌桶樣本獲取命令,確定所述令牌桶樣本對應(yīng)的理論帶寬值;
7、基于所述令牌桶樣本對應(yīng)的理論帶寬值和平均帶寬值,確定實(shí)際令牌桶線性函數(shù);
8、判斷實(shí)際令牌桶線性函數(shù)與理論令牌桶線性函數(shù)的誤差是否在預(yù)設(shè)誤差范圍內(nèi);
9、在實(shí)際令牌桶線性函數(shù)與理論令牌桶線性函數(shù)的誤差在預(yù)設(shè)誤差范圍內(nèi)的情況下,確定令牌桶算法測試通過。
10、本實(shí)施例提供的令牌桶算法測試方法,通過采用比較實(shí)際令牌桶線性函數(shù)與理論令牌桶線性函數(shù)的誤差是否在預(yù)設(shè)誤差范圍內(nèi)的方式,來確定令牌桶算法測試是否通過??梢酝ㄟ^實(shí)際線性函數(shù)的變化趨勢覆蓋更多的令牌桶參數(shù),使得測試樣本更充分,且通過比較實(shí)際令牌桶線性函數(shù)與理論令牌桶線性函數(shù)的誤差的測試方式,可以上升到數(shù)據(jù)理論層次比較實(shí)際令牌桶線性函數(shù)與理論令牌桶線性函數(shù)的趨勢差異,測試層次更深入,提高了獲得的令牌桶算法的測試結(jié)果的準(zhǔn)確性。
11、在一種可選的實(shí)施方式中,所述根據(jù)預(yù)測試的令牌桶算法類型,生成令牌桶樣本獲取命令和數(shù)據(jù)處理命令,包括:
12、在預(yù)測試的令牌桶算法類型為讀取數(shù)據(jù)時的令牌桶算法的情況下,生成讀令牌桶樣本獲取命令和讀命令;
13、在預(yù)測試的令牌桶算法類型為寫入數(shù)據(jù)時的令牌桶算法的情況下,生成寫令牌桶樣本獲取命令和寫命令。
14、本實(shí)施例提供的令牌桶算法測試方法,通過根據(jù)不同類型的令牌桶算法類型,自動生成對應(yīng)的令牌桶樣本獲取命令和數(shù)據(jù)處理命令,確保了測試指令與實(shí)際應(yīng)用場景的匹配,提高了測試的準(zhǔn)確性和效率。
15、在一種可選的實(shí)施方式中,所述根據(jù)預(yù)測試的令牌桶算法類型,生成令牌桶樣本獲取命令和數(shù)據(jù)處理命令,包括:
16、根據(jù)預(yù)測試的令牌桶算法類型和存儲設(shè)備對應(yīng)的協(xié)議,生成符合存儲設(shè)備對應(yīng)的協(xié)議的令牌桶樣本獲取命令和數(shù)據(jù)處理命令。
17、本實(shí)施例提供的令牌桶算法測試方法,通過根據(jù)存儲設(shè)備的具體協(xié)議定制令牌桶樣本獲取命令和數(shù)據(jù)處理命令,確保了測試命令與存儲設(shè)備之間的完美對接,避免了因?yàn)閰f(xié)議不匹配導(dǎo)致的測試誤差或失敗,提高了測試的廣泛適用性和準(zhǔn)確性。
18、在一種可選的實(shí)施方式中,所述將所述令牌桶樣本獲取命令和數(shù)據(jù)處理命令發(fā)送至存儲設(shè)備,包括:
19、將令牌桶樣本獲取命令發(fā)送至令牌桶樣本獲取命令隊(duì)列,將數(shù)據(jù)處理命令發(fā)送至數(shù)據(jù)處理命令隊(duì)列,以使存儲設(shè)備基于令牌桶樣本獲取命令隊(duì)列地址,從所述令牌桶樣本獲取命令隊(duì)列中獲取令牌桶樣本獲取命令,基于數(shù)據(jù)處理命令隊(duì)列地址從所述數(shù)據(jù)處理命令隊(duì)列中獲取數(shù)據(jù)處理命令。
20、本實(shí)施例提供的令牌桶算法測試方法,通過將令牌桶樣本獲取命令和數(shù)據(jù)處理命令分別放入獨(dú)立的隊(duì)列中,可以實(shí)現(xiàn)命令的異步處理。存儲設(shè)備能夠并行地從兩個隊(duì)列中獲取并執(zhí)行命令,顯著提高了處理效率,減少了命令等待和執(zhí)行的時間延遲。
21、在一種可選的實(shí)施方式中,所述基于所述令牌桶樣本獲取命令,確定所述令牌桶樣本對應(yīng)的理論帶寬值,包括:
22、獲取所述令牌桶樣本獲取命令中的令牌桶參數(shù),所述令牌桶參數(shù)包括令牌補(bǔ)充間隔和令牌單次補(bǔ)充個數(shù);
23、基于令牌桶參數(shù),通過如下公式確定所述令牌桶樣本對應(yīng)的理論帶寬值:
24、
25、其中,y(x)為所述令牌桶樣本對應(yīng)的理論帶寬值,m為令牌單次補(bǔ)充個數(shù),t為令牌補(bǔ)充間隔。
26、本實(shí)施例提供的令牌桶算法測試方法,通過數(shù)學(xué)公式量化令牌桶機(jī)制,能夠準(zhǔn)確計(jì)算出令牌桶樣本對應(yīng)的理論帶寬值,確保了令牌桶算法測試的準(zhǔn)確性。
27、在一種可選的實(shí)施方式中,所述基于所述令牌桶樣本對應(yīng)的理論帶寬值和平均帶寬值,確定實(shí)際令牌桶線性函數(shù),包括:
28、基于理論令牌桶線性函數(shù)和平均帶寬值,確定損失函數(shù);
29、基于所述令牌桶樣本對應(yīng)的理論帶寬值和平均帶寬值,確定所述理論帶寬值和平均帶寬值之間的偏差;
30、基于所述理論帶寬值和平均帶寬值之間的偏差,對所述損失函數(shù)中的第一變量和第二變量進(jìn)行調(diào)整,直至所述理論帶寬值和平均帶寬值之間的偏差減少到預(yù)設(shè)偏差范圍內(nèi),獲得實(shí)際令牌桶線性函數(shù)。
31、本實(shí)施例提供的令牌桶算法測試方法,通過損失函數(shù)的引入和優(yōu)化,能夠動態(tài)調(diào)整理論令牌桶線性函數(shù)以逼近實(shí)際運(yùn)行時的帶寬表現(xiàn),以獲得實(shí)際令牌桶線性函數(shù),進(jìn)而根據(jù)實(shí)際令牌桶線性函數(shù)與理論令牌桶線性函數(shù)的差異,確定令牌桶算法的測試結(jié)果,確保了令牌桶算法的測試結(jié)果的準(zhǔn)確性。
32、在一種可選的實(shí)施方式中,所述基于所述理論帶寬值和平均帶寬值之間的偏差,對所述損失函數(shù)中的第一變量和第二變量進(jìn)行調(diào)整,包括:
33、基于所述理論帶寬值和平均帶寬值之間的偏差,通過如下公式對所述損失函數(shù)中的第一變量和第二變量進(jìn)行調(diào)整:
34、k新=k舊-weight×lk(x)
35、b新=b舊-weight×lb(x)
36、其中,k新為調(diào)整后的第一變量,k舊為調(diào)整前的第一變量,weight為學(xué)習(xí)率,lk(x)為損失函數(shù)對第一變量的偏導(dǎo)數(shù),b新為調(diào)整后的第二變量,b舊為調(diào)整前的第二變量,lb(x)為損失函數(shù)對第二變量的偏導(dǎo)數(shù)。
37、本實(shí)施例提供的令牌桶算法測試方法,通過引入梯度下降法自動調(diào)整損失函數(shù)中的變量,實(shí)現(xiàn)了優(yōu)化過程的自動化。這種方法能夠高效地探索參數(shù)空間,尋找使損失函數(shù)最小化的最優(yōu)解,大大減少了手動調(diào)參的工作量和時間成本。
38、在一種可選的實(shí)施方式中,所述判斷實(shí)際令牌桶線性函數(shù)與理論令牌桶線性函數(shù)的誤差是否在預(yù)設(shè)誤差范圍內(nèi),包括:
39、判斷實(shí)際令牌桶線性函數(shù)中的第一變量與理論令牌桶線性函數(shù)的第一變量的誤差是否在預(yù)設(shè)第一變量的誤差范圍內(nèi);
40、判斷實(shí)際令牌桶線性函數(shù)中的第二變量與理論令牌桶線性函數(shù)的第二變量的誤差是否在預(yù)設(shè)第二變量的誤差范圍內(nèi);
41、在實(shí)際令牌桶線性函數(shù)中的第一變量與理論令牌桶線性函數(shù)的第一變量的誤差在預(yù)設(shè)第一變量的誤差范圍內(nèi),且實(shí)際令牌桶線性函數(shù)中的第二變量與理論令牌桶線性函數(shù)的第二變量的誤差在預(yù)設(shè)第二變量的誤差范圍內(nèi)的情況下,確定令牌桶算法測試通過。
42、本實(shí)施例提供的令牌桶算法測試方法,通過分別確定實(shí)際令牌桶線性函數(shù)中的第一變量與理論令牌桶線性函數(shù)的第二變量的誤差是否在預(yù)設(shè)誤差范圍內(nèi),進(jìn)而確定令牌桶算法測試是否通過,可以確保令牌桶算法的測試結(jié)果的準(zhǔn)確性。
43、在一種可選的實(shí)施方式中,所述方法還包括:
44、在實(shí)際令牌桶線性函數(shù)中的第一變量與理論令牌桶線性函數(shù)的第一變量的誤差不在預(yù)設(shè)第一變量的誤差范圍內(nèi),或?qū)嶋H令牌桶線性函數(shù)中的第二變量與理論令牌桶線性函數(shù)的第二變量的誤差不在預(yù)設(shè)第二變量的誤差范圍內(nèi)的情況下,確定令牌桶算法測試未通過。
45、本實(shí)施例提供的令牌桶算法測試方法,通過分別確定實(shí)際令牌桶線性函數(shù)中的第一變量與理論令牌桶線性函數(shù)的第二變量的誤差是否在預(yù)設(shè)誤差范圍內(nèi),進(jìn)而確定令牌桶算法測試是否通過,可以確保令牌桶算法的測試結(jié)果的準(zhǔn)確性。
46、第二方面,本發(fā)明提供了一種令牌桶算法測試方法,應(yīng)用于存儲設(shè)備端,所述方法包括:
47、接收主機(jī)端發(fā)送的令牌桶樣本獲取命令和數(shù)據(jù)處理命令,其中,所述主機(jī)端根據(jù)預(yù)測試的令牌桶算法類型,生成令牌桶樣本獲取命令和數(shù)據(jù)處理命令;
48、執(zhí)行所述令牌桶樣本獲取命令和數(shù)據(jù)處理命令,獲得每個令牌桶樣本對應(yīng)的實(shí)際帶寬值,將每個令牌桶樣本對應(yīng)的實(shí)際帶寬值發(fā)送至主機(jī)端,以使所述主機(jī)端基于每個令牌桶樣本對應(yīng)的實(shí)際帶寬值,確定所述令牌桶樣本對應(yīng)的平均帶寬值,基于所述令牌桶樣本獲取命令,確定所述令牌桶樣本對應(yīng)的理論帶寬值,基于所述令牌桶樣本對應(yīng)的理論帶寬值和平均帶寬值,確定實(shí)際令牌桶線性函數(shù),判斷實(shí)際令牌桶線性函數(shù)與理論令牌桶線性函數(shù)的誤差是否在預(yù)設(shè)誤差范圍內(nèi),在實(shí)際令牌桶線性函數(shù)與理論令牌桶線性函數(shù)的誤差在預(yù)設(shè)誤差范圍內(nèi)的情況下,確定令牌桶算法測試通過。
49、本實(shí)施例提供的令牌桶算法測試方法,通過采用比較實(shí)際令牌桶線性函數(shù)與理論令牌桶線性函數(shù)的誤差是否在預(yù)設(shè)誤差范圍內(nèi)的方式,來確定令牌桶算法測試是否通過??梢酝ㄟ^實(shí)際線性函數(shù)的變化趨勢覆蓋更多的令牌桶參數(shù),使得測試樣本更充分,且通過比較實(shí)際令牌桶線性函數(shù)與理論令牌桶線性函數(shù)的誤差的測試方式,可以上升到數(shù)據(jù)理論層次比較實(shí)際令牌桶線性函數(shù)與理論令牌桶線性函數(shù)的趨勢差異,測試層次更深入,提高了獲得的令牌桶算法的測試結(jié)果的準(zhǔn)確性。
50、在一種可選的實(shí)施方式中,所述接收主機(jī)端發(fā)送的令牌桶樣本獲取命令和數(shù)據(jù)處理命令,包括:
51、從第一地址寄存器中讀取數(shù)據(jù)處理命令隊(duì)列地址,基于所述數(shù)據(jù)處理命令隊(duì)列地址從數(shù)據(jù)處理命令隊(duì)列中獲取數(shù)據(jù)處理命令;
52、從第二地址寄存器中讀取令牌桶樣本獲取命令隊(duì)列地址,基于所述令牌桶樣本獲取命令隊(duì)列地址從令牌桶樣本獲取命令隊(duì)列中獲取令牌桶樣本獲取命令。
53、本實(shí)施例提供的令牌桶算法測試方法,通過從地址寄存器直接讀取命令隊(duì)列地址,減少了中間處理環(huán)節(jié),加速了從隊(duì)列中獲取數(shù)據(jù)處理命令和令牌桶樣本獲取命令的過程,提高了系統(tǒng)相應(yīng)速度,確保了命令處理的高效性。
54、在一種可選的實(shí)施方式中,執(zhí)行所述數(shù)據(jù)處理命令,包括:
55、對所述數(shù)據(jù)處理命令進(jìn)行解析,確定所述數(shù)據(jù)處理命令的類型和所述數(shù)據(jù)處理命令的數(shù)據(jù)處理參數(shù);
56、在所述數(shù)據(jù)處理命令的類型為讀命令的情況下,基于所述數(shù)據(jù)處理參數(shù)執(zhí)行所述讀命令;
57、在所述數(shù)據(jù)處理命令的類型為寫命令的情況下,基于所述數(shù)據(jù)處理參數(shù)執(zhí)行所述寫命令。
58、本實(shí)施例提供的令牌桶算法測試方法,根據(jù)數(shù)據(jù)處理命令的類型動態(tài)執(zhí)行讀操作或?qū)懖僮?,這種靈活性能夠應(yīng)對多樣化的數(shù)據(jù)處理需求,使得系統(tǒng)能夠支持更復(fù)雜的業(yè)務(wù)邏輯。
59、在一種可選的實(shí)施方式中,執(zhí)行所述令牌桶樣本獲取命令,包括:
60、對所述令牌桶樣本獲取命令進(jìn)行解析,獲得令牌桶參數(shù);
61、基于所述令牌桶參數(shù)確定令牌類型;
62、在所述令牌類型為讀令牌類型的情況下,將所述令牌桶參數(shù)寫入讀令牌參數(shù)寄存器;
63、在所述令牌類型為寫令牌類型的情況下,將所述令牌桶參數(shù)寫入寫令牌參數(shù)寄存器;
64、基于所述讀令牌參數(shù)寄存器中的令牌桶參數(shù)或?qū)懥钆茀?shù)寄存器中的令牌桶參數(shù)進(jìn)行數(shù)據(jù)傳輸控制和樣本采集控制。
65、本實(shí)施例提供的令牌桶算法測試方法,通過區(qū)分讀令牌與寫令牌類型,并將相應(yīng)的令牌桶參數(shù)寫入對應(yīng)的寄存器,實(shí)現(xiàn)更為精確的數(shù)據(jù)傳輸控制和樣本采集控制策略,提高了令牌桶算法的測試效率和測試結(jié)果的準(zhǔn)確性。
66、在一種可選的實(shí)施方式中,所述基于所述讀令牌參數(shù)寄存器中的令牌桶參數(shù)或?qū)懥钆茀?shù)寄存器中的令牌桶參數(shù)進(jìn)行數(shù)據(jù)傳輸控制和樣本采集控制,包括:
67、基于所述令牌桶參數(shù)中的令牌補(bǔ)充間隔和令牌單次補(bǔ)充個數(shù)進(jìn)行數(shù)據(jù)傳輸控制;
68、基于所述令牌桶參數(shù)中的樣本采集間隔和樣本采集個數(shù)進(jìn)行樣本采集控制。
69、本實(shí)施例提供的令牌桶算法測試方法,通過依據(jù)令牌桶參數(shù)中的令牌補(bǔ)充間隔和單次補(bǔ)充個數(shù)動態(tài)調(diào)整數(shù)據(jù)傳輸速率,實(shí)現(xiàn)了網(wǎng)絡(luò)流量的智能調(diào)控,根據(jù)樣本采集間隔和采集個數(shù)進(jìn)行樣本采集控制,確保了在網(wǎng)絡(luò)監(jiān)測中能夠按時按量收集到所需樣本,提高了令牌桶算法的測試效率和測試結(jié)果的準(zhǔn)確性。
70、在一種可選的實(shí)施方式中,所述方法還包括:
71、根據(jù)所述數(shù)據(jù)處理命令的執(zhí)行狀態(tài),生成第一命令狀態(tài)碼,并將所述第一命令狀態(tài)碼寫入第一響應(yīng)隊(duì)列,以使所述主機(jī)端從所述第一響應(yīng)隊(duì)列中獲取第一命令狀態(tài)碼,基于所述第一命令狀態(tài)碼確定所述數(shù)據(jù)處理命令的執(zhí)行狀態(tài),在所述數(shù)據(jù)處理命令的執(zhí)行狀態(tài)為數(shù)據(jù)處理命令執(zhí)行成功的情況下,繼續(xù)發(fā)送數(shù)據(jù)處理命令,在所述數(shù)據(jù)處理命令的執(zhí)行狀態(tài)為數(shù)據(jù)處理命令執(zhí)行失敗的情況下,退出測試流程。
72、本實(shí)施例提供的令牌桶算法測試方法,根據(jù)第一命令狀態(tài)碼自動判斷數(shù)據(jù)處理命令是否執(zhí)行成功,可以在執(zhí)行失敗時迅速響應(yīng),及時退出測試流程。在數(shù)據(jù)處理命令執(zhí)行成功時,系統(tǒng)能夠無縫繼續(xù)發(fā)送后續(xù)的數(shù)據(jù)處理命令,無需等待人為確認(rèn),保持了處理流程的連貫性,提高了整體執(zhí)行效率。
73、在一種可選的實(shí)施方式中,所述方法還包括:
74、根據(jù)所述令牌桶樣本獲取命令的執(zhí)行狀態(tài),生成第二命令狀態(tài)碼,并將所述第二命令狀態(tài)碼寫入第二響應(yīng)隊(duì)列,以使所述主機(jī)端從所述第二響應(yīng)隊(duì)列中獲取第二命令狀態(tài)碼,基于所述第二命令狀態(tài)碼確定所述令牌桶樣本獲取命令的執(zhí)行狀態(tài),在所述令牌桶樣本獲取命令的執(zhí)行狀態(tài)為令牌桶樣本獲取命令執(zhí)行成功的情況下,執(zhí)行所述將每個令牌桶樣本對應(yīng)的實(shí)際帶寬值發(fā)送至主機(jī)端的步驟,在所述數(shù)據(jù)處理命令的執(zhí)行狀態(tài)為令牌桶樣本獲取命令執(zhí)行失敗的情況下,退出測試流程。
75、本實(shí)施例提供的令牌桶算法測試方法,基于第二命令狀態(tài)碼自動判斷令牌桶樣本獲取命令的執(zhí)行結(jié)果,能夠在遇到執(zhí)行失敗時迅速響應(yīng),立即退出測試流程,在令牌桶樣本獲取命令執(zhí)行成功時,繼續(xù)發(fā)送實(shí)際帶寬值至主機(jī)端,以確定實(shí)際令牌桶線性函數(shù),進(jìn)而確定令牌桶算法的測試結(jié)果。
76、第三方面,本發(fā)明提供了一種令牌桶算法測試裝置,應(yīng)用于主機(jī)端,所述裝置包括:
77、第一生成模塊,用于根據(jù)預(yù)測試的令牌桶算法類型,生成令牌桶樣本獲取命令和數(shù)據(jù)處理命令;
78、第一發(fā)送模塊,用于將所述令牌桶樣本獲取命令和數(shù)據(jù)處理命令發(fā)送至存儲設(shè)備,以使存儲設(shè)備執(zhí)行所述令牌桶樣本獲取命令和數(shù)據(jù)處理命令,獲得每個令牌桶樣本對應(yīng)的實(shí)際帶寬值,將每個令牌桶樣本對應(yīng)的實(shí)際帶寬值發(fā)送至主機(jī)端;
79、第一確定模塊,用于基于每個令牌桶樣本對應(yīng)的實(shí)際帶寬值,確定所述令牌桶樣本對應(yīng)的平均帶寬值;
80、第二確定模塊,用于基于所述令牌桶樣本獲取命令,確定所述令牌桶樣本對應(yīng)的理論帶寬值;
81、第三確定模塊,用于基于所述令牌桶樣本對應(yīng)的理論帶寬值和平均帶寬值,確定實(shí)際令牌桶線性函數(shù);
82、第一判斷模塊,用于判斷實(shí)際令牌桶線性函數(shù)與理論令牌桶線性函數(shù)的誤差是否在預(yù)設(shè)誤差范圍內(nèi);
83、第四確定模塊,用于在實(shí)際令牌桶線性函數(shù)與理論令牌桶線性函數(shù)的誤差在預(yù)設(shè)誤差范圍內(nèi)的情況下,確定令牌桶算法測試通過。
84、第四方面,本發(fā)明提供了一種令牌桶算法測試裝置,應(yīng)用于存儲設(shè)備端,所述裝置包括:
85、第一接收模塊,用于接收主機(jī)端發(fā)送的令牌桶樣本獲取命令和數(shù)據(jù)處理命令,其中,所述主機(jī)端根據(jù)預(yù)測試的令牌桶算法類型,生成令牌桶樣本獲取命令和數(shù)據(jù)處理命令;
86、第一執(zhí)行模塊,用于執(zhí)行所述令牌桶樣本獲取命令和數(shù)據(jù)處理命令,獲得每個令牌桶樣本對應(yīng)的實(shí)際帶寬值,將每個令牌桶樣本對應(yīng)的實(shí)際帶寬值發(fā)送至主機(jī)端,以使所述主機(jī)端基于每個令牌桶樣本對應(yīng)的實(shí)際帶寬值,確定所述令牌桶樣本對應(yīng)的平均帶寬值,基于所述令牌桶樣本獲取命令,確定所述令牌桶樣本對應(yīng)的理論帶寬值,基于所述令牌桶樣本對應(yīng)的理論帶寬值和平均帶寬值,確定實(shí)際令牌桶線性函數(shù),判斷實(shí)際令牌桶線性函數(shù)與理論令牌桶線性函數(shù)的誤差是否在預(yù)設(shè)誤差范圍內(nèi),在實(shí)際令牌桶線性函數(shù)與理論令牌桶線性函數(shù)的誤差在預(yù)設(shè)誤差范圍內(nèi)的情況下,確定令牌桶算法測試通過。
87、第五方面,本發(fā)明提供了一種令牌桶算法測試系統(tǒng),所述系統(tǒng)包括主機(jī)端和存儲設(shè)備端,其中,主機(jī)端用于執(zhí)行上述第一方面或其對應(yīng)的任一實(shí)施方式的令牌桶算法測試方法,存儲設(shè)備端用于執(zhí)行上述第二方面或其對應(yīng)的任一實(shí)施方式的令牌桶算法測試方法。
88、第六方面,本發(fā)明提供了一種計(jì)算機(jī)設(shè)備,包括:存儲器和處理器,存儲器和處理器之間互相通信連接,存儲器中存儲有計(jì)算機(jī)指令,處理器通過執(zhí)行計(jì)算機(jī)指令,從而執(zhí)行上述第一方面或其對應(yīng)的任一實(shí)施方式的令牌桶算法測試方法或上述第二方面或其對應(yīng)的任一實(shí)施方式的令牌桶算法測試方法。
89、第七方面,本發(fā)明提供了一種計(jì)算機(jī)可讀存儲介質(zhì),該計(jì)算機(jī)可讀存儲介質(zhì)上存儲有計(jì)算機(jī)指令,計(jì)算機(jī)指令用于使計(jì)算機(jī)執(zhí)行上述第一方面或其對應(yīng)的任一實(shí)施方式的令牌桶算法測試方法或上述第二方面或其對應(yīng)的任一實(shí)施方式的令牌桶算法測試方法。
90、第八方面,本發(fā)明提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)指令,計(jì)算機(jī)指令用于使計(jì)算機(jī)執(zhí)行上述第一方面或其對應(yīng)的任一實(shí)施方式的令牌桶算法測試方法或上述第二方面或其對應(yīng)的任一實(shí)施方式的令牌桶算法測試方法。