欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種分布式環(huán)境下的模式匹配處理器的制造方法

文檔序號:6512561閱讀:262來源:國知局
一種分布式環(huán)境下的模式匹配處理器的制造方法
【專利摘要】本發(fā)明公開了一種分布式環(huán)境下的模式匹配處理器,結合分布式計算環(huán)境改進WM模式匹配算法,Wu-Manber算法分為預處理階段和匹配階段,本發(fā)明將針對這兩個階段分別運用Map-Reduce編程模型處理,使Wu-Manber算法適用于分布式環(huán)境,并且具有更強的可擴展性和可并行性,從而能充分利用和更好的控制集群中的機器相互協(xié)作完成模式匹配的任務。對當今大數(shù)據(jù)時代中過載的信息處理提供了解決方案。
【專利說明】—種分布式環(huán)境下的模式匹配處理器
【技術領域】
[0001]本發(fā)明涉及模式匹配與云計算領域,利用分布式計算法的技術結合經(jīng)典的Wu-Manber模式匹配算法進行改進,公開了一種分布式環(huán)境下的模式匹配處理器。該處理器充分利用Map-Reduce的特性,將Wu-Manber的預處理過程和匹配過程拆分成Map-Reduce作業(yè),使處理過程并發(fā)進行。
【背景技術】
[0002]模式匹配Pattern matching (也稱串匹配String matching)是復雜性理論中研究最廣泛的問題之一,它是網(wǎng)絡安全、信息檢索與過濾、文字處理、數(shù)據(jù)庫查詢、音樂檢索、計算生物學等重要領域的核心問題,同時也是序列模式挖掘技術的核心與基礎。
[0003]模式匹配的算法很多,比較經(jīng)典的有KMP算法,Shift-And/Shift-0r算法,Boyer-Moore算法以及Wu-Manber算法等,這些算法提出的年代較為久遠,在此之后也有很多人提出過針對這些算法的改進。甚至在某些特定的場合通過一定的條件約束或者使用特定的數(shù)據(jù)結構設計出特定的高效算法,但是數(shù)據(jù)量的增長已經(jīng)遠遠超過這些算法改進所處理的程度。
[0004]Google發(fā)表的論文,奠定了云計算技術工業(yè)化應用的基礎,也成為分布式計算領域的事實標準。本發(fā)明也將采用Map-Reduce的編程模型,使Wu-Manber算法適用于分布式計算環(huán)境,來處理海量的Internet信息。
[0005]Map-Reduce 介紹
Map-Reduce編程模型的輸入是一批具有KEY-VALUE格式的記錄,產(chǎn)生的輸出也是KEY-VALUE格式的記錄集合。Map-Raduce編程模型的用戶通過兩個函數(shù):Mapper和Reducer來實現(xiàn)整個流程。
[0006]Maper由用戶實現(xiàn),根據(jù)每一個KEY-VALUE的輸入,產(chǎn)生一個KEY-VALUE中間結果。正如其名MAP,這個過程是一對一的映射過程。Map-Reduce的模型會將這一映射的結果以相同的KEY將結果集合排序、分組,然后再將結果傳給Reducer。
[0007]Reducer也是由用戶實現(xiàn),接收Mappper產(chǎn)生的結果集合,針對相同的key,將這個key所對應的所有的value按照用戶定義的方法歸并起來形成一個更小的KEY-VALUE集合。通常每個Reduce調用產(chǎn)生O或者I個輸出值。同一個key對應的多個Value值是通過一個迭代器來傳遞處理。因此即使某個key對應的Value非常多而無法放入內(nèi)存映射時,也能正確的運行Reducer。
[0008]由于Mapper的輸入數(shù)據(jù)可能在不同的物理機器上,或者可以在任務開始的時候將Mapper的數(shù)據(jù)分段分發(fā)到不同的物理機器上,然后在不同的物理機器上分別執(zhí)行Mapper,然后統(tǒng)一的對所有Mapper的輸出集合進行排序、分組,再將結果集合按照KEY運行一個或者多個Reducer。
[0009]Wu-Manber 算法介紹
Wu-Manber算法采用字符塊技術,增大了主串和模式串不匹配的可能性,從而增加了直接跳躍的機會。使用散列表選擇模式串集合中的一個子集與當前文本進行完全匹配。使用前綴表進一步過濾不匹配的模式串,使算法獲得了較高的運行效率。
[0010]麗算法首先對模式串集合進行預處理。預處理階段將建立3個表格=SHIFT表,HASH表和PREFIX表。SHIFT表用于在掃描文本串的時候,根據(jù)讀入字符串決定可以跳過的字符數(shù),如果相應的跳躍值為0,則說明可能產(chǎn)生匹配。HASH表用來存儲尾塊字符散列值相同的模式串。PREFIX表用于存儲尾塊字符散列值相同的模式串的首塊字符散列值。
[0011]SHIFT表為每個B大小的字符塊維護一個key,每個key值對應的value是遇到該字符塊匹配時,目標串的當前位置需要移動的距離。
[0012]HASH表的key也是字符塊,value是指向一個鏈表的指針,這個鏈表中的元素是當SHIFT [key]為O時,后綴為key的模式串。
[0013]PREFIX 表的生成與 HASH 表相對,HASH 表中的 key 為 T而 PREFIX 表中的key為T [1...B]。有PREFIX表,就可以對HASH表項指向的鏈表做進一步的過濾,即只有前綴和PREFIX的key值相等的鏈表元素才參與匹配驗證。因為在模式集合中既有相同的后綴又有相同前綴的情況會更少。
[0014]算法匹配的大致原理:
(I)設當前比較的文本串X的hash值為h。如果SHIFT [h]=0,說明可能產(chǎn)生了匹配,那么需要進一步的判斷。
[0015](2)用該h值作為索引,查HASH表找到HASH[h],它存儲的是指標,指向兩個單獨的表:一個是模式鏈表,另一個是PREFIX表。模式鏈表中存放的是后B個字符的hash值同為h的所有模式。
[0016](3)對于待比較長度為m的串,如果其長度為B的前綴與模式的前綴的hash值也相同,則再將相應的文本串與符合的模式逐一進行比較,最終判定是否完全匹配。
[0017]如果T[m-B+1...m]!=p[m-B+1...m],則會將T的當前位置向后移動。如果T[m-B+1...m]沒有在匹配模式中出現(xiàn),則可以放心的移動m_B+l個字符并且繼續(xù)比較T[2m]所在的字符塊和P[m]所在的字符塊;如果T[m_B+l...m]在匹配模式中出現(xiàn)了,則找到T[m-B+1...m]在匹配模式中最后出現(xiàn)的位置是s (通過SHIFT表查到),然后將T的當前位置向后移動m-s+1個位置。

【發(fā)明內(nèi)容】

[0018]本發(fā)明公開了一種分布式環(huán)境下的模式匹配處理器,結合分布式計算環(huán)境改進WM模式匹配算法,使WM算法具有更強的可擴展性和可并行性,從而能充分利用和更好的控制集群中的機器相互協(xié)作完成模式匹配的任務。對當今大數(shù)據(jù)時代中過載的信息處理提供了解決方案。
[0019]本發(fā)明是采取以下技術方案實現(xiàn)的:一種分布式環(huán)境下的模式匹配處理器,采用的Wu-Manber算法分為預處理階段和匹配階段,本發(fā)明將針對這兩個階段分別運用Map-Reduce編程模型處理,使Wu-Manber算法適用于分布式環(huán)境。
[0020]本發(fā)明的實現(xiàn)還包括以下的技術方案:
在預處理階段,針對每個匹配模式計算出該模式的SHIFT表、HASH表和PREFIX表。多個Mapper可以同時對多個要匹配的模式進行預處理,從而提高了并發(fā)性。[0021]在匹配階段,需要利用兩次Map-Reduce來完成。第一次的map-Reduce是可選的,只有當需要匹配的目標串長度很長時才需要運行第一次Map-Reduce。此次map-Reduce主要將較長的目標串分成多段,通過多個段同時進行匹配來提高并發(fā)性。
[0022]本發(fā)明的優(yōu)點和有益效果,具體體現(xiàn)在以下幾個方面:
1.使WM算法具有更強的可擴展性和可并行性,從而能充分利用和更好的控制集群中的機器相互協(xié)作完成模式匹配的任務。
[0023]2.利用了分布式存儲的優(yōu)點和Map-Reduce編程模型的特征,完成了模式匹配的并行處理,利用多臺計算機的存儲能力和計算能力來換取時間效率上的提高。
[0024]3.對當今大數(shù)據(jù)時代中過載的信息處理提供了解決方案。
【專利附圖】

【附圖說明】
[0025]圖1是Wu-Manber算法流程;
圖2是Map-Reduce預處理階段示意圖;
圖3是Map-Reduce匹配階段示意圖。
【具體實施方式】
[0026]一種分布式環(huán)境下的模式匹配處理器,采用的Wu-Manber算法分為預處理階段和匹配階段,本發(fā)明將針對這兩個階段分別運用Map-Reduce編程模型處理,使Wu-Manber算法適用于分布式環(huán)境。
[0027]以下結合說明書附圖2對本發(fā)明中的Map-Reduce預處理階段做進一步詳述:
在預處理階段,針對每個匹配模式計算出該模式的SHIFT表、HASH表和PREFIX表。說明書附圖2中多個Mapper可以同時對多個要匹配的模式進行預處理,從而提高了并發(fā)性。
[0028]Mapper:Mapper的輸入格式為101〈匹配模式P, NULL〉,在Mapper過程中,每個匹配模式會計算SHIFT表、HASH表和PREFIX表,經(jīng)過計算以后各表的KEY為輸出的KEY,但Value中需要加一列表示來區(qū)分此列屬于SHFIT表、HASH表或是PREFIX表中的內(nèi)容。Value中另一類為表中對應的KEY的內(nèi)容。即Mapper的輸出格式為102〈各個表中的Key,標識為flag,表中的內(nèi)容Value〉。
[0029]Partition:此次處理的partition主要用戶根據(jù)標識位將每一行Mapper的輸出映射到用于處理不同類型表的Reducer。Partition的輸入格式是102〈各個表中的KEY,標識flag,表中的內(nèi)容value〉,輸出格式為103〈Key,Value〉,但是這些輸出會由不同的Reducer函數(shù)進行后續(xù)的處理。
[0030]Reducer:Reducer函數(shù)可以通過不同的參數(shù)來處理不同類型的表中的內(nèi)容,最終將SHIFT表、HASH表和PREFIX表的內(nèi)容插入到各自應該屬于的表中。Reducer的輸出仍以分布式文件系統(tǒng)中文件的形式保存,在與目標串進行模式匹配時會將這些結果分發(fā)到集群中的機器上。
[0031]以下結合說明書附圖3對本發(fā)明中的Map-Reduce匹配階段做進一步詳述: 在匹配階段,需要利用兩次Map-Reduce來完成。
[0032]第一次的map-Reduce是可選的,只有當需要匹配的目標串長度很長時才需要運行第一次Map-Reduce。此次map-Reduce主要將較長的目標串分成多段,通過多個段同時進行匹配來提高并發(fā)性。
[0033]Mapper:輸入格式為〈目標串,NULL〉,按固定長度Len將目標串分段,每一段作為一個輸出,輸出格式為〈目標串序號,n str (η)>,其中η為段號,表不該記錄為目標串的第η段長度為length的字符串,str (η)表示這段字符串的內(nèi)容??紤]到兩段之間可能有匹配的內(nèi)容,所以需要額外的輸出記錄第η段的后m-1個字符和第n+1段前m_l個字符組成的字符串。這些記錄的輸出格式為 < 目標串序號,n+0.5 str [length-m+2...length]+str [I?..m_l]>。n+0.5 為段號,str [length-m+2...length] +str [1...m-1]為字段內(nèi)容。
[0034]Reducer:此次Map-Reduce不需要reducer函數(shù),只需要Mapper排序后的結果直接輸出。
[0035]第二次的Map-Reduce是必須的,這也是分布式計算真正發(fā)揮作用之處,即處理大規(guī)模數(shù)據(jù)的優(yōu)勢所在。過程如說明書附圖3所示。
[0036]Mapper:mapper的輸入格式為201〈目標串序號,匹配位置(pos),匹配的模式>,Reducer的主要作用是將同一目標串的不同段中匹配出的結果進行聚合,輸出格式為202〈目標串序號,匹配集合〉,其中匹配集合中的每個元素是一個(匹配位置,匹配的模式)對。
[0037]利用本發(fā)明所述的技術方案,或本領域的技術人員在本發(fā)明技術方案的啟發(fā)下,設計出類似的技術方案,而達到上述`技術效果的,均是落入本發(fā)明的保護范圍。
【權利要求】
1.一種分布式環(huán)境下的模式匹配處理器,其特征在于:采用的Wu-Manber算法分為預處理階段和匹配階段,本發(fā)明將針對這兩個階段分別運用Map-Reduce編程模型處理,使Wu-Manber算法適用于分布式環(huán)境。
2.根據(jù)權利要求1所述的一種分布式環(huán)境下的模式匹配處理器,其特征在于:所述Wu-Manber算法運用Map-Reduce編程模型進行預處理,多個Mapper可以同時對多個要匹配的模式進行預處理。
3.根據(jù)權利要求1所述的一種分布式環(huán)境下的模式匹配處理器,其特征在于:所述Wu-Manber算法運用Map-Reduce編程模型進行預處理,Mapper的輸入格式為〈匹配模式P,NULL〉,Mapper的輸出格式為〈各個表中的Key,標識為flag,表中的內(nèi)容Value〉。
4.根據(jù)權利要求1所述的一種分布式環(huán)境下的模式匹配處理器,其特征在于:所述Wu-Manber算法運用Map-Reduce編程模型進行預處理,Partition的輸入格式是〈各個表中的KEY,標識flag,表中的內(nèi)容value〉,輸出格式為〈Key, Value〉。
5.根據(jù)權利要求1所述的一種分布式環(huán)境下的模式匹配處理器,其特征在于:所述Wu-Manber算法運用Map-Reduce編程模型進行預處理Reducer函數(shù)可以通過不同的參數(shù)來處理不同類型的表中的內(nèi)容,最終將SHIFT表、HASH表和PREFIX表的內(nèi)容插入到各自應該屬于的表中,Reducer的輸出仍以分布式文件系統(tǒng)中文件的形式保存,在與目標串進行模式匹配時會將這些結果分發(fā)到集群中的機器上。
6.根據(jù)權利要求1所述的一種分布式環(huán)境下的模式匹配處理器,其特征在于:所述Wu-Manber算法運用Map-Reduce編程模型進行匹配,需要利用兩次Map-Reduce來完成,第一次的map-Reduce是可選的,第二次的Map-Reduce是必須的。
7.根據(jù)權利要求6所述的Wu-Manber算法運用Map-Reduce編程模型進行匹配,其特征在于:所述第一次的map-Reduce中Mapper的輸入格式為〈目標串,NULL〉,按固定長度Len將目標串分段,每一段作為一個輸出,輸出格式為〈目標串序號,n str (η) >,其中η為段號,表示該記錄為目標串的第η段長度為length的字符串,str (η)表示這段字符串的內(nèi)容。
8.根據(jù)權利要求6所述的Wu-Manber算法運用Map-Reduce編程模型進行匹配,其特征在于:所述第一次的map-Reduce中不需要reducer函數(shù),只需要Mapper排序后的結果直接輸出。
9.根據(jù)權利要求6所述的Wu-Manber算法運用Map-Reduce編程模型進行匹配,其特征在于:所述第二次的map-Reduce中mapper的輸入格式為〈目標串序號,匹配位置(pos),匹配的模式〉,輸出格式為〈目標串序號,匹配集合〉,其中匹配集合中的每個元素是一個(匹配位置,匹配的模式)對。
【文檔編號】G06F9/50GK103885834SQ201310433588
【公開日】2014年6月25日 申請日期:2013年9月22日 優(yōu)先權日:2013年9月22日
【發(fā)明者】牛曉芳 申請人:天津思博科科技發(fā)展有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
响水县| 锡林浩特市| 石首市| 陆川县| 晋江市| 沙湾县| 丰镇市| 谢通门县| 中宁县| 信宜市| 平江县| 朝阳县| 抚松县| 巴中市| 武隆县| 淮南市| 通化市| 阳信县| 陇川县| 宝清县| 乐山市| 赤城县| 闽清县| 平度市| 富锦市| 磐安县| 桐城市| 依安县| 阿拉善左旗| 岑巩县| 浠水县| 抚松县| 天门市| 临潭县| 滨海县| 印江| 汉中市| 南投市| 清徐县| 西藏| 高密市|