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