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