Tcp協(xié)議的數(shù)據(jù)包發(fā)送方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明實(shí)施例提供一種TCP協(xié)議的數(shù)據(jù)包發(fā)送方法和系統(tǒng),方法包括:首次發(fā)送時(shí)發(fā)送多個(gè)數(shù)據(jù)包;當(dāng)在第i次發(fā)送Si個(gè)數(shù)據(jù)包失敗時(shí),在第i+1次基于衰減參數(shù)發(fā)送Si+1個(gè)數(shù)據(jù)包,其中,所述衰減參數(shù)小于2;和/或當(dāng)基于第一增長參數(shù)以指數(shù)增長的方式在第j次成功發(fā)送數(shù)據(jù)包的數(shù)量Sj達(dá)到或超過閾值時(shí),在第j+1次基于第二增長參數(shù)發(fā)送Sj+1個(gè)數(shù)據(jù)包,其中,所述第二增長參數(shù)小于第一增長參數(shù)。本發(fā)明通過在啟動(dòng)時(shí)發(fā)送多個(gè)數(shù)據(jù)包,減慢衰減,控制增長的方式,克服了現(xiàn)有技術(shù)中啟動(dòng)慢,衰減快的缺陷,實(shí)現(xiàn)了數(shù)據(jù)包的加速傳輸,用戶體驗(yàn)較好。
【專利說明】
TCP協(xié)議的數(shù)據(jù)包發(fā)送方法和系統(tǒng)
技術(shù)領(lǐng)域
[0001] 本發(fā)明實(shí)施例設(shè)及網(wǎng)絡(luò)協(xié)議技術(shù)領(lǐng)域,尤其設(shè)及一種TCP協(xié)議的數(shù)據(jù)包發(fā)送方法 和系統(tǒng)。
【背景技術(shù)】
[0002] 隨著互聯(lián)網(wǎng)技術(shù)發(fā)展越來越迅猛,越來越多人通過網(wǎng)絡(luò)進(jìn)行辦公、娛樂等,對數(shù)據(jù) 傳輸速率的要求也越來越高?,F(xiàn)有技術(shù)中,數(shù)據(jù)包傳輸時(shí)采用擁塞控制的方式,即慢啟動(dòng)、 加性增、減性乘W及對超時(shí)事件做出反應(yīng)的原則。其中慢啟動(dòng)即啟動(dòng)時(shí)發(fā)送很少的數(shù)據(jù)包, 之后指數(shù)增長;加性增指的是增長到一定的闊值之后用加法的方式增長;減性乘即發(fā)送失 敗之后指數(shù)衰減,一般指成倍的衰減具體可參照圖1及其敘述。運(yùn)種方式傳輸數(shù)據(jù)包增加得 太慢而又減少得太快,用戶體驗(yàn)不好。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明實(shí)施例提供一種TCP協(xié)議的數(shù)據(jù)包發(fā)送方法和系統(tǒng),用W解決現(xiàn)有技術(shù)中 數(shù)據(jù)傳輸太慢用戶體驗(yàn)不好的缺陷,實(shí)現(xiàn)數(shù)據(jù)包的加速傳輸。
[0004] 本發(fā)明實(shí)施例提供一種TCP協(xié)議的數(shù)據(jù)包發(fā)送方法,包括:
[0005] 首次發(fā)送時(shí)發(fā)送多個(gè)數(shù)據(jù)包;
[0006] 當(dāng)在第i次發(fā)送Si個(gè)數(shù)據(jù)包失敗時(shí),在第i+1次基于衰減參數(shù)發(fā)送Sw個(gè)數(shù)據(jù)包,其 中,所述衰減參數(shù)小于2;
[0007] 當(dāng)基于第一增長參數(shù)W指數(shù)增長的方式在第j次成功發(fā)送數(shù)據(jù)包的數(shù)量&達(dá)到或 超過闊值時(shí),在第j+1次基于第二增長參數(shù)發(fā)送Sw個(gè)數(shù)據(jù)包,其中,所述第二增長參數(shù)小于 第一增長參數(shù)。
[000引本發(fā)明實(shí)施例提供一種TCP協(xié)議的數(shù)據(jù)包發(fā)送系統(tǒng),包括:
[0009] 快啟動(dòng)單元,配置用于首次發(fā)送時(shí)發(fā)送多個(gè)數(shù)據(jù)包;
[0010] 慢衰減單元,配置用于當(dāng)在第i次發(fā)送Si個(gè)數(shù)據(jù)包失敗時(shí),在第i + 1次基于衰減參 數(shù)發(fā)送SW個(gè)數(shù)據(jù)包,其中,所述衰減參數(shù)小于2;
[0011] 增長控制單元,配置用于當(dāng)基于第一增長參數(shù)W指數(shù)增長的方式在第j次成功發(fā) 送數(shù)據(jù)包的數(shù)量&達(dá)到或超過闊值時(shí),在第j+1次基于第二增長參數(shù)發(fā)送Sw個(gè)數(shù)據(jù)包,其 中,所述第二增長參數(shù)小于第一增長參數(shù)。
[0012] 本發(fā)明實(shí)施例提供的TCP協(xié)議的數(shù)據(jù)包發(fā)送方法和系統(tǒng),通過在啟動(dòng)時(shí)發(fā)送多個(gè) 數(shù)據(jù)包,減慢衰減,控制增長的方式,克服了現(xiàn)有技術(shù)中啟動(dòng)慢,衰減快,增長太慢的缺陷, 實(shí)現(xiàn)了數(shù)據(jù)包的加速傳輸,用戶體驗(yàn)較好。
【附圖說明】
[0013] 為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā) 明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可W根 據(jù)運(yùn)些附圖獲得其他的附圖。
[0014] 圖1為現(xiàn)有技術(shù)中TCP協(xié)議的數(shù)據(jù)包發(fā)送方法流程圖;
[0015] 圖2a為本發(fā)明的TCP協(xié)議的數(shù)據(jù)包發(fā)送方法的一個(gè)實(shí)施例流程圖;
[0016] 圖化為本發(fā)明的TCP協(xié)議的數(shù)據(jù)包發(fā)送方法的另一個(gè)實(shí)施例流程圖;
[0017] 圖3為本發(fā)明的TCP協(xié)議的數(shù)據(jù)包發(fā)送方法的又一個(gè)實(shí)施例流程圖;
[0018] 圖4為本發(fā)明TCP協(xié)議的數(shù)據(jù)包發(fā)送系統(tǒng)的一個(gè)實(shí)施例結(jié)構(gòu)示意圖;
[0019] 圖5為本發(fā)明TCP協(xié)議的數(shù)據(jù)包發(fā)送系統(tǒng)的又一個(gè)實(shí)施例結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0020] 為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例 中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是 本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員 在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0021] 可W理解的是,此處所描述的具體實(shí)施例僅僅用于解釋相關(guān)發(fā)明,而非對該發(fā)明 的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與有關(guān)發(fā)明相關(guān)的部分。需 要說明的是,在不沖突的情況下,本申請中的實(shí)施例及實(shí)施例中的特征可W相互組合。
[0022] W下先介紹現(xiàn)有技術(shù)及現(xiàn)有技術(shù)中存在的問題。
[0023] 請參考圖1,其示出了現(xiàn)有技術(shù)中TCP協(xié)議的數(shù)據(jù)包發(fā)送方法流程圖100?,F(xiàn)有技術(shù) 中TCP協(xié)議的數(shù)據(jù)包發(fā)送方法包括W下步驟:
[0024] 如圖1所示,在步驟101中,首次發(fā)送時(shí)發(fā)送少量數(shù)據(jù)包。
[0025] 現(xiàn)有技術(shù)中在數(shù)據(jù)包傳輸時(shí)通常采用的是慢啟動(dòng),慢啟動(dòng)指的是服務(wù)器傳輸數(shù)據(jù) 包時(shí)假如當(dāng)前傳輸數(shù)據(jù)包數(shù)為In,并且In為一個(gè)相對較小的數(shù)。
[0026] 在步驟102中,指數(shù)增長至某一闊值后,線性增長。
[0027] 在In的基礎(chǔ)上進(jìn)行指數(shù)增長,通常為成倍地增長,例如In為2,當(dāng)In小于服務(wù)器默 認(rèn)闊值(操作系統(tǒng)默認(rèn)參數(shù))時(shí),下一次傳輸?shù)臄?shù)據(jù)包即為當(dāng)前傳輸數(shù)據(jù)包的2倍,例如為2* 2 = 4個(gè)數(shù)據(jù)包,直至達(dá)到或者超過默認(rèn)闊值。當(dāng)達(dá)到或者超過默認(rèn)闊值后,則按線性增長, 例如闊值為32,增長到32之后依然可W成功發(fā)送,則下次在32的基礎(chǔ)上加上一個(gè)常數(shù),例如 為1。
[0028] 在步驟103中,發(fā)送數(shù)據(jù)包失敗時(shí)指數(shù)回退,成功時(shí)線性增長。
[0029] 其中,失敗可W是在達(dá)到闊值之前,也可W是達(dá)到闊值之后。指數(shù)回退一般是成倍 的減少。例如當(dāng)前發(fā)送數(shù)據(jù)包的數(shù)量為16,發(fā)送失敗,則重新發(fā)送時(shí),數(shù)量減為8,若發(fā)送成 功,下一次則發(fā)送例如8+1個(gè)。具體示例可參見表1。需要注意的是,表格僅為示例,僅僅為了 方便本領(lǐng)域技術(shù)人員能更好地理解本申請,并不代表實(shí)際的方案和應(yīng)用。
[0030] 表1現(xiàn)有技術(shù)發(fā)送數(shù)據(jù)包示例表 「00311
[0032] 進(jìn)一步參見表1,其示出了現(xiàn)有技術(shù)發(fā)送數(shù)據(jù)包示例表。從表1中可W看出,現(xiàn)有技 術(shù)中啟動(dòng)時(shí)由于發(fā)送的數(shù)據(jù)包數(shù)量較少,在第5次時(shí)才達(dá)到上限,回退時(shí)又太快,到第14次 才又達(dá)到上限?,F(xiàn)有技術(shù)中還存在闊值,假設(shè)此闊值為8,則第4次之后就開始線性增長,運(yùn) 樣的話又需要經(jīng)過多次才能再次到達(dá)上限(表中未示出)。而運(yùn)中間有很多次由于發(fā)送的數(shù) 據(jù)包遠(yuǎn)沒有達(dá)到上限,所W很浪費(fèi)時(shí)間,影響用戶體驗(yàn)。
[0033] 從上述的現(xiàn)有技術(shù)可W看出,現(xiàn)有技術(shù)中存在啟動(dòng)較慢,回退太快,增長較慢等問 題。例如當(dāng)指數(shù)增長至發(fā)送16個(gè)包失敗時(shí),下一次直接降為8個(gè)包,但是在16個(gè)之前,8個(gè)已 經(jīng)成功過,所W再降為8個(gè)時(shí),一般情況下都能成功,之后增加又加得比較慢,運(yùn)樣的話發(fā)數(shù) 據(jù)包的數(shù)量很難上去,用戶看視頻或者進(jìn)行其他網(wǎng)絡(luò)活動(dòng)時(shí),通常會(huì)感覺到網(wǎng)絡(luò)較慢,用戶 體驗(yàn)不好。
[0034] 為了解決上述現(xiàn)有技術(shù)中存在的問題,提出了本申請的TCP數(shù)據(jù)包發(fā)送的技術(shù)方 案,下面將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本申請。需要注意的是本申請的方案對執(zhí)行 的對象或者是搭載的系統(tǒng)并無限制,既可W適用于服務(wù)器端之間,也可W適用于客戶端之 間,當(dāng)然還可W用于服務(wù)器端到客戶端或者是客戶端到服務(wù)器端;對于所搭載的系統(tǒng),既可 ^是1^;[]111義、1]]1;[義、胖;[]1(1〇¥3、、]\1日。、0〇3等系統(tǒng),也可^是4]1化〇1(1、105、胖;[噸110]16等,本申請?jiān)?此方面沒有限制。
[0035] 請參考圖2曰,其示出了本發(fā)明的TCP協(xié)議的數(shù)據(jù)包發(fā)送方法的一個(gè)實(shí)施例流程圖 210。包括W下步驟:
[0036] 如圖2a所示,在步驟211中,首次發(fā)送時(shí)發(fā)送多個(gè)數(shù)據(jù)包。
[0037] 在本實(shí)施例中,當(dāng)開始發(fā)送數(shù)據(jù)包時(shí),首次就發(fā)送多個(gè)數(shù)據(jù)包。其中,多個(gè)可W是 根據(jù)W往發(fā)送數(shù)據(jù)包成功的最大紀(jì)錄確定的,也可W是根據(jù)操作系統(tǒng)的闊值或者是服務(wù)器 的闊值W及網(wǎng)絡(luò)狀態(tài)等而確定,本申請?jiān)诖朔矫鏇]有限制。例如,W往發(fā)送數(shù)據(jù)包成功的最 大紀(jì)錄為64,則首次發(fā)送時(shí)就可W發(fā)64個(gè)數(shù)據(jù)包。又例如,并無 W往的記錄,則可W根據(jù)操 作系統(tǒng)的闊值確定,例如操作系統(tǒng)的闊值為32個(gè),則首次發(fā)送時(shí)即可W發(fā)32個(gè)數(shù)據(jù)包。
[0038] 繼而,在步驟212中,當(dāng)在第i次發(fā)送Si個(gè)數(shù)據(jù)包失敗時(shí),在第i + 1次基于衰減參數(shù) 發(fā)送SW個(gè)數(shù)據(jù)包,其中,衰減參數(shù)小于2。
[0039] 在本實(shí)施例中,i可W為大于0的任何自然數(shù),衰減參數(shù)可W為線性衰減參數(shù)、指數(shù) 衰減參數(shù)或者二者的結(jié)合。例如,i = 1,Si = 50,即首次發(fā)送數(shù)據(jù)包失敗,則第2次發(fā)送數(shù)據(jù) 包時(shí),基于一個(gè)衰減參數(shù)如指數(shù)衰減參數(shù)1/0.8,Si+i = 0.SSi,則Si+i = 40,當(dāng)然,也可W是基 于線性衰減參數(shù),如Si+i = Si-6,貝化i+1 = 34,該衰減參數(shù)還可W是二者的結(jié)合,本申請?jiān)诜?面不作限制。
[0040] 在本實(shí)施例中,將衰減參數(shù)設(shè)計(jì)成使得Si/Sw小于2,實(shí)質(zhì)上是為了避免衰減得太 快,相對于現(xiàn)有技術(shù)中將衰減參數(shù)設(shè)置成0.5而言,本申請的方案衰減速率更慢。在某些實(shí) 現(xiàn)方式中,還可W將該衰減參數(shù)設(shè)置得更小,例如小于1,W使發(fā)送數(shù)據(jù)包的數(shù)量不至于降 得太快。
[0041] 進(jìn)一步參考圖化,其示出了本發(fā)明的TCP協(xié)議的數(shù)據(jù)包發(fā)送方法的另一個(gè)實(shí)施例 流程圖220。包括W下步驟:
[0042] 如圖化所示,在步驟221中,首次發(fā)送時(shí)發(fā)送多個(gè)數(shù)據(jù)包。
[0043] 在本實(shí)施例中,剛開始發(fā)包時(shí)就發(fā)送多個(gè)數(shù)據(jù)包。例如,在播放視頻時(shí),首次發(fā)送 多個(gè)數(shù)據(jù)包,若發(fā)送成功,則可W讓用戶很快就能很流楊的看視頻,可W極大地提升用戶體 驗(yàn)。具體說明請對參考步驟211的說明。
[0044] 在步驟222中,當(dāng)基于第一增長參數(shù)W指數(shù)增長的方式在第j次成功發(fā)送數(shù)據(jù)包的 數(shù)量&達(dá)到或超過闊值時(shí),在第j+1次基于第二增長參數(shù)發(fā)送Sj + 1個(gè)數(shù)據(jù)包,其中,所述第 二增長參數(shù)小于第一增長參數(shù)。
[0045] 在本實(shí)施例中,第一增長參數(shù)可W為指數(shù)增長參數(shù)例如可W為2,闊值可W為操作 系統(tǒng)闊值、服務(wù)器闊值或者是根據(jù)網(wǎng)絡(luò)狀況如帶寬等確定的闊值。其主要強(qiáng)調(diào)的是超過闊 值之后,將不再W第一增長參數(shù)增長,而是W小于第一增長參數(shù)的第二增長參數(shù)增長,運(yùn) 樣,既可W保證發(fā)送數(shù)據(jù)包的數(shù)量不會(huì)像現(xiàn)有技術(shù)中增長的太慢,又能降低一直W第一增 長參數(shù)增長所帶來的發(fā)包失敗對網(wǎng)絡(luò)造成的沖擊,例如第二增長參數(shù)可W為1.2。
[0046] 在本實(shí)施例中,由于第二增長參數(shù)設(shè)計(jì)成小于第一增長參數(shù),可W在一定程度上 減緩對網(wǎng)絡(luò)造成的負(fù)擔(dān),又能比現(xiàn)有技術(shù)更快地接近上限,從而使用戶能夠有很好的上網(wǎng) 體驗(yàn)。
[0047] 在另一些實(shí)施例中,還可W將圖2a和圖化的方案進(jìn)行合并,W形成新的技術(shù)方案, 該合并無需付出創(chuàng)造性勞動(dòng),在此不再詳述,僅僅舉例說明W使本領(lǐng)域的技術(shù)人員能更好 的理解本方案。
[0048] 例如首次發(fā)送數(shù)據(jù)包時(shí)發(fā)送10個(gè)包,成功之后發(fā)送20個(gè)包,之后發(fā)送40個(gè)包時(shí)失 敗,則下次可W將其線性衰減為30個(gè),若成功,則之后可W將其線性或者指數(shù)增加至36個(gè) 包,運(yùn)樣的話由于波動(dòng)不是很大,網(wǎng)絡(luò)也不會(huì)受到太大的沖擊,同時(shí)用戶也能有更好的體 驗(yàn)。當(dāng)然也可W在首次發(fā)送10個(gè)包之后,不按指數(shù)增長,而是按線性增長,例如增長為20,之 后30,之后40,其中線性增長的幅度可W不超過現(xiàn)有技術(shù)中指數(shù)增長的幅度。
[0049] 進(jìn)一步參考圖3,其示出了本發(fā)明的TCP協(xié)議的數(shù)據(jù)包發(fā)送方法的又一個(gè)實(shí)施例流 程圖300。包括W下步驟:
[0050] 如圖3所示,在步驟301中,首次發(fā)送時(shí)發(fā)送多個(gè)數(shù)據(jù)包。
[0051] 在本實(shí)施例中,首次發(fā)送的多個(gè)數(shù)據(jù)包可W是歷史記錄中最多的一次發(fā)包記錄的 數(shù)量,若不存在該記錄,則還可W是網(wǎng)絡(luò)帶寬能承受的發(fā)包數(shù)量或者是所使用的硬件或操 作系統(tǒng)的相關(guān)參數(shù)或闊值,本申請?jiān)诖朔矫鏇]有限制。其他說明可W參照步驟211和步驟 221的相關(guān)敘述,在此不再寶述。
[0052] 繼而,在步驟302中,當(dāng)在第k次發(fā)送Sk個(gè)數(shù)據(jù)包失敗,在第k+1次基于所述衰減參 數(shù)發(fā)送Sw個(gè)數(shù)據(jù)包成功時(shí),第k+2次基于第S增長參數(shù)發(fā)送數(shù)據(jù)包時(shí),所述第S增長參數(shù) 設(shè)計(jì)成使得Sk+2<Sk,其中,所述第=增長參數(shù)包括所述第一增長參數(shù)或第二增長參數(shù)。。
[0053] 在本實(shí)施例中,第k次失敗,第k+1次基于衰減參數(shù)后成功,在第k+2次發(fā)送時(shí)基于 第S增長參數(shù)發(fā)送數(shù)據(jù)包時(shí),第S增長參數(shù)設(shè)計(jì)成使得Sk+2<Sk,該衰減參數(shù)可W是步驟212 中的衰減參數(shù)。該步驟的作用主要是為了保障衰減之后能大于之前成功的記錄,防止做無 意義的回退。例如第k次為100,失敗,第k+1次為100/1.5,成功,則第k+2次時(shí),增長參數(shù)需小 于1.5,如增長參數(shù)為1.2,則Sk+2為(100/1.5)*1.2,運(yùn)樣,就可W保證Sk+2<Sk,從而回退的時(shí) 候不會(huì)再失敗。
[0054] 在另一個(gè)實(shí)施例中,還可W是第a次成功,在第a+1次基于第四增長參數(shù)發(fā)送Sa+i個(gè) 數(shù)據(jù)包失敗時(shí),第a+2次基于第二衰減參數(shù)發(fā)送數(shù)據(jù)包時(shí),所述第二衰減參數(shù)設(shè)計(jì)成使得 Sa+2〉Sa。如Sa= 100,Sa+1 = 100*1.2,第a巧次可 W是Sa+2 = (100*1.2)/1.1,由于Sa已經(jīng)成功, Sa+2〉Sa,Sa+2才可W作為一個(gè)值得嘗試的點(diǎn);否則,Sa+2<Sa的話,由于Sa已經(jīng)成功,所W Sa+2成 功的可能性會(huì)非常大,該方案并不適用于去逼近網(wǎng)絡(luò)能承受的上限,從而也不利用更好的 用戶體驗(yàn)。當(dāng)然,如果要使數(shù)據(jù)包更好更快地發(fā)送,上述實(shí)施例中所描述的Sa+2<Sa的情況反 而更實(shí)用,本申請?jiān)诖朔矫娌蛔飨拗啤?br>[0055] 在本實(shí)施例中,第=增長參數(shù)可W為第一增長參數(shù)或者第二增長參數(shù),也可W是 另外定義的參數(shù),本申請?jiān)诖朔矫鏇]有限制。當(dāng)?shù)趉+1次成功時(shí),Sw小于闊值時(shí),第S增長 參數(shù)可W為第一增長參數(shù);當(dāng)?shù)趉+1次成功時(shí),Sw大于等于闊值時(shí),第S增長參數(shù)可W為第 二增長參數(shù)。
[0056] 在本實(shí)施例中,該步驟可W與步驟212和步驟222結(jié)合說明,由于步驟212和步驟 222與步驟302的結(jié)合在實(shí)際應(yīng)用中會(huì)出現(xiàn)多種情況,因此并未在附圖中示出此=個(gè)步驟的 關(guān)聯(lián)或者先后次序。例如,發(fā)送數(shù)據(jù)包時(shí)首次發(fā)多個(gè)包,之后指數(shù)增長達(dá)到闊值之后線性增 長,失敗之后線性回退;或者也可W首次發(fā)送多個(gè)包,之后線性增長,達(dá)到闊值之后W更慢 的速率線性增長,失敗之后線性回退;其中,還可W包括失敗之后線性回退之后的值須大于 之前成功時(shí)的值。本申請?jiān)诖朔矫鏇]有限制。本領(lǐng)域的技術(shù)人員根據(jù)本申請的實(shí)施例也能 組合出多種方案,運(yùn)些方案都屬于本申請的保護(hù)范圍。具體示例可參見表2。需要注意的是, 表格僅為示例,僅僅為了方便本領(lǐng)域技術(shù)人員能更好地理解本申請,并不代表實(shí)際的方案 和應(yīng)用。
[0057] 表2本發(fā)明發(fā)送數(shù)據(jù)包示例表 「mwl
[0059] ~進(jìn)一步參考表2,其示出了本發(fā)明發(fā)送數(shù)據(jù)包示例表。從表2中可W看出由于首次~ 發(fā)送數(shù)據(jù)包時(shí)就發(fā)送16個(gè),很快就達(dá)到了上限,之后由于衰減的不會(huì)太快,成功之后參照之 前成功的記錄和失敗的記錄線性增長,逼近上限,很快就趨于穩(wěn)定可W使網(wǎng)絡(luò)盡快保持在 一個(gè)高速的狀態(tài),提升用戶體驗(yàn)。
[0060] 應(yīng)當(dāng)注意,盡管在附圖中W特定順序描述了本發(fā)明方法的操作,但是,運(yùn)并非要求 或者暗示必須按照該特定順序來執(zhí)行運(yùn)些操作,或是必須執(zhí)行全部所示的操作才能實(shí)現(xiàn)期 望的結(jié)果。相反,流程圖中描繪的某些步驟可W改變執(zhí)行順序。附加地或備選地,可W省略 某些步驟,將多個(gè)步驟合并為一個(gè)步驟執(zhí)行,和/或?qū)⒁粋€(gè)步驟分解為多個(gè)步驟執(zhí)行。
[0061] 進(jìn)一步參考圖4,其示出了本發(fā)明TCP協(xié)議的數(shù)據(jù)包發(fā)送系統(tǒng)的一個(gè)實(shí)施例結(jié)構(gòu)示 意圖400。
[0062] 如圖4所示,本實(shí)施例提供的的數(shù)據(jù)包發(fā)送系統(tǒng)包括:快啟動(dòng)單元401,慢衰減單元 402 W及增長控制單元403。
[0063] 快啟動(dòng)單元401,配置用于首次發(fā)送時(shí)發(fā)送多個(gè)數(shù)據(jù)包。
[0064] 慢衰減單元402,配置用于當(dāng)在第i次發(fā)送Si個(gè)數(shù)據(jù)包失敗時(shí),在第i+1次基于衰減 參數(shù)發(fā)送SW個(gè)數(shù)據(jù)包,其中,所述衰減參數(shù)小于2。W及
[0065] 增長控制單元403,配置用于當(dāng)基于第一增長參數(shù)W指數(shù)增長的方式在第j次成功 發(fā)送數(shù)據(jù)包的數(shù)量&達(dá)到或超過闊值時(shí),在第j+1次基于第二增長參數(shù)發(fā)送Sw個(gè)數(shù)據(jù)包, 其中,所述第二增長參數(shù)小于第一增長參數(shù)。
[0066] 在本實(shí)施例中,快啟動(dòng)單元401用于首次發(fā)送多個(gè)數(shù)據(jù)包,其中多個(gè)可W是根據(jù)歷 史最大紀(jì)錄確定,也可W是根據(jù)預(yù)設(shè)的闊值確定,例如預(yù)設(shè)的闊值可W是64個(gè)數(shù)據(jù)包,還可 W是根據(jù)系統(tǒng)參數(shù)、操作系統(tǒng)闊值或者是根據(jù)網(wǎng)絡(luò)狀況確定。慢衰減單元402可W用于通過 控制衰減參數(shù)從而控制衰減速率。增長控制單元403可W是在闊值之前指數(shù)或者線性增長, 在達(dá)到闊值之后W更小的指數(shù)參數(shù)或者更小的線性參數(shù)增長。
[0067] 在本實(shí)施例中,各個(gè)單元之間可W獨(dú)立執(zhí)行,也可W相互配合W達(dá)到更好的效果, 例如快啟動(dòng)單元401與慢衰減單元402結(jié)合,可W實(shí)現(xiàn)快啟動(dòng)和慢衰減;快啟動(dòng)單元401與增 長控制單元403結(jié)合,可W實(shí)現(xiàn)啟動(dòng)和超過闊值之后減緩增長;慢衰減單元402與增長控制 單元403結(jié)合,可W實(shí)現(xiàn)慢衰減和超過闊值之后減緩增長;還可W是=個(gè)單元結(jié)合,同時(shí)實(shí) 現(xiàn)快啟動(dòng)、慢衰減和超過闊值之后減緩增長。本申請?jiān)诖朔矫鏇]有限制。
[0068] 進(jìn)一步參考圖5,其示出了本發(fā)明TCP協(xié)議的數(shù)據(jù)包發(fā)送系統(tǒng)的又一個(gè)實(shí)施例結(jié)構(gòu) 示意圖500。
[0069] 如圖5所示,本實(shí)施例提供的的數(shù)據(jù)包發(fā)送系統(tǒng)包括:快啟動(dòng)單元501,慢衰減單元 502,增長控制單元503 W及防回退單元504。
[0070] 快啟動(dòng)單元501,配置用于首次發(fā)送時(shí)發(fā)送多個(gè)數(shù)據(jù)包。
[0071] 快啟動(dòng)單元501,配置用于當(dāng)在第i次發(fā)送Si個(gè)數(shù)據(jù)包失敗時(shí),在第i+1次基于衰減 參數(shù)發(fā)送SW個(gè)數(shù)據(jù)包,其中,所述衰減參數(shù)小于2。W及
[0072] 增長控制單元503,配置用于當(dāng)基于第一增長參數(shù)W指數(shù)增長的方式在第j次成功 發(fā)送數(shù)據(jù)包的數(shù)量&達(dá)到或超過闊值時(shí),在第j+1次基于第二增長參數(shù)發(fā)送Sw個(gè)數(shù)據(jù)包, 其中,所述第二增長參數(shù)小于第一增長參數(shù)。
[0073] 在本實(shí)施例中,快啟動(dòng)單元501、快啟動(dòng)單元501W及增長控制單元503與圖4中快 啟動(dòng)單元401、快啟動(dòng)單元401W及增長控制單元403--對應(yīng),由此,上文針對各個(gè)單元的 描述同樣適用于圖5中的各單元,在此不再寶述。
[0074] 防回退單元504,配置用于當(dāng)在第k次發(fā)送Sk個(gè)數(shù)據(jù)包失敗,在第k+1次基于所述衰 減參數(shù)發(fā)送Sw個(gè)數(shù)據(jù)包成功時(shí),第k+2次基于第S增長參數(shù)發(fā)送數(shù)據(jù)包時(shí),所述第S增長 參數(shù)設(shè)計(jì)成使得Sk+2<Sk,其中,所述第=增長參數(shù)為所述第一增長參數(shù)或第二增長參數(shù)。
[0075] 在本實(shí)施例中,防回退單元504可W實(shí)現(xiàn)失敗之后再增長時(shí)不至于超過之前失敗 的值,W避免多余的操作浪費(fèi)資源。防回退單元504也可W與快啟動(dòng)單元501、快啟動(dòng)單元 501W及增長控制單元503配合使用,W實(shí)現(xiàn)更好的技術(shù)效果,提升用戶體驗(yàn)。
[0076] 應(yīng)當(dāng)理解,圖4和圖5中記載的諸單元與參考圖2曰、圖化W及圖3描述的方法中的各 個(gè)步驟相對應(yīng)。由此,上文針對方法描述的操作和特征同樣適用于圖4和圖5中的諸單元,在 此不再寶述。
[0077] 值得注意的是,本發(fā)明的實(shí)施例中的單元并不用于限制本發(fā)明的方案,例如快啟 動(dòng)單元可W描述為用于首次發(fā)送時(shí)發(fā)送多個(gè)數(shù)據(jù)包的單元。另外,還可W通過硬件處理器 來實(shí)現(xiàn)相關(guān)功能模塊,例如快啟動(dòng)單元也可W用處理器實(shí)現(xiàn),在此不再寶述。
[0078] W上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可 W是或者也可W不是物理上分開的,作為單元顯示的部件可W是或者也可W不是物理單 元,即可W位于一個(gè)地方,或者也可W分布到多個(gè)網(wǎng)絡(luò)單元上??蒞根據(jù)實(shí)際的需要選擇其 中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性 的勞動(dòng)的情況下,即可W理解并實(shí)施。
[0079] 通過W上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可W清楚地了解到各實(shí)施方式可 借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可W通過硬件?;谶\(yùn)樣的理解,上 述技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可WW軟件產(chǎn)品的形式體現(xiàn)出來,該 計(jì)算機(jī)軟件產(chǎn)品可W存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干指 令用W使得一臺(tái)計(jì)算機(jī)設(shè)備(可W是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個(gè)實(shí)施 例或者實(shí)施例的某些部分所述的方法。
[0080] 最后應(yīng)說明的是:W上實(shí)施例僅用W說明本發(fā)明的技術(shù)方案,而非對其限制;盡管 參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可 W對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換; 而運(yùn)些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和 范圍。
【主權(quán)項(xiàng)】
1. 一種TCP協(xié)議的數(shù)據(jù)包發(fā)送方法,包括: 首次發(fā)送時(shí)發(fā)送多個(gè)數(shù)據(jù)包; 當(dāng)在第i次發(fā)送Sif數(shù)據(jù)包失敗時(shí),在第i+Ι次基于衰減參數(shù)發(fā)送S1+1個(gè)數(shù)據(jù)包,其中,所 述衰減參數(shù)小于2;以及 當(dāng)基于第一增長參數(shù)以指數(shù)增長的方式在第j次成功發(fā)送數(shù)據(jù)包的數(shù)量&達(dá)到或超過 閾值時(shí),在第j+Ι次基于第二增長參數(shù)發(fā)送Sj+1個(gè)數(shù)據(jù)包,其中,所述第二增長參數(shù)小于第一 增長參數(shù)。2. 根據(jù)權(quán)利要求1所述的方法,其中,所述方法還包括: 當(dāng)在第k次發(fā)送Sk個(gè)數(shù)據(jù)包失敗,在第k+Ι次基于所述衰減參數(shù)發(fā)送Sk+1個(gè)數(shù)據(jù)包成功 時(shí),第k+2次基于第三增長參數(shù)發(fā)送數(shù)據(jù)包時(shí),所述第三增長參數(shù)設(shè)計(jì)成使得Sk+2〈Sk,其中, 所述第三增長參數(shù)包括所述第一增長參數(shù)或第二增長參數(shù)。3. 根據(jù)權(quán)利要求1或2所述的方法,其中,所述衰減參數(shù)、所述第二增長參數(shù)和所述第三 增長參數(shù)為線性參數(shù)、指數(shù)參數(shù)或二者的結(jié)合。4. 根據(jù)權(quán)利要求1-3中任一項(xiàng)所述的方法,其中,首次發(fā)送時(shí)多個(gè)數(shù)據(jù)包的數(shù)量根據(jù)歷 史數(shù)據(jù)包發(fā)送成功的數(shù)量記錄確定。5. 根據(jù)權(quán)利要求1-4中任一項(xiàng)所述的方法,其中,所述閾值基于數(shù)據(jù)發(fā)送端的性能和/ 或傳輸網(wǎng)絡(luò)的質(zhì)量所確定。6. -種TCP協(xié)議的數(shù)據(jù)包發(fā)送系統(tǒng),包括: 快啟動(dòng)單元,配置用于首次發(fā)送時(shí)發(fā)送多個(gè)數(shù)據(jù)包; 慢衰減單元,配置用于當(dāng)在第i次發(fā)送Sif數(shù)據(jù)包失敗時(shí),在第i+Ι次基于衰減參數(shù)發(fā)送 Si+i個(gè)數(shù)據(jù)包,其中,所述衰減參數(shù)小于2;以及 增長控制單元,配置用于當(dāng)基于第一增長參數(shù)以指數(shù)增長的方式在第j次成功發(fā)送數(shù) 據(jù)包的數(shù)量&達(dá)到或超過閾值時(shí),在第j+Ι次基于第二增長參數(shù)發(fā)送Sj+1個(gè)數(shù)據(jù)包,其中,所 述第二增長參數(shù)小于第一增長參數(shù)。7. 根據(jù)權(quán)利要求6所述的系統(tǒng),其中,所述系統(tǒng)還包括: 防回退單元,配置用于當(dāng)在第k次發(fā)送Sk個(gè)數(shù)據(jù)包失敗,在第k+Ι次基于所述衰減參數(shù)發(fā) 送Sk+1f數(shù)據(jù)包成功時(shí),第k+2次基于第三增長參數(shù)發(fā)送數(shù)據(jù)包時(shí),所述第三增長參數(shù)設(shè)計(jì) 成使得S k+2〈Sk,其中,所述第三增長參數(shù)包括所述第一增長參數(shù)或第二增長參數(shù)。8. 根據(jù)權(quán)利要求6或7所述的系統(tǒng),其中,所述衰減參數(shù)、所述第二增長參數(shù)和所述第三 增長參數(shù)為線性參數(shù)、指數(shù)參數(shù)或者二者的結(jié)合。9. 根據(jù)權(quán)利要求6-8中任一項(xiàng)所述的系統(tǒng),其中,所述快啟動(dòng)單元發(fā)送的數(shù)據(jù)包的數(shù)量 根據(jù)歷史數(shù)據(jù)包發(fā)送成功的數(shù)量記錄確定。10. 根據(jù)權(quán)利要求6-9中任一項(xiàng)所述的系統(tǒng),其中,所述閾值基于數(shù)據(jù)發(fā)送端的性能和/ 或傳輸網(wǎng)絡(luò)的質(zhì)量所確定。
【文檔編號(hào)】H04L29/06GK105847260SQ201610184726
【公開日】2016年8月10日
【申請日】2016年3月28日
【發(fā)明人】李洪福, 劉斌
【申請人】樂視控股(北京)有限公司, 樂視云計(jì)算有限公司