亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于內(nèi)存全文檢索解決數(shù)據(jù)庫(kù)復(fù)雜文本查詢的方法及系統(tǒng)與流程

文檔序號(hào):12470226閱讀:1052來源:國(guó)知局
基于內(nèi)存全文檢索解決數(shù)據(jù)庫(kù)復(fù)雜文本查詢的方法及系統(tǒng)與流程

本發(fā)明涉及數(shù)據(jù)庫(kù)領(lǐng)域,尤其涉及一種基于內(nèi)存全文檢索解決數(shù)據(jù)庫(kù)復(fù)雜文本查詢的方法及系統(tǒng)。



背景技術(shù):

隨著信息化社會(huì)不斷的向前發(fā)展,各行各業(yè)業(yè)務(wù)的種類越來越多,使用的人群也越復(fù)雜,信息化的復(fù)雜化直接導(dǎo)致關(guān)系型數(shù)據(jù)庫(kù)實(shí)例中的字段增加,字段內(nèi)容也越復(fù)雜,當(dāng)數(shù)據(jù)庫(kù)實(shí)例中的記錄數(shù)量和復(fù)雜字段個(gè)數(shù)達(dá)到一定程度時(shí),使用like查詢會(huì)消耗大量時(shí)間,影響業(yè)務(wù)的通暢運(yùn)作,現(xiàn)有技術(shù)中應(yīng)用Lucene對(duì)數(shù)據(jù)庫(kù)查詢,是通過Lucene將索引保存至磁盤,在數(shù)據(jù)庫(kù)實(shí)例過大的情況下,創(chuàng)建索引速度不夠快,致使需要在業(yè)務(wù)空閑時(shí)間去進(jìn)行Lucene索引的創(chuàng)新或更新,會(huì)導(dǎo)致應(yīng)用的不便,查詢效率低下。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明要解決的技術(shù)問題之一,在于提供一種基于內(nèi)存全文檢索解決數(shù)據(jù)庫(kù)復(fù)雜文本查詢的方法,提高數(shù)據(jù)庫(kù)查詢效率,提高擴(kuò)展性。

本發(fā)明要解決的技術(shù)問題之一是這樣實(shí)現(xiàn)的:一種基于內(nèi)存全文檢索解決數(shù)據(jù)庫(kù)復(fù)雜文本查詢的方法,需提供復(fù)數(shù)個(gè)服務(wù)器,每一服務(wù)器提供一內(nèi)存,形成集群內(nèi)存,所述方法包括如下步驟:

步驟1、在每一內(nèi)存中創(chuàng)建一內(nèi)存數(shù)據(jù)庫(kù),將關(guān)系型數(shù)據(jù)庫(kù)實(shí)例中所有字段作為鍵值均等地加載到各個(gè)內(nèi)存的內(nèi)存數(shù)據(jù)庫(kù)中;

步驟2、在每一內(nèi)存中為內(nèi)存數(shù)據(jù)庫(kù)建立對(duì)應(yīng)的索引庫(kù);

步驟3、以廣播形式經(jīng)由檢索器對(duì)內(nèi)存中各個(gè)索引庫(kù)進(jìn)行文本查詢,返回結(jié)果給應(yīng)用系統(tǒng)。

進(jìn)一步的,所述步驟2具體為:通過索引器解析配置文件,獲取內(nèi)存數(shù)據(jù)庫(kù)連接,根據(jù)每一內(nèi)存數(shù)據(jù)庫(kù)中存儲(chǔ)的內(nèi)容分別建立索引,并保存到每一內(nèi)存數(shù)據(jù)庫(kù)對(duì)應(yīng)建立的一索引庫(kù)中。

進(jìn)一步的,所述步驟3具體為:以廣播形式經(jīng)由Lucene索引器對(duì)各個(gè)內(nèi)存節(jié)點(diǎn)中的索引庫(kù)進(jìn)行文本查詢,得到對(duì)應(yīng)記錄的主鍵,并通過所述主鍵找到相應(yīng)內(nèi)存數(shù)據(jù)庫(kù)中獲取相關(guān)記錄,最終按匹配級(jí)別由高到低將所有節(jié)點(diǎn)的查詢結(jié)果返回到應(yīng)用系統(tǒng)。

進(jìn)一步的,所述方法還包括步驟4、將每一次業(yè)務(wù)的變更實(shí)時(shí)更新到關(guān)系型數(shù)據(jù)庫(kù)中,并更新到內(nèi)存數(shù)據(jù)庫(kù)以及索引庫(kù)中。

本發(fā)明要解決的技術(shù)問題之二,在于提供一種基于內(nèi)存全文檢索解決數(shù)據(jù)庫(kù)復(fù)雜文本查詢的系統(tǒng),提高數(shù)據(jù)庫(kù)查詢效率,提高擴(kuò)展性。

本發(fā)明要解決的技術(shù)問題之二是這樣實(shí)現(xiàn)的:一種基于內(nèi)存全文檢索解決數(shù)據(jù)庫(kù)復(fù)雜文本查詢的系統(tǒng),需提供復(fù)數(shù)個(gè)服務(wù)器,每一服務(wù)器提供一內(nèi)存,形成集群內(nèi)存,所述系統(tǒng)包括一內(nèi)存數(shù)據(jù)庫(kù)創(chuàng)建模塊、一索引庫(kù)創(chuàng)建模塊和一查詢模塊:

所述內(nèi)存數(shù)據(jù)庫(kù)創(chuàng)建模塊,用于在每一內(nèi)存中創(chuàng)建一內(nèi)存數(shù)據(jù)庫(kù),將關(guān)系型數(shù)據(jù)庫(kù)實(shí)例中所有字段作為鍵值均等地加載到各個(gè)內(nèi)存的內(nèi)存數(shù)據(jù)庫(kù)中;

所述索引庫(kù)創(chuàng)建模塊,用于在每一內(nèi)存中為內(nèi)存數(shù)據(jù)庫(kù)建立對(duì)應(yīng)的索引庫(kù);

所述查詢模塊,用于以廣播形式經(jīng)由檢索器對(duì)內(nèi)存中各個(gè)索引庫(kù)進(jìn)行文本查詢,返回結(jié)果給應(yīng)用系統(tǒng)。

進(jìn)一步的,所述索引庫(kù)創(chuàng)建模塊具體為:用于通過索引器解析配置文件,獲取內(nèi)存數(shù)據(jù)庫(kù)連接,根據(jù)每一內(nèi)存數(shù)據(jù)庫(kù)中存儲(chǔ)的內(nèi)容分別建立索引,并保存到每一內(nèi)存數(shù)據(jù)庫(kù)對(duì)應(yīng)建立的一索引庫(kù)中。

進(jìn)一步的,所述查詢模塊具體為:用于以廣播形式經(jīng)由Lucene索引器對(duì)各個(gè)內(nèi)存節(jié)點(diǎn)中的索引庫(kù)進(jìn)行文本查詢,得到對(duì)應(yīng)記錄的主鍵,并通過所述主鍵找到相應(yīng)內(nèi)存數(shù)據(jù)庫(kù)中獲取相關(guān)記錄,最終按匹配級(jí)別由高到低將所有節(jié)點(diǎn)的查詢結(jié)果返回到應(yīng)用系統(tǒng)。

進(jìn)一步的,所述系統(tǒng)還包括更新模塊,用于將每一次業(yè)務(wù)的變更實(shí)時(shí)更新到關(guān)系型數(shù)據(jù)庫(kù)中,并更新到內(nèi)存數(shù)據(jù)庫(kù)以及索引庫(kù)中。

本發(fā)明具有如下優(yōu)點(diǎn):

1、因使用索引器在內(nèi)存中創(chuàng)建與更新索引,大大縮短對(duì)多字段數(shù)據(jù)庫(kù)實(shí)例的復(fù)雜文本查詢的響應(yīng)時(shí)間,降低索引創(chuàng)建時(shí)間;

2、將關(guān)系型數(shù)據(jù)庫(kù)實(shí)例緩存到內(nèi)存數(shù)據(jù)庫(kù)內(nèi),并以內(nèi)存Lucene索引的方式,支持全文檢索,避免使用關(guān)系型數(shù)據(jù)庫(kù)like查詢,提高查詢效率;

3、通過分布式內(nèi)存數(shù)據(jù)庫(kù)的建立,可根據(jù)關(guān)系型數(shù)據(jù)庫(kù)實(shí)例大小的變化,調(diào)整分布式內(nèi)存數(shù)據(jù)庫(kù)節(jié)點(diǎn)數(shù)量,提高擴(kuò)展性。

附圖說明

下面參照附圖結(jié)合實(shí)施例對(duì)本發(fā)明作進(jìn)一步的說明。

圖1為本發(fā)明一種基于內(nèi)存全文檢索解決數(shù)據(jù)庫(kù)復(fù)雜文本查詢的方法執(zhí)行流程圖。

圖2為本發(fā)明一種基于內(nèi)存全文檢索解決數(shù)據(jù)庫(kù)復(fù)雜文本查詢?cè)硎疽鈭D。

圖3為本發(fā)明一種基于內(nèi)存全文檢索解決數(shù)據(jù)庫(kù)復(fù)雜文本查詢的系統(tǒng)框圖。

具體實(shí)施方式

如圖1和圖2所示,一種基于內(nèi)存全文檢索解決數(shù)據(jù)庫(kù)復(fù)雜文本查詢的方法,需提供復(fù)數(shù)個(gè)服務(wù)器,每一服務(wù)器提供一內(nèi)存,形成集群內(nèi)存,所述方法包括如下步驟:

步驟1、在每一內(nèi)存中創(chuàng)建一內(nèi)存數(shù)據(jù)庫(kù),將關(guān)系型數(shù)據(jù)庫(kù)實(shí)例中所有字段作為鍵值均等地加載到各個(gè)內(nèi)存的內(nèi)存數(shù)據(jù)庫(kù)中;

步驟2、在每一內(nèi)存中為內(nèi)存數(shù)據(jù)庫(kù)建立對(duì)應(yīng)的索引庫(kù);所述步驟2具體為:通過索引器(可用Lucene索引器或其他第三方索引工具)解析配置文件,獲取內(nèi)存數(shù)據(jù)庫(kù)連接,根據(jù)每一內(nèi)存數(shù)據(jù)庫(kù)中存儲(chǔ)的內(nèi)容分別建立索引,通過讀取需要抽取索引的源數(shù)據(jù)庫(kù)信息,進(jìn)行數(shù)據(jù)抽取與轉(zhuǎn)換建立索引,并保存到每一內(nèi)存數(shù)據(jù)庫(kù)對(duì)應(yīng)建立的一索引庫(kù)中;

步驟3、以廣播形式經(jīng)由檢索器對(duì)內(nèi)存中各個(gè)索引庫(kù)進(jìn)行文本查詢,返回結(jié)果給應(yīng)用系統(tǒng);所述步驟3具體為:以廣播形式經(jīng)由Lucene索引器(或其他第三方索引工具)對(duì)各個(gè)內(nèi)存節(jié)點(diǎn)中的索引庫(kù)進(jìn)行文本查詢,得到對(duì)應(yīng)記錄的主鍵ID,并通過所述主鍵ID找到相應(yīng)內(nèi)存數(shù)據(jù)庫(kù)中獲取相關(guān)記錄,最終按匹配級(jí)別由高到低將所有節(jié)點(diǎn)的查詢結(jié)果返回到應(yīng)用系統(tǒng)。

所述方法還包括步驟4、將每一次業(yè)務(wù)的變更實(shí)時(shí)更新到關(guān)系型數(shù)據(jù)庫(kù)中,并更新到內(nèi)存數(shù)據(jù)庫(kù)以及索引庫(kù)中。

如圖2和圖3所示,一種基于內(nèi)存全文檢索解決數(shù)據(jù)庫(kù)復(fù)雜文本查詢的系統(tǒng),需提供復(fù)數(shù)個(gè)服務(wù)器,每一服務(wù)器提供一內(nèi)存,形成集群內(nèi)存,所述系統(tǒng)包括一內(nèi)存數(shù)據(jù)庫(kù)創(chuàng)建模塊、一索引庫(kù)創(chuàng)建模塊和一查詢模塊:

所述內(nèi)存數(shù)據(jù)庫(kù)創(chuàng)建模塊,用于在每一內(nèi)存中創(chuàng)建一內(nèi)存數(shù)據(jù)庫(kù),將關(guān)系型數(shù)據(jù)庫(kù)實(shí)例中所有字段作為鍵值均等地加載到各個(gè)內(nèi)存的內(nèi)存數(shù)據(jù)庫(kù)中;

所述索引庫(kù)創(chuàng)建模塊,用于在每一內(nèi)存中為內(nèi)存數(shù)據(jù)庫(kù)建立對(duì)應(yīng)的索引庫(kù);所述索引庫(kù)創(chuàng)建模塊具體為:用于通過索引器(可用Lucene索引器或其他第三方索引工具)解析配置文件,獲取內(nèi)存數(shù)據(jù)庫(kù)連接,根據(jù)每一內(nèi)存數(shù)據(jù)庫(kù)中存儲(chǔ)的內(nèi)容分別建立索引,通過讀取需要抽取索引的源數(shù)據(jù)庫(kù)信息,進(jìn)行數(shù)據(jù)抽取與轉(zhuǎn)換建立索引,并保存到每一內(nèi)存數(shù)據(jù)庫(kù)對(duì)應(yīng)建立的一索引庫(kù)中;

所述查詢模塊,用于以廣播形式經(jīng)由檢索器對(duì)內(nèi)存中各個(gè)索引庫(kù)進(jìn)行文本查詢,返回結(jié)果給應(yīng)用系統(tǒng);所述查詢模塊具體為:用于以廣播形式經(jīng)由Lucene索引器(或其他第三方索引工具)對(duì)各個(gè)內(nèi)存節(jié)點(diǎn)中的索引庫(kù)進(jìn)行文本查詢,得到對(duì)應(yīng)記錄的主鍵ID,并通過所述主鍵ID找到相應(yīng)內(nèi)存數(shù)據(jù)庫(kù)中獲取相關(guān)記錄,最終按匹配級(jí)別由高到低將所有節(jié)點(diǎn)的查詢結(jié)果返回到應(yīng)用系統(tǒng)。

所述系統(tǒng)還包括更新模塊,用于將每一次業(yè)務(wù)的變更實(shí)時(shí)更新到關(guān)系型數(shù)據(jù)庫(kù)中,并更新到內(nèi)存數(shù)據(jù)庫(kù)以及索引庫(kù)中。

本發(fā)明通過創(chuàng)建集群內(nèi)存以及集群索引,將關(guān)系型數(shù)據(jù)庫(kù)分布到各個(gè)內(nèi)存中,并以內(nèi)存Lucene索引的方式,支持全文檢索,避免使用關(guān)系型數(shù)據(jù)庫(kù)like查詢,縮短了對(duì)多字段數(shù)據(jù)庫(kù)實(shí)例的復(fù)雜文本查詢的響應(yīng)時(shí)間,提高查詢效率;且通過分布式內(nèi)存數(shù)據(jù)庫(kù)的建立,可根據(jù)關(guān)系型數(shù)據(jù)庫(kù)實(shí)例大小的變化,調(diào)整(添加或刪減)分布式內(nèi)存數(shù)據(jù)庫(kù)節(jié)點(diǎn)數(shù)量,提高擴(kuò)展性、靈活性。

雖然以上描述了本發(fā)明的具體實(shí)施方式,但是熟悉本技術(shù)領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,我們所描述的具體的實(shí)施例只是說明性的,而不是用于對(duì)本發(fā)明的范圍的限定,熟悉本領(lǐng)域的技術(shù)人員在依照本發(fā)明的精神所作的等效的修飾以及變化,都應(yīng)當(dāng)涵蓋在本發(fā)明的權(quán)利要求所保護(hù)的范圍內(nèi)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1