一種數據分發的方法和裝置的制造方法
【技術領域】
[0001] 本發明涉及計算機技術領域,特別涉及一種數據分發的方法和裝置。
【背景技術】
[0002] 隨著移動終端技術的發展,移動終端的應用越來越廣泛,功能也越來越強大。移動 終端可以通過路由器接入互聯網,用戶則可以訪問網絡資源,如瀏覽網頁,或者觀看網絡視 頻等。為了給用戶提供足夠的帶寬,一些服務商采用支持多鏈路的無線接入設備(如路由 器)來為用戶提供服務。多鏈路可以是使用不同通訊協議的鏈路,如使用3G( 3rd-generation),第三代移動通信技術)通信協議的鏈路,或者使用4G(4rd-generation),第三 代移動通信技術)通信協議的鏈路。
[0003] 在使用多鏈路進行數據傳輸的過程中,路由器一般會存儲各鏈路的物理帶寬。物 理帶寬是鏈路理論上可以使用的最大帶寬。路由器可以實時檢測各鏈路的已用帶寬,然后 可以用已用帶寬處理對應的物理帶寬,得到各鏈路帶寬利用率,進而可以選取帶寬利用率 較低的鏈路來分發數據。
[0004] 在實現本發明的過程中,發明人發現現有技術至少存在以下問題:
[0005] 在進行無線數據傳輸的過程中,鏈路的帶寬會受到其他因素的影響而發生變化 (如天氣因素),尤其是在用戶高速移動的情況下,鏈路的實際可用的最大帶寬與物理帶寬 差距較大,這時,根據物理帶寬和已用帶寬,無法選擇合適的鏈路進行數據分發,這樣會導 致數據分發的效率較低。
【發明內容】
[0006] 為了解決現有技術的問題,本發明實施例提供了一種數據分發的方法和裝置。所 述技術方案如下:
[0007] 第一方面,提供了 一種數據分發的方法,所述方法包括:
[0008] 獲取各鏈路當前的已用帶寬和丟包率,根據所述各鏈路當前的丟包率,選取待使 用鏈路;
[0009] 根據選取的各待使用鏈路當前的已用帶寬、丟包率、預先存儲的各鏈路的測試丟 包率,以及所述各待使用鏈路對應的物理帶寬,分別確定所述各待使用鏈路對應的數據包 數目;
[0010] 根據所述各待使用鏈路對應的數據包數目,對接收到的待發送數據包進行發送處 理。
[0011] 可選的,所述根據選取的各待使用鏈路當前的已用帶寬、丟包率、預先存儲的各鏈 路的測試丟包率,以及所述各待使用鏈路對應的物理帶寬,分別確定所述各待使用鏈路對 應的數據包數目,包括:
[0012] 根據選取的各待使用鏈路當前的丟包率、預先存儲的各鏈路的測試丟包率,以及 所述各待使用鏈路對應的物理帶寬,確定所述各待使用鏈路對應的當前最大容許帶寬;
[0013] 確定所述各待使用鏈路對應的當前最大容許帶寬與所述各待使用鏈路當前的已 用帶寬的差值,得到所述各待使用鏈路當前的剩余帶寬,并根據所述各待使用鏈路當前的 剩余帶寬,分別確定所述各待使用鏈路對應的數據包數目。
[0014] 可選的,所述根據所述各待使用鏈路對應的數據包數目,對接收到的待發送數據 包進行發送處理,包括:
[0015] 根據所述各待使用鏈路對應的數據包數目,以及所述待發送數據包的接收順序, 對接收到的待發送數據包進行發送處理。
[0016] 可選的,所述方法還包括:
[0017] 根據所述各待使用鏈路當前的丟包率,確定所述各待使用鏈路的優先級;
[0018] 所述根據所述各待使用鏈路對應的數據包數目,對接收到的待發送數據包進行發 送處理,包括:
[0019] 獲取接收到的待發送數據包的優先級,根據所述待發送數據包的優先級,以及各 待使用鏈路的優先級,確定所述待發送數據包對應的待使用鏈路;
[0020] 根據所述各待使用鏈路對應的數據包數目,將所述待發送數據包通過其對應的待 使用鏈路進行發送處理。
[0021] 可選的,所述根據選取的各待使用鏈路當前的已用帶寬、丟包率、預先存儲的各鏈 路的測試丟包率,以及所述各待使用鏈路對應的物理帶寬,分別確定所述各待使用鏈路對 應的數據包數目,包括:
[0022] 獲取當前的位置信息,根據預先存儲的位置信息與各鏈路的測試丟包率的對應關 系,確定當前的位置信息對應的各鏈路的測試丟包率;
[0023] 根據選取的各待使用鏈路當前的已用帶寬、丟包率、確定出的各鏈路的測試丟包 率,以及所述各待使用鏈路對應的物理帶寬,分別確定所述各待使用鏈路對應的數據包數 目。
[0024] 第二方面,提供了 一種數據分發的裝置,所述裝置包括:
[0025] 獲取模塊,用于獲取各鏈路當前的已用帶寬和丟包率,根據所述各鏈路當前的丟 包率,選取待使用鏈路;
[0026] 第一確定模塊,用于根據選取的各待使用鏈路當前的已用帶寬、丟包率、預先存儲 的各鏈路的測試丟包率,以及所述各待使用鏈路對應的物理帶寬,分別確定所述各待使用 鏈路對應的數據包數目;
[0027] 發送模塊,用于根據所述各待使用鏈路對應的數據包數目,對接收到的待發送數 據包進行發送處理。
[0028]可選的,所述第一確定模塊,包括:
[0029] 第一確定子模塊,用于根據選取的各待使用鏈路當前的丟包率、預先存儲的各鏈 路的測試丟包率,以及所述各待使用鏈路對應的物理帶寬,確定所述各待使用鏈路對應的 當前最大容許帶寬;
[0030] 第二確定子模塊,用于確定所述各待使用鏈路對應的當前最大容許帶寬與所述各 待使用鏈路當前的已用帶寬的差值,得到所述各待使用鏈路當前的剩余帶寬,并根據所述 各待使用鏈路當前的剩余帶寬,分別確定所述各待使用鏈路對應的數據包數目。
[0031] 可選的,所述發送模塊,用于:
[0032]根據所述各待使用鏈路對應的數據包數目,以及所述待發送數據包所屬的數據流 的接收順序,對接收到的待發送數據包進行發送處理。
[0033] 可選的,所述裝置還包括:
[0034]第二確定模塊,用于根據所述各待使用鏈路當前的丟包率,確定所述各待使用鏈 路的優先級;
[0035]所述發送模塊,包括:
[0036]第三確定子模塊,用于獲取接收到的待發送數據包的優先級,根據所述待發送數 據包的優先級,以及各待使用鏈路的優先級,確定所述待發送數據包對應的待使用鏈路; [0037]發送子模塊,用于根據所述各待使用鏈路對應的數據包數目,將所述待發送數據 包通過其對應的待使用鏈路進行發送處理。
[0038]可選的,所述第一確定模塊,包括:
[0039] 第四確定子模塊,用于獲取當前的位置信息,根據預先存儲的位置信息與各鏈路 的測試丟包率的對應關系,確定當前的位置信息對應的各鏈路的測試丟包率;
[0040] 第五確定子模塊,用于根據選取的各待使用鏈路當前的已用帶寬、丟包率、確定出 的各鏈路的測試丟包率,以及所述各待使用鏈路對應的物理帶寬,分別確定所述各待使用 鏈路對應的數據包數目。
[0041] 本發明實施例提供的技術方案帶來的有益效果是:
[0042]本發明實施例中,獲取各鏈路當前的已用帶寬和丟包率,根據各鏈路當前的丟包 率,選取待使用鏈路,根據選取的各待使用鏈路當前的已用帶寬、丟包率、預先存儲的各鏈 路的測試丟包率,以及各待使用鏈路對應的物理帶寬,分別分別確定各待使用鏈路對應的 數據包數目,根據各待使用鏈路對應的數據包數目,對接收到的待發送數據包進行發送處 理,這樣,可以根據各鏈路當前的丟包率和已用帶寬等多種性能參數,選取合適的鏈路發送 數據,從而可以提高數據分發的效率。
【附圖說明】
[0043] 為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使 用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于 本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他 的附圖。
[0044] 圖1是本發明實施例提供的一種數據分發的方法流程圖;
[0045] 圖2是本發明實施例提供的一種系統框架圖;
[0046]圖3a、圖3b、圖3c是本發明實施例提供的一種數據分發的方法流程圖;
[0047] 圖4是本發明實施例提供的一種數據分發的裝置結構示意圖;
[0048] 圖5是本發明實施例提供的一種路由設備的結構示意圖。
【具體實施方式】
[0049] 為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明實施方 式作進一步地詳細描述。
[0050] 本發明實施例提供了一種數據分發的方法,該方法的執行主體為路由設備。該路 由設備可以是安裝在火車或者汽車等可以處于移動狀態的交通工具上的路由設備,也可以 是用戶隨身攜帶的路由設備。本實施例以路由設備為路由器,路由器安裝在火車上為例進 行介紹。火車上的用戶可以將自己的終端(可稱作用戶終端)與火車上的路由器(可以稱作 第一路由器)建立連接,該連接可以是無線連接,也可以是有線連接,無線連接可以是WIFI (