專利名稱:互聯網數據流的分類方法及裝置的制作方法
技術領域:
本發明涉及通信技術,尤其涉及一種互聯網數據流的分類方法及裝置。
背景技術:
現有的互聯網數據流的分類技術可以分為幾類簡單包解析(Simple PacketInspection,簡稱為SPI )、深度包解析(Deep Packet Inspection,簡稱為DPI)特征匹配、DPI行為識別以及深度流解析(De印Flow Inspection,簡稱為DFI)。其中,SPI主要通過對報文的五元組(源地址、目的地址、源端口、目的端口以及協議類型)進行分析來確定當前數據流的基本信息。DPI特征匹配主要是通過識別報文中的特定字符串或者比特序列等指紋信息來確定業務所承載的應用。DPI行為識別主要是對終端的行為進行研究并建立行為識別模型,基于行為識別模型來判斷終端正在進行的動作或者即將實施的動作。例如從電子郵件的內容看,垃圾郵件和普通郵件的業務流兩者間根本沒有區別,只有進一步分析,具 體根據發送郵件的大小、頻率、目的郵件和原郵件地址、變化的頻率和被拒絕的頻率等綜合分析,建立綜合識別模型,才能判斷是否為垃圾郵件。DFI主要是基于數據流行為的應用識別技術,即不同的應用類型體現在會話連接或數據流上的狀態各有不同,例如,會話連接流的包長、連接速率、傳輸字節量、包與包之間的間隔等信息來與數據流模型對比,從而實現鑒別應用類型。上述幾種互聯網數據流的分類技術均基于協議的特征庫才能完成數據流的分類。這就使得現有的互聯網數據流的分類技術存在以下缺點協議特征庫需要不斷更新,以防止新協議及協議變種無法及時識別;數據流的分類技術需要足夠的軟硬件資源與不斷擴大的協議集合相匹配,這就導致了軟硬件的頻繁升級,成本不斷的提高。
發明內容
本發明提供一種與協議無關的互聯網數據流的分類方法及裝置,以實現協議無關的網絡數據流粗分類,從而使網絡數據流分類能適應網絡協議的高速變化頻率,保持穩定的軟硬件資源使用量。其中,方法包括根據分類需求提取待分類數據流的特征數據;計算所述特征數據與各個簇中心的相異性指標,所述簇中心是對特征訓練集中的訓練數據進行聚類后形成的,所述相異性指標用于表征所述特征數據與簇中心之間的特征
差異程度;如果所述特征數據與所述各個簇中心中的一個簇中心之間的相異性指標小于預設閾值,則確定所述待分類數據流屬于該簇中心所代表的分類。本發明實施例還提供了一種互聯網數據流的分類裝置,包括提取模塊,用于根據分類需求提取待分類數據流的特征數據;計算模塊,用于從提取模塊獲得所述特征數據,并計算所述特征數據與各個簇中心的相異性指標,所述簇中心是對特征訓練集中的訓練數據進行聚類后形成的,所述相異性指標用于表征所述特征數據與簇中心之間的特征差異程度,將得到的相異性指標發送給分類模塊;分類模塊,用于接收計算模塊發送的相異性指標,當所述特征數據與所述各個簇中心中的一個簇中心之間的相異性指標小于預設閾值時,將所述待分類數據流確定為屬于該簇中心所代表的分類。本發明實施例通過以上技術方案,根據分類需求提取數據流的特征數據,并根據特征數據與根據特征訓練集中的訓練數據形成的各個簇中心的相異性指標來確定該待分類數據流所屬的分類,使得互聯網數據流的 分類僅與特征相關,而與協議無關,可以對新協議和協議變種及時進行分類和處理,不需要儲存協議數據庫,從而使網絡數據流的分類能適應網絡協議的高速變化頻率,并且不需要進行軟硬件資源的頻繁升級。
圖I為本發明實施例一提供的互聯網數據流的分類方法流程圖;圖2為本發明實施例二提供的互聯網數據流的分類方法流程圖;圖3為本發明實施例三提供的互聯網數據流的分類方法流程圖;圖4為本發明實施例四提供的互聯網數據流的分類方法流程圖;圖5為本發明實施例五提供的互聯網數據流的分類裝置結構示意圖;圖6為本發明實施例六提供的互聯網數據流的分類裝置結構示意圖;圖7為本發明實施例七提供的互聯網數據流的分類裝置結構示意圖。
具體實施例方式圖I為本發明實施例一提供的互聯網數據流的分類方法流程圖,如圖I所示,該方法可以包括步驟101、根據分類需求提取待分類數據流的特征數據。具體的,特征數據可以但不限于包括報文與其他報文之間的流表關系特征、報文統計特征(如包長、時間間隔等)、報文在網絡中的拓撲特征(如主機間連接關系等)、報文負載特征(如=ASCII分布、加密等)等等。分類需求可以理解為互聯網數據流分類的目的,例如,對互聯網數據流分類的目的是將網絡中的數據流區分為長包流和短包流,那么可以提取包長這維特征;如果是要將網絡中繁忙節點的傳輸數據流進行區分,則可以提取主機連接數目這維特征。還需要說明的是,步驟101中并不限制提取特征的維數。如果將提取到的特征數據表示為一個矩陣,可以通過矩陣的一行代表一個待分類數據流,矩陣的一列代表一維特征,那么,本步驟101中不限制矩陣的列數。也就是說,可以根據分類需求提取多維特征。步驟103、計算特征數據與各個簇中心的相異性指標,其中,簇中心是對已知的特征訓練集中的訓練數據進行聚類后形成的,該相異性指標用于表征特征數據與簇中心之間的特征差異程度。這里需要說明的是,簇中心是指在對特征訓練集中的多個訓練數據的特征數據進行聚類之后,獲得了各個聚類的中心。每一個簇中心都可以代表不同的數據流的分類,每一個簇可以認為是同一類數據流的特征的集合。相異性指標可以是距離,例如歐式距離、曼哈頓距離、或者其他能顯著表述相異程度的含義。還需要說明的是,每一個簇中心都是采用機器學習的無監督算法(如聚類算法等)在特征空間中形成的。無監督算法的特點主要在于不要求訓練集是經過標注的。這一點就使得這類的機器學習算法在應用到數據流分類的時候,可以解除對協議數據庫的依賴。其中,所謂的“標注”可以理解為不需要手動輸入訓練集中數據的協議信息,訓練集不需要知道其中的數據到底是什么協議。步驟105、如果特征數據與各個簇中心中的一個簇中心之間的相異性指標小于預設閾值,則確定待分類數據流屬于該簇中心所代表的分類。具體的,對于待分類數據流,分別計算其特征數據與各個簇中心之間的距離,根據獲得的距離來判斷待分類數據流的最終分類。如果特征數據與某一個簇中心之間的距離小于預設閾值,就認為該待分類數據流的特征數據與該簇中心所代表的分類的數據流的特征數據之間相異性差別不大,便可以認為該待分類數據屬于該簇中心所代表的分類。需要說明的是,這里的預設閾值可以根據數據流分類的精度需求來靈活設定,而通常的做法是 將距離待分類數據流的特征數據最近的那個簇中心所代表的分類,作為待分類數據流的分類。本發明實施例提供的互聯網數據流的分類方法,根據分類需求提取數據流的特征數據,并根據特征數據與根據特征訓練集中的訓練數據形成的各個簇中心的相異性指標來確定該待分類數據流所屬的分類,使得互聯網數據流的分類僅與特征相關,而與協議無關,可以對新協議和協議變種及時進行分類和處理,不需要儲存協議數據庫,從而使網絡數據流的分類能適應網絡協議的高速變化頻率,并且不需要進行軟硬件資源的頻繁升級。圖2為本發明實施例二提供的互聯網數據流的分類方法流程圖,如圖2所示,在圖I所示方法的基礎上,步驟101之后,該方法還可以包括步驟102、對步驟101中提取到的特征數據進行預處理,得到預處理后的特征數據。相應的,步驟103變形為步驟103’ 計算預處理后的特征數據與各個簇中心之間的相異性指標。其中,預處理可以但不限于包括如下幾種方式中的一種或幾種I、將提取到的特征數據中的異常特征數據以及噪點特征數據進行清理,通過這種預處理方式可以規避步驟103中的異常升級及錯誤分類。2、將提取到的特征數據區間化,由此來保證步驟103中對多種特征數據類型的適應性能。例如,某一特征數據的取值范圍為(T255,進行離散之后,變為(T15共16個值,這16個值的任何一個都代表原始空間中的一個范圍,例如3可以代表[1040]這個范圍。之所以要進行特征數據的區間化,實際上是數據歸一化的一種變形。將不同取值范圍的特征數據區間化到一個相同的取值范圍內,可以弱化這個特征數據取值本身對于相異性指標計算的影響。3、將提取到特征數據映射到相同的數據空間,保證步驟103中數據處理方法的統一。例如,將M維特征空間映射到N維特征空間,一般M〈N。映射可能具有物理意義或者是單純的數學映射,目的是為構造分類器設計更有效的特征組合。比如,將X和Y兩維特征映射為X+2Y,X*Y,X/Y這三維特征。
在上述實施方式的基礎上,圖3為本發明實施例三提供的互聯網數據流的分類方法流程圖,如圖3所示,在上述圖I或者圖2所示的方法的基礎上,步驟101之前,該方法還可以包括步驟100、提取特征訓練集中的訓練數據的特征數據,并采用機器學習的無監督算法對訓練數據的特征數據進行訓練,在特征空間中形成各個簇中心。這里需要說明的是,形成的簇中心的個數是可以預先設定的,每一個簇中心相應的預設的閾值也是可以根據經驗或實際需要進行設定,這里不做贅述。當然,還可以對訓練數據的特征數據進行如步驟102所述的預處理,這里不做贅述。圖4為本發明實施例四提供的互聯網數據流的分類方法流程圖,如圖4所示,在圖3的基礎上,步驟105之后,該方法還可以包括步驟107、將分類后的數據流特征數據和/或無法分類的數據流的特征數據以補充數據的形式對原有的簇中心進行再訓練,形成新的簇中心。補充數據以增補的方式進入上一輪的分類器模型,對分類器模型是一種修正。分類器在本發明實施例中是指分類模型,這個分類模型的實現方式可以分為軟件或硬件或者軟硬件結合的形式。分類器在機器學習/數據挖掘中,是一種通用概念。分類器可以通過對特征訓練集中的訓練數據訓練獲得,并在預測過程中發揮作用。補充數據是特征數據。既可以是未分類的數據流的特征數據,也可以是分類后的數據流的特征數據,還可以是無法分類的數據流的特征數據。不論是否補充數據已經分類,都可以作為增量加入當可以分類 的數據加入,則擴大了已有類別的容量,當無法分類的數據加入,則擴大了分類的種類。其中,新的簇中心的形成過程可以包括當有補充數據進入分類器模型以后,對現有分類器模型的各個簇中心會產生如下幾種影響當該補充數據的類別已存在,則和已存在的樣本集合,共同計算新的簇中心;當該補充數據類別不存在,則形成新的簇中心。若存在簇中心總量的限制,則會產生簇的合并。基于步驟107可以對簇中心進行實時地更新,有利于分類器的完善以及互聯網數據流分類的準確性。在上述實施方式的基礎上,當對待分類數據流進行分類之后,還可以包括如下步驟對分類結果進行分析、整理以及上報。例如,對于每一類數據流所具有的特點進行描述強交互/弱交互、單流多包/單流少包、短包/長包、加密包/非加密包等等。還可以分析互聯網數據流的類別分布特點對某節點的網絡數據流進行分類之后,統計該類數據流在全部數據流中所占的比例關系,考察該節點的網絡數據流所具有的整體特征,如平均負載、各類數據流的時間分布關系等等。還可以對于某單流進行粗分類別對于給定的輸入流,能確定其所屬類別。例如,根據輸入流與現有簇中心的相異性指標,進行綜合判斷后,確定輸入流所屬的簇。該簇的特征特點代表了這個類別的特征特點。需要說明的是,本發明實施例提供的方案是協議無關的分類,所以結果不是具體的協議類別(如MSN,PPLIVE),而是具有相同特征的共同類。本領域普通技術人員可以理解實現上述各方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成。前述的程序可以存儲于一計算機可讀取存儲介質中。該程序在執行時,執行包括上述各方法實施例的步驟;而前述的存儲介質包括R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質。
本發明提供的方案,根據分類需求提取數據流的特征數據,并根據特征數據與根據特征訓練集中的訓練數據形成的各個簇中心的相異性指標來確定該待分類數據流所屬的分類,使得互聯網數據流的分類僅與特征相關,而與協議無關,可以對新協議和協議變種及時進行分類和處理,不需要儲存協議數據庫,從而使網絡數據流的分類能適應網絡協議的高速變化頻率,并且不需要進行軟硬件資源的頻繁升級。圖5為本發明實施例五提供的互聯網數據流的分類裝置結構示意圖,如圖5所示,該裝置可以包括提取模塊501、計算模塊502和分類模塊503,其中,提取模塊501用于根據分類需求提取待分類數據流的特征數據;計算模塊502用于從提取模塊501獲得特征數據,并計算特征數據與根據特征訓練集中的訓練數據形成的各個簇中心的相異性指標,將得到的相異性指標發送給分類模塊503,其中,該相異性指標用于表征特征數據與簇中心之間的特征差異程度;分類模塊503用于接收計算模塊502發送的相異性指標,當特征數據與各個簇中心中的一個簇中心之間的相異性指標小于預設閾值時,將待分類數據流確定為屬于該簇中心所代表的分類。 需要說明的是,本發明實施例五提供的互聯網數據流的分類裝置的提取模塊501、計算模塊502和分類模塊503的具體工作步驟可以參照本發明實施例一的步驟101、步驟103和步驟105,此處不再贅述。圖6為本發明實施例六提供的互聯網數據流的分類裝置結構示意圖,如圖6所示,該裝置還可以包括預處理模塊504,用于從提取模塊501中獲得特征數據,對特征數據進行預處理,并將預處理后的特征數據發送給計算模塊502 ;其中,預處理模塊504對特征數據進行預處理,具體可以包括將特征數據中的異常數據以及噪點數據進行清理;和/或,將特征數據進行區間化;和/或,將特征數據映射到相同的數據空間。需要說明的是,本發明實施例六提供的互聯網數據流的分類裝置的預處理模塊504的具體工作步驟可以參照本發明實施例二的步驟102,此處不再贅述。圖7為本發明實施例七提供的互聯網數據流的分類裝置結構示意圖,如圖7所示,該裝置還可以包括訓練模塊505,用于提取特征訓練集中的訓練數據的特征數據,并采用機器學習的無監督算法對訓練數據的特征數據進行訓練,在特征空間中形成各個簇中心;相應的,計算模塊502還用于從該訓練模塊505中獲得各個簇中心。在上述實施方式的基礎上,訓練模塊505還用于將分類后的數據流的特征數據和/或無法分類的數據流的特征數據以補充數據的形式對原有的簇中心進行再訓練,形成新的簇中心。需要說明的是,本發明實施例七提供的互聯網數據流的分類裝置的訓練模塊505的具體工作步驟可以參照本發明實施例三的步驟100以及實施例四的步驟107,此處不再贅述。最后應說明的是以上各實施例僅用以說明本發明的技術方案,而非對其限制;盡管參照前述各實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技術方案的范圍。
權利要求
1.一種互聯網數據流的分類方法,其特征在于,包括 根據分類需求提取待分類數據流的特征數據; 計算所述特征數據與各個簇中心的相異性指標,所述簇中心是對特征訓練集中的訓練數據進行聚類后形成的,所述相異性指標用于表征所述特征數據與簇中心之間的特征差異程度; 如果所述特征數據與所述各個簇中心中的一個簇中心之間的相異性指標小于預設閾值,則確定所述待分類數據流屬于該簇中心所代表的分類。
2.根據權利要求I所述的方法,其特征在于,在所述根據分類需求提取待分類數據流的特征數據之后,所述方法還包括 對提取到的特征數據進行預處理。
3.根據權利要求2所述的方法,其特征在于,所述對提取到的特征數據進行預處理,具體包括 將提取到的特征數據中的異常數據以及噪點數據進行清理;和/或, 將提取到的特征數據區間化;和/或, 將提取到的特征數據映射到相同的數據空間。
4.根據權利要求I或2所述的方法,其特征在于,在所述根據分類需求提取待分類數據流的特征數據之前,所述方法還包括 提取所述特征訓練集中的訓練數據的特征數據,并采用機器學習的無監督算法對所述訓練數據的特征數據進行訓練,在特征空間中形成各個簇中心。
5.根據權利要求1-4任一項所述的方法,其特征在于,所述方法還包括 將分類后的數據流的特征數據和/或無法分類的數據流的特征數據以補充數據的形式對原有的簇中心進行再訓練,形成新的簇中心。
6.一種互聯網數據流的分類裝置,其特征在于,包括 提取模塊,用于根據分類需求提取待分類數據流的特征數據; 計算模塊,用于從提取模塊獲得所述特征數據,并計算所述特征數據與各個簇中心的相異性指標,將得到的相異性指標發送給分類模塊,所述簇中心是對特征訓練集中的訓練數據進行聚類后形成的,所述相異性指標用于表征所述特征數據與簇中心之間的特征差異程度; 分類模塊,用于接收計算模塊發送的相異性指標,當所述特征數據與所述各個簇中心中的一個簇中心之間的相異性指標小于預設閾值時,將所述待分類數據流確定為屬于該簇中心所代表的分類。
7.根據權利要求6所述的裝置,其特征在于,還包括 預處理模塊,用于從所述提取模塊中獲得所述特征數據,對所述特征數據進行預處理,并將預處理后的特征數據發送給所述計算模塊。
8.根據權利要求7所述的裝置,其特征在于,所述預處理模塊具體用于, 將所述特征數據中的異常數據以及噪點數據進行清理;和/或, 將所述特征數據進行區間化;和/或, 將所述特征數據映射到相同的數據空間。
9.根據權利要求6或7所述的裝置,其特征在于,還包括訓練模塊,用于提取所述特征訓練集中的訓練數據的特征數據,并采用機器學習的無監督算法對所述訓練數據的特征數據進行訓練,在特征空間中形成各個簇中心; 相應的,所述計算模塊還用于從所述訓練模塊中獲得各個簇中心。
10.根據權利要求6-9任一項所述的裝置,其特征在于,所述訓練模塊還用于將分類后的數據流的特征數據和/或無法分類的數據流的特征數據以補充數據的形式對原有的簇中心進行再訓練,形成新的簇中心。
全文摘要
本發明提供一種互聯網數據流的分類方法及裝置,方法包括根據分類需求提取待分類數據流的特征數據;計算特征數據與各個簇中心的相異性指標,簇中心是對特征訓練集中的訓練數據進行聚類后形成的,相異性指標用于表征特征數據與簇中心之間的特征差異程度;如果特征數據與各個簇中心中的一個簇中心之間的相異性指標小于預設閾值,則確定待分類數據流屬于該簇中心所代表的分類。本發明提供的方案,使得互聯網數據流的分類僅與特征相關,而與協議無關,可以對新協議和協議變種及時進行分類和處理,不需要儲存協議數據庫,從而使網絡數據流的分類能適應網絡協議的高速變化頻率,不需要進行軟硬件資源的頻繁升級。
文檔編號H04L12/24GK102739522SQ20121018082
公開日2012年10月17日 申請日期2012年6月4日 優先權日2012年6月4日
發明者吳富強, 孫靈燕, 王磊 申請人:華為技術有限公司