一種基于大數據的高效搜索方法
【技術領域】
[0001]本發(fā)明涉及計算機大數據領域,具體涉及一種基于大數據的高效搜索方法。
【背景技術】
[0002]隨著云計算技術的飛速發(fā)展,尤其是物聯網技術和移動技術的發(fā)展,越來越多的數據被人、各種傳感設備或者機器所產生。越來越多的應用每個月都會產生TB級別甚至PB級別的數據,與此同時,越來越多的需求也需要每天處理幾十PB、幾百PB甚至EB級的數據。
[0003]雖然針對大數據的處理已經有許多新的技術或者方法,但是如何從PB級這樣的大數據中取出滿足用戶查詢需求的一條記錄或者合適的網頁,仍然需要花費很長的時間,這對于交互式的查詢,尤其是即時查詢來說,仍然是一個巨大的挑戰(zhàn)。
[0004]雖然現在已經有各種各樣的搜索方法出現,但是仍然很難滿足這種針對大數據搜索的需求。針對這種情況,本發(fā)明提出了一種新的基于大數據的高效搜索方法。這種新的搜索方法將為大數據的查詢,尤其是針對大數據的即時查詢提供一種新的思路和方法,對實現交互式的查詢具有重要的意義。
【發(fā)明內容】
[0005]本發(fā)明要解決的技術問題是:針對大數據搜索效率低下的問題,本發(fā)明提出了一種高效的搜索方法。將共享的歷史查詢結果作為中間結果集,在新的查詢請求到達時,首先與歷史查詢進行匹配,若能實現匹配,則直接將匹配部分的歷史查詢結果直接作為新查詢請求結果的一部分。這減少了大量的對歷史查詢的重復計算,節(jié)省了搜索時間,提高了查詢效率。
[0006]本發(fā)明所采用的技術方案為:
一種基于大數據的高效搜索方法,所述方法根據來自用戶的新的查詢請求,首先判斷歷史記錄上是否有針對該查詢或者部分查詢的先例,若有,則共享歷史查詢的結果集合,以減少重新針對大數據的集合進行全部查詢帶來的時間消耗。
[0007]所述方法實現步驟如下:
步驟一:用戶首先提出新的查詢請求;
步驟二:對來自用戶新的查詢請求和歷史查詢網進行匹配,
步驟三:將用戶查詢所需的結果反饋給用戶;
步驟四:實現對歷史查詢網的更新。
[0008]所述匹配有如下3種情況:
1)完全共享:若為完全共享,則表明用戶新來的查詢請求以前同樣出現過,這樣以前同樣的查詢所得到的查詢結果可以直接為本次查詢所利用;
2)部分共享:若為部分共享,則表明用戶新來的查詢請求以前部分出現過,這樣以前同樣的查詢部分所得到的查詢結果可以直接為本次查詢所利用;
3)不共享:若為完全不共享,則表明用戶新來的查詢請求沒有任何歷史查詢記錄可供共享,需要重新執(zhí)行查詢。
[0009]所述新的查詢請求與歷史查詢網匹配的算法,實現步驟如下:
步驟一:找到與新的查詢請求的數據源相同的云數據庫;
步驟二:查找云數據庫下的Si節(jié)點,找到后做一標記,并跳到步驟三;若沒有找到,則退出程序;
步驟三:繼續(xù)在步驟二的基礎上往下找節(jié)點S7,找到后做一標記,并跳到步驟三,若沒有找到,則退出程序;
步驟四:重復步驟三,直到退出程序。
[0010]所述歷史查詢網的更新算法,實現步驟如下:
步驟一:找到與新的查詢請求的數據源相同的云數據庫;
步驟二:查找云數據庫下的Si節(jié)點,找到后做一標記,并跳到步驟三,若沒有找到,則將新的查詢節(jié)點連接到該云數據庫;
步驟三:重復步驟二,直到所有的新節(jié)點均已經更新。
[0011]本發(fā)明的有益效果為:本發(fā)明方法針對大數據搜索效率低下的問題,將共享的歷史查詢結果作為中間結果集,在新的查詢請求到達時,首先與歷史查詢進行匹配,若能實現匹配,則直接將匹配部分的歷史查詢結果直接作為新查詢請求結果的一部分,減少了大量的對歷史查詢的重復計算,節(jié)省了搜索時間,提高了查詢效率。
【附圖說明】
[0012]圖1為本發(fā)明方法大數據的搜索框架圖;
圖2為新的查詢請求與歷史查詢網匹配示意圖;
圖3為更新后的歷史查詢網示意圖。
【具體實施方式】
[0013]下面通過【具體實施方式】對本發(fā)明進一步說明:
實施例1:
一種基于大數據的高效搜索方法,所述方法根據來自用戶的新的查詢請求,首先判斷歷史記錄上是否有針對該查詢或者部分查詢的先例,若有,則共享歷史查詢的結果集合,以減少重新針對大數據的集合進行全部查詢帶來的時間消耗。
[0014]實施例2:
在實施例1的基礎上,本實施例所述方法實現步驟如下:
步驟一:用戶首先提出新的查詢請求;
步驟二:對來自用戶新的查詢請求和歷史查詢網進行匹配,
步驟三:將用戶查詢所需的結果反饋給用戶;
步驟四:實現對歷史查詢網的更新。
[0015]實施例3:
如圖1所示,在實施例2的基礎上,本實施例所述匹配有如下3種情況:
I)完全共享:若為完全共享,則表明用戶新來的查詢請求以前同樣出現過,這樣以前同樣的查詢所得到的查詢結果可以直接為本次查詢所利用; 其需要執(zhí)行如下處理即可:
a.共享歷史同樣查詢的查詢結果;
b.由于歷史查詢只是對某段時間以前的數據進行的查詢,有可能在該歷史查詢后又有新的數據記錄產生,因此對新增的數據仍然需要執(zhí)行查詢,并得出相關結果;
c.將a和b的結果進行合并,得到用戶所需的最終結果;
2)部分共享:若為部分共享,則表明用戶新來的查詢請求以前部分出現過,這樣以前同樣的查詢部分所得到的查詢結果可以直接為本次查詢所利用;
其需要執(zhí)行如下處理即可:
a.共享歷史同樣的部分查詢的查詢結果;
b.由于歷史查詢只是對某段時間以前的數據進行的查詢,有可能在該歷史查詢后又有新的數據記錄產生,因此對新增的數據仍然需要執(zhí)行查詢,并得出相關結果;
c.其中a和b只是得到了查詢相同部分的共享結果,對于查詢不相同部分仍然需要執(zhí)行查詢,并得到相應的結果;
d.將a、b和c的結果進行合并,得到用戶所需的最終結果;
3)不共享:若為完全不共享,則表明用戶新來的查詢請求沒有任何歷史查詢記錄可供共享,需要重新執(zhí)行查詢;
其需要執(zhí)行如下處理即可:
a.執(zhí)行全部的查詢,并得到相應結果;
b.其中a所得到的結果即為用戶所需的最終結果。
[0016]實施例4:
在實施例2的基礎上,本實施例所述新的查詢請求與歷史查詢網匹配的算法,如附圖2所示,輸入:新的查詢請求,歷史查詢網;輸出:新的查詢請求和歷史查詢網的匹配情況,即哪些節(jié)點匹配成功,匹配不成功的節(jié)點為新的查詢請求節(jié)點,實現步驟如下:
步驟一:找到與新的查詢請求的數據源相同的云數據庫;
步驟二:查找云數據庫下的SI節(jié)點,找到后做一標記,并跳到步驟三;若沒有找到,則退出程序;
步驟三:繼續(xù)在步驟二的基礎上往下找節(jié)點S7,找到后做一標記,并跳到步驟三,若沒有找到,則退出程序;
步驟四:重復步驟三,直到退出程序。
[0017]實施例5:
在實施例2的基礎上,本實施例所述歷史查詢網的更新算法,如附圖3所示,輸入:查詢請求、歷史查詢網;輸出:更新后的查詢網,實現步驟如下:
步驟一:找到與新的查詢請求的數據源相同的云數據庫;
步驟二:查找云數據庫下的SI節(jié)點,找到后做一標記,并跳到步驟三,若沒有找到,則將新的查詢節(jié)點連接到該云數據庫;
步驟三:重復步驟二,直到所有的新節(jié)點均已經更新。
[0018]以上實施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關技術領域的普通技術人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護范圍應由權利要求限定。
【主權項】
1.一種基于大數據的高效搜索方法,其特征在于:所述方法根據來自用戶的新的查詢請求,首先判斷歷史記錄上是否有針對該查詢或者部分查詢的先例,若有,則共享歷史查詢的結果集合。
2.根據權利要求1所述的一種基于大數據的高效搜索方法,其特征在于,所述方法實現步驟如下: 步驟一:用戶首先提出新的查詢請求; 步驟二:對來自用戶新的查詢請求和歷史查詢網進行匹配, 步驟三:將用戶查詢所需的結果反饋給用戶; 步驟四:實現對歷史查詢網的更新。
3.根據權利要求2所述的一種基于大數據的高效搜索方法,其特征在于,所述匹配有如下3種情況: 1)完全共享:若為完全共享,則表明用戶新來的查詢請求以前同樣出現過,這樣以前同樣的查詢所得到的查詢結果可以直接為本次查詢所利用; 2)部分共享:若為部分共享,則表明用戶新來的查詢請求以前部分出現過,這樣以前同樣的查詢部分所得到的查詢結果可以直接為本次查詢所利用; 3)不共享:若為完全不共享,則表明用戶新來的查詢請求沒有任何歷史查詢記錄可供共享,需要重新執(zhí)行查詢。
4.根據權利要求2所述的一種基于大數據的高效搜索方法,其特征在于:所述新的查詢請求與歷史查詢網匹配的算法,實現步驟如下: 步驟一:找到與新的查詢請求的數據源相同的云數據庫; 步驟二:查找云數據庫下的SI節(jié)點,找到后做一標記,并跳到步驟三;若沒有找到,則退出程序; 步驟三:繼續(xù)在步驟二的基礎上往下找節(jié)點S7,找到后做一標記,并跳到步驟三,若沒有找到,則退出程序; 步驟四:重復步驟三,直到退出程序。
5.根據權利要求2所述的一種基于大數據的高效搜索方法,其特征在于:所述歷史查詢網的更新算法,實現步驟如下: 步驟一:找到與新的查詢請求的數據源相同的云數據庫; 步驟二:查找云數據庫下的SI節(jié)點,找到后做一標記,并跳到步驟三,若沒有找到,則將新的查詢節(jié)點連接到該云數據庫; 步驟三:重復步驟二,直到所有的新節(jié)點均已經更新。
【專利摘要】本發(fā)明公開了一種基于大數據的高效搜索方法,所述方法根據來自用戶的新的查詢請求,首先判斷歷史記錄上是否有針對該查詢或者部分查詢的先例,若有,則共享歷史查詢的結果集合。本發(fā)明方法針對大數據搜索效率低下的問題,減少了大量的對歷史查詢的重復計算,節(jié)省了搜索時間,提高了查詢效率。
【IPC分類】G06F17-30
【公開號】CN104765800
【申請?zhí)枴緾N201510142893
【發(fā)明人】馬辰, 聶品, 于治樓
【申請人】浪潮集團有限公司
【公開日】2015年7月8日
【申請日】2015年3月30日