一種管理非結(jié)構(gòu)化數(shù)據(jù)的裝置和方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及非結(jié)構(gòu)化數(shù)據(jù)管理領(lǐng)域,具體涉及一種管理非結(jié)構(gòu)化數(shù)據(jù)的裝置和方法。
【背景技術(shù)】
[0002]所有信息分為兩類:一類信息能夠用數(shù)據(jù)或統(tǒng)一的結(jié)構(gòu)加以表示,成為結(jié)構(gòu)化數(shù)據(jù),如數(shù)字、符號(hào)等;另一類信息無法用數(shù)字或統(tǒng)一的結(jié)構(gòu)表示,比如文本、圖片、網(wǎng)頁(yè)、各類報(bào)表、圖像和音頻/視頻信息等等。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展非結(jié)構(gòu)化數(shù)據(jù)的數(shù)量口趨增大。
[0003]目前,對(duì)非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行管理,主要使用全文索引技術(shù),具體的:建立倒排索引文件,根據(jù)關(guān)鍵字對(duì)非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行內(nèi)容檢索,再對(duì)檢索到的內(nèi)容進(jìn)行處理。索引是對(duì)數(shù)據(jù)庫(kù)表中的一列或多列的值進(jìn)行排序的一種結(jié)構(gòu),使用索引可快速訪問數(shù)據(jù)庫(kù)表中的特定信息,大大提高了數(shù)據(jù)庫(kù)檢索的性能。數(shù)據(jù)包括兩大類:結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù),實(shí)際應(yīng)用中的數(shù)據(jù)可能混合了結(jié)構(gòu)化和非結(jié)構(gòu)化的數(shù)據(jù)。對(duì)結(jié)構(gòu)化的數(shù)據(jù)進(jìn)行檢索稱之為結(jié)構(gòu)化檢索,反之,對(duì)非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行檢索稱之為非結(jié)構(gòu)化檢索。但是,這種對(duì)非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行管理的方法,由于每次索引都需要進(jìn)行全文搜索,且只能對(duì)預(yù)置的關(guān)鍵字進(jìn)行搜索,無法根據(jù)需要進(jìn)行擴(kuò)展以便更準(zhǔn)確的查找。
[0004]可見,現(xiàn)有技術(shù)中對(duì)非結(jié)構(gòu)化數(shù)據(jù)庫(kù)信息進(jìn)行管理,存在搜索周期長(zhǎng)、查找準(zhǔn)確度不高、以及擴(kuò)展性差的問題。
【發(fā)明內(nèi)容】
[0005]針對(duì)以上問題,本發(fā)明提供了一種能夠?qū)崟r(shí)的采集用戶的訪問數(shù)據(jù)并對(duì)數(shù)據(jù)進(jìn)行分類,將結(jié)構(gòu)化數(shù)據(jù)直接儲(chǔ)存,非結(jié)構(gòu)化數(shù)據(jù)的檢索更加快捷、范圍更加廣泛、更加準(zhǔn)確的管理非結(jié)構(gòu)化數(shù)據(jù)的裝置和方法。
[0006]本發(fā)明的技術(shù)方案如下:
[0007]上述的一種管理非結(jié)構(gòu)化數(shù)據(jù)的裝置,包括服務(wù)器、數(shù)據(jù)解析模塊、原始數(shù)據(jù)導(dǎo)入模塊、數(shù)據(jù)庫(kù)、匹配規(guī)則定義模塊、分析模塊和調(diào)整模塊,所述服務(wù)器連接用戶終端,所述服務(wù)器的數(shù)據(jù)輸出端依次連接所述數(shù)據(jù)解析模塊和原始數(shù)據(jù)導(dǎo)入模塊,所述原始數(shù)據(jù)導(dǎo)入模塊通過一對(duì)數(shù)據(jù)輸出端口分別連接所述數(shù)據(jù)庫(kù)和匹配規(guī)則定義模塊,所述匹配規(guī)則定義模塊依次連接所述分析模塊和調(diào)整模塊,所述分析模塊的數(shù)據(jù)輸出端口連接數(shù)據(jù)庫(kù)。
[0008]—種管理非結(jié)構(gòu)化數(shù)據(jù)的方法,其具體步驟為:
[0009](I)通過服務(wù)器對(duì)用戶終端所產(chǎn)生的數(shù)據(jù)進(jìn)行綜合采集,得到綜合數(shù)據(jù);
[0010](2)再由服務(wù)器將綜合數(shù)據(jù)發(fā)送到數(shù)據(jù)解析模塊,數(shù)據(jù)解析模塊對(duì)每一條數(shù)據(jù)進(jìn)行解析,根據(jù)數(shù)據(jù)類型、數(shù)據(jù)格式,對(duì)無效數(shù)據(jù)和錯(cuò)誤數(shù)據(jù)進(jìn)行刪除,并將有效數(shù)據(jù)分為結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)數(shù)據(jù),放入原始數(shù)據(jù)隊(duì)列,最后將非結(jié)構(gòu)化數(shù)據(jù)通過原始數(shù)據(jù)導(dǎo)入模塊導(dǎo)入匹配規(guī)則定義模塊;
[0011](3)匹配規(guī)則定義模塊根據(jù)正則表達(dá)式建立若干條匹配規(guī)則,從非結(jié)構(gòu)化數(shù)據(jù)中提取含有匹配字段的數(shù)據(jù)內(nèi)容,并將含有匹配字段的數(shù)據(jù)內(nèi)容送入到分析模塊內(nèi);
[0012](4)分析模塊對(duì)含有匹配字段的數(shù)據(jù)內(nèi)容進(jìn)行分析,抓取數(shù)據(jù)內(nèi)容內(nèi)的關(guān)鍵字段,分析模塊將關(guān)鍵字段進(jìn)行儲(chǔ)存;調(diào)整模塊接收分析模塊發(fā)來的數(shù)據(jù)內(nèi)容并進(jìn)行調(diào)整后,再由分析模塊將調(diào)整后的數(shù)據(jù)內(nèi)容上傳到服務(wù)器。
[0013]所述的一種管理非結(jié)構(gòu)化數(shù)據(jù)的方法,其中,所述步驟(2)中的結(jié)構(gòu)化數(shù)據(jù)是通過原始數(shù)據(jù)導(dǎo)入模塊直接導(dǎo)入數(shù)據(jù)庫(kù)存儲(chǔ)。
[0014]所述的一種管理非結(jié)構(gòu)化數(shù)據(jù)的方法,其中,所述步驟(3)中的匹配規(guī)則包括對(duì)匹配的字段的定義以及匹配的字段對(duì)應(yīng)的格式的定義。
[0015]所述的一種管理非結(jié)構(gòu)化數(shù)據(jù)的方法,其中,所述步驟(3)中匹配規(guī)則定義模塊是利用正則表達(dá)式建立匹配規(guī)則,并將匹配規(guī)則發(fā)給分析模塊。
[0016]所述的一種管理非結(jié)構(gòu)化數(shù)據(jù)的方法,其中,所述步驟(4)中的調(diào)整模塊用于接收分析模塊發(fā)來的匹配規(guī)則,對(duì)該匹配規(guī)則進(jìn)行調(diào)整,將調(diào)整后的匹配規(guī)則發(fā)給分析模塊。
[0017]所述的一種管理非結(jié)構(gòu)化數(shù)據(jù)的方法,其中,所述分析模塊利用匹配規(guī)則定義模塊發(fā)來的匹配規(guī)則,對(duì)原始數(shù)據(jù)導(dǎo)入模塊導(dǎo)入的所有非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行分組,選出一組非結(jié)構(gòu)化數(shù)據(jù),將該組非結(jié)構(gòu)化數(shù)據(jù)對(duì)應(yīng)的匹配規(guī)則發(fā)送給調(diào)整模塊,以及根據(jù)調(diào)整模塊發(fā)來的調(diào)整后的匹配規(guī)則對(duì)該組非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行調(diào)整。
[0018]有益效果:
[0019]本發(fā)明管理非結(jié)構(gòu)化數(shù)據(jù)的裝置和方法構(gòu)思合理,能夠?qū)崟r(shí)的采集用戶的訪問數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行分類,將結(jié)構(gòu)化數(shù)據(jù)直接儲(chǔ)存,非結(jié)構(gòu)化數(shù)據(jù)通過匹配規(guī)則定義模塊、分析模塊和調(diào)整模塊能夠?qū)γ織l數(shù)據(jù)進(jìn)行擴(kuò)展,并即使的分類保存到數(shù)據(jù)庫(kù)中,從而保證服務(wù)器在接受訪問時(shí)能夠快速的調(diào)取數(shù)據(jù),使得非結(jié)構(gòu)化數(shù)據(jù)的檢索更加快捷、范圍更加廣泛,同時(shí)更加準(zhǔn)確。
【附圖說明】
[0020]圖1為本發(fā)明管理非結(jié)構(gòu)化數(shù)據(jù)的裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0021]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0022]如圖1所示,本發(fā)明管理非結(jié)構(gòu)化數(shù)據(jù)的裝置,包括服務(wù)器1、數(shù)據(jù)解析模塊2、原始數(shù)據(jù)導(dǎo)入模塊3、數(shù)據(jù)庫(kù)4、匹配規(guī)則定義模塊5、分析模塊6和調(diào)整模塊7。
[0023]該服務(wù)器I連接用戶終端,從用戶終端采集綜合類的數(shù)據(jù),服務(wù)器I數(shù)據(jù)輸出端依次連接數(shù)據(jù)解析模塊2和原始數(shù)據(jù)導(dǎo)入模塊3,通過數(shù)據(jù)解析模塊2對(duì)綜合類的數(shù)據(jù)進(jìn)行分析,從而實(shí)現(xiàn)數(shù)據(jù)類型、數(shù)據(jù)格式和數(shù)據(jù)結(jié)構(gòu)的判斷,將錯(cuò)誤的數(shù)據(jù)刪除,將結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)數(shù)據(jù)進(jìn)行分類,并將結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)數(shù)據(jù)放入原始數(shù)據(jù)隊(duì)列,原始數(shù)據(jù)導(dǎo)入模塊3的兩個(gè)數(shù)據(jù)輸出端口分別連接數(shù)據(jù)庫(kù)4和匹配規(guī)則定義模塊5,從而將結(jié)構(gòu)化數(shù)據(jù)直接保存,而非結(jié)構(gòu)數(shù)據(jù)送入到匹配規(guī)則定義模塊5中,匹配規(guī)則定義模塊5依次連接分析模塊6和調(diào)整模塊7,通過匹配規(guī)則定義模塊5篩選出需要的數(shù)據(jù),分析模塊6對(duì)每組數(shù)據(jù)進(jìn)行分析,抓取關(guān)鍵字段,而調(diào)整模塊7對(duì)每組數(shù)據(jù)中的關(guān)鍵字段進(jìn)行刪除、添加等修改,其中分析模塊6的數(shù)據(jù)輸出端口連接數(shù)據(jù)庫(kù)4,從而合理、簡(jiǎn)練的管理非結(jié)構(gòu)化數(shù)據(jù)。
[0024]該匹配規(guī)則定義模塊5根據(jù)實(shí)際需要建立若干條匹配規(guī)則,對(duì)匹配的字段、及所述匹配的字段對(duì)應(yīng)的格式的定義,可以使用Visual Stud1.NET編寫,比如,使用VisualStud1.NET設(shè)定匹配規(guī)則為:
[0025]REGEX = Atcachet to login by user: (.*): login (.*) \.
[0026]FORMAT = username::“$1,,login_result::“$2”
[0027]其中,“REGEX”為 Visual Stud