本發(fā)明涉及數(shù)據(jù)傳輸技術(shù)領(lǐng)域,更具體地,涉及一種數(shù)據(jù)傳輸?shù)膿砣刂品椒ā⒃O(shè)備及可編程設(shè)備。
背景技術(shù):
TCP(Transmission Control Protocol傳輸控制協(xié)議)是一種用于數(shù)據(jù)傳輸?shù)木W(wǎng)絡(luò)傳輸層通信協(xié)議,為網(wǎng)絡(luò)各個(gè)端點(diǎn)之間提供可靠的數(shù)據(jù)傳輸服務(wù),是目前使用范圍最廣的傳輸層協(xié)議。TCP采用擁塞控制機(jī)制保證數(shù)據(jù)包的可靠傳輸以及同時(shí)保證網(wǎng)絡(luò)資源使用的公平性。目前,TCP擁塞控制算法的焦點(diǎn)主要集中在擁塞窗口控制管理上,而基于擁塞控制算法進(jìn)行擁塞窗口控制管理所基于的因素不同,一般分為基于丟包反饋的擁塞控制算法以及基于時(shí)延反饋的擁塞控制算法:
1)基于丟包反饋的擁塞控制算法:根據(jù)網(wǎng)絡(luò)中的丟包事件來(lái)作為網(wǎng)絡(luò)擁塞判斷依據(jù),大體的算法思路如圖1中所示,在數(shù)據(jù)傳輸開(kāi)始時(shí),進(jìn)入慢啟動(dòng)階段,在慢啟動(dòng)階段下每收到一個(gè)數(shù)據(jù)包的ACK(接收確認(rèn))就會(huì)相應(yīng)增加擁塞窗口cwnd,直到擁塞窗口cwnd超過(guò)慢啟動(dòng)門限ssthresh時(shí),從慢啟動(dòng)階段轉(zhuǎn)入擁塞避免階段,在擁塞避免階段更新窗口的間隔會(huì)比在慢啟動(dòng)階段更長(zhǎng),避免窗口增長(zhǎng)過(guò)快,直到收到3個(gè)重復(fù)的ACK確定為發(fā)生擁塞,進(jìn)入快速重傳階段將原有擁塞窗口cwnd的大小減半得到新的cwnd,進(jìn)入快速恢復(fù)階段,通過(guò)算法重新更新?lián)砣翱赾wnd使得可以重新回到擁塞避免階段(具體實(shí)現(xiàn)中,快速重傳階段與快速恢復(fù)階段通常合并為快速重傳恢復(fù)階段),目前Linux內(nèi)核默認(rèn)使用的Cubic算法是此類算法的一個(gè)實(shí)現(xiàn),cubic算法采用三次增長(zhǎng)曲線,在判斷網(wǎng)絡(luò)發(fā)生丟包后能夠快速恢復(fù)上次丟包的窗口值,即能夠進(jìn)過(guò)快速重傳恢復(fù)階段后,快速回到擁塞避免階段,但是,在實(shí)際應(yīng)用中,網(wǎng)絡(luò)發(fā)生丟包時(shí)并不一定代表網(wǎng)絡(luò)發(fā)生擁塞,例如在移動(dòng)網(wǎng)絡(luò)環(huán)境中,如鏈路狀態(tài)不佳、誤碼率高等非擁塞因素也會(huì)造成丟包,但基于丟包反饋的擁塞控制算法無(wú)法識(shí)別這類場(chǎng)景,只要發(fā)生丟包就會(huì)認(rèn)為網(wǎng)絡(luò)出現(xiàn)擁塞,就會(huì)減小擁塞窗口以減低傳輸速率,因此,在移動(dòng)網(wǎng)絡(luò)非擁塞丟包的場(chǎng)景下會(huì)有較大的誤判率,從而造成傳輸速率的不必要降低;
2)基于時(shí)延反饋的擁塞控制算法:根據(jù)RTT(Round-Trip Time,往返時(shí)延,表示從發(fā)送端發(fā)送數(shù)據(jù)開(kāi)始,到發(fā)送端收到來(lái)自接收端的收到數(shù)據(jù)后便立即發(fā)送的確認(rèn),總共經(jīng)歷的時(shí)延)的變化情況來(lái)估算當(dāng)前網(wǎng)絡(luò)的狀況,在RTT變大時(shí)判定網(wǎng)絡(luò)出現(xiàn)擁塞,主動(dòng)減小擁塞窗口,當(dāng)RTT變小時(shí)則認(rèn)為擁塞解除,恢復(fù)增加擁塞窗口,Vegas算法是該類中一個(gè)比較經(jīng)典的算法,Vegas擁塞控制方法主要通過(guò)測(cè)量RTT,計(jì)算期望吞吐率與實(shí)際吞吐率,根據(jù)兩者差值與設(shè)定閥值之間的大小關(guān)系調(diào)節(jié)擁塞窗口,相較于基于丟包反饋的擁塞控制算法來(lái)說(shuō),此類算法在移動(dòng)網(wǎng)絡(luò)場(chǎng)景下能夠預(yù)判網(wǎng)絡(luò)狀態(tài),避免擁塞丟包的發(fā)生,并且可以有效識(shí)別非擁塞丟包的情況,從而避免不必要的窗口減小,但是,實(shí)際環(huán)境中RTT的估計(jì)會(huì)受到諸多噪音影響,造成誤差增大影響當(dāng)前網(wǎng)絡(luò)狀態(tài)的判斷,因此完全依賴RTT進(jìn)行擁塞窗口更新也會(huì)存在問(wèn)題,并且,當(dāng)網(wǎng)絡(luò)中同時(shí)存在采用基于時(shí)延反饋的擁塞控制算法的數(shù)據(jù)傳輸鏈路以及采用基于丟包反饋的擁塞控制算法的數(shù)據(jù)傳輸鏈路時(shí),例如采用cubic算法的數(shù)據(jù)傳輸鏈路以及采用vegas算法的數(shù)據(jù)傳輸鏈路時(shí),當(dāng)網(wǎng)絡(luò)數(shù)據(jù)傳輸延遲較大但還未發(fā)生丟包(實(shí)際可能已出現(xiàn)網(wǎng)絡(luò)擁塞時(shí)),由于cubic算法是根據(jù)丟包反饋進(jìn)行擁塞窗口調(diào)節(jié),其對(duì)應(yīng)的傳輸鏈路不會(huì)更新?lián)砣翱冢捎胿egas算法的數(shù)據(jù)傳輸鏈路則會(huì)使能vegas算法,增大擁塞窗口以降低自身的發(fā)送速率,從而導(dǎo)致其帶寬競(jìng)爭(zhēng)力較弱。
針對(duì)上述問(wèn)題,目前也出現(xiàn)基于丟包和時(shí)延的混合擁塞控制方法,預(yù)估在接近網(wǎng)絡(luò)擁塞時(shí)擁塞窗口能達(dá)到并保持的最大窗口值即穩(wěn)態(tài)窗口值,根據(jù)時(shí)延反饋和丟包反饋的信息進(jìn)行擁塞窗口更新,使得擁塞窗口大小盡可能快速平穩(wěn)地到達(dá)穩(wěn)態(tài)窗口值,以克服僅針對(duì)丟包反饋或者時(shí)延反饋來(lái)更新?lián)砣翱诖嬖诘娜毕荩牵趯?shí)際應(yīng)用中,特別是在移動(dòng)網(wǎng)絡(luò)中,常常會(huì)存在突發(fā)的大量用戶接入造成突發(fā)的網(wǎng)絡(luò)擁塞,很難能準(zhǔn)確估計(jì)與網(wǎng)絡(luò)傳輸狀態(tài)對(duì)應(yīng)的穩(wěn)態(tài)窗口值,使得擁塞窗口的更新不僅不能適應(yīng)網(wǎng)絡(luò)的變化,反而適得其反,降低傳輸網(wǎng)絡(luò)的帶寬利用效率。
此外,隨著移動(dòng)網(wǎng)絡(luò)的興盛,用戶可以通過(guò)例如3G網(wǎng)絡(luò)、4G網(wǎng)絡(luò)、wifi網(wǎng)絡(luò)等不同網(wǎng)絡(luò)制式的傳輸網(wǎng)絡(luò)接入以獲取移動(dòng)數(shù)據(jù)服務(wù),在不同網(wǎng)絡(luò)制式下進(jìn)行數(shù)據(jù)傳輸都會(huì)涉及到擁塞控制,但是,目前的擁塞控制算法在具體應(yīng)用時(shí)需要對(duì)不同的傳輸網(wǎng)絡(luò)進(jìn)行不同設(shè)計(jì)以及實(shí)現(xiàn),尚未存在一種可以自動(dòng)適應(yīng)不同網(wǎng)絡(luò)制式的數(shù)據(jù)傳輸模式進(jìn)行擁塞控制的方法。
因此,發(fā)明人認(rèn)為,有必要對(duì)針對(duì)上述現(xiàn)有技術(shù)中存在的問(wèn)題進(jìn)行改進(jìn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的一個(gè)目的是提供一種用于數(shù)據(jù)傳輸?shù)膿砣刂频男录夹g(shù)方案。
根據(jù)本發(fā)明的第一方面,提供了一種數(shù)據(jù)傳輸?shù)膿砣刂品椒ǎǎ?/p>
根據(jù)所獲取的目標(biāo)數(shù)據(jù)傳輸鏈路的傳輸網(wǎng)絡(luò)制式,設(shè)置擁塞窗口的初始大小,并根據(jù)第一擁塞參數(shù)更新所述擁塞窗口的大小,其中,所述第一擁塞參數(shù)至少包括所述目標(biāo)數(shù)據(jù)傳輸鏈路的理論往返時(shí)延、在最近的第一采樣間隔內(nèi)的實(shí)際往返時(shí)延以及被確認(rèn)接收的數(shù)據(jù)包個(gè)數(shù);
當(dāng)所述擁塞窗口的大小大于預(yù)定閾值時(shí),根據(jù)丟包反饋參數(shù)獲取窗口更新基準(zhǔn)值,以及根據(jù)第二擁塞參數(shù)獲取窗口更新參考值,并根據(jù)最近獲取的所述窗口更新基準(zhǔn)值以及所述窗口更新參考值更新所述擁塞窗口的大小,其中,所述丟包反饋參數(shù)至少包括判斷發(fā)生丟包時(shí)的所述擁塞窗口的大小,所述第二擁塞參數(shù)至少包括所述目標(biāo)數(shù)據(jù)傳輸鏈路的理論往返時(shí)延、在最近的第二采樣間隔內(nèi)的實(shí)際往返時(shí)延以及被確認(rèn)接收的數(shù)據(jù)包個(gè)數(shù)。
可選地,所述根據(jù)所述窗口更新基準(zhǔn)值以及所述窗口更新參考值更新所述擁塞窗口的大小的步驟為:
在每個(gè)所述第二采樣間隔內(nèi),將最近獲取的窗口更新基準(zhǔn)值以及窗口更新參考值相加,獲取當(dāng)前擁塞窗口的大小。
可選地,所述根據(jù)所述窗口更新基準(zhǔn)值以及所述窗口更新參考值更新所述擁塞窗口的大小的步驟包括:
根據(jù)預(yù)設(shè)的窗口更新間隔獲取當(dāng)前所述第二采樣間隔的更新頻率;
根據(jù)所述更新頻率以及最近獲取的窗口更新參考值,計(jì)算每個(gè)所述窗口更新間隔內(nèi)的窗口更新量;
根據(jù)最近獲取的窗口更新基準(zhǔn)值、所述更新頻率以及所述窗口更新量,更新當(dāng)前所述第二采樣間隔內(nèi)的所述擁塞窗口的大小。
可選地,所述根據(jù)第二擁塞參數(shù)獲取窗口更新參考值的步驟包括:
根據(jù)當(dāng)前所述擁塞窗口的大小、所述目標(biāo)數(shù)據(jù)傳輸鏈路的理論往返時(shí)延、在預(yù)設(shè)的第二采樣間隔內(nèi)的實(shí)際往返時(shí)延計(jì)算得到目標(biāo)差值;
根據(jù)所述目標(biāo)差值、預(yù)設(shè)的上限閾值以及下限閾值,確定所述窗口更新參考值。
可選地,所述傳輸網(wǎng)絡(luò)制式為2G網(wǎng)絡(luò)、2.5G網(wǎng)絡(luò)、2.75G網(wǎng)絡(luò)、3G網(wǎng)絡(luò)、4G網(wǎng)絡(luò)、5G網(wǎng)絡(luò)或WIFI網(wǎng)絡(luò)中的一種。
可選地,所述第二采樣間隔為當(dāng)前擁塞窗口內(nèi)第一個(gè)數(shù)據(jù)包發(fā)送起至接收到最后一個(gè)數(shù)據(jù)包的接收確認(rèn)的時(shí)長(zhǎng)。
根據(jù)本發(fā)明的第二方面,提供了一種數(shù)據(jù)傳輸?shù)膿砣刂圃O(shè)備,包括:
第一窗口更新單元,用于根據(jù)所獲取的目標(biāo)數(shù)據(jù)傳輸鏈路的傳輸網(wǎng)絡(luò)制式,設(shè)置擁塞窗口的初始大小,并根據(jù)第一擁塞參數(shù)更新所述擁塞窗口的大小,其中,所述第一擁塞參數(shù)至少包括所述目標(biāo)數(shù)據(jù)傳輸鏈路的理論往返時(shí)延、在最近的第一采樣間隔內(nèi)的實(shí)際往返時(shí)延以及被確認(rèn)接收的數(shù)據(jù)包個(gè)數(shù);
第二窗口更新單元,用于當(dāng)所述擁塞窗口的大小大于預(yù)定閾值時(shí),根據(jù)丟包反饋參數(shù)獲取窗口更新基準(zhǔn)值,以及根據(jù)第二擁塞參數(shù)獲取窗口更新參考值,并根據(jù)最近獲取的所述窗口更新基準(zhǔn)值以及所述窗口更新參考值更新所述擁塞窗口的大小,其中,所述丟包反饋參數(shù)至少包括判斷發(fā)生丟包時(shí)的所述擁塞窗口的大小,所述第二擁塞參數(shù)至少包括所述目標(biāo)數(shù)據(jù)傳輸鏈路的理論往返時(shí)延、在最近的第二采樣間隔內(nèi)的實(shí)際往返時(shí)延以及被確認(rèn)接收的數(shù)據(jù)包個(gè)數(shù)。
可選地,所述第二窗口更新單元至少包括:
用于在每個(gè)所述第二采樣間隔內(nèi),將最近獲取的窗口更新基準(zhǔn)值以及窗口更新參考值相加,獲取當(dāng)前擁塞窗口的大小的裝置。
可選地,所述第二窗口更新單元至少包括:
更新頻率獲取單元,用于根據(jù)預(yù)設(shè)的窗口更新間隔獲取當(dāng)前所述第二采樣間隔的更新頻率;
窗口更新量計(jì)算單元,用于根據(jù)所述更新頻率以及最近獲取的窗口更新參考值,計(jì)算每個(gè)所述窗口更新間隔內(nèi)的窗口更新量;
擁塞窗口更新單元,用于根據(jù)最近獲取的窗口更新基準(zhǔn)值、所述更新頻率以及所述窗口更新量,更新當(dāng)前所述第二采樣間隔內(nèi)的所述擁塞窗口的大小。
可選地,所述第二窗口更新單元至少包括:
目標(biāo)差值獲取單元,用于根據(jù)當(dāng)前所述擁塞窗口的大小、所述目標(biāo)數(shù)據(jù)傳輸鏈路的理論往返時(shí)延、在預(yù)設(shè)的第二采樣間隔內(nèi)的實(shí)際往返時(shí)延計(jì)算得到目標(biāo)差值;
窗口更新參考值確定單元,用于根據(jù)所述目標(biāo)差值、預(yù)設(shè)的上限閾值以及下限閾值,確定所述窗口更新參考值。
根據(jù)本發(fā)明的第三方面,提供一種服務(wù)器,至少包括本發(fā)明第二方面提供的任意一項(xiàng)所述的數(shù)據(jù)傳輸?shù)膿砣刂圃O(shè)備。
根據(jù)本發(fā)明的第四方面,提供一種可編程設(shè)備,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器用于存儲(chǔ)指令,所述指令用于控制所述處理器進(jìn)行操作以執(zhí)行本發(fā)明的第一方面提供的任意一項(xiàng)所述的數(shù)據(jù)傳輸?shù)膿砣刂品椒ā?/p>
本發(fā)明的發(fā)明人發(fā)現(xiàn),在現(xiàn)有技術(shù)中,尚未存在一種數(shù)據(jù)傳輸?shù)膿砣刂品椒ā⒃O(shè)備、服務(wù)器及可編程設(shè)備,可以基于不同的傳輸網(wǎng)絡(luò)制式進(jìn)行自適應(yīng)的數(shù)據(jù)傳輸?shù)膿砣翱诳刂疲⑶铱梢允沟脭?shù)據(jù)傳輸?shù)膿砣刂颇芨鼫?zhǔn)確地符合鏈路傳輸狀態(tài)的實(shí)際變化,提升傳輸網(wǎng)絡(luò)的帶寬利用效率。因此,本發(fā)明所要實(shí)現(xiàn)的技術(shù)任務(wù)或者所要解決的技術(shù)問(wèn)題是本領(lǐng)域技術(shù)人員從未想到的或者沒(méi)有預(yù)期到的,故本發(fā)明是一種新的技術(shù)方案。
通過(guò)以下參照附圖對(duì)本發(fā)明的示例性實(shí)施例的詳細(xì)描述,本發(fā)明的其它特征及其優(yōu)點(diǎn)將會(huì)變得清楚。
附圖說(shuō)明
被結(jié)合在說(shuō)明書中并構(gòu)成說(shuō)明書的一部分的附圖示出了本發(fā)明的實(shí)施例,并且連同其說(shuō)明一起用于解釋本發(fā)明的原理。
圖1是顯示可用于實(shí)現(xiàn)本發(fā)明的背景技術(shù)中示意性狀態(tài)轉(zhuǎn)移圖。
圖2是顯示可用于實(shí)現(xiàn)本發(fā)明的實(shí)施例的實(shí)施環(huán)境的框圖。
圖3示出了本發(fā)明的實(shí)施例的數(shù)據(jù)傳輸?shù)膿砣刂品椒ǖ牧鞒虉D。
圖4示出了本發(fā)明的實(shí)施例的數(shù)據(jù)傳輸?shù)膿砣刂品椒▽?shí)現(xiàn)效果圖。
圖5是本發(fā)明的實(shí)施例的數(shù)據(jù)傳輸?shù)膿砣刂圃O(shè)備的示意性框圖。
具體實(shí)施方式
現(xiàn)在將參照附圖來(lái)詳細(xì)描述本發(fā)明的各種示例性實(shí)施例。應(yīng)注意到:除非另外具體說(shuō)明,否則在這些實(shí)施例中闡述的部件和步驟的相對(duì)布置、數(shù)字表達(dá)式和數(shù)值不限制本發(fā)明的范圍。
以下對(duì)至少一個(gè)示例性實(shí)施例的描述實(shí)際上僅僅是說(shuō)明性的,決不作為對(duì)本發(fā)明及其應(yīng)用或使用的任何限制。
對(duì)于相關(guān)領(lǐng)域普通技術(shù)人員已知的技術(shù)、方法和設(shè)備可能不作詳細(xì)討論,但在適當(dāng)情況下,所述技術(shù)、方法和設(shè)備應(yīng)當(dāng)被視為說(shuō)明書的一部分。
在這里示出和討論的所有例子中,任何具體值應(yīng)被解釋為僅僅是示例性的,而不是作為限制。因此,示例性實(shí)施例的其它例子可以具有不同的值。
應(yīng)注意到:相似的標(biāo)號(hào)和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對(duì)其進(jìn)行進(jìn)一步討論。
<硬件配置>
如圖2所示,實(shí)施環(huán)境1000包括服務(wù)器1100、客戶端1200以及網(wǎng)絡(luò)1300。
網(wǎng)頁(yè)服務(wù)器1100例如可以是刀片服務(wù)器等。在一個(gè)例子中,服務(wù)器1100可以是一臺(tái)計(jì)算機(jī)。在在另一個(gè)例子中,服務(wù)器1100可以如圖1所示,包括處理器1110、存儲(chǔ)裝置1120、接口裝置1130、通信裝置1140、顯示裝置1150、輸入裝置1160。盡管服務(wù)器也可以包括揚(yáng)聲器、麥克風(fēng)等等,但是,這些部件與本發(fā)明無(wú)關(guān),故在此省略。其中,處理器1110例如可以是中央處理器CPU、微處理器MCU等。存儲(chǔ)器1120例如包括ROM(只讀存儲(chǔ)器)、RAM(隨機(jī)存取存儲(chǔ)器)、諸如硬盤的非易失性存儲(chǔ)器等。接口裝置1130例如包括USB接口、串行接口等。通信裝置1140例如能夠進(jìn)行有線或無(wú)線通信。顯示裝置1150例如是液晶顯示屏。輸入裝置1160例如可以包括觸摸屏、鍵盤等。
客戶端1200可以是便攜式電腦(1200-1)、臺(tái)式計(jì)算機(jī)(1200-2)、手機(jī)(1200-3)、平板電腦(1200-4)等。
網(wǎng)絡(luò)1300可以是無(wú)線網(wǎng)絡(luò)也可以是有線網(wǎng)絡(luò),可以是局域網(wǎng)也可以是廣域網(wǎng)。在圖2所示的配置環(huán)境1000中,客戶端1200-1、1200-2、1200-3、1200-4以及服務(wù)器1100可以通過(guò)通信網(wǎng)絡(luò)1300進(jìn)行通信。對(duì)于不同的客戶端1200,與服務(wù)器1100通信的網(wǎng)絡(luò)1300具體可以是不同網(wǎng)絡(luò)制式,例如客戶端1200-1可以通過(guò)網(wǎng)絡(luò)制式具體為wifi的網(wǎng)絡(luò)1300與服務(wù)器1100通信,而客戶端1200-3可以通過(guò)網(wǎng)絡(luò)制式具體為4G的網(wǎng)絡(luò)1300與服務(wù)器1100通信,在此不一一列舉。
圖2所示的配置環(huán)境1100僅是解釋性的,并且決不是為了要限制本發(fā)明、其應(yīng)用或用途。應(yīng)用于本發(fā)明的實(shí)施例中,服務(wù)器1100的所述存儲(chǔ)裝置1120用于存儲(chǔ)指令,所述指令用于控制所述處理器1110進(jìn)行操作以執(zhí)行本發(fā)明實(shí)施例提供的任意一項(xiàng)數(shù)據(jù)傳輸?shù)膿砣刂品椒ā1绢I(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,盡管在圖1中對(duì)服務(wù)器1100示出了多個(gè)裝置,但是,本發(fā)明可以僅涉及其中的部分裝置,例如,服務(wù)器1100只涉及處理器1110和存儲(chǔ)裝置1120。技術(shù)人員可以根據(jù)本發(fā)明所公開(kāi)方案設(shè)計(jì)指令。指令如何控制處理器進(jìn)行操作,這是本領(lǐng)域公知,故在此不再詳細(xì)描述。
<實(shí)施例>
本實(shí)施例中提供一種數(shù)據(jù)傳輸?shù)膿砣刂品椒ǎ鐖D3所示,包括:
步驟S3100,根據(jù)所獲取的目標(biāo)數(shù)據(jù)傳輸鏈路的傳輸網(wǎng)絡(luò)制式,設(shè)置擁塞窗口的初始大小,并根據(jù)第一擁塞參數(shù)更新所述擁塞窗口的大小。
所述目標(biāo)數(shù)據(jù)傳輸鏈路是由數(shù)據(jù)傳輸發(fā)起方請(qǐng)求建立的,數(shù)據(jù)傳輸鏈路建立請(qǐng)求通常需要通過(guò)期望的特定網(wǎng)絡(luò)制式的傳輸網(wǎng)絡(luò)進(jìn)行傳輸,或者在數(shù)據(jù)傳輸鏈路建立請(qǐng)求中已包含期望的傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)制式,因此,可以在目標(biāo)數(shù)據(jù)傳輸建立時(shí)獲取目標(biāo)數(shù)據(jù)傳輸鏈路的傳輸網(wǎng)絡(luò)制式。所述傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)制式,可以是2G網(wǎng)絡(luò)、2.5G網(wǎng)絡(luò)、2.75G網(wǎng)絡(luò)、3G網(wǎng)絡(luò)、4G網(wǎng)絡(luò)、5G網(wǎng)絡(luò)或WIFI網(wǎng)絡(luò)中的一種。
在本實(shí)施例中,根據(jù)所獲取的目標(biāo)數(shù)據(jù)傳輸鏈路的傳輸網(wǎng)絡(luò)制式,設(shè)置擁塞窗口的初始大小,使得可以基于不同的傳輸網(wǎng)絡(luò)制式進(jìn)行自適應(yīng)的數(shù)據(jù)傳輸?shù)膿砣翱诳刂疲唧w地,對(duì)應(yīng)不同的傳輸網(wǎng)絡(luò)制式設(shè)置的擁塞窗口的初始大小的可以根據(jù)工程經(jīng)驗(yàn)值、應(yīng)用統(tǒng)計(jì)值或?qū)嶒?yàn)仿真值確定,例如:傳輸網(wǎng)絡(luò)制式為2G網(wǎng)絡(luò)時(shí),設(shè)置擁塞窗口的初始大小為10;傳輸網(wǎng)絡(luò)制式為2.5G網(wǎng)絡(luò)時(shí),設(shè)置擁塞窗口的初始大小為10;傳輸網(wǎng)絡(luò)制式為2.75G網(wǎng)絡(luò)時(shí),設(shè)置擁塞窗口的初始大小為10;傳輸網(wǎng)絡(luò)制式為3G網(wǎng)絡(luò)時(shí),設(shè)置擁塞窗口的初始大小為13;傳輸網(wǎng)絡(luò)制式為4G網(wǎng)絡(luò)時(shí),設(shè)置擁塞窗口的初始大小為13;傳輸網(wǎng)絡(luò)制式為WIFI網(wǎng)絡(luò)時(shí),設(shè)置擁塞窗口的初始大小為15。
在本實(shí)施例中,設(shè)置擁塞窗口的初始大小之后,根據(jù)第一擁塞參數(shù)更新所述擁塞窗口的大小,其中,所述第一擁塞參數(shù)至少包括所述目標(biāo)數(shù)據(jù)傳輸鏈路的理論往返時(shí)延、在最近的第一采樣間隔內(nèi)的實(shí)際往返時(shí)延以及被確認(rèn)接收的數(shù)據(jù)包個(gè)數(shù)。所述被確認(rèn)接收的數(shù)據(jù)包,可以是收到的ACK對(duì)應(yīng)的數(shù)據(jù)包。
具體地,第一采樣間隔可以設(shè)置為每收到一個(gè)ACK與上一次收到ACK之前的時(shí)間間隔(若同時(shí)收到多個(gè)ACK則當(dāng)成收到一個(gè)ACK處理),采樣間隔設(shè)置較小,可以使得擁塞窗口的更新對(duì)往返時(shí)延的變化更靈敏。而所述往返時(shí)延為RTT(Round-Trip Time),表示從發(fā)送端發(fā)送數(shù)據(jù)開(kāi)始,到發(fā)送端收到來(lái)自接收端的接收確認(rèn)(接收端到數(shù)據(jù)包后便立即發(fā)送的接收確認(rèn))總共經(jīng)歷的時(shí)延。所述目標(biāo)數(shù)據(jù)傳輸鏈路的理論往返時(shí)延,可以是當(dāng)前所有采樣間隔內(nèi)采樣得到的最小往返時(shí)延。
假設(shè)理論往返時(shí)延為base_rtt_1,當(dāng)前第一采樣間隔內(nèi)的實(shí)際往返時(shí)延為cur_rtt_1,以及在當(dāng)前第一采樣間隔內(nèi)被確認(rèn)接收的數(shù)據(jù)包個(gè)數(shù)為ackN,當(dāng)前擁塞窗口的大小為cwnd,根據(jù)下述公式計(jì)算獲取diff_1:
diff_1=cwnd×(cur_rtt_1–base_rtt_1)÷base_rtt_1 (公式1);
再根據(jù)diff_1、ackN以及預(yù)設(shè)的α1、β1根據(jù)公式2更新?lián)砣翱赾wnd的大小:
在步驟S3100中,根據(jù)所述第一擁塞參數(shù)更新所述擁塞窗口的大小,為了避免擁塞窗口的增長(zhǎng)過(guò)快導(dǎo)致數(shù)據(jù)傳輸鏈路的速率降低過(guò)快,在步驟S3100之后進(jìn)入步驟S3200,當(dāng)所述擁塞窗口的大小大于預(yù)定閾值時(shí),根據(jù)丟包反饋參數(shù)獲取窗口更新基準(zhǔn)值,以及根據(jù)第二擁塞參數(shù)獲取窗口更新參考值,并根據(jù)最近獲取的所述窗口更新基準(zhǔn)值以及所述窗口更新參考值更新所述擁塞窗口的大小。
在本實(shí)施例中,所述預(yù)定閾值可以根據(jù)工程經(jīng)驗(yàn)值、應(yīng)用統(tǒng)計(jì)值或?qū)嶒?yàn)仿真值確定,還可以結(jié)合具體的應(yīng)用場(chǎng)景確定,例如,根據(jù)應(yīng)用的傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)制式確定,根據(jù)不同的傳輸網(wǎng)絡(luò)設(shè)置不同的預(yù)定閾值,可以使得基于不同的傳輸網(wǎng)絡(luò)制式進(jìn)行自適應(yīng)的數(shù)據(jù)傳輸?shù)膿砣翱诳刂啤?/p>
所述丟包反饋參數(shù)至少包括判斷發(fā)生丟包時(shí)的所述擁塞窗口的大小,所述判斷發(fā)生丟包的條件可以是,在發(fā)包后預(yù)定時(shí)間內(nèi)未收到對(duì)應(yīng)數(shù)據(jù)包的ACK,或者其他類似的方法,在此不一一列舉。對(duì)應(yīng)地,所述根據(jù)丟包反饋參數(shù)獲取窗口更新基準(zhǔn)值的步驟,具體可以是,假設(shè)當(dāng)判斷發(fā)生丟包時(shí)的擁塞窗口的大小為Wmax,可以根據(jù)下述公式獲取窗口更新基準(zhǔn)值為snd_cwnd:
snd_cwnd=C×(t-K)3+Wmax (公式3);
其中,t為當(dāng)前時(shí)間距上一次擁塞窗口減小的時(shí)間差,C、β2為常量。
所述第二擁塞參數(shù)至少包括所述目標(biāo)數(shù)據(jù)傳輸鏈路的理論往返時(shí)延、在最近的第二采樣間隔內(nèi)的實(shí)際往返時(shí)延以及被確認(rèn)接收的數(shù)據(jù)包個(gè)數(shù)。其中,第二采樣間隔可以設(shè)置為當(dāng)前擁塞窗口內(nèi)所有數(shù)據(jù)包發(fā)送完的往返時(shí)延,使得擁塞窗口的更新相對(duì)于往返時(shí)延的變化具有一定的滯后性,使得擁塞窗口的更新更為平穩(wěn),不會(huì)帶來(lái)傳輸速率的突變。所述目標(biāo)數(shù)據(jù)傳輸鏈路的理論往返時(shí)延,可以是當(dāng)前所有采樣間隔內(nèi)采樣得到的最小往返時(shí)延。
對(duì)應(yīng)地,所述根據(jù)第二擁塞參數(shù)獲取窗口更新參考值的步驟,具體可以包括:
根據(jù)當(dāng)前所述擁塞窗口的大小、所述目標(biāo)數(shù)據(jù)傳輸鏈路的理論往返時(shí)延、在預(yù)設(shè)的第二采樣間隔內(nèi)的實(shí)際往返時(shí)延計(jì)算得到目標(biāo)差值;
根據(jù)所述目標(biāo)差值、預(yù)設(shè)的上限閾值以及下限閾值,確定所述窗口更更新值。
更具體地,假設(shè)理論往返時(shí)延為base_rtt_2,當(dāng)前第二采樣間隔內(nèi)的實(shí)際往返時(shí)延為cur_rtt_2,以及在當(dāng)前第二采樣間隔內(nèi)被確認(rèn)接收的數(shù)據(jù)包個(gè)數(shù)為ackN2,當(dāng)前擁塞窗口的大小為cwnd,根據(jù)下述公式計(jì)算獲取目標(biāo)差值diff_2:
diff_2=cwnd×(cur_rtt_2–base_rtt_2)÷base_rtt_2 (公式4);
再根據(jù)diff_2、ackN2以及預(yù)設(shè)的下限閾值α2、上限閾值β2根據(jù)下述公式獲取窗口更新參考值smt_cwnd:
下限閾值α2、上限閾值β2可以根據(jù)工程經(jīng)驗(yàn)值、應(yīng)用統(tǒng)計(jì)值或?qū)嶒?yàn)仿真值確定,還可以結(jié)合具體的應(yīng)用場(chǎng)景確定,例如,根據(jù)應(yīng)用的傳輸網(wǎng)絡(luò)的網(wǎng)絡(luò)制式確定,根據(jù)不同的傳輸網(wǎng)絡(luò)設(shè)置不同的預(yù)定閾值,可以使得基于不同的傳輸網(wǎng)絡(luò)制式進(jìn)行自適應(yīng)的數(shù)據(jù)傳輸?shù)膿砣翱诳刂啤T谝粋€(gè)例子中,下限閾值α2為6,上限閾值β2為8。
在獲取所述窗口更新基準(zhǔn)值以及所述窗口更新參數(shù)值后,根據(jù)述窗口更新基準(zhǔn)值以及所述窗口更新參考值更新所述擁塞窗口的大小,由于所述窗口更新基準(zhǔn)值是根據(jù)丟包反饋參數(shù)獲取,而所述窗口更新參考值主要是能反映往返時(shí)延變化的第二擁塞參數(shù)獲取,因此,根據(jù)所述窗口更新基準(zhǔn)值以及所述窗口更新參考值更新所述擁塞窗口的大小可以更好地適應(yīng)傳輸網(wǎng)絡(luò)的傳輸狀態(tài)變化,例如,當(dāng)傳輸網(wǎng)絡(luò)真實(shí)發(fā)生擁塞時(shí),通常實(shí)際的往返時(shí)延會(huì)發(fā)生變化,因此獲取的窗口更新參考值也會(huì)相應(yīng)減小,使得擁塞窗口的增長(zhǎng)會(huì)放緩,而當(dāng)網(wǎng)絡(luò)發(fā)生不是由擁塞導(dǎo)致的丟包,例如鏈路狀態(tài)不佳、誤碼率高導(dǎo)致的丟包時(shí),通常實(shí)際的往返時(shí)延會(huì)并沒(méi)有太大變化,獲取的窗口更新參考值也會(huì)繼續(xù)增長(zhǎng),以彌補(bǔ)窗口更新基準(zhǔn)值減小,使得擁塞窗口還能保持良好的增長(zhǎng)率。可以有效避免擁塞窗口更新不能符合鏈路傳輸?shù)膶?shí)際變化時(shí),對(duì)傳輸網(wǎng)絡(luò)的傳輸能力影響,提升帶寬利用效率。
所述窗口更新基準(zhǔn)值以及所述窗口更新參考值更新所述擁塞窗口的大小的步驟可以為:在每個(gè)所述第二采樣間隔內(nèi),將最近獲取的窗口更新基準(zhǔn)值以及窗口更新參考值相加,獲取當(dāng)前擁塞窗口的大小。
具體地,假設(shè)當(dāng)前的第二采樣間隔內(nèi),最近獲取的窗口更新基準(zhǔn)值為snd_cwnd,最近獲取的窗口更新參考值為smt_cwnd(通常是上一個(gè)第二采樣間隔內(nèi)獲取的窗口更新基準(zhǔn)值),則當(dāng)前的擁塞窗口cwnd為:
cwnd=snd_cwnd+smt_cwnd (公式6)。
考慮到某些傳輸網(wǎng)絡(luò)的傳輸能力受限的應(yīng)用場(chǎng)景,例如小帶寬網(wǎng)絡(luò)下,擁塞窗口增長(zhǎng)較快會(huì)帶來(lái)傳輸速率突漲,對(duì)小帶寬網(wǎng)絡(luò)造成沖擊,因此,在這樣的應(yīng)用場(chǎng)景中,所述根據(jù)所述窗口更新基準(zhǔn)值以及所述窗口更新參考值更新所述擁塞窗口的大小的步驟可以包括:
根據(jù)預(yù)設(shè)的窗口更新間隔獲取當(dāng)前所述第二采樣間隔的更新頻率;
根據(jù)所述更新頻率以及最近獲取的窗口更新參考值,計(jì)算每個(gè)所述窗口更新間隔內(nèi)的窗口更新量;
根據(jù)最近獲取的窗口更新基準(zhǔn)值、所述更新頻率以及所述窗口更新量,更新當(dāng)前所述第二采樣間隔內(nèi)的所述擁塞窗口的大小。
具體地,假設(shè)當(dāng)前所述第二采樣間隔為T,預(yù)設(shè)的窗口更新間隔為init_fragment,最近獲取的窗口更新基準(zhǔn)值為snd_cwnd,最近獲取的窗口更新參考值為smt_cwnd:
首先,根據(jù)snd_cwnd獲取當(dāng)前所述第二采樣間隔的更新頻率N:
N=T÷init_fragment (公式7);
其次,根據(jù)N、smt_cwnd計(jì)算每個(gè)窗口更新間隔內(nèi)的窗口更新量delta:
delta=smt_cwnd÷N (公式8);
最后,根據(jù)snd_cwnd、N以及delta獲得第i個(gè)窗口更新間隔內(nèi)的擁塞窗口cwnd_i(i=1,…N):
cwnd_i=snd_cwnd+delta×i (公式9)。
通過(guò)將每個(gè)第二采樣間隔劃分為多個(gè)窗口更新間隔,使得每個(gè)第二采樣間隔內(nèi)的擁塞窗口的更新平滑化,得到更平穩(wěn)的擁塞窗口的更新效果,降低擁塞窗口增長(zhǎng)較快對(duì)小帶寬網(wǎng)絡(luò)的傳輸能力的影響。
上述已經(jīng)結(jié)合附圖和例子說(shuō)明了本實(shí)施例中提供的數(shù)據(jù)傳輸?shù)膿砣刂品椒ǎㄟ^(guò)根據(jù)目標(biāo)數(shù)據(jù)傳輸鏈路的傳輸網(wǎng)絡(luò)制式設(shè)置擁塞窗口的初始大小,使得可以基于不同的傳輸網(wǎng)絡(luò)制式進(jìn)行自適應(yīng)的數(shù)據(jù)傳輸?shù)膿砣翱诳刂疲灰约巴ㄟ^(guò)根據(jù)丟包反饋參數(shù)獲取窗口更新基準(zhǔn)值,以及根據(jù)第二擁塞參數(shù)獲取窗口更新參考值,并根據(jù)最近獲取的所述窗口更新基準(zhǔn)值以及所述窗口更新參考值更新?lián)砣翱诘拇笮。梢允沟脭?shù)據(jù)傳輸?shù)膿砣刂颇芨鼫?zhǔn)確地符合鏈路傳輸狀態(tài)的實(shí)際變化,提升傳輸網(wǎng)絡(luò)的帶寬利用效率;并且,可以對(duì)擁塞窗口的更新進(jìn)行平滑處理,進(jìn)而降低擁塞窗口增長(zhǎng)較快對(duì)小帶寬網(wǎng)絡(luò)的傳輸能力的影響。
此外,將本實(shí)施例中的數(shù)據(jù)傳輸?shù)膿砣刂品椒ㄅc現(xiàn)有的cubic算法在同樣的應(yīng)用場(chǎng)景下進(jìn)行比較,分別測(cè)試網(wǎng)絡(luò)時(shí)延在[0,50)、[50,100)、[100,200)、[200,500)、[500,∞)的區(qū)間內(nèi)(網(wǎng)絡(luò)時(shí)延單位:ms),每個(gè)網(wǎng)絡(luò)時(shí)延區(qū)間下傳輸數(shù)據(jù)大小在[0,20480)、[20480,40960)、[40960,61446)、[61446,102400)、[102400,∞)傳輸數(shù)據(jù)區(qū)間內(nèi)(傳輸數(shù)據(jù)單位:byte)下本實(shí)施例中的數(shù)據(jù)傳輸?shù)膿砣刂品椒ㄅc現(xiàn)有的cubic算法提升的比例,統(tǒng)計(jì)結(jié)果如圖4所示,可見(jiàn)本實(shí)施例中的數(shù)據(jù)傳輸?shù)膿砣刂品椒▽?duì)傳輸速度的提升較大,相應(yīng)地,對(duì)傳輸網(wǎng)絡(luò)的帶寬利用效率更大。
在本實(shí)施例中,還提供一種數(shù)據(jù)傳輸?shù)膿砣刂圃O(shè)備5000,如圖5所示,包括第一窗口更新單元5100、第二窗口更新單元5200,可選地,還包括更新頻率獲取單元5300、窗口更新量計(jì)算單元5400、擁塞窗口更新單元5500、目標(biāo)差值獲取單元5600以及窗口更新參考值確定單元5700。用于實(shí)施本實(shí)施例中提供的數(shù)據(jù)傳輸?shù)膿砣刂品椒ǎ诖瞬辉儋樖觥?/p>
數(shù)據(jù)傳輸?shù)膿砣刂圃O(shè)備5000,包括:
第一窗口更新單元5100,用于根據(jù)所獲取的目標(biāo)數(shù)據(jù)傳輸鏈路的傳輸網(wǎng)絡(luò)制式,設(shè)置擁塞窗口的初始大小,并根據(jù)第一擁塞參數(shù)更新所述擁塞窗口的大小,其中,所述第一擁塞參數(shù)至少包括所述目標(biāo)數(shù)據(jù)傳輸鏈路的理論往返時(shí)延、在最近的第一采樣間隔內(nèi)的實(shí)際往返時(shí)延以及被確認(rèn)接收的數(shù)據(jù)包個(gè)數(shù);
第二窗口更新單元5200,用于當(dāng)所述擁塞窗口的大小大于預(yù)定閾值時(shí),根據(jù)丟包反饋參數(shù)獲取窗口更新基準(zhǔn)值,以及根據(jù)第二擁塞參數(shù)獲取窗口更新參考值,并根據(jù)最近獲取的所述窗口更新基準(zhǔn)值以及所述窗口更新參考值更新所述擁塞窗口的大小,其中,所述丟包反饋參數(shù)至少包括判斷發(fā)生丟包時(shí)的所述擁塞窗口的大小,所述第二擁塞參數(shù)至少包括所述目標(biāo)數(shù)據(jù)傳輸鏈路的理論往返時(shí)延、在最近的第二采樣間隔內(nèi)的實(shí)際往返時(shí)延以及被確認(rèn)接收的數(shù)據(jù)包個(gè)數(shù)。
可選地,所述傳輸網(wǎng)絡(luò)制式為2G網(wǎng)絡(luò)、2.5G網(wǎng)絡(luò)、2.75G網(wǎng)絡(luò)、3G網(wǎng)絡(luò)、4G網(wǎng)絡(luò)、5G網(wǎng)絡(luò)或WIFI網(wǎng)絡(luò)中的一種。
可選地,所述第二窗口更新單元5200至少包括:
用于在每個(gè)所述第二采樣間隔內(nèi),將最近獲取的窗口更新基準(zhǔn)值以及窗口更新參考值相加,獲取當(dāng)前擁塞窗口的大小的裝置。
或者,可選地,所述第二窗口更新單元5200至少包括:
更新頻率獲取單元5300,用于根據(jù)預(yù)設(shè)的窗口更新間隔獲取當(dāng)前所述第二采樣間隔的更新頻率;
窗口更新量計(jì)算單元5400,用于根據(jù)所述更新頻率以及最近獲取的窗口更新參考值,計(jì)算每個(gè)所述窗口更新間隔內(nèi)的窗口更新量;
擁塞窗口更新單元5500,用于根據(jù)最近獲取的窗口更新基準(zhǔn)值、所述更新頻率以及所述窗口更新量,更新當(dāng)前所述第二采樣間隔內(nèi)的所述擁塞窗口的大小。
或者,可選地,所述第二窗口更新單元5200至少包括:
目標(biāo)差值獲取單元5600,用于根據(jù)當(dāng)前所述擁塞窗口的大小、所述目標(biāo)數(shù)據(jù)傳輸鏈路的理論往返時(shí)延、在預(yù)設(shè)的第二采樣間隔內(nèi)的實(shí)際往返時(shí)延計(jì)算得到目標(biāo)差值;
窗口更新參考值確定單元5700,用于根據(jù)所述目標(biāo)差值、預(yù)設(shè)的上限閾值以及下限閾值,確定所述窗口更新參考值。
在一個(gè)例子中,所述第二采樣間隔為當(dāng)前擁塞窗口內(nèi)第一個(gè)數(shù)據(jù)包發(fā)送起至接收到最后一個(gè)數(shù)據(jù)包的接收確認(rèn)的時(shí)長(zhǎng)。
在本實(shí)施例中,還提供一種服務(wù)器,至少包括本實(shí)施例中提供的任意一項(xiàng)所述的數(shù)據(jù)傳輸?shù)膿砣刂圃O(shè)備5000。
具體地,所述服務(wù)器可以通過(guò)修改現(xiàn)有的Ngnix服務(wù)器獲取(Ngnix服務(wù)器是一款輕量級(jí)的Web服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,并在一個(gè)BSD-like協(xié)議下發(fā)行,具有穩(wěn)定、豐富的功能集、示例配置文件和低系統(tǒng)資源消耗的優(yōu)點(diǎn)),例如,可以通過(guò)livepatch的方式修改了do_tcp_setsockopt函數(shù),以實(shí)現(xiàn)擁塞控制設(shè)備5000中包含第一窗口更新單元5100的根據(jù)所獲取的目標(biāo)數(shù)據(jù)傳輸鏈路的傳輸網(wǎng)絡(luò)制式設(shè)置擁塞窗口的初始大小的功能,對(duì)應(yīng)地,也可以修改Ngnix服務(wù)器其他模塊以實(shí)施本實(shí)施例中擁塞控制設(shè)備5000的其他功能,在此不一一贅述。
在本實(shí)施例中,還提供一種可編程設(shè)備,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器用于存儲(chǔ)指令,所述指令用于控制所述處理器進(jìn)行操作以執(zhí)行本實(shí)施例中提供的任意一項(xiàng)所述的數(shù)據(jù)傳輸?shù)膿砣刂品椒ā>唧w地,可以可編程設(shè)備的實(shí)體形式可以如圖2所示的服務(wù)器1100。
以上已經(jīng)結(jié)合附圖描述了本發(fā)明的實(shí)施例,根據(jù)本實(shí)施例,提供一種數(shù)據(jù)傳輸?shù)膿砣刂品椒ā⒃O(shè)備、服務(wù)器及可編程設(shè)備,根據(jù)目標(biāo)數(shù)據(jù)傳輸鏈路的傳輸網(wǎng)絡(luò)制式設(shè)置擁塞窗口的初始大小,使得可以基于不同的傳輸網(wǎng)絡(luò)制式進(jìn)行自適應(yīng)的數(shù)據(jù)傳輸?shù)膿砣翱诳刂疲灰约巴ㄟ^(guò)根據(jù)丟包反饋參數(shù)獲取窗口更新基準(zhǔn)值,以及根據(jù)第二擁塞參數(shù)獲取窗口更新參考值,并根據(jù)最近獲取的所述窗口更新基準(zhǔn)值以及所述窗口更新參考值更新?lián)砣翱诘拇笮。梢允沟脭?shù)據(jù)傳輸?shù)膿砣刂颇芨鼫?zhǔn)確地符合鏈路傳輸狀態(tài)的實(shí)際變化,提升傳輸網(wǎng)絡(luò)的帶寬利用效率;并且,可以對(duì)擁塞窗口的更新進(jìn)行平滑處理,進(jìn)而降低擁塞窗口增長(zhǎng)較快對(duì)小帶寬網(wǎng)絡(luò)的傳輸能力的影響。
本領(lǐng)域技術(shù)人員應(yīng)當(dāng)明白,可以通過(guò)各種方式來(lái)實(shí)現(xiàn)擁塞控制設(shè)備5000。例如,可以通過(guò)指令配置處理器來(lái)實(shí)現(xiàn)擁塞控制設(shè)備5000。例如,可以將指令存儲(chǔ)在ROM中,并且當(dāng)啟動(dòng)設(shè)備時(shí),將指令從ROM讀取到可編程器件中來(lái)實(shí)現(xiàn)擁塞控制設(shè)備5000。例如,可以將擁塞控制設(shè)備5000固化到專用器件(例如ASIC)中。可以將擁塞控制設(shè)備5000分成相互獨(dú)立的單元,或者可以將它們合并在一起實(shí)現(xiàn)。擁塞控制設(shè)備5000可以通過(guò)上述各種實(shí)現(xiàn)方式中的一種來(lái)實(shí)現(xiàn),或者可以通過(guò)上述各種實(shí)現(xiàn)方式中的兩種或更多種方式的組合來(lái)實(shí)現(xiàn)。
本領(lǐng)域技術(shù)人員公知的是,隨著諸如大規(guī)模集成電路技術(shù)的電子信息技術(shù)的發(fā)展和軟件硬件化的趨勢(shì),要明確劃分計(jì)算機(jī)系統(tǒng)軟、硬件界限已經(jīng)顯得比較困難了。因?yàn)椋魏尾僮骺梢攒浖?lái)實(shí)現(xiàn),也可以由硬件來(lái)實(shí)現(xiàn)。任何指令的執(zhí)行可以由硬件完成,同樣也可以由軟件來(lái)完成。對(duì)于某一機(jī)器功能采用硬件實(shí)現(xiàn)方案還是軟件實(shí)現(xiàn)方案,取決于價(jià)格、速度、可靠性、存儲(chǔ)容量、變更周期等非技術(shù)性因素。因此,對(duì)于電子信息技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),更為直接和清楚地描述一個(gè)技術(shù)方案的方式是描述該方案中的各個(gè)操作。在知道所要執(zhí)行的操作的情況下,本領(lǐng)域技術(shù)人員可以基于對(duì)所述非技術(shù)性因素的考慮直接設(shè)計(jì)出期望的產(chǎn)品。
本發(fā)明可以是系統(tǒng)、方法和/或計(jì)算機(jī)程序產(chǎn)品。計(jì)算機(jī)程序產(chǎn)品可以包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上載有用于使處理器實(shí)現(xiàn)本發(fā)明的各個(gè)方面的計(jì)算機(jī)可讀程序指令。
計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是可以保持和存儲(chǔ)由指令執(zhí)行設(shè)備使用的指令的有形設(shè)備。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是――但不限于――電存儲(chǔ)設(shè)備、磁存儲(chǔ)設(shè)備、光存儲(chǔ)設(shè)備、電磁存儲(chǔ)設(shè)備、半導(dǎo)體存儲(chǔ)設(shè)備或者上述的任意合適的組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子(非窮舉的列表)包括:便攜式計(jì)算機(jī)盤、硬盤、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦式可編程只讀存儲(chǔ)器(EPROM或閃存)、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、便攜式壓縮盤只讀存儲(chǔ)器(CD-ROM)、數(shù)字多功能盤(DVD)、記憶棒、軟盤、機(jī)械編碼設(shè)備、例如其上存儲(chǔ)有指令的打孔卡或凹槽內(nèi)凸起結(jié)構(gòu)、以及上述的任意合適的組合。這里所使用的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)不被解釋為瞬時(shí)信號(hào)本身,諸如無(wú)線電波或者其他自由傳播的電磁波、通過(guò)波導(dǎo)或其他傳輸媒介傳播的電磁波(例如,通過(guò)光纖電纜的光脈沖)、或者通過(guò)電線傳輸?shù)碾娦盘?hào)。
這里所描述的計(jì)算機(jī)可讀程序指令可以從計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)下載到各個(gè)計(jì)算/處理設(shè)備,或者通過(guò)網(wǎng)絡(luò)、例如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)和/或無(wú)線網(wǎng)下載到外部計(jì)算機(jī)或外部存儲(chǔ)設(shè)備。網(wǎng)絡(luò)可以包括銅傳輸電纜、光纖傳輸、無(wú)線傳輸、路由器、防火墻、交換機(jī)、網(wǎng)關(guān)計(jì)算機(jī)和/或邊緣服務(wù)器。每個(gè)計(jì)算/處理設(shè)備中的網(wǎng)絡(luò)適配卡或者網(wǎng)絡(luò)接口從網(wǎng)絡(luò)接收計(jì)算機(jī)可讀程序指令,并轉(zhuǎn)發(fā)該計(jì)算機(jī)可讀程序指令,以供存儲(chǔ)在各個(gè)計(jì)算/處理設(shè)備中的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中。
用于執(zhí)行本發(fā)明操作的計(jì)算機(jī)程序指令可以是匯編指令、指令集架構(gòu)(ISA)指令、機(jī)器指令、機(jī)器相關(guān)指令、微代碼、固件指令、狀態(tài)設(shè)置數(shù)據(jù)、或者以一種或多種編程語(yǔ)言的任意組合編寫的源代碼或目標(biāo)代碼,所述編程語(yǔ)言包括面向?qū)ο蟮木幊陶Z(yǔ)言—諸如Smalltalk、C++等,以及常規(guī)的過(guò)程式編程語(yǔ)言—諸如“C”語(yǔ)言或類似的編程語(yǔ)言。計(jì)算機(jī)可讀程序指令可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過(guò)任意種類的網(wǎng)絡(luò)—包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來(lái)通過(guò)因特網(wǎng)連接)。在一些實(shí)施例中,通過(guò)利用計(jì)算機(jī)可讀程序指令的狀態(tài)信息來(lái)個(gè)性化定制電子電路,例如可編程邏輯電路、現(xiàn)場(chǎng)可編程門陣列(FPGA)或可編程邏輯陣列(PLA),該電子電路可以執(zhí)行計(jì)算機(jī)可讀程序指令,從而實(shí)現(xiàn)本發(fā)明的各個(gè)方面。
這里參照根據(jù)本發(fā)明實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖描述了本發(fā)明的各個(gè)方面。應(yīng)當(dāng)理解,流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合,都可以由計(jì)算機(jī)可讀程序指令實(shí)現(xiàn)。
這些計(jì)算機(jī)可讀程序指令可以提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得這些指令在通過(guò)計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時(shí),產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的裝置。也可以把這些計(jì)算機(jī)可讀程序指令存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,這些指令使得計(jì)算機(jī)、可編程數(shù)據(jù)處理裝置和/或其他設(shè)備以特定方式工作,從而,存儲(chǔ)有指令的計(jì)算機(jī)可讀介質(zhì)則包括一個(gè)制造品,其包括實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的各個(gè)方面的指令。
也可以把計(jì)算機(jī)可讀程序指令加載到計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上,使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過(guò)程,從而使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上執(zhí)行的指令實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作。
附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或指令的一部分,所述模塊、程序段或指令的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動(dòng)作的專用的基于硬件的系統(tǒng)來(lái)實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)。對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō)公知的是,通過(guò)硬件方式實(shí)現(xiàn)、通過(guò)軟件方式實(shí)現(xiàn)以及通過(guò)軟件和硬件結(jié)合的方式實(shí)現(xiàn)都是等價(jià)的。
以上已經(jīng)描述了本發(fā)明的各實(shí)施例,上述說(shuō)明是示例性的,并非窮盡性的,并且也不限于所披露的各實(shí)施例。在不偏離所說(shuō)明的各實(shí)施例的范圍和精神的情況下,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō)許多修改和變更都是顯而易見(jiàn)的。本文中所用術(shù)語(yǔ)的選擇,旨在最好地解釋各實(shí)施例的原理、實(shí)際應(yīng)用或?qū)κ袌?chǎng)中的技術(shù)改進(jìn),或者使本技術(shù)領(lǐng)域的其它普通技術(shù)人員能理解本文披露的各實(shí)施例。本發(fā)明的范圍由所附權(quán)利要求來(lái)限定。