欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

數(shù)據(jù)發(fā)送方法和裝置、數(shù)據(jù)接收方法和裝置的制造方法_3

文檔序號:9250887閱讀:來源:國知局
130] 如圖9所示,在一個實施例中,提供了一種數(shù)據(jù)接收方法,本實施例以該方法應用 于上述圖1中的數(shù)據(jù)接收端104進行舉例說明。該數(shù)據(jù)接收方法具體包括如下步驟:
[0131] 步驟902,接收通過通信連接傳來的數(shù)據(jù)包。
[0132] 具體地,數(shù)據(jù)發(fā)送端102在執(zhí)行上述步驟308后,合并包通過通信連接傳遞到數(shù)據(jù) 接收端104,由數(shù)據(jù)接收端104接收。若數(shù)據(jù)發(fā)送端102未進行合并,進而發(fā)出原始數(shù)據(jù)包, 則相應地數(shù)據(jù)接收端104會接收到數(shù)據(jù)發(fā)送端102發(fā)來的原始數(shù)據(jù)包。該通信連接是指數(shù) 據(jù)接收端104與數(shù)據(jù)發(fā)送端102間的通信連接。
[0133] 步驟904,檢測到接收到的數(shù)據(jù)包為合并包時,將合并包拆分為原始數(shù)據(jù)包和重發(fā) 包。
[0134] 具體地,數(shù)據(jù)接收端104可以根據(jù)接收到的數(shù)據(jù)包的頭部信息中的合并包識別標 志位的值,來判斷接收到的數(shù)據(jù)包是否為合并包。若接收到的是合并包,則繼續(xù)進行后續(xù)對 合并包的處理流程;否則,將接收到的數(shù)據(jù)包按照原始數(shù)據(jù)包進行處理。
[0135] 對合并包的頭部信息進行協(xié)議分析,具體根據(jù)合并包的頭部信息中的數(shù)據(jù)指針, 可以獲取到相應的數(shù)據(jù)內容;原始數(shù)據(jù)包和重發(fā)包各自的包序號也記錄在合并包的頭部信 息中,可直接獲得;通過頭部信息中的源地址和目的地址,可以確定原始數(shù)據(jù)包和重發(fā)包的 源地址和目的地址。將拆分出的原始數(shù)據(jù)包保留。
[0136] 步驟906,根據(jù)重發(fā)包的包序號判斷是否首次接收到該包序號的數(shù)據(jù)包;若是,則 執(zhí)行步驟908,若否則執(zhí)行步驟910。
[0137] 具體地,在一個實施例中,數(shù)據(jù)接收端104可以在每接收到一個數(shù)據(jù)包時,判斷是 否存在與其包序號匹配的已接收記錄。如果存在已接收記錄,則說明不是首次接收到,如果 不存在已接收記錄,則說明是首次接收到,此時再對應應該數(shù)據(jù)包的包序號存儲已接收記 錄,以備下次接收到數(shù)據(jù)包時進行去重處理。所謂去重是指將數(shù)據(jù)發(fā)送端102最初發(fā)送的 相應包序號的數(shù)據(jù)包以及后續(xù)發(fā)送的相應重發(fā)包選擇其一保留的過程。
[0138] 步驟908,保留重發(fā)包。
[0139] 具體地,若判定首次接收到相應包序號的數(shù)據(jù)包,說明數(shù)據(jù)發(fā)送端102最初發(fā)出 的相應包序號的數(shù)據(jù)包已經(jīng)丟失或者延時很大,此時可以直接用該重發(fā)包來替代數(shù)據(jù)接收 端104最初發(fā)出的相應包序號的數(shù)據(jù)包,避免產生過長的延時。
[0140] 步驟910,丟棄重發(fā)包。
[0141] 具體地,若判定不是首次接收到相應包序號的數(shù)據(jù)包,說明數(shù)據(jù)發(fā)送端102之前 發(fā)送的相應包序號的數(shù)據(jù)包已經(jīng)被成功接收,該重發(fā)包不再起作用,則將該重發(fā)包丟棄。
[0142] 上述數(shù)據(jù)接收方法,接收到合并包后,拆分出原始數(shù)據(jù)包和重發(fā)包。然后根據(jù)重發(fā) 包的包序號進行去重處理,如果首次接收到該包序號的數(shù)據(jù)包,說明該包序號的數(shù)據(jù)包在 傳輸過程中丟失,此時保留該重發(fā)包來替代丟失的數(shù)據(jù)包。如果不是首次接收到該包序號 的數(shù)據(jù)包,說明該包序號的數(shù)據(jù)包之前已被成功接收,此時可直接丟棄該重發(fā)包。這樣通過 去重處理,保證丟失的數(shù)據(jù)包能夠用重發(fā)包來替代,而已接收到的數(shù)據(jù)包的重發(fā)包則直接 丟棄,保證了數(shù)據(jù)傳輸?shù)臏蚀_性和完整性,可以保證高實時性的數(shù)據(jù)傳輸?shù)馁|量。
[0143] 如圖10所示,在一個實施例中,步驟906具體包括如下步驟:
[0144] 步驟1002,求取重發(fā)包的包序號除以通信連接所對應的存儲位置總數(shù)所得的余 數(shù),作為相應的存儲位置序號。
[0145] 具體地,每個通信連接會對應有相應的存儲區(qū)域,該存儲區(qū)域中包括固定數(shù)量的 存儲位置,每個存儲位置用存儲位置序號來唯一標識。存儲位置總數(shù)是指通信連接所對應 的存儲區(qū)域中用于存儲數(shù)值的存儲位置的總數(shù)量。
[0146] 數(shù)據(jù)包的包序號是遞增產生的,比如若一個數(shù)據(jù)包的包序號為0,則下一個數(shù)據(jù)包 的包序號則是1,再下一個則是2,以此類推。將包序號除以存儲位置總數(shù)求得余數(shù),獲得與 重發(fā)包的包序號相應的存儲位置序號,這樣每固定數(shù)量的數(shù)據(jù)包的包序號會循環(huán)利用該固 定數(shù)量的存儲位置來進行去重處理。
[0147] 將包序號除以存儲位置總數(shù)求得余數(shù),也就是將包序號按存儲位置總數(shù)取模。若 存儲位置總數(shù)為2的整數(shù)次冪,則可以截取二進制的包序號的低位來作為存儲位置序號, 相當于將包序號除以存儲位置總數(shù)求得余數(shù)。
[0148] 步驟1004,獲取存儲位置序號所對應的存儲位置處的數(shù)值。
[0149] 具體地,根據(jù)得到的存儲位置序號,獲取對應于相應的通信連接的存儲區(qū)域中相 應存儲位置處的數(shù)值。合并包的收斂會話標識是與通信連接對應的,多個收斂會話標識可 與一個通信連接對應,可獲取與收斂會話標識對應的存儲區(qū)域中,存儲位置序號所對應的 存儲位置處的數(shù)值。若存儲位置用數(shù)組表示,則相應地,步驟1004包括:獲取數(shù)組序號所對 應的數(shù)組中所存儲的數(shù)值。
[0150] 步驟1006,判斷包序號是否大于獲取的數(shù)值。若是,則執(zhí)行步驟908后,執(zhí)行步驟 1008 ;若否,則執(zhí)行步驟910。
[0151] 具體地,通信連接所對應的各個存儲位置處具有初始值,且該初始值小于通信連 接上所有包序號中的最小值,比如取任意負數(shù)值。這樣數(shù)據(jù)接收端104在剛開始去重處 理的工作時,就可以直接通過判定包序號大于初始值而判定首次接收到相應包序號的數(shù)據(jù) 包。
[0152] 步驟1008,將存儲位置序號所對應的存儲位置處的數(shù)值修改為包序號。
[0153] 具體地,若判定包序號大于獲取的數(shù)值,說明首次接收到相應包序號的數(shù)據(jù)包,此 時將該存儲位置序號所對應的存儲位置處的數(shù)值修改為包序號。這樣下次接收到同一包序 號的數(shù)據(jù)包時,就因為包序號與該存儲位置處的數(shù)值相等而判定不是首次接收到該包序號 的數(shù)據(jù)包。
[0154]舉例說明,參照圖11,通信連接所對應的存儲位置用數(shù)組m表示,數(shù)組m的長度為 N,也就是上述的存儲位置總數(shù)。數(shù)據(jù)接收端104在接收到一個包序號為M的數(shù)據(jù)包后,對 該包序號M按數(shù)組m的長度N取模,求得數(shù)組序號id為Mod(M,N)。從數(shù)組m中讀取該數(shù) 組序號id所對應的數(shù)值為m(id),然后比較包序號M與數(shù)值m(id)的大小。若M>m(id),則 將接收到的數(shù)據(jù)包保留,若M<m(id),則將接收到的數(shù)據(jù)包丟棄。
[0155] 本實施例中,通過固定數(shù)量的存儲位置來作為判斷是否首次接收到相應包序號的 數(shù)據(jù)包的依據(jù),占用存儲資源極少,又可以高效地完成去重處理。
[0156] 如圖12所示,在一個實施例中,該數(shù)據(jù)發(fā)送方法還包括請求切換數(shù)據(jù)包發(fā)送工作 方式的步驟,具體包括如下步驟:
[0157] 步驟1202,根據(jù)接收到的數(shù)據(jù)包的頭部信息確定當前數(shù)據(jù)包發(fā)送工作方式。
[0158] 具體地,接收到的數(shù)據(jù)包的頭部信息中包括工作方式標志位,通過該標志位的值 可以確定數(shù)據(jù)發(fā)送端102的當前數(shù)據(jù)包發(fā)送工作方式。這里數(shù)據(jù)包發(fā)送工作方式是指單獨 發(fā)送原始數(shù)據(jù)包的獨立發(fā)送方式和將原始數(shù)據(jù)包和重發(fā)包合并后發(fā)送的合并發(fā)送方式。
[0159] 步驟1204,計算通信連接所對應的網(wǎng)絡質量參數(shù)。
[0160] 具體地,網(wǎng)絡質量參數(shù)是指衡量通信連接的傳輸性能的量化參數(shù),比如丟包率、傳 輸錯誤率、數(shù)據(jù)包延遲時間變化、數(shù)據(jù)包傳輸平均延遲時間等。其中,丟包率是指數(shù)據(jù)在傳 輸中被丟失的比率,在一個實施例中,可以連續(xù)接收到的指定數(shù)量的數(shù)據(jù)包中數(shù)據(jù)包總數(shù) 為被除數(shù)、該多個數(shù)據(jù)包中包序號最大值減去最小值再加一為除數(shù)計算商,將該商作為丟 包率。數(shù)據(jù)包延遲時間可以通過計算接收到數(shù)據(jù)包的時間戳與數(shù)據(jù)包頭部信息中的發(fā)出數(shù) 據(jù)包的時間戳的差值獲得。數(shù)據(jù)包傳輸平均延遲時間則可以通過計算多個數(shù)據(jù)包延遲時間 的平均值得到。
[0161] 步驟1206,若當前數(shù)據(jù)包發(fā)送工作方式為原始數(shù)據(jù)包單獨發(fā)送方式,且網(wǎng)絡質量 參數(shù)在用于表示網(wǎng)絡質量差的第一預設參數(shù)范圍內,則通過通信連接發(fā)送工作方式切換請 求。
[0162] 具體地,第一預設參數(shù)范圍是預先定義的用于表示網(wǎng)絡質量差的數(shù)值范圍,第一 預設參數(shù)范圍可以是超過第一預設值,比如若網(wǎng)絡質量參數(shù)為丟包率,則該第一預設值比 如可以取0. 01~0. 02中的值。若網(wǎng)絡質量參數(shù)為數(shù)據(jù)包傳輸平均延遲時間,則該第一預設 值比如可以取0. 005~0. 01中的值。工作方式切換請求是用于請求數(shù)據(jù)發(fā)送端102進行 工作方式切換的請求,在當前數(shù)據(jù)包發(fā)送工作方式為原始數(shù)據(jù)包單獨發(fā)送方式的情況下, 使得數(shù)據(jù)發(fā)送端102在接收到該工作方式切換請求后進行工作方式切換,切換為合并包發(fā) 送方式。數(shù)據(jù)發(fā)送端102在切換為合并包發(fā)送方式后,將緩存隊列以及與合并包發(fā)送方式 相關的變量進行初始化,與合并包發(fā)送方式相關的變量比如上一次檢測到具有時間戳的數(shù) 據(jù)包的時間戳tslastsign〇
[0163] 步驟1208,若當前數(shù)據(jù)包發(fā)送工作方式為合并包發(fā)送方式,且網(wǎng)絡質量參數(shù)在用 于表示網(wǎng)絡質量好的第二預設參數(shù)范圍內,則通過通信連接發(fā)送工作方式切換請求。
[0164] 具體地,第二預設參數(shù)范圍是預先定義的用于表示網(wǎng)絡質量好的數(shù)值范圍,第二 預設參數(shù)范圍可以是低于第二預設值,比如若網(wǎng)絡質量參數(shù)為丟包率,則該第二預設值比 如可以取0. 01~0. 02中的值。若網(wǎng)絡質量參數(shù)為數(shù)據(jù)包傳輸平均延遲時間,則該第二預 設值比如可以取〇. 005~0. 01中的值。工作方式切換請求是用于請求數(shù)據(jù)發(fā)送端102進 行工作方式切換的請求,在當前數(shù)據(jù)包發(fā)送工作方式為合并包發(fā)送方式的情況下,使得數(shù) 據(jù)發(fā)送端102在接收到該工作方式切換請求后進行工作方式切換,切換為原始數(shù)據(jù)包單獨 發(fā)送方式。在原始數(shù)據(jù)包單獨發(fā)送方式下發(fā)生丟包,可以采用丟包重傳方式重新獲取相應 的數(shù)據(jù)包。
[0165] 本實施例中,考慮到合并包發(fā)送方式會增加單個數(shù)據(jù)包的數(shù)據(jù)量,并非適用于所 有網(wǎng)絡環(huán)境,本實施例中根據(jù)網(wǎng)絡質量參數(shù)來動態(tài)調整數(shù)據(jù)發(fā)送端102的數(shù)據(jù)包發(fā)送工作 方式,提高了兼容性。
[0166] 在一個實施例中,網(wǎng)絡質量參數(shù)為丟包率,步驟1204包括:計算對應于通信連接 的丟包率。且步驟1206中網(wǎng)絡質量參數(shù)在用于表示網(wǎng)絡質量差的第一預設參數(shù)范圍內,包 括:計算出的丟包率超過第一預設值。且步驟1208中網(wǎng)絡質量參數(shù)在用于表示網(wǎng)絡質量好 的第二預設參數(shù)范圍內,包括:計算出的丟包率低于第二預設值。
[0167]在一個實施例中,網(wǎng)絡質量參數(shù)為平均丟包率,則步驟1204包括:計算當前對應 于通信連接的實時丟包率,根據(jù)上一次計算出的平均丟包率和當前的實時丟包率計算當前 的平均丟包率。且步驟1206中網(wǎng)絡質量參數(shù)在用于表示網(wǎng)絡質量差的第一預設參數(shù)范圍 內,包括:當前的平均丟包率超過第一預設值。且步驟1208中網(wǎng)絡質量參數(shù)在用于表示網(wǎng) 絡質量好的第二預設參數(shù)范圍內,包括:當前的平均丟包率低于第二預設值。
[0168] 具體地,實時丟包率是當前實時計算出的丟包率,可以根據(jù)接收到的前n個數(shù)據(jù) 包來計算實時丟包率,比如前1〇〇個數(shù)據(jù)包。考慮到可能存在的亂序,可以延遲預設數(shù)量的 數(shù)據(jù)包,再根據(jù)接收到的前n個數(shù)據(jù)包來計算實時丟包率。比如在接收到第100個數(shù)據(jù)包 后,延遲5個數(shù)據(jù)包,計算從第1到第100個數(shù)據(jù)包的丟包率。
[0169] 根據(jù)下述公式(3)來計算平均丟包率Pt:
[0170]公式(3) :Pt= (l_w)*Pt_i+w*p
[0171] 其中,上述公式(3)Pt_i為上一次計算出的平均丟包率,t表示計算平均丟包率的 次序,P為當前實時計算出的丟包率,w為調整參數(shù),用來調整計算平均丟包率Pt時上一次 計算出的平均丟包率Ph與當前實時計算出的丟包率P各自的權重。
[0172] 本實施例中,根據(jù)平均丟包率來動態(tài)調整數(shù)據(jù)發(fā)送端102的數(shù)據(jù)包發(fā)送工作方 式,考慮了歷史的丟包情況,避免因為短暫的網(wǎng)絡波動而導致頻繁改變數(shù)據(jù)包發(fā)送工作方 式。
[0173] 如圖13所示,在一個實施例中,該數(shù)據(jù)發(fā)送方法還包括對工作方式切換操作進行 確認并處理的步驟,具體包括如下步驟:
[0174] 步驟1302,保存工作方式切換記錄。
[0175] 具體地,保存的工作方式切換記錄至少包括需要切換到的數(shù)據(jù)包發(fā)送工作方式, 還可以保存切換時間、當時的網(wǎng)絡質量參數(shù)等??梢詢H用一處存儲位置來保存工作方式切 換記錄,每次保存時覆蓋寫入。
[0176] 步驟1304,在通過通信連接接收到預設個數(shù)的數(shù)據(jù)包后,獲取當前通過通信
當前第3頁1 2 3 4 5 6 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
周口市| 日喀则市| 天全县| 大城县| 湘阴县| 突泉县| 淳安县| 靖边县| 江北区| 海安县| 新余市| 竹山县| 昌宁县| 松桃| 灌云县| 哈密市| 太谷县| 汉中市| 白河县| 福建省| 岑巩县| 福安市| 临潭县| 运城市| 武安市| 西盟| 屏边| 铜山县| 张家界市| 广安市| 若尔盖县| 黄陵县| 吉林省| 秀山| 英吉沙县| 丽江市| 习水县| 云梦县| 丹凤县| 休宁县| 竹溪县|