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