專利名稱:數(shù)據報文的處理方法及處理服務器的制作方法
技術領域:
本發(fā)明涉及通信技術,具體涉及一種數(shù)據報文的處理方法及處理服務器。
背景技術:
現(xiàn)在企業(yè)多使用虛擬專用網絡(VPN,Virtual Private Network)服務器或其他代 理服務器,完成對企業(yè)內網的訪問,通??蛻敉ㄟ^服務器訪問內網資源,通常建立一個從客 戶到服務器的一個連接,然后服務器再同內網服務器建立一個連接,并且該服務器中可以 包括多個處理器,即所謂的多核。在現(xiàn)有的做法中,第一種做法是,服務器將所有的數(shù)據進行共享,在該服務器接收 到客戶發(fā)送的連接時,無論服務器中哪個處理器接收到客戶的連接時,該處理器都先必須 對共享數(shù)據進行加鎖和遍歷處理,然后再進行下一步處理;第二種做法是,服務器中的所有 處理器記錄與客戶連接的信息,然后,再由一個處理器解析所有進出服務器的報文的特征 信息,然后,再查找到需要處理的處理器進行相應的處理。發(fā)明人在實現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術至少存在以下缺點第一種做法中, 由于無法確定一組連接能否在一個處理器中處理,只能將相關的數(shù)據在多個處理器中共 享,每個處理器都必須對共享數(shù)據進行加鎖和遍歷處理,處理器間交互頻繁,影響數(shù)據的處 理效率;第二種做法中,由一個處理器來解析所有的報文的特征信息,進而確認相應的處理 器,從而也導致多個處理器需要頻繁交互,影響數(shù)據的處理效率。
發(fā)明內容
本發(fā)明實施例提供一種數(shù)據報文的處理方法及處理服務器,使用相同的處理單元 處理相同的一組連接,并且減少確認處理單元時,處理單元之間需要頻繁交互的情況,從而 可以提高數(shù)據報文的處理效率。根據本發(fā)明的一方面,提供一種數(shù)據報文的處理方法,包括為外部網發(fā)送的數(shù)據報文分配處理單元,令所述處理單元處理所述數(shù)據報文;將預設的所述處理單元對應的端口號作為處理后的數(shù)據報文的源端口號;發(fā)送處理后的數(shù)據報文至內網服務器。根據本發(fā)明的另一方面,還提供一種處理服務器,所述處理服務器與外部網和內 網服務器通信連接,所述處理服務器包括端口管理模塊、處理單元群、及數(shù)據發(fā)送模塊; 其中,所述端口管理模塊,用于為所述外部網發(fā)送的數(shù)據報文分配所述處理單元群的處 理單元,令所述處理單元處理所述數(shù)據報文,并將預設的所述處理單元對應的端口號作為 所述處理后的數(shù)據報文的源端口號;所述數(shù)據發(fā)送模塊,用于發(fā)送處理后的數(shù)據報文至所述內網服務器。本發(fā)明實施例提供的數(shù)據報文的處理方法及處理服務器,通過分配和管理同一個 處理單元來處理外部網和內網服務器發(fā)送的相關聯(lián)的數(shù)據報文,使得相同的一組連接由相同的處理單元處理,并且減少確認處理單元時,處理單元之間需要頻繁交互的情況,從而可 以提高數(shù)據報文的處理效率。
為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使 用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于 本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據這些附圖獲得其 他的附圖。圖1為本發(fā)明實施例中處理服務器的結構示意圖;圖2為本發(fā)明實施例的數(shù)據報文的處理方法的總體流程圖;圖3為本發(fā)明實施例的數(shù)據報文的處理方法的具體流程圖。
具體實施例方式下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護的范圍。圖1為本發(fā)明實施例中處理服務器的結構示意圖。在本實施例中,外部網1與內 部網2通信連接,內部網2可以理解為企業(yè)網。內部網2包括處理服務器21和內網服務器 22,外部網1通過處理服務器21訪問內網服務器22。在本實施例中,處理服務器21可以是 VPN服務器或是代理服務器。在本實施例中,處理服務器21可以將外部網1發(fā)送的數(shù)據進 行處理后,再轉發(fā)至內網服務器22,處理服務器21也可以將內網服務器22發(fā)送的數(shù)據進行 處理后,轉發(fā)至外部網1。在本實施例中,處理服務器21包括端口管理模塊211、處理單元群212 (也可以 稱為CPU群),和數(shù)據發(fā)送模塊213 ;處理服務器21還可以包括數(shù)據接收模塊210和/或 端口劃分模塊214。在本實施例中,處理單元可以包括中央處理器CPU、微處理器MCU、可編 程邏輯門陣列FPGA、數(shù)字信號處理器DSP等。在本實施例中,數(shù)據接收模塊210用于接收外部網1或內網服務器22發(fā)送的數(shù)據 報文。在本實施例中,外部網1發(fā)送的數(shù)據報文為加密的數(shù)據報文,內網服務器22發(fā)送的 數(shù)據報文為非加密的數(shù)據報文。在本實施例中,數(shù)據接收模塊210還用于判斷所接收的數(shù) 據報文的類型,即識別確定當前所接收的數(shù)據報文是來自于外部網1,還是來自于內網服務 器22。在本實施例中,可以現(xiàn)有技術中的識別技術來進行識別,比如,若當前的處理服務器 SSL服務器時,外部網1發(fā)送的數(shù)據報文中的端口號為443,即SSL服務器只需要識別數(shù)據 報文中的端口號即可確定該數(shù)據報文是否為加密報文,從而判斷出是否來自于外部網1。當 然,反過來,由于內網服務器22的發(fā)送至SSL服務器的數(shù)據報文不加密,因而,其端口號不 是443,從而可以進行識別。 在本實施例中,處理單元群212包括多個處理單元,每個處理單元互相獨立,端口 劃分模塊214用于根據處理單元ID劃分端口號,以使處理單元與端口號相對應,便于管理 處理單元群212中的每個處理單元。在本實施例中,端口劃分模塊214可以根據處理單元ID將處理單元群212進行劃分端口范圍,例如處理單元O的的端口范圍可以為3001-6000, 處理單元1的端口范圍可以為6001-9000,依次類推。端口劃分模塊214也可以預先獲取 CPU群214的各處理單元的ID,或者CPU群214的各處理單元的ID是有管理人員預置的。端口管理模塊211用于當數(shù)據接收模塊210確定所接收的數(shù)據報文為外部網1發(fā) 送的數(shù)據報文時,為該數(shù)據報文分配處理單元。在本實施例中,可以采用分配策略對該數(shù)據 報文進行分配處理單元。在本實施例中,該分配策略可以將該數(shù)據報文的IP地址和端口號 進行HASH計算,也可以只將該數(shù)據報文的IP地址進行HASH計算,將HASH計算后的結果匹 配一個處理單元。比如,可以將HASH值同處理單元的ID進行強相關的方式匹配。在本實施例中,端口管理模塊211還用于當為該數(shù)據報文分配一個處理單元時, 將該數(shù)據報文發(fā)送至該處理單元,令所述處理單元處理所述數(shù)據報文。該處理單元對該數(shù) 據報文進行解密處理。在本實施例中,若該數(shù)據報文解密后,若需要發(fā)送至內網服務器22, 數(shù)據發(fā)送模塊213用于將該處理單元處理后的數(shù)據報文發(fā)送至內網服務器22。在本實施 例中,端口管理模塊211可以根據預設的不同的處理單元ID劃分不同的端口號,以使不同 的處理單元管理不同的端口號,并將劃分后的端口號作為所述處理后的數(shù)據報文的源端口 號??梢岳斫鉃槔缣幚韱卧?的端口范圍可以為3001-6000,處理單元1的端口范圍可以 為6001-9000,依次類推,即可以將處理單元0的端口范圍中的某一個端口號作為該數(shù)據報 文的源端口號。在本實施例中,數(shù)據發(fā)送模塊213發(fā)送至內網服務器22的數(shù)據報文中包括 端口管理模塊211劃分的源端口號。在本實施例中,內網服務器22接收處理服務器21發(fā)送的數(shù)據報文,進行相關的處 理,并返回處理后的數(shù)據報文至處理服務器21。此時,內網服務器22返回的數(shù)據報文不進 行加密,并且包括目的端口號。端口管理模塊211用于當數(shù)據接收模塊210判斷所接收的數(shù)據報文為內網服務 器22發(fā)送的數(shù)據報文時,獲取該數(shù)據報文的目的端口號,并將該目的端口號與處理單元群 212中的處理單元管理的端口號進行匹配,判斷所述獲取的目的端口號與發(fā)送至所述內網 服務器的數(shù)據報文中的源端口號是否相同,若相同,則所述數(shù)據報文為將所述源端口號作 為目的端口號的數(shù)據報文。在本實施例中,由于在處理服務器21與內網服務器22進行數(shù) 據交互時,在內網服務器22將處理服務器21發(fā)送的數(shù)據報文進行處理后,需要將該處理后 的數(shù)據報文返回至對應的處理服務器中處理的處理單元,因此,內網服務器22將處理后的 數(shù)據報文的目的端口號與處理服務器發(fā)送的數(shù)據報文的源端口號設置成相同的端口號,并 且該端口號與處理單元ID具有對應的關系。在本實施例中,端口管理模塊211將獲取的該 目的端口號與處理單元群212中的處理單元管理的端口號進行匹配,就可以正確的找著處 理該數(shù)據報文的處理單元ID,從而可以判斷同一個處理單元來處理該數(shù)據報文,從而可以 實現(xiàn)在處理單元群212中的處理單元之間沒有交互的情況下對數(shù)據報文的處理。端口管理模塊211還用于當該目的端口號與處理單元群212中的處理單元的端口 號進行匹配后,將該內網服務器22發(fā)送的數(shù)據報文發(fā)送至匹配的處理單元進行處理。本實施例提供的技術方案,通過端口管理模塊分配和管理同一個處理單元來處理 外部網1和內網服務器22發(fā)送的相關聯(lián)的數(shù)據報文,使得相同的一組連接由相同的處理單 元處理,并且減少確認處理單元時,處理單元之間需要頻繁交互的情況,從而可以提高數(shù)據 報文的處理效率。
圖2為本發(fā)明實施例的數(shù)據報文的處理方法的總體流程圖。在本實施例中,所述的處理數(shù)據報文的方法可以應用于客戶在外部網通過處理服務器或代理服務器來訪問某企業(yè)的內網服務器。在本實施例中,所述方法可以包括步驟S300,為外部網發(fā)送的數(shù)據報文分配處理單元進行處理;也可以理解為,為 外部網發(fā)送的數(shù)據報文分配處理單元,令該處理單元處理該數(shù)據報文。步驟S302,將預設的所述處理單元對應的端口號作為所述處理后的數(shù)據報文的源 端口號;步驟S304,發(fā)送所述數(shù)據報文至內網服務器進行處理。通過上述對步驟S300至S304的說明,實現(xiàn)了本發(fā)明實施例提供的數(shù)據報文的處 理方法,該方法通過分配和管理同一個處理單元來處理外部網發(fā)送的數(shù)據報文,從而可以 避免現(xiàn)有技術中的在處理數(shù)據報文時,處理單元之間需要頻繁交互的情況,從而可以提高 數(shù)據報文的處理效率。該方法還可以包括步驟S306,接收所述內網服務器發(fā)送的將所述源端口號作為目的端口號的處理后 的數(shù)據報文;步驟S308,將數(shù)據報文發(fā)送至所述源端口號對應的處理單元進行處理。該方法通過增加步驟S306和S308,使得從內網服務器發(fā)送來的將源端口號作為 目的端口號的處理后的數(shù)據被發(fā)送到同一個處理單元中進行處理,避免了處理單元之間的 交互,提高數(shù)據報文的處理效率。需要說明的是,步驟S306、S308可以在步驟S300之前執(zhí)行也可以在步驟S304之 后執(zhí)行。當在步驟S304之后執(zhí)行時,所述的述源端口號也就是對各處理單元預設的對應端 口號圖3為本發(fā)明另一實施例的數(shù)據報文的處理方法的具體流程圖。以下進行詳細描述。步驟S400,處理服務器接收數(shù)據報文。在本實施例中,數(shù)據報文可能由外部網發(fā) 送,也可能由內網服務器發(fā)送。步驟S402,判斷是否為外部網或內網服務器的數(shù)據報文。在本實施例中,外部網 與處理服務器交互的數(shù)據報文是加密的數(shù)據,而處理服務器與內網服務器之間交互的數(shù)據 報文不是加密的數(shù)據報文,因而,在步驟中,可以確定是否為加密數(shù)據報文。比如,若當前的 處理服務器SSL服務器時,外部網發(fā)送的數(shù)據報文中的端口號為443,即SSL服務器只需要 識別數(shù)據報文中的端口號即可確定該數(shù)據報文是否為加密報文,從而確定是否來自于外部 網。當然,反過來,由于內網服務器的發(fā)送至SSL服務器的數(shù)據報文不加密,因而,其端口號 不是443,從而可以進行識別。顯然,步驟S402可以對任意兩個端口號不同的數(shù)據進行區(qū) 分,不限于僅區(qū)分出是否加密數(shù)據。在本實施例中,若確定所接收的數(shù)據報文為外部網發(fā)送的數(shù)據報文,則繼續(xù)執(zhí)行 步驟S404,若確定所接收的數(shù)據報文為內網服務器發(fā)送的數(shù)據報文時,則跳過步驟S404、 S406及S408,直接執(zhí)行步驟S410。步驟S404,根據所述數(shù)據報文的IP地址,或者根據所述數(shù)據報文的IP地址和端口 號,為該數(shù)據報文分配處理單元。在本實施例中,可以采用分配策略對該數(shù)據報文進行分配處理單元。在本實施例中,該分配策略可以將該數(shù)據報文的IP地址和端口號進行HASH計 算,也可以只將該數(shù)據報文的IP地址進行HASH計算,將HASH計算后的結果匹配一個處理 單元。比如,可以將HASH值同處理單元的ID進行強相關的方式匹配。需要理解的是,為數(shù) 據報文分配處理單元,不限于采用HASH計算的方法,還可以有其他分配方法。步驟S406,將該數(shù)據報文發(fā)送至該分配的處理單元進行解密處理。步驟S408,將處理后的數(shù)據報文發(fā)送至內網服務器。在本實施例中,在 步驟S400 之前,該方法還可以根據不同的處理單元ID劃分不同的端口號,以使不同的處理單元管理 不同的端口號,將劃分后的端口號作為所述處理后的數(shù)據報文的源端口號??梢岳斫鉃槔?如處理單元0的端口范圍可以為3001-6000,處理單元1的端口范圍可以為6001-9000,依 次類推,即可以將處理單元0的端口范圍中的某一個端口號作為該數(shù)據報文的源端口號。 在本實施例中,發(fā)送至內網服務器的數(shù)據報文中包括劃分的源端口號。當執(zhí)行步驟S408后,處理服務器需要等待內網服務器返回處理該數(shù)據報文的消 息,即返回執(zhí)行步驟S400,接收數(shù)據據文。此時,所接收的數(shù)據報文可能為內網服務器返回 的針對處理服務器發(fā)送的數(shù)據報文的處理消息,也可能為客戶通過外部網發(fā)送的其它數(shù)據 報文。步驟S410,獲取該內網服務器發(fā)送的數(shù)據報文的目的端口號。步驟S412,將該獲取的目的端口號與處理單元管理的端口號進行匹配。在本實施 例中,由于在處理服務器與內網服務器進行數(shù)據交互時,在內網服務器將處理服務器發(fā)送 的數(shù)據報文進行處理后,需要將該處理后的數(shù)據報文返回至對應的處理服務器中處理的處 理單元,因此,內網服務器將處理后的數(shù)據報文的目的端口號與處理服務器發(fā)送的數(shù)據報 文的源端口號設置成相同的端口號,并且該端口號與處理單元ID具有對應的關系。在本實 施例中,將獲取的該目的端口號與處理單元的端口號進行匹配,就可以正確的找著處理該 數(shù)據報文的處理單元ID,從而可以確定同一個處理單元來處理該數(shù)據報文,從而可以實現(xiàn) 處理單元群中的處理單元之間沒有交互的情況下對數(shù)據報文的處理。步驟S414,將該數(shù)據報文發(fā)送至所述源端口號對應的處理單元進行處理,進行相 應的處理。本實施例提供的技術方案,通過分配和管理同一個處理單元來處理外部網和內網 服務器發(fā)送的相關聯(lián)的數(shù)據報文,使得相同的一組連接由相同的處理單元處理,并且減少 確認處理單元時,處理單元之間需要頻繁交互的情況,從而可以提高數(shù)據報文的處理效率。本發(fā)明裝置實施例可以實施本發(fā)明方法實施例。本領域普通技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以 通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質 中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁 碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random Access Memory, RAM)等。以上對本發(fā)明實施例進行了詳細介紹,本文中應用了具體實施方式
對本發(fā)明進行 了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及設備;同時,對于本領域的 一般技術人員,依據本發(fā)明的思想,在具體實施方式
及應用范圍上均會有改變之處,綜上所 述,本說明書內容不應理解為對本發(fā)明的限制。
權利要求
一種數(shù)據報文的處理方法,其特征在于,包括為外部網發(fā)送的數(shù)據報文分配處理單元,令所述處理單元處理所述數(shù)據報文;將預設的所述處理單元對應的端口號作為處理后的數(shù)據報文的源端口號;發(fā)送處理后的數(shù)據報文至內網服務器。
2.根據權利要求1所述的方法,其特征在于,發(fā)送所述處理后的數(shù)據報文至內網服務 器之后,還包括接收所述內網服務器發(fā)送的將所述源端口號作為目的端口號的處理后的數(shù)據報文; 將數(shù)據報文發(fā)送至所述源端口號對應的處理單元進行處理。
3.根據權利要求1所述的方法,其特征在于,所述為外部網發(fā)送的數(shù)據報文分配處理 單元包括根據所述數(shù)據報文的IP地址,或者根據所述數(shù)據報文的IP地址和端口號,為外部網發(fā) 送的數(shù)據報文分配處理單元。
4.根據權利要求1所述的方法,其特征在于,所述將預設的所述處理單元對應的端口 號作為處理后的所述數(shù)據報文的源端口號之前,還包括根據處理單元ID劃分端口號,以使處理單元與端口號相對應。
5.根據權利要求2所述的方法,其特征在于,所述將數(shù)據報文發(fā)送至所述源端口號對 應的處理單元進行處理,包括獲取所述處理后的數(shù)據報文的目的端口號;將所述獲取的目的端口號與所述預設的處理單元對應的端口號進行匹配。
6.一種處理服務器,包括至少一個處理單元,其特征在于,包括端口管理模塊,用于為所述外部網發(fā)送的數(shù)據報文分配處理單元,令所述處理單元處 理所述數(shù)據報文,并將預設的所述處理單元對應的端口號作為所述處理后的數(shù)據報文的源 端口號;數(shù)據發(fā)送模塊,用于發(fā)送處理后的數(shù)據報文至所述內網服務器。
7.根據權利要求6所述的處理服務器,其特征在于,還包括數(shù)據接收模塊,用于接收所述內網服務器發(fā)送的將所述源端口號作為目的端口號的處 理后的數(shù)據報文;其中,所述端口管理模塊還用于將數(shù)據報文發(fā)送至所述源端口號對應的處理單元進行處理。
8.根據權利要求6所述的處理服務器,其特征在于,所述端口管理模塊用于 根據所述數(shù)據報文的IP地址,或者根據所述數(shù)據報文的IP地址和端口號,為外部網發(fā)送的數(shù)據報文分配處理單元;并將預設的所述處理單元對應的端口號作為所述處理后的數(shù) 據報文的源端口號。
9.根據權利要求6所述的處理服務器,其特征在于,還包括端口劃分模塊,用于根據處理單元ID劃分端口號,以使處理單元與端口號相對應。
10.根據權利要求7所述的處理服務器,其特征在于,所述端口管理模塊還用于獲取所 述處理后的數(shù)據報文的目的端口號,將所述獲取的目的端口號與所述處理單元管理的端口 號進行匹配。
全文摘要
本發(fā)明實施例涉及通信技術領域,公開了一種數(shù)據報文的處理方法,其特征在于,包括為外部網發(fā)送的數(shù)據報文分配處理單元,令所述處理單元處理所述數(shù)據報文;將預設的所述處理單元對應的端口號作為處理后的所述數(shù)據報文的源端口號;發(fā)送所述數(shù)據報文至內網服務器。利用本發(fā)明,從而可以避免現(xiàn)有技術中的在處理數(shù)據報文時,處理單元之間需要頻繁交互的情況,從而可以提高數(shù)據報文的處理效率。
文檔編號H04L12/56GK101808039SQ20101013580
公開日2010年8月18日 申請日期2010年3月29日 優(yōu)先權日2010年3月29日
發(fā)明者劉世龍, 劉冰, 張戰(zhàn)兵, 徐蒙 申請人:成都市華為賽門鐵克科技有限公司