本發(fā)明涉及通信擁塞監(jiān)測,更具體地說,本發(fā)明涉及一種基于加速設(shè)備的通信協(xié)議擁塞監(jiān)測方法。
背景技術(shù):
1、近年來,ip電話、網(wǎng)絡(luò)視頻會(huì)議、遠(yuǎn)程教育等實(shí)時(shí)流媒體被大量應(yīng)用,這些應(yīng)用大多采用udp協(xié)議進(jìn)行傳輸,udp協(xié)議是一種無連接協(xié)議,相比于tcp協(xié)議雖然它在傳輸速度上有一定的優(yōu)勢,但也存在著缺乏擁塞控制機(jī)制和傳輸可靠性差的問題,為了將tcp協(xié)議的優(yōu)勢和udp協(xié)議的優(yōu)勢相結(jié)合,在tcp的客戶端部署加速設(shè)備,加速設(shè)備內(nèi)有服務(wù)進(jìn)程能夠在客戶端側(cè)終結(jié)tcp連接,在服務(wù)端側(cè)重新發(fā)起tcp連接,在加速設(shè)備之間將tcp協(xié)議轉(zhuǎn)化為udp協(xié)議進(jìn)行傳輸,并在udp的上層實(shí)現(xiàn)了類似于tcp的可靠傳輸,現(xiàn)有技術(shù),通常是對使用單個(gè)協(xié)議的鏈路進(jìn)行擁塞監(jiān)測,無法適用于tcp協(xié)議轉(zhuǎn)化為udp協(xié)議的場景;
2、例如,公開號(hào)為cn114020395a的中國專利提供了一種虛擬桌面網(wǎng)絡(luò)加速的方法、裝置、終端及存儲(chǔ)介質(zhì),該專利基于所述客戶端代理進(jìn)程通過控制通道向所述主機(jī)代理進(jìn)程發(fā)送所述客戶端代理進(jìn)程與所述主機(jī)代理進(jìn)程之間網(wǎng)絡(luò)的網(wǎng)絡(luò)類型的信息,若所述網(wǎng)絡(luò)類型為自定義類型,則以udp協(xié)議的數(shù)據(jù)通道作為所述客戶端代理進(jìn)程與所述主機(jī)代理進(jìn)程之間的數(shù)據(jù)轉(zhuǎn)發(fā)通道;若所述網(wǎng)絡(luò)類型為非自定義類型,則以tcp協(xié)議的數(shù)據(jù)通道作為所述客戶端代理進(jìn)程與所述主機(jī)代理進(jìn)程之間的數(shù)據(jù)轉(zhuǎn)發(fā)通道;
3、上述專利雖然能夠根據(jù)網(wǎng)絡(luò)類型選擇使用udp協(xié)議或tcp協(xié)議,但是上述專利并不在tcp?協(xié)議轉(zhuǎn)化為?udp?協(xié)議的場景下,并且數(shù)據(jù)傳輸是通過多個(gè)通信鏈路完成,那么多個(gè)通信鏈路就會(huì)存在協(xié)議轉(zhuǎn)化或者協(xié)議未轉(zhuǎn)化的情形,以及tcp?協(xié)議和udp?協(xié)議各自對應(yīng)的擁塞監(jiān)測方法是不同的,因此,現(xiàn)有技術(shù)無法將上述因素進(jìn)行統(tǒng)籌考慮,導(dǎo)致無法進(jìn)行精確的擁塞監(jiān)測。
4、鑒于此,本發(fā)明提出一種基于加速設(shè)備的通信協(xié)議擁塞監(jiān)測方法以解決上述問題。
技術(shù)實(shí)現(xiàn)思路
1、為了克服現(xiàn)有技術(shù)的上述缺陷,本發(fā)明提供一種基于加速設(shè)備的通信協(xié)議擁塞監(jiān)測方法。
2、為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
3、一種基于加速設(shè)備的通信協(xié)議擁塞監(jiān)測方法,包括:
4、s10:獲取數(shù)據(jù)傳輸過程中s個(gè)鏈路的協(xié)議特征,協(xié)議特征至少包括端口號(hào)、數(shù)據(jù)重傳次數(shù),以及丟包率的其中一種;將協(xié)議特征輸入到預(yù)構(gòu)建的類型區(qū)分模型中,獲得擁塞預(yù)測類型,擁塞預(yù)測類型包括往返延時(shí)和單程延時(shí),s為大于1的整數(shù);
5、s20:基于擁塞預(yù)測類型將s個(gè)鏈路劃分為k個(gè)第一鏈路和m個(gè)第二鏈路,s=k+m,k和m為大于0的整數(shù);
6、s30:當(dāng)擁塞預(yù)測類型為往返延時(shí)時(shí),則分別獲取第一鏈路的前n個(gè)數(shù)據(jù)包的rtt值,以及對應(yīng)的第一數(shù)據(jù)傳輸特征,基于前n個(gè)數(shù)據(jù)包的rtt值和對應(yīng)的第一數(shù)據(jù)傳輸特征預(yù)測未來時(shí)刻rtt值,獲取k個(gè)第一鏈路對應(yīng)的目標(biāo)數(shù)據(jù)傳輸量,基于k個(gè)未來時(shí)刻rtt值和k個(gè)目標(biāo)數(shù)據(jù)傳輸量計(jì)算第一鏈路擁塞系數(shù);
7、s40:當(dāng)擁塞預(yù)測類型為單程延時(shí)時(shí),則分別獲取m個(gè)第二鏈路的前p個(gè)數(shù)據(jù)包的單程延時(shí),以及對應(yīng)的第二數(shù)據(jù)傳輸特征,基于前p個(gè)數(shù)據(jù)包的單程延時(shí)和對應(yīng)的第二數(shù)據(jù)傳輸特征預(yù)測未來時(shí)刻單程延時(shí),根據(jù)m個(gè)未來時(shí)刻單程延時(shí)計(jì)算第二鏈路擁塞系數(shù);
8、s50:根據(jù)第一鏈路擁塞系數(shù)和第二鏈路擁塞系數(shù)確定擁塞級別。
9、進(jìn)一步地,類型區(qū)分模型的構(gòu)建方法包括:
10、獲取h組訓(xùn)練數(shù)據(jù),h為大于1的正整數(shù),訓(xùn)練數(shù)據(jù)包括歷史協(xié)議特征和歷史擁塞預(yù)測類型,將歷史協(xié)議特征和歷史擁塞預(yù)測類型作為樣本集,將樣本集劃分為訓(xùn)練集和測試集,構(gòu)建分類器,將訓(xùn)練集中的歷史協(xié)議特征作為輸入數(shù)據(jù),將訓(xùn)練集中的歷史擁塞預(yù)測類型作為輸出數(shù)據(jù),對分類器進(jìn)行訓(xùn)練,得到初始分類器,利用測試集對初始分類器進(jìn)行測試,輸出大于預(yù)設(shè)準(zhǔn)確度閾值的初始分類器作為類型區(qū)分模型。
11、進(jìn)一步地,基于擁塞預(yù)測類型將s個(gè)鏈路劃分為k個(gè)第一鏈路和m個(gè)第二鏈路的方法包括:
12、遍歷s個(gè)鏈路對應(yīng)的擁塞預(yù)測類型,當(dāng)鏈路對應(yīng)的擁塞預(yù)測類型為往返延時(shí)時(shí),則將該鏈路標(biāo)記為第一鏈路,當(dāng)鏈路對應(yīng)的擁塞預(yù)測類型為單程延時(shí)時(shí),則將該鏈路標(biāo)記為第二鏈路。
13、進(jìn)一步地,基于前n個(gè)數(shù)據(jù)包的rtt值和對應(yīng)的第一數(shù)據(jù)傳輸特征預(yù)測未來時(shí)刻rtt值的方法包括:
14、將前n個(gè)數(shù)據(jù)包的rtt值和對應(yīng)的第一數(shù)據(jù)傳輸特征組成實(shí)時(shí)第一數(shù)據(jù)集合,將實(shí)時(shí)第一數(shù)據(jù)集合輸入到預(yù)構(gòu)建的往返延時(shí)模型中,獲得未來時(shí)刻rtt值。
15、進(jìn)一步地,往返延時(shí)模型的構(gòu)建方法包括:
16、預(yù)設(shè)固定步長l以及滑動(dòng)窗口長度,將歷史第一數(shù)據(jù)集合使用滑動(dòng)窗口方法將其轉(zhuǎn)化為多個(gè)訓(xùn)練樣本,將訓(xùn)練樣本作為往返延時(shí)模型的輸入,預(yù)測固定步長l后的歷史rtt值作為輸出,每個(gè)訓(xùn)練樣本的后續(xù)歷史rtt值作為預(yù)測目標(biāo),以預(yù)測準(zhǔn)確率作為訓(xùn)練目標(biāo),對往返延時(shí)模型進(jìn)行訓(xùn)練;生成根據(jù)歷史第一數(shù)據(jù)集合預(yù)測未來時(shí)刻rtt值的往返延時(shí)模型。
17、進(jìn)一步地,基于k個(gè)未來時(shí)刻rtt值和k個(gè)目標(biāo)數(shù)據(jù)傳輸量計(jì)算第一鏈路擁塞系數(shù)的方法包括:
18、;
19、式中,flc為第一鏈路擁塞系數(shù),為第i個(gè)第一鏈路的未來時(shí)刻rtt值,為第i個(gè)第一鏈路對應(yīng)的前n個(gè)數(shù)據(jù)包中的rtt最小值,為第i個(gè)第一鏈路的目標(biāo)數(shù)據(jù)傳輸量,為第一鏈路的標(biāo)準(zhǔn)數(shù)據(jù)傳輸量,為自然常數(shù),和均為權(quán)重因子,。
20、進(jìn)一步地,基于前p個(gè)數(shù)據(jù)包的單程延時(shí)和對應(yīng)的第二數(shù)據(jù)傳輸特征預(yù)測未來時(shí)刻單程延時(shí)的方法包括:
21、基于前p個(gè)數(shù)據(jù)包的單程延時(shí)和對應(yīng)的第二數(shù)據(jù)傳輸特征組成實(shí)時(shí)第二數(shù)據(jù)集合,將實(shí)時(shí)第二數(shù)據(jù)集合輸入到預(yù)構(gòu)建的單程延時(shí)模型中,獲得未來時(shí)刻單程延時(shí)。
22、進(jìn)一步地,單程延時(shí)模型的構(gòu)建方法包括:
23、預(yù)設(shè)固定步長l以及滑動(dòng)窗口長度,將歷史第二數(shù)據(jù)集合使用滑動(dòng)窗口方法將其轉(zhuǎn)化為多個(gè)訓(xùn)練樣本,將訓(xùn)練樣本作為單程延時(shí)模型的輸入,預(yù)測固定步長l后的歷史單程延時(shí)作為輸出,每個(gè)訓(xùn)練樣本的后續(xù)歷史單程延時(shí)作為預(yù)測目標(biāo),以預(yù)測準(zhǔn)確率作為訓(xùn)練目標(biāo),對單程延時(shí)模型進(jìn)行訓(xùn)練,生成根據(jù)歷史第二數(shù)據(jù)集合預(yù)測未來時(shí)刻單程延時(shí)的單程延時(shí)模型。
24、進(jìn)一步地,根據(jù)m個(gè)未來時(shí)刻單程延時(shí)計(jì)算第二鏈路擁塞系數(shù)的方法包括:
25、;
26、式中,slc為第二鏈路擁塞系數(shù),為第個(gè)第二鏈路的未來時(shí)刻單程延時(shí),為第個(gè)第二鏈路對應(yīng)的前p個(gè)數(shù)據(jù)包中的單程延時(shí)最小值,為第個(gè)第二鏈路對應(yīng)的前p個(gè)數(shù)據(jù)包中的單程延時(shí)最大值。
27、進(jìn)一步地,擁塞級別包括輕度擁塞、中度擁塞和重度擁塞,根據(jù)第一鏈路擁塞系數(shù)和第二鏈路擁塞系數(shù)確定擁塞級別的方法包括:
28、當(dāng)?shù)诙溌窊砣禂?shù)小于預(yù)設(shè)第二系數(shù)閾值,以及第一鏈路擁塞系數(shù)小于預(yù)設(shè)第一系數(shù)閾值時(shí),則擁塞級別為輕度擁塞;
29、當(dāng)?shù)诙溌窊砣禂?shù)小于預(yù)設(shè)第二系數(shù)閾值,以及第一鏈路擁塞系數(shù)大于或等于預(yù)設(shè)第一系數(shù)閾值時(shí),則擁塞級別為中度擁塞;
30、當(dāng)?shù)诙溌窊砣禂?shù)大于或等于預(yù)設(shè)第二系數(shù)閾值,則擁塞級別為重度擁塞。
31、相比于現(xiàn)有技術(shù),本發(fā)明的有益效果為:
32、本發(fā)明先是獲取數(shù)據(jù)傳輸過程中s個(gè)鏈路的協(xié)議特征,將協(xié)議特征輸入到預(yù)構(gòu)建的類型區(qū)分模型中,獲得擁塞預(yù)測類型,基于擁塞預(yù)測類型將s個(gè)鏈路劃分為k個(gè)第一鏈路和m個(gè)第二鏈路,當(dāng)擁塞預(yù)測類型為往返延時(shí)時(shí),基于k個(gè)未來時(shí)刻rtt值和k個(gè)目標(biāo)數(shù)據(jù)傳輸量計(jì)算第一鏈路擁塞系數(shù),當(dāng)擁塞預(yù)測類型為單程延時(shí)時(shí),根據(jù)m個(gè)未來時(shí)刻單程延時(shí)計(jì)算第二鏈路擁塞系數(shù),最后根據(jù)第一鏈路擁塞系數(shù)和第二鏈路擁塞系數(shù)確定擁塞級別,本發(fā)明在tcp協(xié)議轉(zhuǎn)化為udp協(xié)議,并且數(shù)據(jù)傳輸是通過多個(gè)通信鏈路完成的場景下,對多個(gè)通信鏈路的擁塞情況進(jìn)行統(tǒng)籌考慮,實(shí)現(xiàn)了精確的擁塞監(jiān)測。