新四季網

一種非結構化數據快速檢索的系統及方法

2023-05-25 09:38:41 1

一種非結構化數據快速檢索的系統及方法
【專利摘要】本發明公開一種非結構化數據快速檢索的系統及方法,系統包括查詢處理模塊、查詢條件解析模塊、大數據存儲模塊、布隆過濾器過濾模塊、索引建立模塊和布隆過濾器構建模塊。查詢處理模塊接收應用客戶端的查詢請求,從查詢請求中獲取查詢條件,調用查詢條件解析模塊對查詢條件進行解析和改造,使用布隆過濾器代替原始查詢條件中的分詞條件,生成基於布隆過濾器過濾記錄標識的新查詢條件;通過該條件查詢數據記錄表;對布隆過濾器及其他查詢條件進行測試,並將符合全部查詢條件的數據記錄作為查詢結果,返回給應用客戶端。通過本發明的系統及方法,能夠更加快速的判斷一條數據記錄是否符合分詞條件,並且消耗更少的資源。
【專利說明】一種非結構化數據快速檢索的系統及方法
【技術領域】
[0001]本申請屬於信息【技術領域】,尤其涉及一種在大數據量存儲中對非結構化數據進行快速檢索的系統及方法。
【背景技術】
[0002]隨著網際網路的快速發展,網頁、博客、社交網絡、即時通信軟體等應用迅速普及,產生了大量的非結構化文本數據,如何對這些文本數據進行快速有效的檢索,成為了業界研究的熱點。網際網路搜尋引擎通過對文本數據進行分詞操作,建立從分詞到文本標識的反向索引,通過這些索引,實現根據分詞進行文本檢索。雖然通過反向索引能夠進行文本數據的檢索,但是當用戶檢索的時候包含多個檢索條件,或者檢索條件中包含多個檢索詞的時候,需要進行大量的文本標識的比對工作,對系統資源的消耗比較大,性能較低。

【發明內容】

[0003]本專利申請要解決的技術問題是:提供一種非結構化數據快速檢索的系統及方法,能夠快速完成文本標識比對,從而更快的檢索到符合條件的文本標識,並且消耗較少的系統資源。
[0004]為了解決上述技術問題,本專利申請提供了一種非結構化數據快速檢索的系統及方法。本申請所述系統包括查詢處理模塊、查詢條件解析模塊、大數據存儲模塊、布隆過濾器過濾模塊、索引建立模塊和布隆過濾器構建模塊。各模塊功能如下:
[0005]查詢處理模塊接收應用客戶端的查詢請求,從查詢請求中獲取查詢條件。
[0006]查詢條件解析模塊實現對查詢條件的解析和對查詢條件的改造,使用布隆過濾器代替原始查詢條件中的分詞條件,將客戶端查詢條件轉換成對大數據存儲模塊中數據記錄表的查詢條件。
[0007]大數據存儲模塊負責索引數據和記錄數據的存儲,並根據查詢條件對數據進行過濾,返回符合查詢條件的數據。大數據存儲模塊包含反向索引表和數據記錄表,反向索引表存儲從分詞到記錄標識的反向索引以及布隆過濾器;數據記錄表存儲記錄數據。其中,記錄標識指給每條數據記錄分配的唯一 ID。
[0008]布隆過濾器過濾模塊完成使用布隆過濾器快速判斷一條記錄數據是否滿足分詞條件的功能。
[0009]索引建立模塊將分詞到記錄標識對應關係以及對應的布隆過濾器組合在一起,構成包含布隆過濾器的反向索引數據,存入大數據存儲中的反向索引表。
[0010]布隆過濾器構建模塊完成對每個分詞構建布隆過濾器的功能。
[0011]本申請所述的一種非結構化數據快速檢索的方法為:
[0012]A、查詢處理模塊接收到應用客戶端的查詢請求以後,從查詢請求中獲取查詢條件,並調用查詢條件解析模塊,對查詢條件進行解析,查詢條件解析模塊從查詢條件中分離出分詞條件,形成分詞列表:[0013]B、查詢條件解析模塊通過分詞列表,查詢大數據存儲模塊中的反向索引表,獲取查詢條件中所有分詞對應的布隆過濾器;
[0014]C、查詢條件解析模塊結合原始查詢條件和每個分詞對應的布隆過濾器對原始查詢條件進行重構,使用布隆過濾器代替原始查詢條件中對應的分詞條件,而多個查詢條件之間的邏輯關係保持不變,形成基於布隆過濾器的查詢條件;
[0015]D、查詢處理模塊使用基於布隆過濾器的查詢條件對大數據存儲模塊中的數據記錄表進行查詢;大數據存儲模塊接收到基於布隆過濾器的查詢條件以後,調用布隆過濾器過濾模塊,使用基於布隆過濾器的查詢條件中的布隆過濾器對數據記錄中的記錄標識進行包含關係測試,測試結果為真,則表明該記錄標識包含在布隆過濾器中,進而表明數據符合分詞條件,否則不符合;
[0016]E、大數據存儲模塊使用基於布隆過濾器的查詢條件中布隆過濾器條件以外的其他查詢條件對數據記錄進行測試,如果數據記錄符合這些查詢條件,則測試結果為真,否則測試結果為假;
[0017]F、結合步驟D中布隆過濾器測試結果以及步驟E中其他查詢條件的測試結果,按照原有的邏輯關係進行組合運算,根據運算結果判斷數據記錄是否符合全部的查詢條件,並將符合條件的數據記錄作為查詢結果,返回給查詢處理模塊,由查詢處理模塊返回給應用客戶端。
[0018]本專利申請的有益效果:
[0019]1、通過本專利申請,在文本標識比對的時候,只需要獲取布隆過濾器,而不需要獲取分詞對應的文本標識,因此讀取的數據量更少更集中,對於系統磁碟的讀寫壓力更小;
[0020]2、通常的檢索方法需要在查詢條件中存儲並傳輸大量的文本標識,而本專利申請中,只需要存儲布隆過濾器,因此對於內存和網絡讀寫的消耗更少;
[0021]3、本專利申請採用少量的位比對取代了字符串比對,因此消耗的計算資源更少,速度更快。
【專利附圖】

【附圖說明】
[0022]附圖1為本專利申請的模塊分布圖
[0023]附圖2為查詢處理流程圖
【具體實施方式】
[0024]本專利申請所述的一種非結構化數據快速檢索的系統,其模塊分布情況如附圖1所示,包括查詢處理模塊、查詢條件解析模塊、大數據存儲模塊、布隆過濾器過濾模塊、索引建立模塊和布隆過濾器構建模塊。
[0025]大數據存儲模塊包含反向索引表和數據記錄表。反向索引表的數據更新步驟包括:
[0026]1、索引建立模塊接收每條數據記錄包含的所有分詞條件,使用反向索引構建的方法生成從分詞到記錄標識的對應關係數據;
[0027]2、將對應關係數據發送給布隆過濾器構建模塊,生成布隆過濾器;布隆過濾器的長度和包含該分詞的數據記錄個數成正比;使用該分詞對應的每個記錄標識構建出布隆過濾器的鍵值,並將所有的鍵值加入到布隆過濾器中;鍵值的構建方法可以採用業界常規構建方法,在此不再贅述;
[0028]3、將分詞到記錄標識對應關係以及對應的布隆過濾器組合在一起,構成包含布隆過濾器的反向索引數據,存入大數據存儲中的反向索引表。
[0029]本專利申請所述的一種非結構化數據快速檢索的方法,查詢處理流程如附圖2所示,具體包括如下步驟:
[0030]1、查詢處理模塊接收應用客戶端的查詢請求,從查詢請求中獲取查詢條件,調用查詢條件解析模塊;
[0031]2、查詢條件解析模塊對查詢條件進行解析。具體包括:
[0032]2.1查詢條件解析模塊首先分析查詢條件,從查詢條件中分離出包含的分詞條件,形成分詞列表,分詞列表中的分詞條件不重複;
[0033]2.2根據分詞列表,查詢大數據存儲模塊中分詞到記錄標識的反向索引表,獲取所有分詞條件對應的布隆過濾器。
[0034]3、查詢條件解析模塊對原始查詢條件進行重構,使用布隆過濾器代替原始查詢條件中的分詞條件,而多個查詢條件之間的邏輯關係保持不變,生成基於布隆過濾器的新查詢條件;
[0035]4、查詢處理模塊使用基於布隆過濾器的查詢條件對大數據存儲模塊中的數據記錄表進行查詢,大數據存儲模塊調用布隆過濾器過濾模塊,使用基於布隆過濾器的查詢條件中的布隆過濾器對數據記錄中的記錄標識進行包含性測試,測試結果為真,則表明數據可能符合分詞條件,否則不符合。具體測試方法為:
[0036]布隆過濾器包含N(N>= I)個哈希散列函數,同時包含一個位向量。對鍵值進行測試的時候,使用哈希散列函數對鍵值進行散列,會得到N個哈希散列值;判斷位向量中,和這N個哈希散列值對應的位置的值是I還是0,如果全部都是I,則測試通過,數據符合分詞條件,否則不符合。
[0037]較佳的,在查詢出布隆過濾器的同時,查詢出分詞對應的所有記錄標識,在布隆過濾器測試結果為真的情況下進一步通過記錄標識比對來確定記錄標識是否真正符合條件,可以有效避免布隆過濾器誤中的情況。
[0038]5、大數據存儲模塊使用查詢條件中布隆過濾器以外的其他查詢條件對數據記錄進行測試,例如查詢條件中,性別=』男』,則判斷數據記錄中『性別』這一屬性是否等於』男』,如果是,則測試結果為真,否則測試結果為假。
[0039]6、大數據存儲模塊結合步驟4中布隆過濾器的測試結果和步驟5中其他查詢條件的測試結果按照原有的邏輯關係進行組合運算,根據運算結果判斷數據記錄是否符合全部的查詢條件。例如:有』記錄I』這樣一條記錄數據,基於布隆過濾器的查詢條件為:(』布隆過濾器I』並且『性別』=』男』),』布隆過濾器I』對於』記錄I』的測試結果為』真』,同時』記錄I』中』性別』屬性等於』男』,則組合運算結果為真,表明』記錄I』滿足全部查詢條件。之後,大數據存儲模塊將符合條件的數據記錄作為查詢結果,返回給查詢處理模塊,並由查詢處理模塊返回給應用客戶端。
[0040]以上實施方案的說明只適用於幫助理解本專利申請的原理,同時對本領域的一般技術人員,依據本專利申請實施例,在【具體實施方式】以及應用範圍上均會有改變之處,因此本說明書內容不應理解為對本專利申請的限制。
【權利要求】
1.一種非結構化數據快速檢索的系統,其特徵在於:包括查詢處理模塊、查詢條件解析模塊、大數據存儲模塊、布隆過濾器過濾模塊、索引建立模塊和布隆過濾器構建模塊。
2.一種非結構化數據快速檢索的方法,其特徵在於,包括如下步驟: A、查詢處理模塊接收到應用客戶端的查詢請求以後,從查詢請求中獲取查詢條件,並調用查詢條件解析模塊,對查詢條件進行解析,查詢條件解析模塊從查詢條件中分離出分詞條件,形成分詞列表; B、查詢條件解析模塊通過分詞列表,查詢大數據存儲模塊中的反向索引表,獲取查詢條件中所有分詞對應的布隆過濾器; C、查詢條件解析模塊結合原始查詢條件和每個分詞對應的布隆過濾器對原始查詢條件進行重構,使用布隆過濾器代替原始查詢條件中對應的分詞條件,而多個查詢條件之間的邏輯關係保持不變,形成基於布隆過濾器的查詢條件; D、查詢處理模塊使用基於布隆過濾器的查詢條件對大數據存儲模塊中的數據記錄表進行查詢;大數據存儲模塊接收到基於布隆過濾器的查詢條件以後,調用布隆過濾器過濾模塊,使用基於布隆過濾器的查詢條件中的布隆過濾器對數據記錄中的記錄標識進行包含關係測試,測試結果為真,則表明該記錄標識包含在布隆過濾器中,進而表明數據符合分詞條件,否則不符合; E、大數據存儲模塊使用基於布隆過濾器的查詢條件中布隆過濾器條件以外的其他查詢條件對數據記錄進行測試,如果數據記錄符合這些查詢條件,則測試結果為真,否則測試結果為假; F、結合步驟D中布隆過濾器測試結果以及步驟E中其他查詢條件的測試結果,按照原有的邏輯關係進行組合運算,根據運算結果判斷數據記錄是否符合全部的查詢條件,並將符合條件的數據記錄作為查詢結果,返回給查詢處理模塊,由查詢處理模塊返回給應用客戶端。
3.如權利要求2所述的一種非結構化數據快速檢索的方法,其特徵在於,所述步驟B中的反向索引表的數據更新過程如下: B1、索引建立模塊接收每條數據記錄包含的所有分詞條件,使用反向索引構建的方法生成從分詞到記錄標識的對應關係數據; B2、將對應關係數據發送給布隆過濾器構建模塊,生成分詞對應的布隆過濾器; B3、將分詞到記錄標識對應關係以及對應的布隆過濾器組合在一起,構成包含布隆過濾器的反向索引數據,存入大數據存儲中的反向索引表。
4.如權利要求3所述的一種非結構化數據快速檢索的方法,其特徵在於:所述步驟B2中的布隆過濾器的長度和包含該分詞的數據記錄個數成正比:使用該分詞對應的每個記錄標識構建出布隆過濾器的鍵值,並將所有的鍵值加入到對應的布隆過濾器中。
5.如權利要求2所述的一種非結構化數據快速檢索的方法,其特徵在於,所述步驟D進一步包括:在查詢出布隆過濾器的同時,查詢出分詞對應的所有記錄標識,在布隆過濾器測試結果為真的情況下進一步通過記錄標識比對來確定記錄標識是否真正符合條件。
【文檔編號】G06F17/30GK103440249SQ201310308778
【公開日】2013年12月11日 申請日期:2013年7月23日 優先權日:2013年7月23日
【發明者】周帥鋒, 趙智峰, 曹俊亮, 穆寧 申請人:南京烽火星空通信發展有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀