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

一種大數(shù)據(jù)查詢的方法及系統(tǒng)的制作方法

文檔序號:6603927閱讀:154來源:國知局
專利名稱:一種大數(shù)據(jù)查詢的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及信息檢索技術(shù)領(lǐng)域,更具體的說,涉及一種大數(shù)據(jù)查詢的方法及系統(tǒng)。
背景技術(shù)
隨著互聯(lián)網(wǎng)的發(fā)展,各業(yè)務系統(tǒng)中的數(shù)據(jù)量日趨龐大,特別是電信和互聯(lián)網(wǎng)行業(yè)更是如此。面對這些大數(shù)據(jù)進行查詢的需求,查詢的性能和效率是首當其沖。在服務器硬件及數(shù)據(jù)庫配置等條件固定的情況下,若采用傳統(tǒng)的查詢方式,其查詢效率隨著數(shù)據(jù)量不斷增大,會不斷的降低,用戶查詢的響應時間會越來越慢,甚至會出現(xiàn)由于查詢導致數(shù)據(jù)庫無法使用的情況。盡管可考慮弓I入搜索弓I擎來實現(xiàn)海量數(shù)據(jù)的查詢操作,但由于搜索引擎不能有效的理解業(yè)務數(shù)據(jù),要實現(xiàn)針對特定行業(yè)的業(yè)務數(shù)據(jù)的快速分析查詢,引入搜索引擎難度較大、工作量和實現(xiàn)復雜度太高。

發(fā)明內(nèi)容
本發(fā)明要解決的主要技術(shù)問題是,提供一種大數(shù)據(jù)查詢的方法及系統(tǒng),能夠高效、 快速地輸出查詢結(jié)果。為解決上述技術(shù)問題,本發(fā)明采用了如下技術(shù)方案一種大數(shù)據(jù)的查詢方法,包括配置業(yè)務查詢規(guī)則以及所述業(yè)務查詢規(guī)則與查詢條件的對應關(guān)系;根據(jù)對客戶端的查詢請求的分析結(jié)果,由所述查詢請求中的查詢條件提取相應的業(yè)務查詢規(guī)則,根據(jù)提取出的業(yè)務查詢規(guī)則構(gòu)造查詢方案;根據(jù)所述查詢方案查詢數(shù)據(jù),將查詢結(jié)果返回給客戶端。在本發(fā)明所述方法的一種實施例中,所述配置業(yè)務查詢規(guī)則為配置不同業(yè)務屬性的對應查詢粒度。在本發(fā)明所述方法的一種實施例中,還包括存儲查詢歷史,所述查詢歷史中記錄有歷史查詢條件以及所述歷史查詢條件對應的歷史查詢結(jié)果和歷史查詢方案中的至少一者,如果客戶端的查詢請求中的查詢條件與歷史查詢條件相同,則根據(jù)查詢歷史直接向客戶端返回對應的歷史查詢結(jié)果,或者根據(jù)查詢歷史中對應的歷史查詢方案查詢數(shù)據(jù),將查詢結(jié)果返回給客戶端。在本發(fā)明所述方法的一種實施例中,還包括對不同的數(shù)據(jù)源類型進行適配。在本發(fā)明所述方法的一種實施例中,還包括設置預查詢閾值及查詢標記;當本次查詢出的數(shù)據(jù)量達到所述預查詢閾值,將本次查詢出的數(shù)據(jù)作為本次查詢結(jié)果返回給客戶端,并通過查詢標記對本次查詢結(jié)果進行標記;并在下一次按同樣查詢方案進行查詢時根據(jù)查詢標記繼續(xù)查詢。本發(fā)明還提供了一種大數(shù)據(jù)的查詢系統(tǒng),包括查詢配置單元,用于配置業(yè)務查詢規(guī)則以及所述業(yè)務查詢規(guī)則與查詢條件的對應關(guān)系;
查詢方案構(gòu)造單元,用于根據(jù)對客戶端的查詢請求的分析結(jié)果,由所述查詢請求中的查詢條件提取相應的業(yè)務查詢規(guī)則,根據(jù)提取出的業(yè)務查詢規(guī)則構(gòu)造查詢方案;查詢單元,用于根據(jù)所述查詢方案查詢數(shù)據(jù),將查詢結(jié)果返回給客戶端。在本發(fā)明所述系統(tǒng)的一種實施例中,所述配置業(yè)務查詢規(guī)則為配置不同業(yè)務屬性的對應查詢粒度。在本發(fā)明所述系統(tǒng)的一種實施例中,還包括查詢存儲單元,用于存儲查詢歷史,所述查詢歷史中記錄有歷史查詢條件以及所述歷史查詢條件對應的歷史查詢結(jié)果和歷史查詢方案中的至少一者,所述查詢單元在客戶端的查詢請求中的查詢條件與歷史查詢條件相同時,根據(jù)查詢歷史直接向客戶端返回對應的歷史查詢結(jié)果,或者根據(jù)查詢歷史中對應的歷史查詢方案查詢數(shù)據(jù),將查詢結(jié)果返回給客戶端。在本發(fā)明所述系統(tǒng)的一種實施例中,還包括數(shù)據(jù)源適配單元,用于對不同的數(shù)據(jù)源類型進行適配。在本發(fā)明所述系統(tǒng)的一種實施例中,還包括預查詢設置單元,用于設置預查詢閾值及查詢標記;所述查詢單元在本次查詢出的數(shù)據(jù)量達到所述預查詢閾值時,將本次查詢出的數(shù)據(jù)作為本次查詢結(jié)果返回給客戶端;所述預查詢設置單元通過查詢標記對本次查詢結(jié)果進行標記;所述查詢單元在下一次按同樣查詢方案進行查詢時根據(jù)查詢標記繼續(xù)查詢。本發(fā)明通過配置查詢規(guī)則及其與查詢條件的對應關(guān)系,從而能夠根據(jù)查詢條件提取相應的查詢規(guī)則,構(gòu)造出優(yōu)化的查詢方案。這樣得到的查詢方案,適應于不同的查詢條件,保證了查詢的效率。


圖1是本發(fā)明實施例的大數(shù)據(jù)查詢系統(tǒng)架構(gòu)示意圖;圖2是本發(fā)明實施例的大數(shù)據(jù)查詢適配任意數(shù)據(jù)源系統(tǒng)架構(gòu)示意圖;圖3是本發(fā)明實施例的大數(shù)據(jù)查詢系統(tǒng)的工作流程圖;圖4是本發(fā)明實施例的大數(shù)據(jù)查詢的業(yè)務分析流程圖;圖5是本發(fā)明實施例的大數(shù)據(jù)查詢處理流程圖;圖6是本發(fā)明實施例的數(shù)據(jù)源適配模塊處理關(guān)系圖;圖7是本發(fā)明實施例的大數(shù)據(jù)查詢適配任意數(shù)據(jù)源系統(tǒng)文件數(shù)據(jù)源處理流程圖。
具體實施例方式下面通過具體實施方式
結(jié)合附圖對本發(fā)明作進一步詳細說明。本發(fā)明實施例的大數(shù)據(jù)查詢方法,其主要包括配置業(yè)務查詢規(guī)則以及所述業(yè)務查詢規(guī)則與查詢條件的對應關(guān)系;根據(jù)對客戶端的查詢請求的分析結(jié)果,由所述查詢請求中的查詢條件提取相應的業(yè)務查詢規(guī)則,根據(jù)提取出的業(yè)務查詢規(guī)則構(gòu)造查詢方案;根據(jù)所述查詢方案查詢數(shù)據(jù),將查詢結(jié)果返回給客戶端。其中,業(yè)務查詢規(guī)則主要是配置業(yè)務系統(tǒng)的不同業(yè)務屬性的對應查詢粒度。業(yè)務屬性,例如包括時間、類型、費率等等,例如一種業(yè)務查詢規(guī)則可以是配置不同業(yè)務屬性號碼對應的不同時間粒度,其中,可以配置業(yè)務屬性SP號碼的數(shù)據(jù)的最小粒度為分鐘,配置業(yè)務屬性個人號碼的數(shù)據(jù)的最小粒度為天。而查詢條件中常見以號碼和時間作為查詢條件,因此,通過查詢條件與業(yè)務查詢規(guī)則的對應關(guān)系,找到查詢條件中的查詢號碼所對應的業(yè)務查詢規(guī)則,例如如果查詢條件的查詢號碼是SP號碼,則對應的業(yè)務查詢規(guī)則是以分鐘為粒度進行查詢;查詢號碼是個人號碼,則對應的業(yè)務查詢規(guī)則是以天為粒度進行查詢。如果一種查詢條件為查詢SP號碼數(shù)據(jù),查詢時間為一天,則根據(jù)粒度劃分為 24*60次查詢,每次向用戶返回一個粒度的數(shù)據(jù),并可例如設置定時刷新,即每次返回一個粒度數(shù)據(jù)后,在定時時間到或者一個粒度的數(shù)據(jù)查詢完畢后,自動向用戶返回下一個粒度的數(shù)據(jù)。類似的,如果一種查詢條件是查詢個人號碼數(shù)據(jù),查詢時間為兩天,則根據(jù)粒度劃分為兩次次查詢,每次向用戶返回一個粒度的數(shù)據(jù)。又如,在業(yè)務查詢規(guī)則中,可以配置繁忙時間段,比如5月1日至3日的三天、10月 1日至7日的七天、新年的七天等重要節(jié)假日為繁忙時間段,如果查詢條件中的查詢時間范圍包括繁忙時間段,則按小時為粒度查詢數(shù)據(jù),如果為非繁忙時間段時,按天或月為粒度進行數(shù)據(jù)查詢。又如對于8860開頭的SP號碼,由于此類SP開展的業(yè)務種類較多,且每種消息的費率都不同,因此可以配置業(yè)務查詢規(guī)則為按費率類型為粒度進行查詢。如果查詢條件的號碼是8860開頭,則根據(jù)對應關(guān)系找到對應的業(yè)務查詢規(guī)則是按數(shù)據(jù)的費率類型進行粒度查詢,則每次只查詢一種費率類型的數(shù)據(jù)。在用戶需要后續(xù)數(shù)據(jù)時,再查詢下一粒度的數(shù)據(jù)。如圖1所示,實現(xiàn)上述大數(shù)據(jù)查詢方法的一種系統(tǒng)包括控制模塊、業(yè)務分析模塊、查詢模塊??刂颇K與業(yè)務分析模塊、查詢模塊相連??刂颇K接收客戶端的查詢請求,控制各個模塊之間的流程關(guān)系??刂颇K根據(jù)客戶端的查詢請求中的查詢條件,判斷是否已經(jīng)存在請求對應的已經(jīng)完成的查詢,如果存在直接進入查詢模塊,否則將進入業(yè)務分析模塊,作后續(xù)處理。業(yè)務分析模塊與控制模塊相連。當收到控制模塊的請求后,業(yè)務分析模塊從業(yè)務經(jīng)驗庫查找是否已經(jīng)存在請求條件對應的查詢方案,如果沒有則分析客戶端請求的查詢條件,根據(jù)配置的業(yè)務查詢規(guī)則,對查詢條件和業(yè)務查詢規(guī)則進行匹配分析,由匹配的業(yè)務查詢規(guī)則構(gòu)造出一種優(yōu)化的查詢方案輸出到控制模塊,而后由控制模塊將業(yè)務分析模塊輸出的查詢方案傳遞到查詢模塊。查詢模塊與控制模塊相連。查詢模塊接收控制模塊傳遞來的查詢方案后,根據(jù)查詢方案查詢數(shù)據(jù),向客戶端返回查詢結(jié)果。查詢模塊也可以附帶存儲單元用來存儲查詢結(jié)果,此時,將附帶有存儲單元的查詢模塊稱為查詢存儲模塊。查詢存儲模塊可以存儲查詢歷史。查詢歷史,可以是一條或多條記錄,每一條記錄,記錄了歷史查詢條件、以及該歷史查詢條件對應的歷史查詢方案和/或歷史查詢結(jié)果。 控制模塊在接收到客戶端的查詢請求后,分析查詢請求的查詢條件,首先從查詢存儲模塊中提取查詢歷史,比對查詢請求的查詢條件是否與某一條歷史查詢條件相同。如果相同,則可以根據(jù)查詢歷史直接向客戶端返回對應的歷史查詢結(jié)果。直接向客戶端返回歷史結(jié)果,要求不僅存儲歷史查詢條件,還要存儲對應的歷史查詢結(jié)果。顯然,這種方式盡管可以大幅度地進一步提高數(shù)據(jù)查詢響應速度,但需要較大的存儲空間來存儲查詢結(jié)果。因此,另一種折中的方案,存儲歷史查詢條件和對應的歷史查詢方案。顯然,歷史查詢方案相對于歷史查詢結(jié)果來說,所需的存儲空間將顯著減少,同時可以省去重新構(gòu)造查詢方案的時間,可以進一步提高數(shù)據(jù)查詢響應速度。查詢存儲模塊依據(jù)查詢方案進行遍歷查詢時,可以采用兩種查詢方式,一種是完全查詢方式,即查詢結(jié)束條件是判斷是否完成所有數(shù)據(jù)查詢,這種查詢方式可以一次完成全部查詢,缺點是查詢響應時間相對較長。另一種是預查詢方式,這種方式的查詢條件是 判斷是否完成所有數(shù)據(jù)查詢、或者判斷當前查詢的數(shù)據(jù)達到預查詢的數(shù)據(jù)量,滿足這兩個條件之一,即退出查詢。也就是還設置了預查詢閾值,只要本次查詢出的數(shù)據(jù)量達到預查詢閾值,即可將本次查詢出的數(shù)據(jù)作為本次查詢結(jié)果返回給客戶端。在數(shù)據(jù)總量大于預查詢閾值時,顯然要想獲取完整的查詢結(jié)果,需要多次查詢才能得到,為此,在預查詢方式中,還設置了查詢標記,通過查詢標記對本次查詢結(jié)果進行標記;并在下一次按同樣查詢方案進行查詢時根據(jù)查詢標記繼續(xù)查詢。例如,數(shù)據(jù)按一定順序排序,查詢時,按此順序?qū)?shù)據(jù)進行查詢,當查詢到數(shù)據(jù)A時,達到預查詢閾值,則結(jié)束本次查詢,并以查詢標記對數(shù)據(jù)A進行標記;在下一次同樣查詢方案的查詢開始,則找到查詢標記,從數(shù)據(jù)A之后的一個數(shù)據(jù)繼續(xù)查詢,同樣的,下一次查詢完畢,例如查詢到數(shù)據(jù)B時,達到預查詢閾值,則以查詢標記對數(shù)據(jù)B進行標記,依此類推,直到所有數(shù)據(jù)都查詢完畢。由于數(shù)據(jù)和數(shù)據(jù)源類型密切相關(guān),如果數(shù)據(jù)源類型變動,例如有數(shù)據(jù)庫改變?yōu)槲募?,系統(tǒng)的各個模塊都需要修改變動,為此,提供了一種如圖2所示的擴展系統(tǒng)。該擴展系統(tǒng)包括控制模塊、業(yè)務分析模塊、數(shù)據(jù)源適配模塊、查詢存儲模塊??刂颇K、業(yè)務分析模塊、查詢存儲模塊的功能與圖1所示的系統(tǒng)相同,不再贅述。其與圖1所示的系統(tǒng)的主要區(qū)別在于增加了數(shù)據(jù)源適配模塊,數(shù)據(jù)源適配模塊和控制模塊、業(yè)務分析模塊、查詢存儲模塊相連,所有數(shù)據(jù)都通過該數(shù)據(jù)源適配模塊獲取,由數(shù)據(jù)源適配模塊對不同的數(shù)據(jù)源進行適配處理,數(shù)據(jù)源適配模塊適用的數(shù)據(jù)源包括數(shù)據(jù)庫、文件、內(nèi)存等各種數(shù)據(jù)存儲方式。如果系統(tǒng)需要增加或者變更數(shù)據(jù)源,只需要修改數(shù)據(jù)源適配模塊或者修改配置的系統(tǒng)參數(shù)即可完成,不影響系統(tǒng)中的其它模塊。通過這樣的擴展,可以使本發(fā)明適用于各種業(yè)務數(shù)據(jù)源, 如數(shù)據(jù)庫、內(nèi)存、文件等不同方式的數(shù)據(jù)源,使整個查詢系統(tǒng)和具體數(shù)據(jù)源的數(shù)據(jù)存儲方式?jīng)]有任何關(guān)系,不會因數(shù)據(jù)存儲方式變化而造成系統(tǒng)架構(gòu)的變化。如圖3所示,大數(shù)據(jù)查詢系統(tǒng)的工作流程包括步驟SlOl 控制模塊接收到用戶(客戶端)的查詢請求,可以將用戶的請求條件和用戶信息作為聯(lián)合條件,查詢該用戶是否已經(jīng)有過相同條件的查詢請求。如果已經(jīng)存在相同的已經(jīng)完成查詢的請求,則執(zhí)行步驟S103。如果沒有,則判斷是否為首次查詢。如果是首次查詢,將查詢條件傳遞到下一步,執(zhí)行步驟S102。如果不是首次查詢,則執(zhí)行步驟S103,作后續(xù)處理。步驟S102 業(yè)務分析模塊通過請求的查詢條件、配置的業(yè)務規(guī)則,輸出一種針對該請求的查詢方案。步驟S103 查詢存儲模塊,分三種不同情況分別處理
如果有已經(jīng)完成相同的查詢請求,直接從存儲結(jié)果中獲取已經(jīng)存在的數(shù)據(jù)返回給用戶;如果不是首次查詢,則使用已經(jīng)存在的查詢方案查詢數(shù)據(jù),并且存儲查詢結(jié)果,從存儲結(jié)果中獲取數(shù)據(jù)返回該用戶;如果是首次查詢,則按照步驟S102輸出的查詢方案進行查詢,并且將查詢結(jié)果進行存儲,從存儲結(jié)果中獲取數(shù)據(jù)返回該用戶。查詢存儲模塊還可以設置預查詢機制,即一次查詢并不查詢完符合條件的全部數(shù)據(jù),而是僅查詢到預定的部分數(shù)據(jù)后就結(jié)束。如上所述,如果用戶的查詢請求已經(jīng)存在完成的查詢時,直接從以前查詢的存儲結(jié)果中獲取數(shù)據(jù)返回給用戶。而如果沒有已經(jīng)完成的查詢,則通過控制模塊傳遞來的查詢方案查詢,在預查詢機制下,需要判斷查詢方案是否為首次查詢;如果不是首次查詢,則需要根據(jù)查詢標記,繼續(xù)查詢后續(xù)數(shù)據(jù);如果為首次查詢, 則根據(jù)查詢方案,查詢預查詢的數(shù)據(jù)量。如果預查詢的數(shù)據(jù)量未達到,則繼續(xù)本次預查詢,若達到預查詢的數(shù)據(jù)量,則將當前的查詢的數(shù)據(jù)位置作標記,供后續(xù)查詢使用,退出查詢存儲模塊;如果查詢條件未被全部覆蓋,即沒有查詢完符合條件的全部,則按照上述方式進行預查詢,而如果查詢條件全部覆蓋,則將查詢標識為執(zhí)行完成,退出查詢存儲模塊。步驟S102所述的業(yè)務分析模塊,在接收到控制模塊的查詢條件時,其業(yè)務分析的主要流程如圖4所示,包括配置業(yè)務系統(tǒng)參數(shù)以及業(yè)務查詢規(guī)則,系統(tǒng)參數(shù)以及業(yè)務查詢規(guī)則都可以在系統(tǒng)啟動時進行初始配置,并可在之后進行編輯修改。例如,如果后續(xù)有新的規(guī)則,則增加對應的配置。其中,系統(tǒng)參數(shù)是在使用該系統(tǒng)時需要配置的一些初始數(shù)據(jù),如數(shù)據(jù)源類型、預查詢最大數(shù)據(jù)量、臨時數(shù)據(jù)存儲最大時間、臨時數(shù)據(jù)最大存儲量、系統(tǒng)支持的最大用戶數(shù)、查詢排序(降序、升序)等。業(yè)務查詢規(guī)則可以理解為業(yè)務系統(tǒng)的不同業(yè)務屬性的對應查詢粒度,以號碼為查詢條件進行說明,如號碼以139、138、133等開頭的認為是個人用戶,66021 開頭的為SP用戶,兩種用戶的數(shù)據(jù)量有很大差異,個人用戶一天的消息量大概10條左右, 而SP用戶每天的數(shù)據(jù)量可以達到十萬、或者百萬級別,因此根據(jù)兩者不同的業(yè)務屬性,就需要按不同的查詢粒度對這兩類號碼的查詢規(guī)則作對應的配置,例如個人用戶按天或者幾天的時間段查詢,而SP用戶就需要按小時或者分鐘的級別來查詢。又如,在個人用戶中,年齡在22歲以下的人群每天的收發(fā)短信量比較大,22歲以上的人群的收發(fā)短信量比較少,可以根據(jù)查詢條件號碼的人群年齡范圍,配置業(yè)務查詢規(guī)則,如年齡在22歲以下的人群的號碼查詢短信時,按周為周期進行查詢,而年齡在22歲以上的人群,則按月為周期進行查詢。首先分析請求的查詢條件,并進行經(jīng)驗庫比對,即從經(jīng)驗庫查找,是否有對應的查詢方案。經(jīng)驗庫中包括了業(yè)務分析模塊已經(jīng)輸出的查詢方案和查詢條件之間的關(guān)系,即歷史查詢條件和對應的歷史查詢方案。如果沒有找到已經(jīng)存在的查詢方案,則通過配置的業(yè)務查詢規(guī)則,通過單個條件或聯(lián)合條件從已經(jīng)配置的業(yè)務查詢規(guī)則進行匹配,過濾適合該查詢條件的所有規(guī)則。業(yè)務查詢規(guī)則是對業(yè)務系統(tǒng)數(shù)據(jù)查詢條件的一種動態(tài)配置。如按號碼的前綴、后綴、長度等定制不同的查詢規(guī)則,按查詢時間范圍制定的不同查詢規(guī)則。通過查詢分析,由查詢條件提取相應的業(yè)務查詢規(guī)則,通過業(yè)務查詢規(guī)則構(gòu)造成一種優(yōu)化的查詢方案并輸出。根據(jù)系統(tǒng)配置的本次預查詢數(shù)據(jù)上限,可以對方案進一步優(yōu)化,即符合條件的數(shù)據(jù)有很多,則只查詢符合用戶本次請求的部分數(shù)據(jù),例如系統(tǒng)為WEB系統(tǒng),則例如只查詢 WEB頁面的一頁數(shù)據(jù),在用戶進行翻頁操作后,再繼續(xù)下一頁數(shù)據(jù)的查詢。業(yè)務分析將該查詢條件和查詢方案輸出到控制模塊,控制模塊將查詢方案(在存儲查詢歷史時,還需要傳遞查詢條件)傳遞給查詢存儲模塊。如圖5所示(方式1),以數(shù)據(jù)庫數(shù)據(jù)為例對本發(fā)明實施例進行詳細說明。1、控制模塊接收到查詢請求,首先檢查是否已經(jīng)存在相同查詢條件的已經(jīng)完成的查詢。2、如果有,直接從查詢存儲模塊已經(jīng)完成的查詢存儲結(jié)果中獲取數(shù)據(jù)返回。否則檢查是否為首次查詢。3、如果是首次查詢,則進入步驟5。4、如果不是首次查詢,進入查詢存儲模塊,通過獲取查詢方案和查詢標記繼續(xù)查詢數(shù)據(jù),即從上次標識的地方查詢,查詢標記用于標記本次查詢的查詢流程是否覆蓋所有符合查詢條件的數(shù)據(jù),即是否查詢完所有數(shù)據(jù),如果一次查詢流程沒有全部查詢完成,后續(xù)查詢可繼續(xù)從上次查詢數(shù)據(jù)的位置繼續(xù)查詢,即從查詢標識繼續(xù)查詢。5、進入業(yè)務分析模塊,查看是否已經(jīng)存在和請求匹配的查詢方案。如果存在,輸出匹配的查詢方案。如果不存在,則根據(jù)配置的業(yè)務查詢規(guī)則,對查詢條件進行分析,通過單個條件、組合條件和業(yè)務查詢規(guī)則匹配,輸出針對該請求的查詢方案。6、根據(jù)業(yè)務分析模塊輸出的查詢方案,對數(shù)據(jù)進行查詢,查詢方案中將確定一種遍歷查詢數(shù)據(jù)的方式,通過該方式對數(shù)據(jù)進行查詢。7、查詢數(shù)據(jù)時,依據(jù)查詢方案遍歷查詢數(shù)據(jù),每遍歷一輪,需要作以下判斷判斷是否完全覆蓋查詢條件,即查詢完條件對應的所有數(shù)據(jù),如果查詢完所有數(shù)據(jù),則結(jié)束查詢流程,退出查詢存儲模塊,否則繼續(xù)判斷是否達到預查詢的數(shù)據(jù)量,預查詢的數(shù)據(jù)量,即系統(tǒng)配置的返回給用戶的一次請求對應的預定的數(shù)據(jù)量。如果達到預查詢的數(shù)據(jù)量,則對本次查詢作標記,即查詢到哪個數(shù)據(jù)位置,下次可以繼續(xù)從該數(shù)據(jù)位置查詢。 如果沒有達到預查詢的數(shù)據(jù)量,則繼續(xù)下一輪查詢,直到查完所有數(shù)據(jù)或者達到預查詢的數(shù)據(jù)量,退出查詢流程。依據(jù)查詢方案遍歷查詢時,需要對每次遍歷查詢的結(jié)果進行存儲。8、從存儲結(jié)果中返回數(shù)據(jù)給用戶響應。通過分析查詢請求中的查詢條件,輸出一種針對請求的優(yōu)化查詢方案,可以根據(jù)查詢方案分層次、粒度等方式對數(shù)據(jù)進行查詢,通過引入預查詢數(shù)據(jù)量的限制,使系統(tǒng)負荷降到最低,可以最大程度的減少響應時間,提高系統(tǒng)響應速度。如圖6所示,對本發(fā)明實施例中的數(shù)據(jù)源適配模塊進行詳細說明。數(shù)據(jù)源適配模塊提供統(tǒng)一查詢、存儲入口,使整個查詢系統(tǒng)和具體的數(shù)據(jù)源無關(guān), 即大數(shù)據(jù)查詢系統(tǒng)的實現(xiàn)可以和具體的數(shù)據(jù)存儲方式無關(guān)。數(shù)據(jù)源適配模塊通過數(shù)據(jù)源適配器對不同的數(shù)據(jù)源作適配處理,對系統(tǒng)其它模塊提供統(tǒng)一的入口,在數(shù)據(jù)源適配模塊統(tǒng)一處理。數(shù)據(jù)源適配模塊可以根據(jù)不同的方式做適配處理
一、通過系統(tǒng)配置各個模塊的數(shù)據(jù)源類型實現(xiàn)根據(jù)系統(tǒng)配置的數(shù)據(jù)源類型,分別對不同模塊數(shù)據(jù)源作適配處理,如控制模塊的數(shù)據(jù)源類型配置為文件,業(yè)務分析模塊的數(shù)據(jù)源類型配置為文件,查詢存儲模塊的數(shù)據(jù)源類型配置為數(shù)據(jù)庫,則各個模塊和數(shù)據(jù)源適配模塊相連后,數(shù)據(jù)源適配模塊自動根據(jù)系統(tǒng)配置的各個模塊的數(shù)據(jù)源類型,調(diào)用不同的適配處理方法,操作數(shù)據(jù),如控制模塊、業(yè)務分析模塊的數(shù)據(jù)交互通過數(shù)據(jù)源適配模塊的文件適配處理方法,查詢存儲模塊的數(shù)據(jù)交互通過數(shù)據(jù)源適配模塊的數(shù)據(jù)庫適配處理方法。二、通過接口傳遞數(shù)據(jù)源類型的參數(shù)實現(xiàn)數(shù)據(jù)源適配模塊和控制模塊、業(yè)務分析模塊、查詢存儲模塊相連后,數(shù)據(jù)源模塊根據(jù)各個模塊調(diào)用數(shù)據(jù)源適配模塊的接口時傳遞的數(shù)據(jù)源類型作適配處理,根據(jù)不同的類型,找到對應數(shù)據(jù)源的適配處理方法,如文件適配處理方法,處理文件數(shù)據(jù)源;數(shù)據(jù)庫適配處理方法,處理數(shù)據(jù)庫數(shù)據(jù)源;內(nèi)存適配處理方法,處理內(nèi)存數(shù)據(jù)源等不同的匹配處理方法處理對應的數(shù)據(jù)源。數(shù)據(jù)源適配模塊中聲明數(shù)據(jù)源適配模塊支持的數(shù)據(jù)源類型,每個類型對應一種數(shù)據(jù)源的適配處理方法,并且將數(shù)據(jù)源類型提供給其它模塊,如控制模塊、業(yè)務分析模塊、查詢存儲模塊,其它模塊和數(shù)據(jù)源適配模塊連接后,調(diào)用數(shù)據(jù)源適配模塊的統(tǒng)一查詢、存儲接口時,以參數(shù)方式傳入數(shù)據(jù)源類型,由數(shù)據(jù)源適配模塊根據(jù)數(shù)據(jù)源類型指定數(shù)據(jù)源適配處理方式。由圖6所示,增加數(shù)據(jù)源適配器模塊后,整個查詢系統(tǒng)和數(shù)據(jù)源無關(guān)??梢允褂萌我鈹?shù)據(jù)源進行數(shù)據(jù)查詢、存儲。增加數(shù)據(jù)源適配模塊后處理流程如下控制模塊接收到查詢請求,連接數(shù)據(jù)源適配模塊,從文件中查詢是否有已經(jīng)完成的相同條件的查詢記錄。業(yè)務分析模塊接收到控制模塊的查詢條件,連接數(shù)據(jù)源適配模塊,獲取業(yè)務查詢規(guī)則、系統(tǒng)配置參數(shù)、查詢方案經(jīng)驗庫等,輸出查詢方案。查詢存儲模塊,根據(jù)接收到的查詢方案,連接數(shù)據(jù)源適配模塊,查詢數(shù)據(jù),并且對查詢結(jié)果進行存儲。最后查詢存儲模塊從已經(jīng)存儲的查詢結(jié)果中返回數(shù)據(jù)給用戶,結(jié)束流程。增加數(shù)據(jù)源適配器模塊后,如果系統(tǒng)需要增加、更換數(shù)據(jù)源,則只需要更改系統(tǒng)相關(guān)配置或者實現(xiàn)對應數(shù)據(jù)源類型的適配處理方法,不需要對系統(tǒng)的其它模塊作任何改動, 增強了系統(tǒng)的擴展性,使其適用于任意數(shù)據(jù)源。如圖7所示(方式幻,以文件數(shù)據(jù)源為例對本發(fā)明實施例的大數(shù)據(jù)查詢適配任意數(shù)據(jù)源的系統(tǒng)進行說明。系統(tǒng)配置控制模塊、業(yè)務分析模塊、查詢存儲模塊的數(shù)據(jù)源類型為文件。數(shù)據(jù)查詢和存儲的相關(guān)操作都通過統(tǒng)一接口接入數(shù)據(jù)源適配模塊進行處理。流程無須任何變更,詳細處理流程如下1、控制模塊接收到用戶的查詢請求,連接數(shù)據(jù)源適配模塊,數(shù)據(jù)源適配模塊根據(jù)系統(tǒng)配置,調(diào)用文件適配處理方法??刂颇K從文件中查詢,檢查是否已經(jīng)存在相同請求條件已經(jīng)完成的查詢。2、如果有,直接從查詢存儲模塊已經(jīng)完成的查詢存儲結(jié)果中獲取數(shù)據(jù)返回。
3、如果沒有,則檢查是否為首次查詢。4、如果是首次查詢,則進入步驟6。5、如果不是首次查詢,進入查詢存儲模塊,連接數(shù)據(jù)源適配模塊,數(shù)據(jù)源適配模塊根據(jù)系統(tǒng)配置,調(diào)用文件適配處理方法,通過獲取查詢方案和查詢標記繼續(xù)查詢數(shù)據(jù),即從上次標識的地方查詢,查詢標記用于標記本次查詢的查詢流程是否覆蓋所有符合查詢條件的數(shù)據(jù),即是否查詢完所有數(shù)據(jù),如果一次查詢流程沒有全部查詢完成,后續(xù)查詢可繼續(xù)從上次查詢數(shù)據(jù)的位置繼續(xù)查詢,即從查詢標識繼續(xù)查詢。6、進入業(yè)務分析模塊,連接數(shù)據(jù)源適配模塊,數(shù)據(jù)源適配模塊根據(jù)系統(tǒng)配置,調(diào)用文件適配處理方法。業(yè)務分析模塊可以查看是否已經(jīng)存在和請求匹配的查詢方案,如果存在,輸出查詢方案。如果不存在,則根據(jù)配置的業(yè)務查詢規(guī)則,對查詢條件進行分析,通過單個條件、組合條件和業(yè)務查詢規(guī)則匹配,輸出針對該請求的查詢方案。7、查詢存儲模塊,根據(jù)業(yè)務分析模塊輸出的查詢方案,連接數(shù)據(jù)源適配模塊,數(shù)據(jù)源適配模塊根據(jù)系統(tǒng)配置,調(diào)用文件適配處理方法。查詢存儲模塊從文件中查詢數(shù)據(jù),依據(jù)查詢方案中確定一種遍歷查詢數(shù)據(jù)的方式,通過該方式對數(shù)據(jù)進行查詢。8、查詢數(shù)據(jù)時,依據(jù)查詢方案遍歷查詢數(shù)據(jù),每遍歷一輪,需要作以下判斷判斷是否完全覆蓋查詢條件,即查詢完條件對應的所有數(shù)據(jù),如果查詢完所有數(shù)據(jù),則結(jié)束查詢流程,退出查詢存儲模塊,否則繼續(xù)判斷是否達到預查詢的數(shù)據(jù)量,預查詢的數(shù)據(jù)量,即系統(tǒng)配置的返回給用戶的一次請求對應的預定的數(shù)據(jù)量。如果達到預查詢的數(shù)據(jù)量,則對本次查詢作標記,即查詢到哪個數(shù)據(jù)位置,下次可以繼續(xù)從該數(shù)據(jù)位置查詢。 如果沒有達到預查詢的數(shù)據(jù)量,則繼續(xù)下一輪查詢,直到查完所有數(shù)據(jù)或者達到預查詢的數(shù)據(jù)量,退出查詢流程。依據(jù)查詢方案遍歷查詢時,需要對每次遍歷查詢的結(jié)果進行存儲。連接數(shù)據(jù)源適配模塊,數(shù)據(jù)源適配模塊根據(jù)系統(tǒng)配置,調(diào)用文件適配處理方法,將查詢結(jié)果存儲為文件。從存儲結(jié)果中返回數(shù)據(jù)給用戶響應。增加數(shù)據(jù)源適配模塊后,整個系統(tǒng)的處理流程不受任何影響,使整個系統(tǒng)可以不受數(shù)據(jù)存儲方式的限制,自由選擇適合的數(shù)據(jù)源,可以更加靈活的對應各種情況。本發(fā)明實施例的一種大數(shù)據(jù)的查詢系統(tǒng),包括查詢配置單元,用于配置業(yè)務查詢規(guī)則以及所述業(yè)務查詢規(guī)則與查詢條件的對應關(guān)系;查詢方案構(gòu)造單元,用于根據(jù)對客戶端的查詢請求的分析結(jié)果,由所述查詢請求中的查詢條件提取相應的業(yè)務查詢規(guī)則,根據(jù)提取出的業(yè)務查詢規(guī)則構(gòu)造查詢方案;查詢單元,用于根據(jù)所述查詢方案查詢數(shù)據(jù),將查詢結(jié)果返回給客戶端。上述查詢系統(tǒng),僅是從功能模塊劃分的角度對查詢系統(tǒng)的描述,其可以軟件或硬件形式實現(xiàn),并且,實現(xiàn)時,各功能模塊可以獨立實現(xiàn),也可以集成實現(xiàn),而不必嚴格依照上述功能模塊的形式實現(xiàn),例如,可以圖1所示的系統(tǒng)框架實現(xiàn),只要實現(xiàn)的系統(tǒng)包括上述功能,均屬于本發(fā)明所要保護的系統(tǒng)范圍之內(nèi)。本發(fā)明可以在大數(shù)據(jù)查詢時,提高查詢效率,大大減少用戶查詢操作的等待時間; 其次,加入數(shù)據(jù)源適配模塊可以實施對任何數(shù)據(jù)源的處理,可用于任意數(shù)據(jù)存儲方式的數(shù)據(jù)查詢;另外加入預查詢機制,可減輕服務端的負擔,提高性能。
本發(fā)明降低了設備的投入,提高了客戶端的響應速度、增強了客戶端的用戶體驗。 對于業(yè)務系統(tǒng)的數(shù)據(jù)量為千萬級的查詢,本專利在解決傳統(tǒng)查詢方式的性能問題的同時, 與引入搜索引擎相比具備投入成本低、易實現(xiàn)等特點。以上內(nèi)容是結(jié)合具體的實施方式對本發(fā)明所作的進一步詳細說明,不能認定本發(fā)明的具體實施只局限于這些說明。對于本發(fā)明所屬技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干簡單推演或替換,都應當視為屬于本發(fā)明的保護范圍。
權(quán)利要求
1.一種大數(shù)據(jù)的查詢方法,其特征在于,包括配置業(yè)務查詢規(guī)則以及所述業(yè)務查詢規(guī)則與查詢條件的對應關(guān)系;根據(jù)對客戶端的查詢請求的分析結(jié)果,由所述查詢請求中的查詢條件提取相應的業(yè)務查詢規(guī)則,根據(jù)提取出的業(yè)務查詢規(guī)則構(gòu)造查詢方案;根據(jù)所述查詢方案查詢數(shù)據(jù),將查詢結(jié)果返回給客戶端。
2.如權(quán)利要求1所述的方法,其特征在于,所述配置業(yè)務查詢規(guī)則為配置不同業(yè)務屬性的對應查詢粒度。
3.如權(quán)利要求1所述的方法,其特征在于,還包括存儲查詢歷史,所述查詢歷史中記錄有歷史查詢條件以及所述歷史查詢條件對應的歷史查詢結(jié)果和歷史查詢方案中的至少一者,如果客戶端的查詢請求中的查詢條件與歷史查詢條件相同,則根據(jù)查詢歷史直接向客戶端返回對應的歷史查詢結(jié)果,或者根據(jù)查詢歷史中對應的歷史查詢方案查詢數(shù)據(jù),將查詢結(jié)果返回給客戶端。
4.如權(quán)利要求1所述的方法,其特征在于,還包括對不同的數(shù)據(jù)源類型進行適配。
5.如權(quán)利要求1-4所述的方法,其特征在于,還包括設置預查詢閾值及查詢標記;當本次查詢出的數(shù)據(jù)量達到所述預查詢閾值,將本次查詢出的數(shù)據(jù)作為本次查詢結(jié)果返回給客戶端,并通過查詢標記對本次查詢結(jié)果進行標記;并在下一次按同樣查詢方案進行查詢時根據(jù)查詢標記繼續(xù)查詢。
6.一種大數(shù)據(jù)的查詢系統(tǒng),其特征在于,包括查詢配置單元,用于配置業(yè)務查詢規(guī)則以及所述業(yè)務查詢規(guī)則與查詢條件的對應關(guān)系;查詢方案構(gòu)造單元,用于根據(jù)對客戶端的查詢請求的分析結(jié)果,由所述查詢請求中的查詢條件提取相應的業(yè)務查詢規(guī)則,根據(jù)提取出的業(yè)務查詢規(guī)則構(gòu)造查詢方案;查詢單元,用于根據(jù)所述查詢方案查詢數(shù)據(jù),將查詢結(jié)果返回給客戶端。
7.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述配置業(yè)務查詢規(guī)則為配置不同業(yè)務屬性的對應查詢粒度。
8.如權(quán)利要求6所述的系統(tǒng),其特征在于,還包括查詢存儲單元,用于存儲查詢歷史, 所述查詢歷史中記錄有歷史查詢條件以及所述歷史查詢條件對應的歷史查詢結(jié)果和歷史查詢方案中的至少一者,所述查詢單元在客戶端的查詢請求中的查詢條件與歷史查詢條件相同時,根據(jù)查詢歷史直接向客戶端返回對應的歷史查詢結(jié)果,或者根據(jù)查詢歷史中對應的歷史查詢方案查詢數(shù)據(jù),將查詢結(jié)果返回給客戶端。
9.如權(quán)利要求6所述的系統(tǒng),其特征在于,還包括數(shù)據(jù)源適配單元,用于對不同的數(shù)據(jù)源類型進行適配。
10.如權(quán)利要求6-9所述的系統(tǒng),其特征在于,還包括預查詢設置單元,用于設置預查詢閾值及查詢標記;所述查詢單元在本次查詢出的數(shù)據(jù)量達到所述預查詢閾值時,將本次查詢出的數(shù)據(jù)作為本次查詢結(jié)果返回給客戶端;所述預查詢設置單元通過查詢標記對本次查詢結(jié)果進行標記;所述查詢單元在下一次按同樣查詢方案進行查詢時根據(jù)查詢標記繼續(xù)查詢。
全文摘要
本發(fā)明公開了一種大數(shù)據(jù)的查詢方法及系統(tǒng),所述方法包括配置業(yè)務查詢規(guī)則以及所述業(yè)務查詢規(guī)則與查詢條件的對應關(guān)系;根據(jù)對客戶端的查詢請求的分析結(jié)果,由所述查詢請求中的查詢條件提取相應的業(yè)務查詢規(guī)則,根據(jù)提取出的業(yè)務查詢規(guī)則構(gòu)造查詢方案;根據(jù)所述查詢方案查詢數(shù)據(jù),將查詢結(jié)果返回給客戶端。本發(fā)明通過配置查詢規(guī)則及其與查詢條件的對應關(guān)系,從而能夠根據(jù)查詢條件提取相應的查詢規(guī)則,構(gòu)造出優(yōu)化的查詢方案。這樣得到的查詢方案,適應于不同的查詢條件,保證了查詢的效率。
文檔編號G06F17/30GK102279849SQ201010195979
公開日2011年12月14日 申請日期2010年6月9日 優(yōu)先權(quán)日2010年6月9日
發(fā)明者徐震海, 王志紅 申請人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1