孫妍,張俊超,薛峪峰
(國網(wǎng)青海省電力公司信息通信公司,青海西寧 810008)
隨著當(dāng)前電網(wǎng)規(guī)模的不斷擴大,其復(fù)雜性在不斷增加。因此,以信息網(wǎng)絡(luò)為基礎(chǔ)的各種應(yīng)用也日益增多。找出造成電網(wǎng)異常問題的根源具有較大困難,且未偵測到的電網(wǎng)異常問題會進一步擴散,對電網(wǎng)信息的正常傳送造成干擾。因此,對電網(wǎng)的業(yè)務(wù)進行實時監(jiān)控與評價并及時發(fā)現(xiàn)異常狀況,對于提高電網(wǎng)的安全、穩(wěn)定起到了關(guān)鍵作用。
文獻[1]提出的基于簇內(nèi)乘積量化的檢索方法,運用向量量化和乘積量化的方法,表征大規(guī)模高維數(shù)據(jù),通過計算候選數(shù)據(jù)集向量與查詢向量間的距離,實現(xiàn)目標大數(shù)據(jù)的檢索;文獻[2]提出的基于倒排索引的檢索方法,通過插入關(guān)鍵字抵消服務(wù)器的關(guān)鍵字攻擊,同時,引入數(shù)據(jù)緩存區(qū),結(jié)合倒排索引加密算法對關(guān)鍵數(shù)據(jù)檢索結(jié)果進行盲計算。但是,這兩種方法容易受到未知入侵數(shù)據(jù)的影響,出現(xiàn)檢索效果不佳的問題。
基于以上研究成果,該文設(shè)計了新的基于流量檢測的目標大數(shù)據(jù)快速檢索系統(tǒng)。
將流量檢測技術(shù)引入到系統(tǒng)中,無疑要把查詢部分轉(zhuǎn)換成用戶程序調(diào)用界面。但是其可以獨立地產(chǎn)生索引,從而降低了用戶對系統(tǒng)的影響,使得系統(tǒng)能夠更好地集中在指標上[3]。因此,設(shè)計了基于流量檢測的目標大數(shù)據(jù)快速檢索系統(tǒng)硬件結(jié)構(gòu),如圖1所示。
圖1 檢索系統(tǒng)硬件結(jié)構(gòu)
該系統(tǒng)主要由索引服務(wù)器與查詢接口兩個部分組成。索引服務(wù)器是一個獨立的系統(tǒng),可以讓用戶設(shè)定索引類型、索引數(shù)據(jù)和索引記錄[4]。索引伺服器會根據(jù)使用者設(shè)定的方式,對有關(guān)資料進行索引,不會影響其他使用者[5];查詢接口可以被視為一種無須改動就能直接嵌入到使用者應(yīng)用程序中的一種接口,不同的程序界面對于不同的用戶來說是不同的,使用者可以做一個索引標志,使得用戶能夠按照索引標志查詢語句,也可以對索引標志進行一些小的改動,并將其嵌入到自己的系統(tǒng)中[6]。
為了使系統(tǒng)應(yīng)用起來更加方便,系統(tǒng)直接使用XML 驅(qū)動系統(tǒng)代替數(shù)據(jù)庫。
索引服務(wù)器一般是一臺含有一種逆向索引的服務(wù)器,該服務(wù)器會建立一個即時索引,并將區(qū)塊查詢與文件ID 相對應(yīng)。
索引服務(wù)器結(jié)構(gòu)如圖2 所示。
圖2 索引服務(wù)器結(jié)構(gòu)
索引服務(wù)是Windows 提供的一個支持文件索引的服務(wù),該系統(tǒng)能在不需要使用者介入的前提下,提升計算機網(wǎng)絡(luò)的檢索效率,并能自動進行索引的更新[7]。
索引服務(wù)將一組檔案中的信息抽取出來,并將其組織起來,這樣就可以在Windows Server 2003 的搜尋功能、索引服務(wù)查詢表或網(wǎng)頁瀏覽器中迅速地擷取到相關(guān)信息[8-10]。這一信息可以包含文件中的單詞(內(nèi)容)、文件的特征和參數(shù)(屬性),比如作者的名字。在索引之后,可以對包含關(guān)鍵詞或者屬性的文檔進行索引。
只有通過Web 查詢界面才能訪問背景數(shù)據(jù)庫的內(nèi)容,查詢接口通常是以html 和超文字標記來顯示的,它是一種解釋語言。
Web 查詢接口結(jié)構(gòu)如圖3 所示。
圖3 Web查詢接口結(jié)構(gòu)
Web 查詢接口中的單行文本輸入框允許用戶輸入簡單的單行信息;復(fù)選框允許用戶選擇單個或多個選項;單選框是由多個選項組成,且供使用者進行單項選擇的框[11-12];下拉框是卷動的單個標記框;多行輸入框主要用于輸入較長的文本信息;密碼輸入框用于輸入一些保密的信息;文件按鈕負責(zé)傳輸文件;隱藏控件允許Web 程序員將數(shù)值引入到html表單中,使這些數(shù)值與其他空間一起發(fā)送回Web 服務(wù)器[13]。
XML 的表現(xiàn)功能為從靜態(tài)業(yè)務(wù)對象模型(而非UML)中提供了一個良好的描述方法,首先構(gòu)建一個業(yè)務(wù)對象靜態(tài)模型,然后底層的開發(fā)者在這種模式下進行軟件的開發(fā),而業(yè)務(wù)邏輯開發(fā)者則是根據(jù)這種XML 模式和商業(yè)邏輯來編寫XML 概要[14]。這個操作被抽象成界面“批量操作”,用于執(zhí)行每一個具體的行為,并向“合作”管理器對象添加一個類的實例,在運行時遍歷XML 文檔。運行一個節(jié)點,向管理程序?qū)ο髠鬟f“合作”的節(jié)點,并將“合作”的返回值和“獲取名稱”的返回值相比較,找出相應(yīng)的操作界面,然后再由XML 節(jié)點執(zhí)行相關(guān)“操作”[15]。
為了獲取目標大數(shù)據(jù),需篩選出異常數(shù)據(jù),而電網(wǎng)數(shù)據(jù)的異常行為表現(xiàn)為流量的異常,所以提出了基于流量檢測的分級索引構(gòu)建方法。異常數(shù)據(jù)是通過入侵行為產(chǎn)生的數(shù)據(jù),入侵追蹤的研究重點是發(fā)現(xiàn)入侵路徑和IP 地址,實現(xiàn)對異常數(shù)據(jù)的定位。
在電網(wǎng)穩(wěn)定運行狀態(tài)下,在t時間內(nèi)出現(xiàn)流量異常情況,對于該情況需計算流量采樣的時間間隔,及時定位異常數(shù)據(jù)位置。基于流量檢測方法獲取的數(shù)據(jù)緩存區(qū)大小決定了采樣間隔,該間隔時間就是索引構(gòu)建的時間[16]。
如果設(shè)緩沖區(qū)域的長度為L,則在t時間內(nèi)緩沖區(qū)域內(nèi)數(shù)據(jù)不滿的概率可表示為:
式中,i表示數(shù)據(jù)統(tǒng)計結(jié)果;l表示單位記錄長度,q表示用戶請求后平均到達率;n表示連接個數(shù)。
對于整個緩沖區(qū)域的緩沖速度,可表示為:
在該情況下,計算采樣間隔,公式為:
依據(jù)式(3)可得到采樣間隔,即基于流量檢測的索引構(gòu)建時間。
若將某一時期的指數(shù)進行分類,則可在查詢過程中直接獲得各個階段的資料,節(jié)約了許多查詢與評價的時間。這樣,就可以隨時有效地獲得索引信息,而不用過分擴充索引,也就不會發(fā)生索引大小過度膨脹的現(xiàn)象?;诖耍瑯?gòu)建了基于時間域的倒排索引,如圖4 所示。
圖4 基于時間域的倒排索引結(jié)構(gòu)
由圖4 可知,在對一段時間的文件進行查詢時,根據(jù)特定的檢索模式,采用常見的查詢技術(shù),獲得一份原始的文件清單。然后將兩個表合并,使第一個表的次序保留,從而獲得與該時間段內(nèi)有關(guān)的文件。
為了縮短分級索引構(gòu)建時間,將采樣間隔劃分為m個子時間段t1,t2,…tm,動態(tài)統(tǒng)計規(guī)則應(yīng)用到所有的子時間段中,獲取m個統(tǒng)計結(jié)果,由此形成了流量的時域變化關(guān)系。對于子時間段的劃分,應(yīng)遵循:
1)當(dāng)t1=t2=…=tm時,每個子時間段的統(tǒng)計結(jié)果是一致的。
2)統(tǒng)計過程中存在如下公式:
索引檢索模塊對大量的題庫進行目標大數(shù)據(jù)檢索,其操作步驟如下:
步驟一:通過建立索引結(jié)構(gòu),檢索指標相關(guān)信息;
步驟二:分析用戶界面反饋的數(shù)據(jù),并確定檢索條件,傳遞檢索任務(wù);
步驟三:使用彈性搜索分布式連接器獲取服務(wù)鏈接,并利用索引庫進行再次索引;
步驟四:利用資料庫連接器與資料庫通信,摘取資料庫的暫存表,依使用者的要求找到批號,利用SQL 進行資料庫的查詢,最終取得文字的結(jié)果;
步驟五:在建立大量題庫的目標大數(shù)據(jù)索引時,每一欄的名字都要有一個索引。利用索引名進行文字檢索,可以有效地提高檢索的效率。
對文獻[1]提出的基于簇內(nèi)乘積量化的檢索方法、文獻[2]提出的基于倒排索引的檢索方法和該文設(shè)計的基于流量檢測的目標大數(shù)據(jù)快速檢索系統(tǒng)進行對比測試實驗,對比不同方法的檢索精準。
從國網(wǎng)青海信通公司2021 年營業(yè)管理數(shù)據(jù)庫中提取與發(fā)改委、住建廳、房產(chǎn)局進行信息交互的數(shù)據(jù),該數(shù)據(jù)集大小為15.5 GB。
由于數(shù)據(jù)集中的每篇文檔均具有一定時間維度,因此使用的數(shù)據(jù)集不具有時間信息。為此,對文檔進行了如下處理:針對每篇文檔產(chǎn)生的隨機數(shù),將其隨機分布在一年的365 天時間范圍內(nèi),由此視為一年內(nèi)信息交互產(chǎn)生的數(shù)據(jù)量。
1)索引構(gòu)建時間
以檢索源IP 地址、目的IP 地址、端口、協(xié)議ID、輸入?yún)f(xié)議為指標,分析索引構(gòu)建時間。
2)檢索速度
對目標大數(shù)據(jù)來說,索引數(shù)據(jù)越多,所構(gòu)建的索引數(shù)據(jù)大小與全部數(shù)據(jù)大小之比,也就是膨脹系數(shù)越大,說明檢索速度也就越快。如果沒有為所有目標大數(shù)據(jù)創(chuàng)建索引的檢索,則膨脹系數(shù)為0;如果索引數(shù)據(jù)與全部數(shù)據(jù)量一樣大,則膨脹系數(shù)為1。
索引膨脹系數(shù)公式,可表示為:
式中,H表示索引數(shù)據(jù)大小;G表示全部數(shù)據(jù)大小。
3.3.1 索引構(gòu)建時間
三種方法的索引構(gòu)建時間對比結(jié)果如表1所示。
表1 三種方法的索引構(gòu)建時間對比
由表1 可知,使用該文基于流量檢測的目標大數(shù)據(jù)快速檢索系統(tǒng),各項指標索引構(gòu)建時間最短;使用文獻[1]檢索方法,在目的IP 地址指標下,與流量檢測方法索引構(gòu)建時間相差最大,最大為0.14 s;使用文獻[2]檢索方法,在檢索源IP 地址指標時,與流量檢測方法索引構(gòu)建時間相差最大,最大為0.12 s。由此可知,使用基于流量檢測的目標大數(shù)據(jù)快速檢索系統(tǒng)具有較短的索引構(gòu)建時間。
3.3.2 檢索速度
三種方法檢索速度對比結(jié)果如圖5 所示。
圖5 三種方法檢索速度對比
由圖5 可知,使用基于簇內(nèi)乘積量化的檢索方法,檢索端口指標的膨脹系數(shù)最大,可達到0.82,檢索源IP 地址指標的膨脹系數(shù)最小,最小值為0.74;使用基于倒排索引的檢索方法,檢索端口指標的膨脹系數(shù)最大,可達到0.72,檢索輸入?yún)f(xié)議指標的膨脹系數(shù)最小,最小值為0.57;使用基于流量檢測的目標大數(shù)據(jù)快速檢索系統(tǒng),檢索輸入?yún)f(xié)議指標的膨脹系數(shù)最大,可達到0.99,檢索源IP 地址指標的膨脹系數(shù)最小,最小值為0.86,具有快速檢索效果[17]。
該文設(shè)計的基于流量檢測的目標大數(shù)據(jù)快速檢索系統(tǒng),能夠?qū)νㄐ胚^程中大量的數(shù)據(jù)快速建立信息索引標志,實現(xiàn)用戶輸入的快速響應(yīng)。對于未知的數(shù)據(jù)庫,用戶能夠根據(jù)開發(fā)的插件,靈活檢索相關(guān)數(shù)據(jù)。
但是,所設(shè)計的系統(tǒng)仍存在需要進一步思考和探討的問題:在目標大數(shù)據(jù)的分類處理領(lǐng)域,目前還沒有涉及相關(guān)的特征抽取,這表明在該領(lǐng)域中可以利用分詞技術(shù)進行改進。