本發(fā)明涉及深度包檢測領域,具體是涉及一種面向大數(shù)據(jù)的深度包檢測系統(tǒng)及方法。
背景技術:
DPI(Deep Packet Inspection,深度包檢測)技術基于從二層到七層網(wǎng)絡協(xié)議的分析,能夠實現(xiàn)對網(wǎng)絡中數(shù)據(jù)的精確感知,從而做到對網(wǎng)絡現(xiàn)狀的精確把握,深度包檢測技術也能夠將網(wǎng)絡中的數(shù)據(jù)進行分類、分析和初步處理,以提供給其它應用或技術進行進一步處理和使用。另一方面,大數(shù)據(jù)時代已經(jīng)到來,大數(shù)據(jù)是指無法在可承受的時間范圍內用常規(guī)軟件工具進行捕捉、管理和處理的數(shù)據(jù)集合,也就是說,大數(shù)據(jù)需要新的技術和方法,被網(wǎng)絡不斷創(chuàng)造且持續(xù)存在于網(wǎng)絡中的大數(shù)據(jù)包含的信息價值是不可估量的,但由于魚龍混雜,大數(shù)據(jù)提取使用極端困難,使得處在網(wǎng)絡中的各方既希望從大數(shù)據(jù)中收益,又無法輕松自如的從大數(shù)據(jù)中得到有價值的信息。
在大數(shù)據(jù)時代,大數(shù)據(jù)相關技術面向網(wǎng)絡實時分析時,面臨巨大困難和挑戰(zhàn)。一方面網(wǎng)絡產生的大數(shù)據(jù)龐大,另一方面,網(wǎng)絡相關的應用對實時性要求較高。那么,如何解決上述問題就值得深入研究。
技術實現(xiàn)要素:
本發(fā)明的目的是為了克服上述背景技術的不足,提供一種面向大數(shù)據(jù)的深度包檢測系統(tǒng)及方法,能顯著提高大數(shù)據(jù)相關技術的實時性和效率。
本發(fā)明提供一種面向大數(shù)據(jù)的深度包檢測系統(tǒng),該深度包檢測系統(tǒng)的核心組件是深度包檢測引擎,它基于深度包檢測策略規(guī)則庫來實現(xiàn)深度包檢測功能,深度包檢測引擎包括數(shù)據(jù)包掃描子功能實體、數(shù)據(jù)包分析子功能實體、數(shù)據(jù)預提取子功能實體、數(shù)據(jù)預轉換子功能實體、數(shù)據(jù)包操作執(zhí)行子功能實體,其中:
數(shù)據(jù)包掃描子功能實體用于完成進入深度包檢測系統(tǒng)的數(shù)據(jù)包的初步檢測;
數(shù)據(jù)包分析子功能實體用于完成進入深度包檢測系統(tǒng)的數(shù)據(jù)包的基本分析;
數(shù)據(jù)預提取子功能實體用于實現(xiàn)針對大數(shù)據(jù)需求的數(shù)據(jù)預提?。?/p>
數(shù)據(jù)預轉換子功能實體用于實現(xiàn)針對大數(shù)據(jù)需求的數(shù)據(jù)預轉換;
數(shù)據(jù)包操作執(zhí)行子功能實體用于實現(xiàn)對進入系統(tǒng)的數(shù)據(jù)包的最終操作。
在上述技術方案的基礎上,所述數(shù)據(jù)預提取子功能實體和數(shù)據(jù)預轉換子功能實體配置成旁路狀態(tài),以實現(xiàn)所述深度包檢測系統(tǒng)與傳統(tǒng)深度包檢測系統(tǒng)的兼容。
在上述技術方案的基礎上,所述數(shù)據(jù)包掃描子功能實體、數(shù)據(jù)包分析子功能實體、數(shù)據(jù)預提取子功能實體、數(shù)據(jù)預轉換子功能實體、數(shù)據(jù)包操作執(zhí)行子功能實體分別由一個或多個對應的元引擎來實現(xiàn),元引擎為實現(xiàn)某一特定的功能的基本部件。
在上述技術方案的基礎上,所述數(shù)據(jù)包掃描子功能實體由一個數(shù)據(jù)包掃描元引擎單獨實現(xiàn)數(shù)據(jù)包掃描功能,或由多個數(shù)據(jù)包掃描元引擎協(xié)同實現(xiàn)數(shù)據(jù)包掃描功能;
數(shù)據(jù)包分析子功能實體由一個數(shù)據(jù)包分析元引擎單獨實現(xiàn)數(shù)據(jù)包分析功能,或由多個數(shù)據(jù)包分析元引擎協(xié)同實現(xiàn)數(shù)據(jù)包分析功能;
數(shù)據(jù)預提取子功能實體由一個數(shù)據(jù)預提取元引擎單獨實現(xiàn)數(shù)據(jù)預提取功能,或由多個數(shù)據(jù)預提取元引擎協(xié)同實現(xiàn)數(shù)據(jù)預提取功能;
數(shù)據(jù)預轉換子功能實體由一個數(shù)據(jù)預轉換元引擎單獨實現(xiàn)數(shù)據(jù)預轉換功能,或由多個數(shù)據(jù)預轉換元引擎協(xié)同實現(xiàn)數(shù)據(jù)預轉換功能;
數(shù)據(jù)包操作執(zhí)行子功能實體由一個數(shù)據(jù)包操作執(zhí)行元引擎單獨實現(xiàn)數(shù)據(jù)包操作執(zhí)行功能,或由多個數(shù)據(jù)包操作執(zhí)行元引擎協(xié)同實現(xiàn)數(shù)據(jù)包操作執(zhí)行功能。
在上述技術方案的基礎上,所述數(shù)據(jù)包掃描子功能實體、數(shù)據(jù)包分析子功能實體、數(shù)據(jù)預提取子功能實體、數(shù)據(jù)預轉換子功能實體、數(shù)據(jù)包操作執(zhí)行子功能實體的元引擎數(shù)量由深度包檢測系統(tǒng)內部的硬、軟件資源配置情況決定,各子功能實體對應的元引擎數(shù)量相同,或者不同。
在上述技術方案的基礎上,不同類的元引擎按照流水線串行操作,同類的元引擎按照并行、串行或混合方式工作,根據(jù)配置信息確定。
在上述技術方案的基礎上,在同一個子功能實體內的多個元引擎按照并行、串行或混合模式工作,不同在一個子功能實體內的多個元引擎按照串行方式工作。
本發(fā)明還提供一種應用于上述深度包檢測系統(tǒng)的面向大數(shù)據(jù)的深度包檢測方法,包括以下步驟:
S1、深度包檢測系統(tǒng)獲取給定的大數(shù)據(jù)采集和轉換的需求;
S2、深度包檢測系統(tǒng)將上述需求轉換成系統(tǒng)的配置信息;
S3、深度包檢測系統(tǒng)將配置信息下達數(shù)據(jù)包掃描功能子實體、數(shù)據(jù)包分析功能子實體、數(shù)據(jù)預提取功能子實體、數(shù)據(jù)預轉換功能子實體、數(shù)據(jù)包操作執(zhí)行功能子實體中;
S4、數(shù)據(jù)包掃描功能子實體、數(shù)據(jù)包分析功能子實體、數(shù)據(jù)預提取功能子實體、數(shù)據(jù)預轉換功能子實體、數(shù)據(jù)包操作執(zhí)行功能子實體分解功能,并分配到對應的元引擎中;
S5、深度包檢測系統(tǒng)里已獲配置的所有元引擎協(xié)同完成上述需求。
與現(xiàn)有技術相比,本發(fā)明的優(yōu)點如下:
本發(fā)明的深度包檢測系統(tǒng)的核心組件是深度包檢測引擎,它基于深度包檢測策略規(guī)則庫來實現(xiàn)深度包檢測功能,深度包檢測引擎由數(shù)據(jù)包掃描、數(shù)據(jù)包分析、數(shù)據(jù)預提取、數(shù)據(jù)預轉換、數(shù)據(jù)包操作執(zhí)行等子功能實體組成,同時,上述五種子功能實體均由對應的元引擎來實現(xiàn)。具體來說,深度包檢測引擎包括一個或多個數(shù)據(jù)包掃描元引擎、一個或多個數(shù)據(jù)包分析元引擎、一個或多個數(shù)據(jù)預提取元引擎、一個或多個數(shù)據(jù)預轉換元引擎以及一個或多個數(shù)據(jù)包操作執(zhí)行元引擎。本發(fā)明的深度包檢測方法包括以下步驟:深度包檢測系統(tǒng)獲取大數(shù)據(jù)采集和轉換的需求;深度包檢測系統(tǒng)將上述需求轉換成配置信息;配置信息下達數(shù)據(jù)包掃描、數(shù)據(jù)包分析、數(shù)據(jù)預提取、數(shù)據(jù)預轉換、數(shù)據(jù)包操作執(zhí)行等功能子實體中;上述功能子實體分解功能并分配到對應的元引擎中;深度包檢測系統(tǒng)里的所有已獲配置的元引擎協(xié)同完成上述需求。本發(fā)明基于大數(shù)據(jù)分析技術的架構,結合深度包檢測技術的優(yōu)勢,使得深度包檢測技術在大數(shù)據(jù)采集中扮演更重要的角色,不僅能夠實現(xiàn)傳統(tǒng)的深度包檢測功能,同時能夠根據(jù)需要實現(xiàn)部分的大數(shù)據(jù)提取和轉換功能,替大數(shù)據(jù)上層技術和應用減輕負擔,能顯著提高大數(shù)據(jù)相關技術的實時性和效率。
附圖說明
圖1是本發(fā)明實施例中面向大數(shù)據(jù)的深度包檢測系統(tǒng)的結構框圖。
圖2是典型大數(shù)據(jù)分析系統(tǒng)的功能結構示意圖。
圖3是本發(fā)明實施例中深度包檢測系統(tǒng)多個同類元引擎的串行工作方式示意圖。
圖4是本發(fā)明實施例中深度包檢測系統(tǒng)多個同類元引擎的并行工作方式示意圖。
圖5是本發(fā)明實施例中深度包檢測系統(tǒng)多個同類元引擎的混合工作方式示意圖。
圖6是本發(fā)明實施例中面向大數(shù)據(jù)的深度包檢測方法的流程圖。
圖7是本發(fā)明實施例中面向大數(shù)據(jù)的深度包檢測系統(tǒng)與大數(shù)據(jù)分析服務器及控制或管理服務器的關系示意圖。
具體實施方式
下面結合附圖及具體實施例對本發(fā)明作進一步的詳細描述。
參見圖1所示,本發(fā)明實施例提供一種面向大數(shù)據(jù)的深度包檢測系統(tǒng),該深度包檢測系統(tǒng)的核心組件是深度包檢測引擎,它基于深度包檢測策略規(guī)則庫來實現(xiàn)深度包檢測功能,深度包檢測引擎包括數(shù)據(jù)包掃描子功能實體、數(shù)據(jù)包分析子功能實體、數(shù)據(jù)預提取子功能實體、數(shù)據(jù)預轉換子功能實體、數(shù)據(jù)包操作執(zhí)行子功能實體,其中:
數(shù)據(jù)包掃描子功能實體用于完成進入深度包檢測系統(tǒng)的數(shù)據(jù)包的初步檢測;
數(shù)據(jù)包分析子功能實體用于完成進入深度包檢測系統(tǒng)的數(shù)據(jù)包的基本分析;
數(shù)據(jù)預提取子功能實體用于實現(xiàn)針對大數(shù)據(jù)需求的數(shù)據(jù)預提取,上述數(shù)據(jù)預提取功能可以根據(jù)應用需要和深度包檢測系統(tǒng)的資源情況配置,它可以是大數(shù)據(jù)的數(shù)據(jù)提取的全部或部分功能。
數(shù)據(jù)預轉換子功能實體用于實現(xiàn)針對大數(shù)據(jù)需求的數(shù)據(jù)預轉換,同樣,上述數(shù)據(jù)預轉換功能可以根據(jù)應用需要和深度包檢測系統(tǒng)的資源情況配置,轉換后的數(shù)據(jù)能夠更方便的為大數(shù)據(jù)上層技術和應用存儲、處理和使用。
數(shù)據(jù)包操作執(zhí)行子功能實體用于實現(xiàn)對進入系統(tǒng)的數(shù)據(jù)包的最終操作。
數(shù)據(jù)預提取子功能實體和數(shù)據(jù)預轉換子功能實體可以配置成旁路狀態(tài),即數(shù)據(jù)預提取子功能實體、數(shù)據(jù)預轉換子功能實體對應的功能可不執(zhí)行,以實現(xiàn)本發(fā)明實施例中的深度包檢測系統(tǒng)與傳統(tǒng)深度包檢測系統(tǒng)的兼容。
圖2是大數(shù)據(jù)系統(tǒng)的典型功能結構示意圖。從圖2可以看出,大數(shù)據(jù)系統(tǒng)始于數(shù)據(jù)收集,在進入數(shù)據(jù)庫之前還需提取清洗和轉換,分別由數(shù)據(jù)預提取子功能實體、數(shù)據(jù)預轉換子功能實體部分或完全實現(xiàn)。
數(shù)據(jù)包掃描子功能實體、數(shù)據(jù)包分析子功能實體、數(shù)據(jù)預提取子功能實體、數(shù)據(jù)預轉換子功能實體、數(shù)據(jù)包操作執(zhí)行子功能實體分別由一個或多個對應的元引擎來實現(xiàn),元引擎為實現(xiàn)某一特定的功能的基本部件。
數(shù)據(jù)包掃描子功能實體由一個數(shù)據(jù)包掃描元引擎單獨實現(xiàn)數(shù)據(jù)包掃描功能,或由多個數(shù)據(jù)包掃描元引擎協(xié)同實現(xiàn)數(shù)據(jù)包掃描功能。
數(shù)據(jù)包分析子功能實體由一個數(shù)據(jù)包分析元引擎單獨實現(xiàn)數(shù)據(jù)包分析功能,或由多個數(shù)據(jù)包分析元引擎協(xié)同實現(xiàn)數(shù)據(jù)包分析功能。
數(shù)據(jù)預提取子功能實體由一個數(shù)據(jù)預提取元引擎單獨實現(xiàn)數(shù)據(jù)預提取功能,或由多個數(shù)據(jù)預提取元引擎協(xié)同實現(xiàn)數(shù)據(jù)預提取功能。
數(shù)據(jù)預轉換子功能實體由一個數(shù)據(jù)預轉換元引擎單獨實現(xiàn)數(shù)據(jù)預轉換功能,或由多個數(shù)據(jù)預轉換元引擎協(xié)同實現(xiàn)數(shù)據(jù)預轉換功能。
數(shù)據(jù)包操作執(zhí)行子功能實體由一個數(shù)據(jù)包操作執(zhí)行元引擎單獨實現(xiàn)數(shù)據(jù)包操作執(zhí)行功能,或由多個數(shù)據(jù)包操作執(zhí)行元引擎協(xié)同實現(xiàn)數(shù)據(jù)包操作執(zhí)行功能。
數(shù)據(jù)包掃描子功能實體、數(shù)據(jù)包分析子功能實體、數(shù)據(jù)預提取子功能實體、數(shù)據(jù)預轉換子功能實體、數(shù)據(jù)包操作執(zhí)行子功能實體的元引擎數(shù)量由深度包檢測系統(tǒng)內部的硬、軟件資源配置情況決定,各子功能實體對應的元引擎數(shù)量可以相同,也可以不同。
如果一類元引擎有多個,多個同類元引擎實現(xiàn)的功能可以相同,也可以不相同。如果多個同類元引擎實現(xiàn)的功能相同,則多個同類元引擎的輸入應不相同(為實現(xiàn)可靠性而設計的冗余除外),以保證元引擎的資源利用率。
如果任一子功能實體包含多個元引擎,那么這多個元引擎互為同類元引擎,同類元引擎實現(xiàn)的功能并非完全相同,例如,數(shù)據(jù)預提取子功能實體有A、B、C三個元引擎,A、B、C可以具有完全相同的設計,用來處理不同的數(shù)據(jù)包;A、B、C也可以設計成不一樣,分別處理同一數(shù)據(jù)包的不同部分。同類元引擎可有多種執(zhí)行關系,分別為串行、并行和混合方式。
不同類的元引擎按照流水線串行操作。同類的元引擎可以按照并行、串行或混合方式工作,這根據(jù)配置信息確定。數(shù)據(jù)包掃描子功能實體、數(shù)據(jù)包分析子功能實體、數(shù)據(jù)預提取子功能實體、數(shù)據(jù)預轉換子功能實體、數(shù)據(jù)包操作執(zhí)行子功能實體對應的功能依次串行執(zhí)行。
在同一個子功能實體內的多個元引擎可按照并行、串行或混合模式工作。不同在一個子功能實體內的多個元引擎按照串行方式工作。
圖3、圖4、圖5分別描述上述串行、并行和混合方式。上述三種方式可以根據(jù)深度包檢測系統(tǒng)的資源情況和需求情況進行選擇。
數(shù)據(jù)包掃描子功能實體、數(shù)據(jù)包分析子功能實體、數(shù)據(jù)預提取子功能實體、數(shù)據(jù)預轉換子功能實體、數(shù)據(jù)包操作執(zhí)行子功能實體的元引擎可以根據(jù)需求來配置和調度,對于一個特定的需求,不需所有的元引擎都參與該需求的實現(xiàn)。
本發(fā)明實施例中的各子功能實體基于對應的元引擎來實現(xiàn)對應的功能。元引擎是實現(xiàn)某一功能的基本部件,可以是邏輯上獨立的硬件資源,如多核處理器的一個核(CORE),也可以是邏輯上獨立的軟件資源,如同一服務器上的一個進程。
分別對應數(shù)據(jù)包掃描子功能實體、數(shù)據(jù)包分析子功能實體、數(shù)據(jù)預提取子功能實體、數(shù)據(jù)預轉換子功能實體、數(shù)據(jù)包操作執(zhí)行子功能實體的元引擎為異類元引擎,異類元引擎以串行方式執(zhí)行。
參見圖6所示,本發(fā)明實施例還提供一種應用于上述深度包檢測系統(tǒng)的面向大數(shù)據(jù)的深度包檢測方法,包括以下步驟:
S1、深度包檢測系統(tǒng)獲取給定的大數(shù)據(jù)采集和轉換的需求,該需求是基于整個大數(shù)據(jù)分析系統(tǒng)的功能和性能以及深度包檢測系統(tǒng)的資源而定的。一方面,該需求能夠為深度包檢測系統(tǒng)的資源所支持,另一方面,實現(xiàn)該需求可以提高整個大數(shù)據(jù)分析系統(tǒng)的功能和性能。
參見圖7所示,深度包檢測系統(tǒng)與對應的控制或管理服務器以及大數(shù)據(jù)系統(tǒng)發(fā)生聯(lián)系,這只是一個最簡化的模型,實際應用時網(wǎng)絡更為復雜。因此,上述需求可以來自控制或管理服務器,也可以直接來自于大數(shù)據(jù)系統(tǒng)。
需要注意的是,上述需求是基于整個大數(shù)據(jù)分析系統(tǒng)的功能和性能以及深度包檢測系統(tǒng)的資源而定的。一方面,上述需求能夠為深度包檢測系統(tǒng)的資源所支持,另一方面,實現(xiàn)上述需求可以提高整個大數(shù)據(jù)分析系統(tǒng)的功能和性能。
S2、深度包檢測系統(tǒng)將上述需求轉換成系統(tǒng)的配置信息。
需求來自深度包檢測系統(tǒng)外部,需要遵循深度包檢測系統(tǒng)和外部的通信協(xié)議。但深度包檢測系統(tǒng)的配置信息則依賴于系統(tǒng)資源的情況,兩者之間需要映射,本步驟實現(xiàn)映射功能。
S3、深度包檢測系統(tǒng)將配置信息下達數(shù)據(jù)包掃描功能子實體、數(shù)據(jù)包分析功能子實體、數(shù)據(jù)預提取功能子實體、數(shù)據(jù)預轉換功能子實體、數(shù)據(jù)包操作執(zhí)行功能子實體中。
S4、數(shù)據(jù)包掃描功能子實體、數(shù)據(jù)包分析功能子實體、數(shù)據(jù)預提取功能子實體、數(shù)據(jù)預轉換功能子實體、數(shù)據(jù)包操作執(zhí)行功能子實體分解功能,并分配到對應的元引擎中。
深度包檢測系統(tǒng)需要基于系統(tǒng)的各子功能實體的情況,將配置信息分解,使得分解后的配置信息可以為各子功能實體所接受,對應的功能也可以由各子功能實體實現(xiàn)。
元引擎是實現(xiàn)需求的基本部件,因此,最終的功能都應落實到具體的元引擎中。不同的設計,元引擎的配置情況差別可以很大。而且,實現(xiàn)某一需求也不一定需要所有元引擎參與,因此,需要明確的信息來配置調度相應的元引擎。
S5、深度包檢測系統(tǒng)里已獲配置的所有元引擎協(xié)同完成上述需求。
上述五個步驟是實現(xiàn)本發(fā)明的方法的主要步驟,而每一步驟的具體實現(xiàn)細節(jié)依賴于具體的設計,不同的設計可有較大差異。
本領域的技術人員可以對本發(fā)明實施例進行各種修改和變型,倘若這些修改和變型在本發(fā)明權利要求及其等同技術的范圍之內,則這些修改和變型也在本發(fā)明的保護范圍之內。
說明書中未詳細描述的內容為本領域技術人員公知的現(xiàn)有技術。