一種流量整形的驅(qū)動(dòng)方法及驅(qū)動(dòng)器的制造方法
【專利摘要】本發(fā)明公開了一種流量整形的驅(qū)動(dòng)方法及驅(qū)動(dòng)器,所述方法包括:流量整形步驟:設(shè)置定時(shí)時(shí)間,在定時(shí)時(shí)間內(nèi)按照預(yù)先設(shè)定的固定速率,發(fā)送緩存隊(duì)列中的數(shù)據(jù)包,并在定時(shí)時(shí)間到達(dá)時(shí),停止發(fā)送數(shù)據(jù)包,開始發(fā)送緩存隊(duì)列中的ACK確認(rèn)包;迭代步驟:當(dāng)所述ACK確認(rèn)包發(fā)送完畢后,返回所述流量整形步驟。本發(fā)明通過(guò)在驅(qū)動(dòng)層進(jìn)行流量整形,使得數(shù)據(jù)包可以按固定速率發(fā)送,并預(yù)留一定的帶寬及時(shí)發(fā)送ACK確認(rèn)包,避免了由于ACK確認(rèn)包的延遲發(fā)送,導(dǎo)致網(wǎng)絡(luò)阻塞的情況,提高了用戶體驗(yàn)。
【專利說(shuō)明】一種流量整形的驅(qū)動(dòng)方法及驅(qū)動(dòng)器
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,尤其涉及一種流量整形的驅(qū)動(dòng)方法及驅(qū)動(dòng)器。
【背景技術(shù)】
[0002]在TCP/IP (Transmiss1n Control Protocol/Internet Protocol,傳輸控制協(xié)議/因特網(wǎng)互聯(lián)協(xié)議)傳輸過(guò)程中,當(dāng)每次新的數(shù)據(jù)發(fā)送前,都需要對(duì)之前的數(shù)據(jù)對(duì)方是否接收到進(jìn)行確認(rèn),即ACK (響應(yīng))確認(rèn)包。而在延遲或者傳輸速率低下的情況時(shí),這些ACK確認(rèn)包就會(huì)被迫延誤而無(wú)法到達(dá)目的地。此時(shí)數(shù)據(jù)發(fā)送方就不得不耗費(fèi)一定的時(shí)間來(lái)等待接收這些ACK確認(rèn)包。特別是針對(duì)DSL (Digital Subscriber Line,數(shù)字用戶專線)和電纜連接的用戶,當(dāng)上傳速度達(dá)到一定的程度時(shí),上行數(shù)據(jù)就很有可能減緩或者顯著的降低下載速度,尤其是對(duì)于擁有較小上行速率的用戶表現(xiàn)更嚴(yán)重。這是因?yàn)楫?dāng)上行被占滿時(shí),數(shù)據(jù)的確認(rèn)就會(huì)被這些上行的數(shù)據(jù)所阻塞而延遲。
[0003]隨著無(wú)線終端的發(fā)展,例如4G無(wú)線終端,由于其帶寬比較大,為了更好的利用好上下行通道帶寬,其上下行通道帶寬的配比一般都大于1:2,甚至1:9。這樣在整個(gè)通訊鏈路中沒(méi)有任何流量整形措施的情況下,必然會(huì)導(dǎo)致下行ACK確認(rèn)包延遲的情況,從而導(dǎo)致下行通道被堵塞。如圖1所示,為下行通道堵塞示意圖,圖中SlOl是下行通道,數(shù)據(jù)種類有:服務(wù)器正常發(fā)送數(shù)據(jù)包和上行ACK確認(rèn)包;S102是上行通道,數(shù)據(jù)種類有:客戶端正常發(fā)送數(shù)據(jù)包和下行ACK確認(rèn)包。SlOl和S102兩個(gè)通道是并行的,由于在TCP/IP傳輸過(guò)程中,當(dāng)每次新的數(shù)據(jù)發(fā)送前,都需要對(duì)之前的數(shù)據(jù)對(duì)方是否接收到而進(jìn)行確認(rèn)。所以當(dāng)上行通道達(dá)到通行能力極限的時(shí)候,即在緩沖區(qū)還有較多的待發(fā)送的數(shù)據(jù)包,此時(shí)無(wú)法為新到的下行ACK確認(rèn)包提供發(fā)送帶寬,那么下行通道的數(shù)據(jù)包就會(huì)等待,直到收到下行ACK確認(rèn)包為止,進(jìn)而出現(xiàn)網(wǎng)絡(luò)堵塞。
[0004]以上情況,可以統(tǒng)稱為上下行帶寬不對(duì)稱網(wǎng)絡(luò)。目前為止,在一般情況下,都會(huì)通過(guò)增加TCP數(shù)據(jù)包的容量,讓它可以一次發(fā)送更多的數(shù)據(jù)而不需要立即的確認(rèn)。此時(shí)存在的主要問(wèn)題就是,這樣的修改方式,將會(huì)導(dǎo)致Ping值居高不下(造成網(wǎng)絡(luò)延遲現(xiàn)象,俗稱的Lag),對(duì)于瀏覽網(wǎng)頁(yè)尤其是進(jìn)行網(wǎng)絡(luò)游戲的用戶,這樣很可能造成嚴(yán)重的后果。對(duì)于TCP包大小在512k的數(shù)據(jù)包,延遲接近2秒的話,就已經(jīng)很不正常了??偠灾?,僅僅將TCP數(shù)據(jù)包的容量增大,不會(huì)讓下載速度達(dá)到帶寬的極限數(shù)值,并且對(duì)于延遲發(fā)送ACK確認(rèn)包的情況也不能得到較好的改善。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供一種流量整形的驅(qū)動(dòng)方法及驅(qū)動(dòng)器,用以解決現(xiàn)有技術(shù)中由于ACK確認(rèn)包的延遲發(fā)送,導(dǎo)致網(wǎng)絡(luò)堵塞的問(wèn)題。
[0006]依據(jù)本發(fā)明的一個(gè)方面,提供了一種流量整形的驅(qū)動(dòng)方法,包括:
[0007]流量整形步驟:設(shè)置定時(shí)時(shí)間,在定時(shí)時(shí)間內(nèi)按照預(yù)先設(shè)定的固定速率,發(fā)送緩存隊(duì)列中的數(shù)據(jù)包,并在定時(shí)時(shí)間到達(dá)時(shí),停止發(fā)送數(shù)據(jù)包,開始發(fā)送緩存隊(duì)列中的ACK確認(rèn)包;
[0008]迭代步驟:當(dāng)所述ACK確認(rèn)包發(fā)送完畢后,返回所述流量整形步驟。
[0009]可選地,本發(fā)明所述方法還包括:
[0010]流量整形開啟步驟:檢測(cè)在前某一時(shí)間點(diǎn)至當(dāng)前時(shí)刻這一時(shí)間段內(nèi)數(shù)據(jù)發(fā)送通道的平均發(fā)送速率P,,當(dāng)P趨于或大于等于預(yù)先設(shè)定的流量整形判定閾值Vt時(shí),執(zhí)行所述流量整形步驟,開啟流量整形功能。
[0011]可選地,本發(fā)明所述方法中,所述在定時(shí)時(shí)間內(nèi)按照設(shè)定的固定速率發(fā)送緩存隊(duì)列中的數(shù)據(jù)包,包括:
[0012]設(shè)定數(shù)據(jù)包發(fā)送門限V/,將所述V/折算為令牌數(shù),在所述定時(shí)時(shí)間內(nèi)基于所述令牌數(shù),根據(jù)令牌桶算法發(fā)送所述數(shù)據(jù)包,實(shí)現(xiàn)數(shù)據(jù)包以固定速率發(fā)送;其中,V/ > VT。
[0013]可選地,本發(fā)明所述方法中,在定時(shí)時(shí)間到達(dá)時(shí),所述方法還包括:檢測(cè)本次定時(shí)時(shí)間內(nèi)數(shù)據(jù)發(fā)送通道的實(shí)際平均發(fā)送速率P,求取所述r與V/的比值,按照設(shè)定的調(diào)整規(guī)則,將所述V/向比值趨于I方向進(jìn)行調(diào)整,并以調(diào)整后的V/作為設(shè)置下一定時(shí)時(shí)間內(nèi)固定速率的依據(jù)。
[0014]可選地,本發(fā)明所述方法還包括:當(dāng)檢測(cè)到實(shí)際平均發(fā)送速率r與V/的比值在設(shè)定的區(qū)間范圍內(nèi)時(shí),關(guān)閉流量整形功能;其中,所述設(shè)定的區(qū)間范圍為設(shè)定的趨于I的區(qū)間范圍。
[0015]依據(jù)本發(fā)明的另一個(gè)方面,提供了一種驅(qū)動(dòng)器,包括:
[0016]流量整形模塊,用于設(shè)置定時(shí)時(shí)間,在定時(shí)時(shí)間內(nèi)按照預(yù)先設(shè)定的固定速率,發(fā)送緩存隊(duì)列中的數(shù)據(jù)包,并在定時(shí)時(shí)間到達(dá)時(shí),停止發(fā)送數(shù)據(jù)包,開始發(fā)送緩存隊(duì)列中的ACK確認(rèn)包;
[0017]迭代模塊,用于在所述ACK確認(rèn)包發(fā)送后,繼續(xù)觸發(fā)所述流量整形模塊。
[0018]可選地,本發(fā)明所述驅(qū)動(dòng)器還包括:
[0019]流量整形開啟模塊,用于調(diào)用QoS模塊檢測(cè)在前某一時(shí)間點(diǎn)至當(dāng)前時(shí)刻這一時(shí)間段內(nèi)數(shù)據(jù)發(fā)送通道的平均發(fā)送速率F,當(dāng)所述P趨于或大于等于預(yù)先設(shè)定的流量整形判定閾值Vt時(shí),使能所述流量整形模塊,開啟流量整形功能。
[0020]可選地,本發(fā)明所述驅(qū)動(dòng)器中,所述流量整形模塊,進(jìn)一步用于設(shè)定數(shù)據(jù)包發(fā)送門限V/,將所述V/折算為令牌數(shù),在所述定時(shí)時(shí)間內(nèi)基于所述令牌數(shù),根據(jù)令牌桶算法發(fā)送所述數(shù)據(jù)包,實(shí)現(xiàn)數(shù)據(jù)包以固定速率發(fā)送;其中,V/ >'。
[0021]可選地,本發(fā)明所述驅(qū)動(dòng)器中,所述流量整形模塊,進(jìn)一步用于在定時(shí)時(shí)間到達(dá)時(shí),調(diào)用Qos模塊檢測(cè)本次定時(shí)時(shí)間內(nèi)數(shù)據(jù)發(fā)送通道的實(shí)際平均發(fā)送速車F求取所述r與V的比值,按照設(shè)定的調(diào)整規(guī)則,將所述V/向比值趨于I方向進(jìn)行調(diào)整,并以調(diào)整后的V/作為設(shè)置下一定時(shí)時(shí)間內(nèi)固定速率的依據(jù)。
[0022]可選地,本發(fā)明所述驅(qū)動(dòng)器還包括:流量整形關(guān)閉模塊,用于當(dāng)檢測(cè)到實(shí)際平均發(fā)送速率尸與V/的比值在設(shè)定的區(qū)間范圍內(nèi)時(shí),關(guān)閉流量整形功能;其中,所述設(shè)定的區(qū)間范圍為設(shè)定的趨于I的區(qū)間范圍。
[0023]本發(fā)明有益效果如下:
[0024]首先,本發(fā)明通過(guò)在驅(qū)動(dòng)層進(jìn)行流量整形,使得數(shù)據(jù)包可以按固定速率發(fā)送,并預(yù)留一定的帶寬及時(shí)發(fā)送ACK確認(rèn)包,避免了由于ACK確認(rèn)包的延遲發(fā)送,導(dǎo)致網(wǎng)絡(luò)阻塞的情況,提高了用戶體驗(yàn)。
[0025]其次,考慮到做流量整形就必須要限制對(duì)應(yīng)數(shù)據(jù)發(fā)送通道帶寬的門限,本發(fā)明還提供了一種自適應(yīng)匹配通道帶寬門限的方案,該自適應(yīng)匹配方案,同比于固定門限,實(shí)現(xiàn)了最大限度的利用數(shù)據(jù)發(fā)送通道帶寬,使得數(shù)據(jù)包發(fā)送速度達(dá)到帶寬的極限數(shù)值,進(jìn)一步增加了用戶體驗(yàn)。
【專利附圖】
【附圖說(shuō)明】
[0026]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0027]圖1為下行通道堵塞示意圖;
[0028]圖2為本發(fā)明實(shí)施例一提供的一種流量整形的驅(qū)動(dòng)方法的流程圖;
[0029]圖3為經(jīng)過(guò)流量整形處理后的下行通道示意圖;
[0030]圖4為本發(fā)明實(shí)施例二提供的一種流量整形的驅(qū)動(dòng)方法的流程圖;
[0031]圖5為本發(fā)明實(shí)施例三中自適應(yīng)流量整形示意圖;
[0032]圖6為本發(fā)明實(shí)施例提供的一種驅(qū)動(dòng)器的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0033]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0034]為了解決現(xiàn)有技術(shù)中由于ACK確認(rèn)包的延遲發(fā)送,導(dǎo)致網(wǎng)絡(luò)堵塞的問(wèn)題,本發(fā)明實(shí)施例提供一種流量整形的驅(qū)動(dòng)方法及驅(qū)動(dòng)器,所述方法一方面,在一定時(shí)間內(nèi)按照固定速度發(fā)送上行數(shù)據(jù)包,并預(yù)留一定的帶寬及時(shí)發(fā)送下行ACK確定包,避免了 ACK確認(rèn)包的延遲發(fā)送。另一方面,提出了自適應(yīng)匹配方案,實(shí)現(xiàn)了自適應(yīng)流量整形,使得數(shù)據(jù)包發(fā)送速度達(dá)到帶寬的極限數(shù)值。下面就通過(guò)幾個(gè)具體實(shí)施例對(duì)本發(fā)明的實(shí)施過(guò)程進(jìn)行詳細(xì)闡述。
[0035]實(shí)施例一
[0036]本發(fā)明實(shí)施例提供一種流量整形的驅(qū)動(dòng)方法,所述方法適用于任何由于ACK確認(rèn)包的延遲發(fā)送導(dǎo)致網(wǎng)絡(luò)堵塞的情況,針對(duì)該情形的堵塞,目前主要存在于不對(duì)稱上下行網(wǎng)絡(luò)的情形中,例如上下行通道帶寬的配比為1:2,甚至為1:9,此時(shí),就極易出現(xiàn)在上行通道中對(duì)下行ACK確認(rèn)包進(jìn)行延遲發(fā)送,造成下行堵塞。所以,為了能夠清楚闡述本發(fā)明,以下就以對(duì)上行數(shù)據(jù)發(fā)送通道進(jìn)行流量整形為例進(jìn)行闡述,其他情形的實(shí)施參照下述方式。
[0037]如圖2所示,本實(shí)施例所述方法包括以下步驟:
[0038]步驟S201,設(shè)置定時(shí)時(shí)間;
[0039]優(yōu)選地,在該步驟前,增加需要進(jìn)行流量整形的條件限制,即并非任何時(shí)候均要進(jìn)行流量整形過(guò)程;具體的,在步驟S201前增加步驟S200:檢測(cè)在前某一時(shí)間點(diǎn)至當(dāng)前時(shí)刻這一時(shí)間段內(nèi)上行通道的平均發(fā)送速率F,當(dāng)P趨于或大于等于預(yù)先設(shè)定的流量整形判定閾值Vt時(shí),執(zhí)行步驟S201,開始流量整形;否則,按正常數(shù)據(jù)處理方式對(duì)數(shù)據(jù)包及ACK確認(rèn)包進(jìn)行處理。
[0040]其中,P趨于流量整形判定閾值Vt是指F接近閾值Vt但還未達(dá)到VT,對(duì)于接近的程度用戶可以根據(jù)需求進(jìn)行靈活設(shè)定,例如設(shè)定P= ( 0.95?I) Vt為趨近。進(jìn)一步地,設(shè)定的判定閾值Vt應(yīng)小于上行通道最大帶寬,優(yōu)選地,Vt等于上行通道最大帶寬的0.4?0.6倍。
[0041]步驟S202,在定時(shí)時(shí)間內(nèi)按照預(yù)先設(shè)定的固定速率,發(fā)送緩存隊(duì)列中的數(shù)據(jù)包;優(yōu)選地,該步驟通過(guò)如下方式實(shí)現(xiàn):
[0042]設(shè)定數(shù)據(jù)包發(fā)送門限V/,將所述V/折算為令牌數(shù),在所述定時(shí)時(shí)間內(nèi)基于所述令牌數(shù),根據(jù)令牌桶算法發(fā)送所述數(shù)據(jù)包,實(shí)現(xiàn)數(shù)據(jù)包以固定速率發(fā)送,其中,V/ > ντ。
[0043]步驟S203,在定時(shí)時(shí)間到達(dá)時(shí),停止發(fā)送數(shù)據(jù)包,開始發(fā)送緩存隊(duì)列中的ACK確認(rèn)包。
[0044]步驟S204,當(dāng)ACK確認(rèn)包發(fā)送完畢后,返回步驟S201。
[0045]經(jīng)過(guò)上述流量整形處理,可以達(dá)到較為理想的數(shù)據(jù)包及ACK確認(rèn)包的發(fā)送情形,具體如圖3所示。
[0046]綜上所述,本發(fā)明實(shí)施例考慮到不對(duì)稱上下行網(wǎng)絡(luò)情況下,由于下行ACK確認(rèn)包被延遲,導(dǎo)致下行通道堵塞。所以,必須限制上行通道的發(fā)送速率,并且預(yù)留一定的帶寬用來(lái)發(fā)送下行ACK確認(rèn)數(shù)據(jù)包。這樣在保證上行通道足夠高的帶寬利用率的同時(shí),保證下行通道的帶寬利用率不受影響。
[0047]實(shí)施例二
[0048]本發(fā)明實(shí)施例提供一種流量整形的驅(qū)動(dòng)方法,確切地說(shuō),提供了一種自適應(yīng)流量整形的驅(qū)動(dòng)方法,該方法包含實(shí)施例一的所有步驟,并對(duì)實(shí)施例一的實(shí)施過(guò)程做了進(jìn)一步擴(kuò)展。本實(shí)施例仍以對(duì)上行數(shù)據(jù)發(fā)送通道進(jìn)行流量整形為例進(jìn)行闡述,如圖4所示,包括以下步驟:
[0049]步驟S401,設(shè)置定時(shí)時(shí)間;
[0050]步驟S402,在定時(shí)時(shí)間內(nèi)按照預(yù)先設(shè)定的固定速率,發(fā)送緩存隊(duì)列中的數(shù)據(jù)包;該步驟的具體實(shí)現(xiàn)方式為:
[0051]設(shè)定數(shù)據(jù)包發(fā)送門限V/,將所述V/折算為令牌數(shù),在所述定時(shí)時(shí)間內(nèi)基于所述令牌數(shù),根據(jù)令牌桶算法發(fā)送所述數(shù)據(jù)包,實(shí)現(xiàn)數(shù)據(jù)包以固定速率發(fā)送,其中,V/ > ντ。
[0052]步驟S403,在定時(shí)時(shí)間到達(dá)時(shí),停止發(fā)送數(shù)據(jù)包,開始發(fā)送緩存隊(duì)列中的ACK確認(rèn)包。
[0053]步驟S404,在定時(shí)時(shí)間到達(dá)時(shí),自適應(yīng)調(diào)整數(shù)據(jù)包發(fā)送門限V/ ;
[0054]該步驟的具體實(shí)現(xiàn)過(guò)程為:在定時(shí)時(shí)間到達(dá)時(shí),檢測(cè)本次定時(shí)時(shí)間內(nèi)數(shù)據(jù)發(fā)送通道的實(shí)際平均發(fā)送速率P,求取所述f與V/的比值,按照設(shè)定的調(diào)整規(guī)則,將所述V/向比值趨于I方向進(jìn)行調(diào)整,并以調(diào)整后的V/作為設(shè)置下一定時(shí)時(shí)間內(nèi)固定速率的依據(jù)。
[0055]需要說(shuō)明的是,該步驟S404與S403是并行的實(shí)現(xiàn)過(guò)程,雖然通過(guò)403、404表述,但并不代表二者為順序的執(zhí)行關(guān)系。
[0056]步驟S405,當(dāng)ACK確認(rèn)包發(fā)送完畢后,返回步驟S401,直到檢測(cè)到實(shí)際平均發(fā)送速率r與V/的比值在設(shè)定的區(qū)間范圍內(nèi)時(shí),關(guān)閉流量整形功能;其中,設(shè)定的區(qū)間范圍為設(shè)定的趨于I的區(qū)間范圍。
[0057]綜上所述,本發(fā)明實(shí)施例考慮到不對(duì)稱上下行網(wǎng)絡(luò)情況下,由于下行ACK確認(rèn)包被延遲,導(dǎo)致下行通道堵塞。所以,必須限制上行通道的發(fā)送速率,并且預(yù)留一定的帶寬用來(lái)發(fā)送下行ACK確認(rèn)數(shù)據(jù)包。這樣在保證上行通道足夠高的帶寬利用率的同時(shí),保證下行通道的帶寬利用率不受影響。另外,還自適應(yīng)匹配上行速率門限,經(jīng)過(guò)多次匹配過(guò)程,可以得到一個(gè)最佳的上行速率門限,實(shí)現(xiàn)了最大限度的利用上行通道帶寬,使得數(shù)據(jù)包發(fā)送速度達(dá)到帶寬的極限數(shù)值。
[0058]實(shí)施例三
[0059]本實(shí)施例提供一種流量整形的驅(qū)動(dòng)方法,確切地說(shuō),提供了一種自適應(yīng)流量整形的驅(qū)動(dòng)方法,該實(shí)施例是實(shí)施例二所述方法的一種【具體實(shí)施方式】,該實(shí)施例在流量整形理論的基礎(chǔ)上,闡述了自適應(yīng)控制流量整形的過(guò)程,如圖5所示,為本實(shí)施例自適應(yīng)流量整形框圖。
[0060]本實(shí)施例所述流量整形驅(qū)動(dòng)方法包括如下步驟:
[0061]步驟I,策略器調(diào)用QoS模塊實(shí)時(shí)收集當(dāng)前上行通道和下行通道的實(shí)際發(fā)送速率,即占用帶寬;
[0062]步驟2,策略器檢測(cè)在前某一時(shí)間點(diǎn)至當(dāng)前時(shí)刻這一時(shí)間段內(nèi)(該時(shí)間范圍可以隨機(jī)設(shè)定)內(nèi)上行通道和下行通道的平均發(fā)送速率;
[0063]步驟3,策略器檢測(cè)上行通道帶寬的平均發(fā)送速率是否趨于或大于等于預(yù)先設(shè)定的流量整形判定閾值,若是,則判定需要進(jìn)行流量整形,執(zhí)行步驟5 ;否則,判定無(wú)需進(jìn)行流量整形,執(zhí)行步驟4;
[0064]其中,流量整形判定閾值的設(shè)定方式包括:獲取終端當(dāng)前注冊(cè)網(wǎng)絡(luò)的最大上行帶寬MaxUP,設(shè)所述判定閾值等于0.4?0.6倍的MaxUP。當(dāng)然,該判定閾值只是本發(fā)明的優(yōu)選取值方式,本領(lǐng)域技術(shù)人員根據(jù)具體需求可以在MaxUP以內(nèi)進(jìn)行靈活取值。
[0065]其中,獲取終端當(dāng)前注冊(cè)網(wǎng)絡(luò)的最大上行帶寬MaxUP的方式包括:在PC驅(qū)動(dòng)初始化的時(shí)候,通過(guò)PC驅(qū)動(dòng)和UE板側(cè)的控制通訊協(xié)議獲取得到板側(cè)SIM卡的當(dāng)前注冊(cè)網(wǎng)絡(luò)的最大上行帶寬和最大下行帶寬。進(jìn)一步地,如果注冊(cè)的網(wǎng)絡(luò)發(fā)生變化,也需要UE側(cè)主動(dòng)通知給PC驅(qū)動(dòng),上報(bào)當(dāng)前注冊(cè)網(wǎng)絡(luò)的最大上行帶寬和最大下行帶寬。
[0066]步驟4,按照正常發(fā)送方式進(jìn)行數(shù)據(jù)發(fā)送過(guò)程;
[0067]步驟5,設(shè)置定時(shí)器,以及通過(guò)分類器對(duì)包類型進(jìn)行區(qū)分(即區(qū)分是數(shù)據(jù)包還是ACK確認(rèn)包);
[0068]步驟6,在定時(shí)時(shí)間內(nèi)將數(shù)據(jù)包按固定速度發(fā)送到數(shù)據(jù)發(fā)送隊(duì)列;
[0069]該步驟具體實(shí)施過(guò)程為:設(shè)定上行發(fā)送門限V/,將所述V/折算成令牌個(gè)數(shù),作為令牌桶的值,當(dāng)發(fā)送數(shù)據(jù)包時(shí),利用令牌桶算法控制數(shù)據(jù)包的發(fā)送速度。由于令牌桶的值由設(shè)定的上行速率門限確定,那么當(dāng)利用令牌桶算法進(jìn)行數(shù)據(jù)包發(fā)送時(shí),就實(shí)現(xiàn)了一定時(shí)間內(nèi)按固定速度發(fā)送數(shù)據(jù)包這一過(guò)程。其中,V/要大于流量整形判定閾值,優(yōu)選的V/要盡可能大一些,為后續(xù)V/向下精確調(diào)整提供余地。
[0070]其中,令牌桶算法工作方式如下:1,令牌以一定的速率放入桶中;2,每個(gè)令牌允許源發(fā)送一定數(shù)量的比特;3,發(fā)送一個(gè)包,流量調(diào)節(jié)器就要從桶中刪除與包大小相等的令牌數(shù);4,如果沒(méi)有足夠的令牌發(fā)送包,這個(gè)包就會(huì)等待直到有足夠的令牌或者包被丟棄,也有可能被標(biāo)記更低的DSCP ;5,桶有特定的容量,如果桶已經(jīng)滿了,新加入的令牌就會(huì)被丟棄。因此,在任何時(shí)候,源發(fā)送到網(wǎng)絡(luò)上的最大突發(fā)數(shù)據(jù)量與桶的大小成比例。令牌桶允許突發(fā),但是不能超過(guò)限制。
[0071]步驟7,在定時(shí)時(shí)間到達(dá)時(shí),停止數(shù)據(jù)包發(fā)送,將所有下行ACK確認(rèn)包直接發(fā)送到數(shù)據(jù)發(fā)送隊(duì)列;
[0072]也就是說(shuō),由于下行ACK確認(rèn)包占用很少的帶寬,可以在每個(gè)定時(shí)器事件到來(lái)時(shí),把所有的下行ACK確認(rèn)包直接發(fā)送,不受令牌算法的控制,直接發(fā)到發(fā)送隊(duì)列中去,這樣就可以及時(shí)發(fā)送下行ACK確認(rèn)包。而正常上行數(shù)據(jù)包則不同,當(dāng)定時(shí)事件到來(lái)后,停止把正常上行數(shù)據(jù)包發(fā)送到發(fā)送隊(duì)列中去,等待直到處理完下行ACK確認(rèn)包。
[0073]步驟8,定時(shí)時(shí)間到達(dá)時(shí),還調(diào)用QoS模塊獲取該定時(shí)時(shí)間內(nèi)上行通道的平均速率,求取該平均值與當(dāng)前上行發(fā)送門限V/的比值,按照設(shè)定的調(diào)整規(guī)則,將所述V/向比值趨于I方向進(jìn)行調(diào)整,并將調(diào)整后的V/作為設(shè)置下一定時(shí)時(shí)間內(nèi)固定速率的依據(jù)。
[0074]該步驟中,調(diào)整Vt'體包括:
[0075]本發(fā)明中,調(diào)整V/的最理想狀態(tài)為設(shè)定的定時(shí)時(shí)間內(nèi)的平均速率與V的比值趨近于1,所以,在后續(xù)調(diào)整時(shí),要將V/向比值趨于I方向進(jìn)行調(diào)整。
[0076]對(duì)此,本實(shí)施例中給出幾個(gè)比值區(qū)間,用以對(duì)不同的比值進(jìn)行不同的調(diào)整。具體的:
[0077]趨于I的比值區(qū)間Rl,可以但不限于為0.95?I ;
[0078]比值過(guò)小的比值區(qū)間R2,可以但不限于為O?0.5 ;
[0079]位于區(qū)間Rl和R2間的順序連接的多個(gè)區(qū)間Rx ;具體劃分標(biāo)準(zhǔn)可以根據(jù)需求進(jìn)行自定義,例如區(qū)間R3,0.5?0.7 ;區(qū)間R4,0.7?0.85 ;區(qū)間R5,0.85?0.95。
[0080]其中,區(qū)間R2,對(duì)應(yīng)的調(diào)整步進(jìn)值可以設(shè)置的較為大一些,調(diào)整方向?yàn)橄驕p小V/方向調(diào)整;區(qū)間Rx,當(dāng)Rx越靠近區(qū)間R1,區(qū)間Rx的調(diào)整步進(jìn)越小,調(diào)整方向均為向減小V方向調(diào)整。
[0081]綜上所述,本實(shí)施例中,根據(jù)設(shè)定的定時(shí)間內(nèi)的平均速率與V/的比值結(jié)果,對(duì)V非線性調(diào)整,并將調(diào)整后的V/作為設(shè)置下一定時(shí)時(shí)間內(nèi)固定速率的依據(jù)。
[0082]步驟9,檢測(cè)調(diào)整后V/是否進(jìn)入?yún)^(qū)間R1,若是,則把此時(shí)V/的值作為最優(yōu)上傳帶寬門限值,并停止流量整形;否則,返回步驟5。
[0083]實(shí)施例四
[0084]本實(shí)施例提供一種驅(qū)動(dòng)器,如圖6所示,包括:
[0085]流量整形模塊610,用于設(shè)置定時(shí)時(shí)間,在定時(shí)時(shí)間內(nèi)按照預(yù)先設(shè)定的固定速率,發(fā)送緩存隊(duì)列中的數(shù)據(jù)包,并在定時(shí)時(shí)間到達(dá)時(shí),停止發(fā)送數(shù)據(jù)包,開始發(fā)送緩存隊(duì)列中的ACK確認(rèn)包;
[0086]迭代模塊620,用于在所述ACK確認(rèn)包發(fā)送后,繼續(xù)觸發(fā)所述流量整形模塊610。
[0087]基于上述主體架構(gòu)下,以下給出本實(shí)施例的幾個(gè)優(yōu)選方案,用以更好的實(shí)施本發(fā)明。
[0088]優(yōu)選方案一:本實(shí)施例所述驅(qū)動(dòng)器,還包括:
[0089]流量整形開啟模塊630,用于調(diào)用QoS模塊檢測(cè)在前某一時(shí)間點(diǎn)至當(dāng)前時(shí)刻這一時(shí)間段內(nèi)數(shù)據(jù)發(fā)送通道的平均發(fā)送速率F,當(dāng)所述f趨于或大于等于預(yù)先設(shè)定的流量整形判定閾值Vt時(shí),使能所述流量整形模塊610,開啟流量整形功能。
[0090]也就是說(shuō),該優(yōu)選方案,增加需要進(jìn)行流量整形的條件限制,只有當(dāng)前速率滿足特定條件時(shí)才進(jìn)行流量整形,否則即按普通方式處理。其中,Vt小于數(shù)據(jù)發(fā)送通道最大帶寬,優(yōu)選地,Vt等于上行通道最大帶寬的0.4?0.6倍。
[0091]優(yōu)選方案二,本實(shí)施例中,流量整形模塊610,設(shè)定數(shù)據(jù)包發(fā)送門限V/,將所述V折算為令牌數(shù),在所述定時(shí)時(shí)間內(nèi)基于所述令牌數(shù),根據(jù)令牌桶算法發(fā)送所述數(shù)據(jù)包,實(shí)現(xiàn)數(shù)據(jù)包以固定速率發(fā)送,其中,V/ >VT。
[0092]優(yōu)選方案三,本實(shí)施例所述驅(qū)動(dòng)器進(jìn)一步包括:
[0093]流量整形模塊610,還用于在定時(shí)時(shí)間到達(dá)時(shí),調(diào)用QoS模塊檢測(cè)本次定時(shí)時(shí)間內(nèi)數(shù)據(jù)發(fā)送通道的實(shí)際平均發(fā)送速率尸,求取所述尹與V的比值,按照設(shè)定的調(diào)整規(guī)則,將所述V/向比值趨于I方向進(jìn)行調(diào)整,并以調(diào)整后的Vt作為設(shè)置下一定時(shí)時(shí)間內(nèi)固定速率的依據(jù)。
[0094]優(yōu)選方案四,該方案基于方案三實(shí)施,本實(shí)施例所述驅(qū)動(dòng)器進(jìn)一步包括:
[0095]流量整形關(guān)閉模塊640,用于當(dāng)檢測(cè)到實(shí)際平均發(fā)送速率Γ與V/的比值在設(shè)定的區(qū)間范圍內(nèi)時(shí),關(guān)閉流量整形功能;其中,所述設(shè)定的區(qū)間范圍為設(shè)定的趨于I的區(qū)間范圍。
[0096]上述四個(gè)優(yōu)選方案可以的結(jié)合方式包括:優(yōu)選方案一與優(yōu)選方案二相結(jié)合、優(yōu)選方案一、二、三相結(jié)合、以及優(yōu)選方案一、二、三、四相結(jié)合。
[0097]綜上所述,本實(shí)施例通過(guò)在驅(qū)動(dòng)層進(jìn)行流量整形,使得數(shù)據(jù)包可以按固定速率發(fā)送,并預(yù)留一定的帶寬及時(shí)發(fā)送ACK確認(rèn)包,避免了由于ACK確認(rèn)包的延遲發(fā)送,導(dǎo)致網(wǎng)絡(luò)阻塞的情況,提高了用戶體驗(yàn)。再者,考慮到做流量整形就必須要限制對(duì)應(yīng)數(shù)據(jù)發(fā)送通道帶寬的門限,本實(shí)施例還提供了一種自適應(yīng)匹配通道帶寬門限的方案,該自適應(yīng)匹配方案,同比于固定門限,實(shí)現(xiàn)了最大限度的利用數(shù)據(jù)發(fā)送通道帶寬,使得數(shù)據(jù)包發(fā)送速度達(dá)到帶寬的極限數(shù)值,進(jìn)一步增加了用戶體驗(yàn)。
[0098]顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
【權(quán)利要求】
1.一種流量整形的驅(qū)動(dòng)方法,其特征在于,包括: 流量整形步驟:設(shè)置定時(shí)時(shí)間,在定時(shí)時(shí)間內(nèi)按照預(yù)先設(shè)定的固定速率,發(fā)送緩存隊(duì)列中的數(shù)據(jù)包,并在定時(shí)時(shí)間到達(dá)時(shí),停止發(fā)送數(shù)據(jù)包,開始發(fā)送緩存隊(duì)列中的ACK確認(rèn)包; 迭代步驟:當(dāng)所述ACK確認(rèn)包發(fā)送完畢后,返回所述流量整形步驟。
2.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 流量整形開啟步驟:檢測(cè)在前某一時(shí)間點(diǎn)至當(dāng)前時(shí)刻這一時(shí)間段內(nèi)數(shù)據(jù)發(fā)送通道的平均發(fā)送速率F,當(dāng)V趨于或大于等于預(yù)先設(shè)定的流量整形判定閾值Vt時(shí),執(zhí)行所述流量整形步驟,開啟流量整形功能。
3.如權(quán)利要求2所述的方法,其特征在于,所述在定時(shí)時(shí)間內(nèi)按照設(shè)定的固定速率發(fā)送緩存隊(duì)列中的數(shù)據(jù)包,包括: 設(shè)定數(shù)據(jù)包發(fā)送門限V' τ,將所述V' τ折算為令牌數(shù),在所述定時(shí)時(shí)間內(nèi)基于所述令牌數(shù),根據(jù)令牌桶算法發(fā)送所述數(shù)據(jù)包,實(shí)現(xiàn)數(shù)據(jù)包以固定速率發(fā)送;其中,V' τ > ντ。
4.如權(quán)利要求3所述的方法,其特征在于,在定時(shí)時(shí)間到達(dá)時(shí),所述方法還包括: 檢測(cè)本次定時(shí)時(shí)間內(nèi)數(shù)據(jù)發(fā)送通道的實(shí)際平均發(fā)送速率F',求取所述F與V' τ的比值,按照設(shè)定的調(diào)整規(guī)則,將所述V' τ向比值趨于I方向進(jìn)行調(diào)整,并以調(diào)整后的V' 1作為設(shè)置下一定時(shí)時(shí)間內(nèi)固定速率的依據(jù)。
5.如權(quán)利要求4所述的方法,其特征在于,所述方法還包括: 當(dāng)檢測(cè)到實(shí)際平均發(fā)送速率P與V' 1的比值在設(shè)定的區(qū)間范圍內(nèi)時(shí),關(guān)閉流量整形功能;其中,所述設(shè)定的區(qū)間范圍為設(shè)定的趨于I的區(qū)間范圍。
6.一種驅(qū)動(dòng)器,其特征在于,包括: 流量整形模塊,用于設(shè)置定時(shí)時(shí)間,在定時(shí)時(shí)間內(nèi)按照預(yù)先設(shè)定的固定速率,發(fā)送緩存隊(duì)列中的數(shù)據(jù)包,并在定時(shí)時(shí)間到達(dá)時(shí),停止發(fā)送數(shù)據(jù)包,開始發(fā)送緩存隊(duì)列中的ACK確認(rèn)包; 迭代模塊,用于在所述ACK確認(rèn)包發(fā)送后,繼續(xù)觸發(fā)所述流量整形模塊。
7.如權(quán)利要求6所述的驅(qū)動(dòng)器,其特征在于,所述驅(qū)動(dòng)器還包括: 流量整形開啟模塊,用于調(diào)用QoS模塊檢測(cè)在前某一時(shí)間點(diǎn)至當(dāng)前時(shí)刻這一時(shí)間段內(nèi)數(shù)據(jù)發(fā)送通道的平均發(fā)送速率P,當(dāng)所述F趨于或大于等于預(yù)先設(shè)定的流量整形判定閾值Vt時(shí),使能所述流量整形模塊,開啟流量整形功能。
8.如權(quán)利要求7所述的驅(qū)動(dòng)器,其特征在于,所述流量整形模塊,進(jìn)一步用于設(shè)定數(shù)據(jù)包發(fā)送門限V' τ,將所述V' τ折算為令牌數(shù),在所述定時(shí)時(shí)間內(nèi)基于所述令牌數(shù),根據(jù)令牌桶算法發(fā)送所述數(shù)據(jù)包,實(shí)現(xiàn)數(shù)據(jù)包以固定速率發(fā)送;其中,V' τ > VT。
9.如權(quán)利要求8所述的驅(qū)動(dòng)器,其特征在于,所述流量整形模塊,進(jìn)一步用于在定時(shí)時(shí)間到達(dá)時(shí),調(diào)用QoS模塊檢測(cè)本次定時(shí)時(shí)間內(nèi)數(shù)據(jù)發(fā)送通道的實(shí)際平均發(fā)送速率P ,求取所述f與V' τ的比值,按照設(shè)定的調(diào)整規(guī)則,將所述V' τ向比值趨于I方向進(jìn)行調(diào)整,并調(diào)整后的V' “乍為設(shè)置下一定時(shí)時(shí)間內(nèi)固定速率的依據(jù)。
10.如權(quán)利要求9所述的驅(qū)動(dòng)器,其特征在于,所述驅(qū)動(dòng)器,還包括: 流量整形關(guān)閉模塊,用于當(dāng)檢測(cè)到實(shí)際平均發(fā)送速率r與V' τ的比值在設(shè)定的區(qū)間范圍內(nèi)時(shí),關(guān)閉流量整形功能;其中,所述設(shè)定的區(qū)間范圍為設(shè)定的趨于I的區(qū)間范圍。
【文檔編號(hào)】H04L1/16GK104184677SQ201310196297
【公開日】2014年12月3日 申請(qǐng)日期:2013年5月24日 優(yōu)先權(quán)日:2013年5月24日
【發(fā)明者】陳飛雄, 郭慶吉 申請(qǐng)人:中興通訊股份有限公司