摘要:隨著社會快速的發(fā)展,人們生活節(jié)奏越來越快,各方面的競爭越來越激烈。比如在校大學(xué)生的就業(yè)、學(xué)習(xí)、生活、愛情和自我意識等方面經(jīng)常會遇到心理失衡等問題。大學(xué)生心理危機的早期識別和預(yù)警對于高校降低和減少因心理問題而導(dǎo)致的意外傷害事件具有重要作用。如今網(wǎng)絡(luò)、數(shù)據(jù)等概念已經(jīng)十分緊密地滲透于人們的生活、學(xué)習(xí)和工作中。一個大學(xué)生使用移動設(shè)備一天產(chǎn)生的數(shù)據(jù)流量可能高達數(shù)百兆。借此我們采用的Intel開源的Hyperscan引擎,利用大學(xué)生上網(wǎng)流量的關(guān)鍵字匹配技術(shù),來分析其上網(wǎng)行為數(shù)據(jù),可達到快速有效的對大學(xué)生心理危機進行識別和預(yù)警。
關(guān)鍵詞:關(guān)鍵字;匹配;引擎;上網(wǎng)行為
一、引言
在互聯(lián)網(wǎng)普及的時代,人們的生活都離不開手機等移動終端,而大學(xué)生是其中最主要的群體之一。近年來,在校大學(xué)生除了專業(yè)課程的學(xué)習(xí)和能力培養(yǎng)外,其心理健康問題也越來越受重視。大學(xué)生作為祖國未來繁榮發(fā)展的棟梁之材,我們更應(yīng)該關(guān)注他們身心的健康發(fā)展,通過其上網(wǎng)行為分析,發(fā)現(xiàn)有心理問題的隱患,并進行有針對性的預(yù)警和介入,將這些隱患扼殺在萌芽狀態(tài),避免釀成一些無法挽救的悲劇。
上網(wǎng)用戶行為的研究與心理學(xué)、社會學(xué)、社會心理學(xué)、人類學(xué)以及一切與網(wǎng)絡(luò)行為的學(xué)科密切相關(guān)。具體講網(wǎng)絡(luò)用戶行為研究就是分析網(wǎng)絡(luò)用戶的構(gòu)成、特點及其行為活動上所表現(xiàn)出來的規(guī)律[1]。從行為學(xué)的角度,個體網(wǎng)絡(luò)行為是單個個體在網(wǎng)絡(luò)上所表現(xiàn)出來的行為,是由個體的個性決定的,短期的個體行為可能并不具有明顯的規(guī)律,但長期的個體網(wǎng)絡(luò)行為則具有一定的穩(wěn)定性。因此,對用戶上網(wǎng)行為的研究是具有現(xiàn)實意義的。本文重點在研究傳統(tǒng)的字符串匹配技術(shù)與更適合大規(guī)模流量數(shù)據(jù)的關(guān)鍵字匹配技術(shù)Hyperscan引擎,并將其應(yīng)用于大學(xué)生上網(wǎng)行為分析與心理預(yù)警領(lǐng)域。
二、傳統(tǒng)關(guān)鍵字匹配算法的相關(guān)研究工作
關(guān)鍵字匹配也稱字符串匹配、模式匹配,一直是計算機科學(xué)的研究熱點,尤其是信息時代數(shù)據(jù)爆炸式的增長對字符串匹配算法的性能提出了更高的要求。字符串匹配算法根據(jù)不同的需求類型可分為單模匹配、多模匹配、正則表達式匹配等。經(jīng)典的算法在整個字符串匹配算法的研究過程中起到了舉足輕重的地位,后續(xù)大部分算法都是在經(jīng)典理論基礎(chǔ)上進行改進,下面分別介紹不同類型算法中最具代表性的典型算法。
(一)AC算法
在多關(guān)鍵字匹配算法中,最著名的要數(shù)由Aho和Corasick在1977年提出的基于前綴搜索的AC算法,該算法是基于有窮自動機的,從前往后進行匹配,自動機建立過程建立三個函數(shù):狀態(tài)跳轉(zhuǎn)函數(shù)goto,輸出函數(shù)output,失效函數(shù)failure。匹配過程是從零狀態(tài)出發(fā),每次掃描文本中的一個字符,在當前狀態(tài)情況下,查看掃描到的字符,利用94盛。函數(shù)、failure函數(shù)跳轉(zhuǎn)到下一個狀態(tài)。如果跳轉(zhuǎn)到的狀態(tài)的outpul函數(shù)不為空,表示命中了某個關(guān)鍵字,輸出該關(guān)鍵字[2]。
(二)Wu-Mamber算法
Wu-Mamber算法是基于后綴搜索的多模匹配算法,通過使用所有模式中最短串的長度作為掃描窗口,并且每次從后掃描兩個字符,來提高掃描效率,另外使用了哈希技術(shù),建立三個表Shift表、Prefix表、Hash表,利用Hash算法將掃描到的兩個字符映射成不同的hash值存放在不同的表中。Wu-Mamber算法具有初始化時間短,內(nèi)存占用少的特點,但匹配速度不如AC算法穩(wěn)定,當字符不能等概率出現(xiàn)時容易造成匹配速度下降,并且Wu-Mamber算法是對所有模式中最短串的長度敏感的。
(三)SBOM算法
SBOM算法是基于子串搜索的多模匹配算法,一般在當前窗口內(nèi)從后向前掃描,能夠識別模式串集合P中的某個模式串的子串,并在此基礎(chǔ)上進行比較驗證。較早出現(xiàn)的基于子串的多模匹配算法是Multi-BDM,由于實現(xiàn)復(fù)雜,實際很少使用。SBOM算法使用了FactorOrack這一數(shù)據(jù)結(jié)構(gòu)。在進行預(yù)處理過程中將根據(jù)所有模式串構(gòu)造模式匹配的Oracle結(jié)構(gòu),以匹配窗口的最長字串。
三、Hyperscan引擎
對于精確字符串匹配,過去的幾十年里從理論到技術(shù)都己經(jīng)進行了深入的研究,并取得了重大的突破,出現(xiàn)了多個接近理論性能卜限的算法,如AC、WU-MANBER、SBOM等等。這些經(jīng)典算法在網(wǎng)絡(luò)安全檢測中發(fā)揮了巨大的作用。.然而,隨著網(wǎng)絡(luò)的不斷發(fā)展,攻擊者也在不斷地針對各種安全檢測技術(shù)進行躲避和隱藏,這使得網(wǎng)絡(luò)中關(guān)鍵字檢測變得越來越復(fù)雜,簡單的精確字符串模式已經(jīng)難以準確地描述其特征。因此,正則表達式以其強大、靈活的表達能力,迅速成為描述新一代規(guī)則的主要工具。
(一)常規(guī)的正則表達式匹配算法
正則表達式構(gòu)造了一系列字符串規(guī)則,使得文本處理變得更加靈活方便,但是也給匹配算法提出了難題。通常正則表達式匹配過程如圖所示。首先將正則表達式構(gòu)造成一顆解析樹,再根據(jù)一定的方法將解析數(shù)轉(zhuǎn)化為非確定的有窮自動機側(cè)(NFA)。下一步直接使用NFA進行搜索的優(yōu)點是內(nèi)存占用小,但在處理每個字符時,處理活動集合中的狀態(tài)都必須被逐個處理,匹配時間慢.若將NFA轉(zhuǎn)化為DFA來處理,那么一個字符則的后續(xù)狀態(tài)只有一個,但當所有狀態(tài)編譯成DFA時,會造成巨大的內(nèi)存消耗,當前的硬件條件無法滿足如此大的內(nèi)存需求。因此目前的研究熱點在于如何調(diào)和NFA與DFA在時間和空間上的矛盾。
(二)Hyperscan正則表達式引擎
Hyperscan是一款來自于Intel的高性能的正則表達式匹配庫。它是基于X86平臺以PCRE為原型而開發(fā)的,Intel將此高速正則表達式匹配引擎Hyperscan開源了,基于BSD許可[3]。這個基于自動機的引擎經(jīng)過了多年開發(fā),經(jīng)過不斷優(yōu)化與完善,效率非常之高,雖然沒有pcre等對正則語法支持全面,但非常適用于網(wǎng)絡(luò)設(shè)備。用戶可以在網(wǎng)絡(luò)設(shè)備數(shù)據(jù)面使用Hyperscan進行規(guī)則匹配,實現(xiàn)高性能網(wǎng)絡(luò)流量數(shù)據(jù)包檢測分析等應(yīng)用,其工作流程主要分成兩個部分:編譯期(compiletime)和運行期(run-time)[4]。
推薦閱讀:互聯(lián)網(wǎng)金融理財產(chǎn)品的問題現(xiàn)狀
論文指導(dǎo) >
SCI期刊推薦 >
論文常見問題 >
SCI常見問題 >