Wireless Fidelity,無線保真)連接。第一路由器可以與某個固定的路由器(可以稱作第 二路由器)建立多鏈路連接。多鏈路可以是使用不同通訊協議的鏈路,如使用36(3"_ generation),第三代移動通信技術)通信協議的鏈路,或者使用4G(4rd-generation),第四 代移動通信技術)通信協議的鏈路。第二路由器可以放置在某個數據中心中,與多個服務提 供商的后臺服務器連接,如某網站的后臺服務器。當用戶需要訪問網絡資源時,用戶終端可 以向第一路由器發送業務請求,第一路由器則可以在多個鏈路中,選擇需要使用的鏈路,并 通過該鏈路對應的基站,將業務請求發送給第二路由器,第二路由器可以將該業務請求轉 發給對應的后臺服務器,并可以接收該后臺服務器發送的業務數據,然后可以通過鏈路將 該業務數據發送給第二路由器,第二路由器接收到該業務數據后,可以將該業務數據發送 給對應的用戶終端,以使用戶可以訪問網絡資源。本發明實施例提供的數據分發方法,可以 應用在第一路由器與第二路由器的數據交互過程中,第一路由器和第二路由器都可以應用 本發明實施例提供的數據分發方法,向對方發送數據包。本實施例以第一路由器向第二路 由器發送數據包為例進行說明,第二路由器向第一路由器發送數據包的處理過程與之類 似,不再贅述。如圖2所示,為本發明的系統框架圖,其中包括第一路由器、第二路由器、基 站、后臺服務,以及與第一路由器連接的多個終端。
[0051 ] 如圖1所示,本發明的處理流程可以包括以下步驟:
[0052]步驟101,獲取各鏈路當前的已用帶寬和丟包率,根據各鏈路當前的丟包率,選取 待使用鏈路。
[0053]在實施中,第一路由器中可以存儲預設的獲取周期,預設的獲取周期可以在2秒~ 5秒的范圍內,優選的,預設的獲取周期可以設置為3秒。在火車行駛的過程中,路由器可以 在每達到預設的獲取周期時,獲取各鏈路當前的已用帶寬和丟包率。第一路由器中可以存 儲丟包率對應的第一基準范圍,以選取可用的鏈路(即待使用鏈路)。第一路由器可以在與 第二路由器連接的所有鏈路中,確定對應的丟包率在第一基準范圍內的鏈路,將確定出的 鏈路作為待使用鏈路。另外,第一路由器還可以存儲已用帶寬對應的第二基準范圍,第一路 由器可以確定對應的丟包率在第一基準范圍內,且已用帶寬在第二基準范圍內的鏈路,作 為待使用鏈路。例如,第一基準范圍可以為〇~50%,第二基準范圍可以為5M~10M,則第一 路由器可以確定已用帶寬在5M~10M范圍內,且丟包率在0~50%范圍內的鏈路。
[0054] 第一路由器選取待使用鏈路后,可以生成可用鏈路列表,以及不可用鏈路列表,并 且可以為可用鏈路列表和不可用鏈路列表中的每條鏈路進行編號。例如,可用鏈路列表中 包含η條鏈路,則可以將鏈路編號為0、1、2…η-I。
[0055] 可選的,還可以根據其他參數來選取待使用鏈路,相應的處理過程可以如下:獲取 各鏈路當前的信號強度和往返延時,根據各鏈路當前的信號強度和往返延時,選取待使用 鏈路。
[0056] 在實施中,第一路由器還可以獲取各鏈路當前的信號強度和往返延時,這樣,第一 路由器可以根據各鏈路當前的信號強度和往返延時、已用帶寬和丟包率來選取待使用鏈 路。第一路由器中可以預先存儲信號強度對應的第三基準范圍,以及往返延時對應的第四 基準范圍。第一路由器可以在與第二路由器連接的所有鏈路中,確定對應的丟包率在第一 基準范圍內,已用帶寬在第二基準范圍內,信號強度在第三基準范圍內,并且往返延時在第 四基準范圍內的鏈路,將確定出的鏈路作為待使用鏈路。其中,往返延時是數據包從第一路 由器發送到第二路由器的時長的兩倍。另外,第一路由器可以根據不同的鏈路選取策略,通 過上述信號強度和往返延時、已用帶寬和丟包率等質量信息參數中的一項或多項的組合, 來選取待使用鏈路。
[0057]步驟102,根據選取的各待使用鏈路當前的已用帶寬、丟包率、預先存儲的各鏈路 的測試丟包率,以及各待使用鏈路對應的物理帶寬,分別確定各待使用鏈路對應的數據包 數目。
[0058]在實施中,技術人員可以通過實際測量,得到各鏈路的測試丟包率。例如,在火車 行駛的過程中,對于第一路由器和第二路由器之間建立的每條鏈路,第一路由器可以通過 各條鏈路,向第二路由器持續發送測試數據包,并接收第二路由器持續發送的測試數據包, 進而可以記錄各鏈路對應的丟包率。技術人員可以計算在火車行駛的過程中,各鏈路的平 均丟包率,從而得到各鏈路的測試丟包率。第一路由器可以存儲各鏈路的測試丟包率。
[0059] 在用戶通過第一路由器訪問網絡資源的過程中,第一路由器可以根據選取的各待 使用鏈路當前的已用帶寬、丟包率、預先存儲的各鏈路的測試丟包率,以及各待使用鏈路對 應的物理帶寬,分別確定各待使用鏈路對應的數據包數目,每個待使用鏈路對應的數據包 數目,即每個鏈路對應的數據包的分發數目。
[0060] 可選的,可以先估計各待使用鏈路的最大容許帶寬,再分別確定各待使用鏈路對 應的數據包數目,相應的,步驟102的處理過程可以如下:根據選取的各待使用鏈路當前的 丟包率、預先存儲的各鏈路的測試丟包率,以及各待使用鏈路對應的物理帶寬,確定各待使 用鏈路對應的當前最大容許帶寬;確定各待使用鏈路對應的當前最大容許帶寬與各待使用 鏈路當前的已用帶寬的差值,得到各待使用鏈路當前的剩余帶寬,并根據各待使用鏈路當 前的剩余帶寬,分別確定各待使用鏈路對應的數據包數目。
[0061] 在實施中,對于每個待使用鏈路,第一路由器可以根據以下公式估算當前最大容 許帶寬,即:
[0062 ]當前最大容許帶寬=該鏈路的物理帶寬* (1 -該鏈路當前的丟包率)/(1 -該鏈路的 測試丟包率)
[0063]然后,第一路由器可以用每個待使用鏈路的當前最大容許帶寬,減去對應的已用 帶寬,得到每個待使用鏈路當前的剩余帶寬,進而可以計算各待使用鏈路當前的剩余帶寬 的比例關系,根據該比例關系,確定各待使用鏈路對應的數據包數目。
[0064]例如,待使用鏈路為A、B、C,第一路由器計算出A的當前最大容許帶寬為100M,B的 當前最大容許帶寬為80M,C的當前最大容許帶寬為60M,并獲取到A的已用帶寬為50M,B的已 用帶寬為40M,C的已用帶寬為40M,則可以確定A當前的剩余帶寬為50M,B當前的剩余帶寬為 40M,C當前的剩余帶寬為20M,然后可以得到A、B、C當前的剩余帶寬的比例關系,即5:4:2,然 后可以確定A對應的數據包數目為5,B對應的數據包數目為4, C對應的數據包數目為2。 [0065]可選的,可以根據不同位置的丟包率,來計算各待使用鏈路對應的數據包數目,相 應的,步驟102的處理過程可以如下:獲取當前的位置信息,根據預先存儲的位置信息與各 鏈路的測試丟包率的對應關系,確定當前的位置信息對應的各鏈路的測試丟包率;根據選 取的各待使用鏈路當前的已用帶寬、丟包率、確定出的各鏈路的測試丟包率,以及各待使用 鏈路對應的物理帶寬,分別確定各待使用鏈路對應的數據包數目。
[0066] 在實施中,第一路由器中可以安裝定位部件,如GPS(Global Positioning System,全球定位系統)部件,技術人員可以通過實際測量,得到各鏈路的在不同地理位置 的測試丟包率。例如,在火車行駛的過程中,第一路由器可以通過與第二路由器之間建立的 各條鏈路,向第二路由器持續發送測試數據包,并接收第二路由器持續發送的測試數據包, 第一路由器可以在每達到預設的測試周期時,獲取各鏈路當前的丟包率(即測試丟包率), 并可以獲取當前的位置信息,如當前的經度和煒度,然后可以將各鏈路當前的測試丟包率 和當前的位置信息進行對應的存儲,建立位置信息與各鏈路的測試丟包率的對應關系,該 對應關系可以如下表所示:
[0068] 在用戶通過第一路由器訪問網絡資源的過程中,第一路由器可以檢測當前的位置 信息,然后可以在上表中,查詢與當前接近度最高的位置信息,進而可以查找到各待使用鏈 路對應的測試丟包率。第一路由器可以根據選取的各待使用鏈路當前的已用帶寬、丟包率、 查找到的各鏈路的測試丟包率,以及各待使用鏈路對應的物理帶寬,按照上述方法計算當 前最大容許帶寬,然后第一路由器可以每個待使用鏈路的當前最大容許帶寬,減去對應的 已用帶寬,得到每個待使用鏈路當前的剩余帶寬,進而可以計算各待使用鏈路當前的剩余 帶寬的比例關系,根據該比例關系,確定各待使用鏈路對應的數據包數目。
[0069] 步驟103,根據各待使用鏈路對應的數據包數目,對接收到的待發送數據包進行發 送處理。
[0070] 在實施中,在用戶通過第一路由器訪問網絡資源的過程中,第一路由器可以持續 接收待發送數據包,待發送數據包可以是用戶發出的業務數據請求,也可以是用戶需要上 傳的業務數據。第一路由器接收到待發送數據包后,可以對待發送數據包進行解析,確定待 發送數據包的業務類型,進而可以根據待發送數據包的業務類型,以及根據各待使用鏈路 對應的數據包數目,對待發送數據包進行發送處理。例如,業務類型可以包括視頻類型和文 字類型,如果待發送數據