一種網絡流量控制的方法及裝置制造方法
【專利摘要】本發明涉及網絡通信【技術領域】,本發明實施例提供一種網絡流量控制的方法及裝置,用以解決現有技術方案在局域網中流量控制時不能保證某種具體的應用程序所需的帶寬的問題。該方法包括:根據數據報文的特征信息和應用程序的第一對應關系,確定接收到的數據報文的特征信息對應的應用程序;根據已接收的應用程序的數據報文所占帶寬,確定所述應用程序當前所需的帶寬;根據所述應用程序的優先級、所述應用程序當前所需的帶寬以及當前可用的帶寬,為所述應用程序分配帶寬。采用本發明實施例能夠使得優先級高的應用程序的數據報文能夠得到及時處理。
【專利說明】一種網絡流量控制的方法及裝置
【技術領域】
[0001]本發明涉及網絡通信【技術領域】,尤其涉及一種網絡流量控制的方法及裝置。
【背景技術】
[0002]隨著網絡在日常生活中的普及,越來越多的應用程序也被人們使用,人們通過各種應用程序在網絡中工作、學習和娛樂,同時人們對于網絡服務質量的要求也越來越高。但是我們所處的局域網環境中,對外的網絡帶寬的資源是有限的,例如普通的家庭網絡的出口一般不超過10M,因此需要一種網絡流量管理方法來使我們合理地使用有限的帶寬,避免出現網絡擁擠或者急需處理的業務不能夠及時處理的現象的發生。
[0003]目前局域網中常用的網絡流量管理的方法為通過分析網絡流量的一些特征,比如IPdnternet Protocol,網際協議)的源和目的地址、源和目的端口、應用層協議類型等特征,通過在局域網中檢測網絡流量中的這些特征,確定是否對包含某個特征的網絡流量進行放行或限流。比如對發往某個目的IP地址的網絡流量進行限流,當發往此目的IP地址的網絡流量超過設定的閾值時,將超出部分的數據進行丟棄處理,從而實現對網絡流量帶寬進行分類、檢測和控制,有效地利用網絡帶寬,避免網絡流量的擁塞。
[0004]但是這種方法沒有區分局域網中網絡流量的具體應用程序所對應的帶寬消耗,t匕如視頻點播、迅雷下載等應用程序所需要消耗的最小帶寬,因此這種局域網的網絡流量管理方法不能保證用戶在使用某一種具體應用程序時所需要的最小帶寬。比如用戶在局域網中使用視頻點播程序時,同時有多個應用程序在搶占有限的帶寬,當某個應用程序網絡流量突然增大,占用了大量帶寬資源時,視頻點播的部分數據報文會出現延時或者直接被丟棄,導致視頻出現頓卡現象,嚴重影響用戶的觀看體驗。
[0005]綜上所述,現有技術方案中局域網的網絡流量控制的方法不能區分具體的應用,導致在流量控制時不能保證某種具體的應用程序所需的帶寬。
【發明內容】
[0006]本發明實施例提供一種網絡流量控制的方法及裝置,用以解決現有技術方案在局域網中流量控制時不能保證某種具體的應用程序所需的帶寬的問題。
[0007]本發明實施例提供的一種網絡流量控制的方法,包括:
[0008]根據數據報文的特征信息和應用程序的第一對應關系,確定接收到的數據報文的特征信息對應的應用程序;
[0009]根據已接收的應用程序的數據報文所占帶寬,確定所述應用程序當前所需的帶寬;
[0010]根據所述應用程序的優先級、所述應用程序當前所需的帶寬以及當前可用的帶寬,為所述應用程序分配帶寬。
[0011]較佳的,根據已接收的應用程序的數據報文所占帶寬,確定所述應用程序當前所需的帶寬,包括:[0012]根據之前連續N個周期中已接收的所述應用程序的數據報文所占帶寬,確定當前周期內所述應用程序所需的帶寬;
[0013]其中,N為正整數。
[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]根據之前連續N個周期中已接收的所述應用程序的數據報文所占帶寬,確定當前周期內所述應用程序所需的帶寬;其中,N為正整數。
[0041]較佳的,所述帶寬分配單元具體還用于:
[0042]根據應用程序和數據報文的特征信息的第一對應關系,確定已接收的數據報文的特征信息對應的應用程序。
[0043]較佳的,所述帶寬分配單元具體還用于:
[0044]將收到的數據報文的特征信息發送給后臺服務器,以使所述后臺服務器根據應用程序和數據報文的特征信息的第一對應關系,確定所述特征信息對應的應用程序;
[0045]根據所述后臺服務器的通知確定收到的數據報文對應的應用程序。
[0046]較佳的,所述帶寬分配單元根據下列方式確定所述應用程序的優先級:
[0047]根據應用程序和優先級的第二對應關系,確定所述應用程序對應的優先級。
[0048]較佳的,所述帶寬分配單元還根據下列方式確定所述應用程序的優先級:
[0049]在確定所述應用程序的流量特征滿足更新條件后,對所述第二對應關系中,該所述應用程序對應的優先級進行調整。
[0050]較佳的,所述應用程序的流量特征包括以下部分或全部:
[0051]數據報文的流量大小;
[0052]數據報文的數量多少;
[0053]數據報文的收發頻率;
[0054]數據報文產生的時間。
[0055]較佳的,所述帶寬分配單元具體用于:
[0056]若當前需要為多個應用程序分配帶寬,判斷需要分配帶寬的多個應用程序當前所需的帶寬之和是否大于當前可用的帶寬;若大于,則優先為優先級高的應用程序分配帶寬;否則,為每個應用程序分配當前所需帶寬。
[0057]較佳的,所述帶寬分配單元具體用于:
[0058]若當前需要為多個應用程序分配帶寬,判斷需要分配帶寬的多個應用程序當前所需的帶寬之和是否大于當前可用的帶寬;若大于,則將當前可用的帶寬中的第一帶寬分配給優先級最高的應用程序,將按照優先級為其他應用程序分配當前可用的帶寬中的第二帶寬;否則,為每個應用程序分配當前所需帶寬;其中,所述第一帶寬大于所述第二帶寬。
[0059]本發明實施例提供的另一種網絡流量控制的裝置,該裝置包括:
[0060]接收單元,用于接收來自網絡連接設備的數據報文的特征信息;
[0061]應用程序確定單元,用于根據應用程序和數據報文的特征信息的第一對應關系,確定所述特征信息對應的應用程序;
[0062]應用程序分配帶寬單元,用于將確定的應用程序通知所述網絡連接設備,以使所述網絡連接設備根據通知的所述應用程序的優先級、所述應用程序當前所需的帶寬以及當前可用的帶寬,為所述應用程序分配帶寬。
[0063]根據本發明實施例提供的方法,在局域網中,根據應用程序與其數據報文特征信息的對應關系可以識別出具體的應用程序,同時每一種具體的應用程序都對應著優先級,這樣就能控制每一個應用程序的數據報文的帶寬分配,實現針對具體的應用程序的流量控制。通過應用程序已接收的數據報文流量所占帶寬的統計,可以計算出每種應用程序平均所需的帶寬,在對當前可用帶寬進行分配時,根據每種應用程序的優先級高低以及平均所需的帶寬進行帶寬分配。通過這種方法可以識別出局域網中具體的應用程序,根據具體的應用程序的優先級分配帶寬,可以實現對優先級高的應用程序進行帶寬保護,使得優先級高的應用程序能夠優先獲得所需的帶寬,從而使得優先級高的應用程序的數據報文能夠得到及時處理并實現局域網中的流量控制。
【專利附圖】
【附圖說明】
[0064]圖1為本發明實施例一提供的一種網絡流量控制的方法流程圖;
[0065]圖2為本發明實施例二提供的一種網絡流量控制的方法流程圖;
[0066]圖3為本發明實施例三提供的一種網絡流量控制的方法流程圖;
[0067]圖4為本發明實施例四提供的一種網絡流量控制的裝置結構圖;
[0068]圖5為本發明實施例五提供的一種網絡流量控制的裝置結構圖。
【具體實施方式】
[0069]本發明實施例根據應用程序與其數據報文特征信息之間的對應關系可以確定出具體的應用程序,同時根據每個應用程序以前的數據報文所占的帶寬去確定應用程序當前所需的帶寬,最后根據每個應用程序的優先級去對當前可分配的帶寬進行分配,優先滿足優先級高的應用程序所需的帶寬。由于在對當前可用帶寬進行分配時,是根據每種應用程序的優先級高低進行帶寬分配,通過這種方法進行分配帶寬,可以實現對優先級高的應用程序進行帶寬保護,使得優先級高的應用程序能夠優先獲得所需的帶寬,從而使得優先級高的應用程序的數據報文能夠得到及時處理。
[0070]下面結合說明書附圖對本發明實施例做詳細描述。
[0071]如圖1所示,本發明實施例一提供的一種網絡流量控制的方法流程圖,該方法包括:
[0072]步驟101:根據數據報文的特征信息和應用程序的第一對應關系,確定接收到的數據報文的特征信息對應的應用程序;
[0073]步驟102:根據已接收的應用程序的數據報文所占帶寬,確定所述應用程序當前所需的帶寬;
[0074]步驟103:根據所述應用程序的優先級、所述應用程序當前所需的帶寬以及當前可用的帶寬,為所述應用程序分配帶寬。
[0075]本發明實施例中網絡連接設備是指網關或者能夠實現網絡流量控制功能的其他設備。
[0076]不同的應用程序有可能有上行數據報文,也可能有下行數據報文。本發明實施例的方案對于上行數據報文和下行數據報文的處理方式相同。基于此,除非有特別說明,否則本發明實施例的方案上行和下行都可以應用。
[0077]網絡連接設備在接收到和應用程序有關的數據報文時,會計算每個應用程序的數據報文所占的帶寬,然后根據計算得到的帶寬值為應用程序分配固定的帶寬。
[0078]優選的,網絡連接設備計算每個應用程序在一個周期內所需的帶寬,只在一個周期中為應用程序分配固定帶寬,這樣就能在每個周期實時更新應用程序所需的帶寬,避免帶寬資源的浪費。一般一個周期的時長為20秒或30秒,具體根據實際情況設定。
[0079]網絡連接設備確定每個應用程序在當前周期所需的帶寬的過程,是根據以往周期中應用程序所占的帶寬量來確定的。網絡連接設備統計應用程序在當前周期之前連續多個周期內實際所占的帶寬,根據統計結果確定當前周期中應用程序所需的帶寬。具體確定方法可以有多種實現方式,一種方法是將當前周期之前連續多個周期內實際所占的帶寬的平均值確定為當前周期內所需的帶寬;另一種方法是對當前周期之前連續多個周期內實際所占的帶寬的平均值進行加權運算,將運算后的結果確定為當前周期內所需的帶寬。當然具體確定當前周期內應用程序所需的帶寬還有多種實現方法,在此不再一一贅述。
[0080]較佳的,根據已接收的應用程序的數據報文,確定所述應用程序當前所需的帶寬,包括:
[0081]根據之前連續N個周期中已接收的所述應用程序的數據報文所占帶寬,確定當前周期內所述應用程序所需的帶寬;其中,N為正整數。
[0082]網絡連接設備在計算應用程序當前周期所需的帶寬之前要能夠識別每個應用程序,識別的方法是根據應用程序對應的數據報文的特征信息來確定應用程序。網絡連接設備提取數據報文流量中的特征信息,比如:源IP (Internet Protocol,網際協議)地址、源端口、目的IP地址、目的端口、通信協議類型、上行和下行流量等特征信息。根據提取的數據報文流量中的特征信息去識別具體的應用程序。
[0083]例如:視頻流,其中包含很多種類如點播、視頻聊天軟件、互聯網電視等,不同種類有其各自獨特的特征,在此不一一詳細列舉。現在以平時較常用的優酷/樂視/奇異等視頻應用程序為例:HTTP (Hyper Text Transport Protocol,超文本傳輸協議)協議的端口一般都是80,上行和下行數據報文的流量的比例為1:20至1:40之間,上行和下行數據報文的數量比例小于等于1,HTTP分段數據下行的數據報文基本為長度為1434 ;無線傳屏分為大傳小和小傳大,特征信息比較固定,傳輸協議為TCP (Transmission Control Protocol,傳輸控制協議),上行和下行數據報文的流量比分別為1:45至1:60,上行和下行數據報文的數量比為1:2,上行數據報文的控制信息長度為66比特,下行數據報文的控制信息長度為1514比特;網上鄰居,服務器端口固定為Micr0s0ft-ds(445),傳輸協議為TCP和SMB (Server Message Block,服務器信息塊),上行和下行互相發送數據報文時,SMB數據報文作為控制信息,TCP用來傳輸數據等。
[0084]從以上例子可以看出,不同應用程序具有不同的特征信息,對每種已知的應用程序分配一個唯一的應用程序識別碼,將應用程序與應用程序識別碼以及應用程序對應的特征信息對應起來。
[0085]當獲得一個應用程序的一系列的特征信息后,根據每種應用程序與特征信息的對應關系可以判斷此特征信息是否有相對應的應用程序識別碼,若有,則此應用程序為已知的應用程序,因此可以識別出該應用程序具體到是那一種應用。
[0086]網絡連接設備根據統計得到的數據報文的特征信息后,根據應用程序與數據報文的特征信息的對應關系去識別應用程序。由于應用程序數量非常多,不一定能實現對所有應用程序的識別,因此當獲得的特征信息沒有與其相對應的應用程序識別碼時,可以確定該應用程序為未知的應用程序,因此未能識別該應用程序。
[0087]對于未識別出的應用程序,記錄下其數據報文的特征信息并建立對應關系,同時為未識別的應用程序分配一個唯一的應用程序識別碼。這樣就可以實現對應用程序與數據報文特征信息的對應關系的自動學習。
[0088]實現對應用程序的識別可以在網絡連接識別上實現,也可以在后臺服務器上實現。在網絡連接設備上實現時,只需將統計得到的數據報文的特征信息和網絡連接設備上存儲的用程序與數據報文特征信息的對應關系進行匹配,確定對應的應用程序。
[0089]在后臺服務器中實現應用程序的識別時,網絡連接設備將統計的數據報文的特征信息發送到后臺服務器,后臺服務器將特征信息和后臺服務器上存儲的用程序與數據報文特征信息的對應關系進行匹配,后臺服務器將匹配結果發送給網絡連接設備。
[0090]較佳的,根據已接收的應用程序的數據報文所占帶寬,確定所述應用程序當前所需的帶寬之前,還包括:
[0091]將收到的數據報文的特征信息發送給后臺服務器,以使所述后臺服務器根據應用程序和數據報文的特征信息的第一對應關系,確定所述特征信息對應的應用程序;所述網絡連接設備根據所述后臺服務器的通知確定收到的數據報文對應的應用程序。
[0092]識別出應用程序之后,網絡連接設備確定應用程序的優先級,應用程序的優先級是將來對應用程序分配帶寬的一個重要依據。應用程序的優先級是通過QoS(Quality ofService,服務質量)設置實現的,QoS旨在針對各種應用程序的不同需求,為其提供不同的服務質量,能夠更合理地利用我們有限的帶寬資源,為我們不同的應用程序需求提供不同等級的服務。那么,QoS設置可以有效解決在網絡中多個智能終端上同時進行多個應用所出現的網絡帶寬擁擠問題。
[0093]在QoS設置中,根據預先設置的策略設置不同應用的優先級,保證對帶寬要求較高的應用程序的網絡需求(比如視頻播放,無線傳屏等),降低對網絡帶寬需求不高應用程序的優先級(比如迅雷下載等),或者將常用的應用程序,設置較高的優先級,從而達到對網絡流量的控制,解決多個同時進行的多個終端的多個應用程序搶占有限網絡資源的問題。應用程序的優先級可以根據需要優先設置。比如現在有四種應用程序在爭搶帶寬:迅雷下載,無線傳屏,樂視TV視頻,網上鄰居。如果當前希望能夠保證樂視TV視頻的流暢度,那么就將樂視TV視頻的優先級設置為最高,這樣就能在帶寬分配時優先對樂視TV視頻的所需帶寬進行分配。由于有很多應用程序是未能識別的,因此將未識別的應用程序的優先級設置為一個默認值。
[0094]較佳的,根據下列方式確定所述應用程序的優先級:
[0095]根據應用程序和優先級的第二對應關系,確定所述應用程序對應的優先級。
[0096]在QoS設置中,設置完應用程序的優先級之后,還可以根據應用程序的流量特征通過QoS管理策略對QoS設置中應用程序的優先級進行自適應調整。QoS管理策略包含各種預設的條件,例如設定一個流量閾值,當應用程序數據報文流量超過設定的閾值時,將該應用程序的優先級調高一級或者調低一級;也可以設定一個頻率閾值,當應用程序的使用頻率超過設定的閾值時,將該應用程序的優先級調高一級或者調低一級。QoS管理策略中預設的條件還有很多種,但是其原理都和以上所舉例子相通,因此其他預設的條件在此不再--贅述。
[0097]根據Q0S管理策略中預設的條件,可以合理的調整應用程序的優先級,從而更準確的對帶寬資源進行分配。例如在QoS設置中將應用程序A的優先級設置為最高級,應用程序B的優先級設置為最低級,每次分配帶寬都會對應用程序A優先分配。一段時間后發現應用程序A的使用頻率很低,一般30天才使用一次,而且應用程序A所需的帶寬很大,而應用程序B的使用頻率很高,每天都會使用,而且應用程序B所需的帶寬很大,此時根據QoS管理策略中預設的條件將應用程序A的優先級調為最低,將應用程序B的優先級調為最高。這樣就能為經常使用的應用程序優先分配帶寬。
[0098]較佳的,該方法還包括:
[0099]在確定所述應用程序的流量特征滿足更新條件后,對所述第二對應關系中,該所述應用程序對應的優先級進行調整。
[0100]QoS管理策略根據應用程序的流量特征對應用程序的優先級進行調整,該流量特征是應用程序的數據報文在傳輸過程中的統計特征,包括:數據報文的流量大小;數據報文的數量多少;數據報文的收發頻率;數據報文產生的時間等特征。網絡連接設備會根據統計獲得的應用程序的流量特征在QoS管理策略預設的條件中進行比對,當滿足預設的條件時就對應用程序的優先級進行調整。
[0101]較佳的,所述應用程序的流量特征包括以下部分或全部:
[0102]數據報文的流量大小; [0103]數據報文的數量多少;
[0104]數據報文的收發頻率;
[0105]數據報文產生的時間。
[0106]網絡連接設備在分配帶寬時先計算當前待分配帶寬的應用程序所需的帶寬總和,將計算結果與當前可分配的帶寬進行比較,如果當前待分配帶寬的應用程序所需的帶寬總和不大于當前可分配的帶寬,則直接為每個待分配帶寬的應用程序所需的帶寬;否則,網絡連接設備根據待分配帶寬的應用程序的優先級,優先將可分配的帶寬分配給優先級高的應用程序。比如有3個待分配帶寬的應用程序A、B、C和D,它們的優先級為A>B>C = D,A需要2M帶寬,B需要3M帶寬,C和D分別需要IM帶寬。但是此時只有4M帶寬可以分配,網絡連接設備根據應用程序的優先級,優先為A分配它所需的2M帶寬,此時只剩余2M可用帶寬,但是B需要3M帶寬,C和D分別需要IM帶寬,根據優先級關系,將剩余2M帶寬全部分配給B,C和D無法獲得所需的帶寬。此時C和D只能等待下次帶寬分配。
[0107]較佳的,根據所述應用程序的優先級、所述應用程序當前所需的帶寬以及當前可用的帶寬,為所述應用程序分配帶寬,具體包括:
[0108]若當前需要為多個應用程序分配帶寬,判斷需要分配帶寬的多個應用程序當前所需的帶寬之和是否大于當前可用的帶寬;
[0109]若大于,則優先為優先級高的應用程序分配帶寬;
[0110]否則,為每個應用程序分配當前所需帶寬。
[0111]由于C和D的優先級最低,因此它們只能等待其余優先級高的應用程序帶寬分配結束之后有剩余帶寬時才能獲得帶寬。有時優先級高的應用程序會一直占用有限的帶寬,導致優先級低的應用程序一直無法獲得帶寬,使得應用程序一直得不到響應。因此為了避免這種情況的發生,在分配帶寬之前會將可用帶寬分為兩部分:第一帶寬和第二帶寬,第一帶寬和第二帶寬的大小可以預先設置,保證第一帶寬大于第二帶寬。第一帶寬按照應用程序的優先級順序進行分配,第二帶寬作為保留帶寬在優先級較低的應用程序中進行輪詢分配。
[0112]例如上面所述的應用程序A、B、C和D,將當前可用帶寬的第一帶寬設為3M,第二帶寬設為1M。此時網絡連接設備分配帶寬時在第一帶寬中為A分配2M帶寬,將第一帶寬剩余的IM帶寬分配給B。此時將第二帶寬以輪詢的方式分配給C和D,例如當前周期將第二帶寬分配給C,下一周期將第二帶寬分配給D,或者連續若干個周期將第二帶寬分配給C,接著連續若干個周期將第二帶寬分配給D。第一帶寬和第二帶寬的劃分方法在此不再贅述,同時第二帶寬采用的輪詢方法可以參照以上所述的方法,其他與以上所述的方法類似的變形在此不再一一贅述。
[0113]較佳的,根據所述應用程序的優先級、所述應用程序當前所需的帶寬以及當前可用的帶寬,為所述應用程序分配帶寬,具體包括:
[0114]若當前需要為多個應用程序分配帶寬,判斷需要分配帶寬的多個應用程序當前所需的帶寬之和是否大于當前可用的帶寬;
[0115]若大于,則將當前可用的帶寬中的第一帶寬分配給優先級最高的應用程序,將按照優先級為其他應用程序分配當前可用的帶寬中的第二帶寬;
[0116]否則,為每個應用程序分配當前所需帶寬;
[0117]其中,所述第一帶寬大于所述第二帶寬。
[0118]網絡連接設備為應用程序分配完帶寬之后,根據每個應用程序分配的帶寬大小處理每個應用程序的數據報文。當應用程序當前需要帶寬但未分配帶寬時,網絡連接設備會將該應用程序的數據報文進行存儲,直到該應用程序分配了帶寬時再將該應用程序的報文發送出去。
[0119]當應用程序當前所需的帶寬大于當前分配的帶寬時,網絡連接設備會根據該應用程序分配的帶寬大小處理相應數量的數據報文,未處理的數據報文將會存儲起來,直到該應用程序被重新分配了帶寬時再將該應用程序相應數量的剩余數據報文發送出去。當網絡連接設備內存不足時可以丟棄部分優先級低但未分配帶寬的應用程序的數據報文。
[0120]如圖2所示,本發明實施例二提供的一種網絡流量控制的方法流程圖,該方法包括:
[0121]步驟201:后臺服務器接收來自網絡連接設備的數據報文的特征信息;
[0122]步驟202:所述后臺服務器根據應用程序和數據報文的特征信息的第一對應關系,確定所述特征信息對應的應用程序;
[0123]步驟203:所述后臺服務器將確定的應用程序通知所述網絡連接設備,以使所述網絡連接設備根據通知的所述應用程序的優先級、所述應用程序當前所需的帶寬以及當前可用的帶寬,為所述應用程序分配帶寬。
[0124]在識別應用程序時,可以通過后臺服務器對應用程序進行識別。將獲取的應用程序的數據報文的特征信息通過網絡傳送到后臺服務器,后臺服務器對接收到的數據報文的特征信息在應用程序與數據報文的特征信息的對應關系中進行匹配,當獲得匹配結果時將匹配結果發送給網絡連接設備;當未獲得匹配結果時,根據接收的信息建立一個新的應用程序與數據報文的特征信息的對應關系,同時分配一個唯一的應用程序識別碼給該應用程序,將應用程序識別碼與該應用程序的對應關系發送給網絡連接設備。網絡連接設備接收到應用程序識別碼之后,如果未找到該應用程序識別碼對應的應用程序,則將該應用程序判斷為未識別的應用程序,并將該應用程序的優先級設為默認值。
[0125]當網絡連接設備在分配帶寬時先計算當前待分配帶寬的應用程序所需的帶寬總和,將計算結果與當前可分配的帶寬進行比較,如果當前待分配帶寬的應用程序所需的帶寬總和不大于當前可分配的帶寬,則直接為每個待分配帶寬的應用程序分配所需的帶寬;否則,網絡連接設備根據待分配帶寬的應用程序的優先級,優先將可分配的帶寬分配給優先級高的應用程序。
[0126]如圖3所示,本發明實施例三提供的一種網絡流量控制的方法流程圖。下面將根據本發明實施例中圖3所示的流程圖對應用程序的帶寬分配進行說明,在說明過程中僅以應用程序的下行帶寬分配進行說明,應用程序的上行帶寬分配與上行帶寬的分配方法一致,再此不再一一贅述。
[0127]客戶端303的應用程序的數據報文通過網絡連接設備302時,網絡連接設備302對數據報文的特征信息進行提取,根據提取到的特征信息對應用程序進行識別,識別的過程可以在網絡連接設備302上實現,也可以在后臺服務器301上實現。
[0128]當網絡連接設備302識別應用程序時,如果未能識別該應用程序,則將該應用程序分配一個唯一的應用程序識別碼,并與該應用程序的特征信息建立對應關系;如果識別出應用程序,則確定識別出的應用程序的應用程序識別碼。
[0129]當后臺服務器301識別應用程序時,后臺服務器301接收網絡連接設備302通過網絡傳輸的特征信息,并根據該特征信息進行識別,并將識別結果傳輸給網絡連接設備
302。如果未能識別該應用程序,則將該應用程序分配一個唯一的應用程序識別碼,并與該應用程序的特征信息建立對應關系;如果識別出應用程序,則確定識別出的應用程序的應用程序識別碼。
[0130]網絡連接設備302根據識別應用程序的結果在QoS設置中獲得該應用程序的優先級。QoS設置會對未識別的應用程序以及未預先設置優先級的已知應用程序預設一個默認優先級。
[0131]網絡連接設備302接收到客戶端303的應用程序的數據報文后,根據當前可分配的帶寬以及當前待分配帶寬的應用程序所需的帶寬對應用程序分配帶寬。如果當前待分配帶寬的應用程序所需的帶寬總和不大于當前可分配的帶寬,則直接為每個待分配帶寬的應用程序分配所需的帶寬;否則,網絡連接設備根據待分配帶寬的應用程序的優先級,優先將可分配的帶寬分配給優先級高的應用程序。
[0132]分配完帶寬之后,網絡連接設備302根據每個應用程序所分配的帶寬對數據報文進行處理。當應用程序當前需要帶寬但未分配帶寬時,網絡連接設備302會將該應用程序的數據報文進行存儲,直到該應用程序分配了帶寬時再將該應用程序的報文發送給客戶端
303。
[0133]當應用程序當前所需的帶寬大于當前分配的帶寬時,網絡連接設備302會根據該應用程序分配的帶寬大小處理相應數量的數據報文,未處理的數據報文將會存儲起來,直到該應用程序被重新分配了帶寬時再將該應用程序相應數量的剩余數據報文發送給客戶端 303。
[0134]當網絡連接設備302內存不足時,可以丟棄部分優先級低且未分配帶寬的應用程序的數據報文。
[0135]針對上述方法流程,本發明實施例還提供一種網絡流量控制的裝置,此裝置的具體內容可以參照上述方法實施,在此不再贅述。
[0136]如圖4所示,本發明實施例四提供的一種網絡流量控制的裝置結構圖,該裝置包括:
[0137]確定單元401,用于根據數據報文的特征信息和應用程序的第一對應關系,確定接收到的數據報文的特征信息對應的應用程序;
[0138]帶寬確定單元402,用于根據已接收的應用程序的數據報文所占帶寬,確定所述應用程序當前所需的帶寬;
[0139]帶寬分配單元403,用于根據所述應用程序的優先級、所述應用程序當前所需的帶寬以及當前可用的帶寬,為所述應用程序分配帶寬。
[0140]較佳的,所述帶寬確定單元402具體用于:
[0141]根據之前連續N個周期中已接收的所述應用程序的數據報文所占帶寬,確定當前周期內所述應用程序所需的帶寬;其中,N為正整數。
[0142]較佳的,所述帶寬分配單元403具體還用于:
[0143]根據應用程序和數據報文的特征信息的第一對應關系,確定已接收的數據報文的特征信息對應的應用程序。
[0144]較佳的,所述帶寬分配單元403具體還用于:
[0145]將收到的數據報文的特征信息發送給后臺服務器,以使所述后臺服務器根據應用程序和數據報文的特征信息的第一對應關系,確定所述特征信息對應的應用程序;
[0146]根據所述后臺服務器的通知確定收到的數據報文對應的應用程序。
[0147]較佳的,所述帶寬分配單元403根據下列方式確定所述應用程序的優先級:
[0148]根據應用程序和優先級的第二對應關系,確定所述應用程序對應的優先級。
[0149]較佳的,所述帶寬分配單元403還根據下列方式確定所述應用程序的優先級:
[0150]在確定所述應用程序的流量特征滿足更新條件后,對所述第二對應關系中,該所述應用程序對應的優先級進行調整。
[0151]較佳的,所述應用程序的流量特征包括以下部分或全部:
[0152]數據報文的流量大小;數據報文的數量多少;數據報文的收發頻率;數據報文產生的時間。
[0153]較佳的,所述帶寬分配單元403具體用于:
[0154]若當前需要為多個應用程序分配帶寬,判斷需要分配帶寬的多個應用程序當前所需的帶寬之和是否大于當前可用的帶寬;若大于,則優先為優先級高的應用程序分配帶寬;否則,為每個應用程序分配當前所需帶寬。
[0155]較佳的,所述帶寬分配單元403具體用于:
[0156]若當前需要為多個應用程序分配帶寬,判斷需要分配帶寬的多個應用程序當前所需的帶寬之和是否大于當前可用的帶寬;若大于,則將當前可用的帶寬中的第一帶寬分配給優先級最高的應用程序,將按照優先級為其他應用程序分配當前可用的帶寬中的第二帶寬;否則,為每個應用程序分配當前所需帶寬;其中,所述第一帶寬大于所述第二帶寬。
[0157]如圖5所示,本發明實施例五提供的一種網絡流量控制的裝置結構圖,該裝置包括:
[0158]接收單元501,用于接收來自網絡連接設備的數據報文的特征信息;
[0159]應用程序確定單元502,用于根據應用程序和數據報文的特征信息的第一對應關系,確定所述特征信息對應的應用程序;
[0160]應用程序分配帶寬單元503,用于將確定的應用程序通知所述網絡連接設備,以使所述網絡連接設備根據通知的所述應用程序的優先級、所述應用程序當前所需的帶寬以及當前可用的帶寬,為所述應用程序分配帶寬。
[0161]從上述內容可以看出,在局域網中,本發明實施例中通過根據每種應用程序的數據報文特征信息識別出每個數據報文對應的應用程序,同時每個應用程序都有其相對應的優先級,然后對每種應用程序已接收的數據報文流量所占帶寬的統計,可以計算出每種應用程序平均所需的帶寬,在對當前可用帶寬進行分配時,根據每種應用程序的優先級高低以及平均所需的帶寬進行帶寬分配。通過這種方法進行分配帶寬,可以實現對優先級高的應用程序進行帶寬保護,使得優先級高的應用程序能夠優先獲得所需的帶寬,從而使得優先級高的應用程序的數據報文能夠得到及時處理并實現局域網中的流量控制。同時為了避免優先級高的應用程序始終占用帶寬使得優先級低的應用程序無法獲得帶寬分配,本發明實施例中還將當前可用帶寬分為第一帶寬和第二帶寬,第一帶寬用于在優先級高的應用程序中進行帶寬分配,第二帶寬用于在優先級較低的應用程序中進行輪詢分配。這樣就可以使得優先級低的應用程序也能獲得一定的帶寬,不會導致優先級低的應用程序由于長時間得不到處理而導致數據報文被丟棄。
[0162]本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或計算機程序產品。因此,本發明可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器和光學存儲器等)上實施的計算機程序產品的形式。
[0163]本發明是參照根據本發明實施例的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0164]這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0165]這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0166]顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和范圍。這樣,倘若本發明的這些修改和變型屬于本發明權利要求及其等同技術的范圍之內,則本發明也意圖包含這些改動和變型在內。
【權利要求】
1.一種網絡流量控制的方法,其特征在于,該方法包括: 根據數據報文的特征信息和應用程序的第一對應關系,確定接收到的數據報文的特征信息對應的應用程序; 根據已接收的應用程序的數據報文所占帶寬,確定所述應用程序當前所需的帶寬;根據所述應用程序的優先級、所述應用程序當前所需的帶寬以及當前可用的帶寬,為所述應用程序分配帶寬。
2.如權利要求1所述的方法,其特征在于,根據已接收的應用程序的數據報文所占帶寬,確定所述應用程序當前所需的帶寬,包括: 根據之前連續N個周期中已接收的所述應用程序的數據報文所占帶寬,確定當前周期內所述應用程序所需的帶寬; 其中,N為正整數。
3.如權利要求1所述的方法,其特征在于, 根據應用程序和優先級的第二對應關系,確定所述應用程序對應的優先級。
4.如權利要求3所述的方法,其特征在于,該方法還包括: 在確定所述應用程序的流量特征滿足更新條件后,對所述第二對應關系中,該所述應用程序對應的優先級進行調整。
5.如權利要求4所述的方法,其特征在于,所述應用程序的流量特征包括以下部分或全部: 數據報文的流量大小; 數據報文的數量多少; 數據報文的收發頻率; 數據報文產生的時間。
6.如權利要求1所述的方法,其特征在于,根據所述應用程序的優先級、所述應用程序當前所需的帶寬以及當前可用的帶寬,為所述應用程序分配帶寬,具體包括: 若當前需要為多個應用程序分配帶寬,判斷需要分配帶寬的多個應用程序當前所需的帶寬之和是否大于當前可用的帶寬; 若大于,則優先為優先級高的應用程序分配帶寬; 否則,為每個應用程序分配當前所需帶寬。
7.如權利要求1所述的方法,其特征在于,根據所述應用程序的優先級、所述應用程序當前所需的帶寬以及當前可用的帶寬,為所述應用程序分配帶寬,具體包括: 若當前需要為多個應用程序分配帶寬,判斷需要分配帶寬的多個應用程序當前所需的帶寬之和是否大于當前可用的帶寬; 若大于,則將當前可用的帶寬中的第一帶寬分配給優先級最高的應用程序,將按照優先級為其他應用程序分配當前可用的帶寬中的第二帶寬; 否則,為每個應用程序分配當前所需帶寬; 其中,所述第一帶寬大于所述第二帶寬。
8.—種網絡流量控制的方法,其特征在于,該方法包括: 后臺服務器接收來自網絡連接設備的數據報文的特征信息; 所述后臺服務器根據應用程序和數據報文的特征信息的第一對應關系,確定所述特征信息對應的應用程序; 所述后臺服務器將確定的應用程序通知所述網絡連接設備,以使所述網絡連接設備根據通知的所述應用程序的優先級、所述應用程序當前所需的帶寬以及當前可用的帶寬,為所述應用程序分配帶寬。
9.一種網絡流量控制的裝置,其特征在于,該裝置包括: 確定單元,用于根據數據報文的特征信息和應用程序的第一對應關系,確定接收到的數據報文的特征信息對應的應用程序; 帶寬確定單元,用于根據已接收的應用程序的數據報文所占帶寬,確定所述應用程序當前所需的帶寬; 帶寬分配單元,用于根據所述應用程序的優先級、所述應用程序當前所需的帶寬以及當前可用的帶寬,為所述應用程序分配帶寬。
10.如權利要求9所述的裝置,其特征在于,所述帶寬確定單元具體用于: 根據之前連續N個周期中已接收的所述應用程序的數據報文所占帶寬,確定當前周期內所述應用程序所需的帶寬;其中,N為正整數。
11.如權利要求9所述的裝置,其特征在于,所述帶寬分配單元根據下列方式確定所述應用程序的優先級: 根據應用程序和優先級的第二對應關系,確定所述應用程序對應的優先級。
12.如權利要求9所述的裝置,其特征在于,所述帶寬分配單元還根據下列方式確定所述應用程序的優先級: 在確定所述應用程序的流量特征滿足更新條件后,對所述第二對應關系中,該所述應用程序對應的優先級進行調整。
13.如權利要求12所述的裝置,其特征在于,所述應用程序的流量特征包括以下部分或全部: 數據報文的流量大小;數據報文的數量多少;數據報文的收發頻率;數據報文產生的時間。
14.如權利要求9所述的裝置,其特征在于,所述帶寬分配單元具體用于: 若當前需要為多個應用程序分配帶寬,判斷需要分配帶寬的多個應用程序當前所需的帶寬之和是否大于當前可用的帶寬;若大于,則優先為優先級高的應用程序分配帶寬;否貝U,為每個應用程序分配當前所需帶寬。
15.如權利要求9所述的裝置,其特征在于,所述帶寬分配單元具體用于: 若當前需要為多個應用程序分配帶寬,判斷需要分配帶寬的多個應用程序當前所需的帶寬之和是否大于當前可用的帶寬;若大于,則將當前可用的帶寬中的第一帶寬分配給優先級最高的應用程序,將按照優先級為其他應用程序分配當前可用的帶寬中的第二帶寬;否則,為每個應用程序分配當前所需帶寬;其中,所述第一帶寬大于所述第二帶寬。
16.一種網絡流量控制的裝置,其特征在于,該裝置包括: 接收單元,用于接收來自網絡連接設備的數據報文的特征信息; 應用程序確定單元,用于根據應用程序和數據報文的特征信息的第一對應關系,確定所述特征信息對應的應用程序; 應用程序分配帶寬單元,用于將確定的應用程序通知所述網絡連接設備,以使所述網絡連接設備根據通知的所述應用程序的優先級、所述應用程序當前所需的帶寬以及當前可用的帶寬, 為所述應用程序分配帶寬。
【文檔編號】H04L12/26GK103986715SQ201410215626
【公開日】2014年8月13日 申請日期:2014年5月21日 優先權日:2014年5月21日
【發明者】劉志坤, 陳娜娜 申請人:海信集團有限公司