專利名稱:數(shù)據(jù)查詢處理系統(tǒng)和數(shù)據(jù)查詢處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機(jī)技術(shù)領(lǐng)域,具體而言,涉及ー種數(shù)據(jù)查詢處理系統(tǒng)和ー種數(shù)據(jù)查詢處理方法。
背景技術(shù):
隨著企業(yè)信息管理的普及,企業(yè)積累了大量的,多祥的經(jīng)營數(shù)據(jù)。為了對這些大量數(shù)據(jù)分析,引入了聯(lián)機(jī)事務(wù)分析處理系統(tǒng)——OLAP0而隨著企業(yè)應(yīng)用的深入,企業(yè)對分析服務(wù)的執(zhí)行效率,豐富的分析功能提出了越來越高的要求。通常地,OLAP系統(tǒng)利用多維查詢語言(MDX)構(gòu)建的查詢表達(dá)式,對多維數(shù)據(jù)進(jìn)行查詢。一次基于MDX的查詢表達(dá)式執(zhí)行流程大體如下首先由查詢模型生成MDX表達(dá)式,OLAP服務(wù)器解析多維查詢語句,根據(jù)解析結(jié)果生成抽象語法樹;計算樹上每個節(jié)點(diǎn)的表達(dá)式;構(gòu)建返回結(jié)果;界面模型進(jìn)行填充展現(xiàn)。從應(yīng)用場景上,多維分析系統(tǒng)需要提供給使用者不同業(yè)務(wù)角度的分析,涉及各種復(fù)雜的操作,如向上/下鉆取,切換維度,切換指標(biāo),匯總等。按照常見的查詢流程,每次查詢模型都要重新構(gòu)建和生成MDX表達(dá)式,OLAP服務(wù)器也需要重新解析查詢語句,計算表達(dá)式,而語法樹節(jié)點(diǎn)中包含了行軸,列軸,切片軸對象,計算成員對象,公式對象;每個軸中會層層嵌套了多個計算函數(shù)。對于頻繁的操作情況下,系統(tǒng)的性能會受到顯著的影響。另外,為了支持靈活的操作,查詢模型也要隨著功能的添加不斷被修改,系統(tǒng)的擴(kuò)展性較差。因此,需要一種新的用于多維數(shù)據(jù)查詢的技術(shù)方案,可以避免在毎次查詢操作時都重復(fù)生成MDX表達(dá)式以及解析MDX表達(dá)式的過程,同時保證數(shù)據(jù)查詢順利完成,不會影響到系統(tǒng)的性能,同時保證系統(tǒng)的擴(kuò)展性。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題在于,提供種新的用于多維數(shù)據(jù)查詢的技術(shù)方案,可以避免在毎次查詢操作時都重復(fù)生成MDX表達(dá)式以及解析MDX表達(dá)式的過程,同時保證數(shù)據(jù)查詢順利完成,不會影響到系統(tǒng)的性能,同時保證系統(tǒng)的擴(kuò)展性。有鑒于此,本發(fā)明提供一種數(shù)據(jù)查詢處理系統(tǒng),包括操作描述模塊,生成操作描述器,以記錄查詢操作;操作處理模塊,根據(jù)所述操作描述器的內(nèi)容,對已保存的語法樹進(jìn)行修改;數(shù)據(jù)查詢模塊,根據(jù)修改后的語法樹,查詢數(shù)據(jù)。在該技術(shù)方案中,不會對每一次的查詢操作對生成對應(yīng)的多維表達(dá)式以及對表達(dá)式進(jìn)行解析,可以根據(jù)本次查詢操作,直接對已有的語法樹進(jìn)行修改即可,緩解了系統(tǒng)的操作壓力,基于同一語法樹,可允許查詢操作頻繁變化,保證了查詢系統(tǒng)功能的擴(kuò)展性。在該技術(shù)方案中,優(yōu)選地,還包括解析處理模塊,根據(jù)所述查詢操作之前的另ー查詢操作生成多維表達(dá)式,以及根據(jù)所述多維表達(dá)式生成所述語法樹。在該技術(shù)方案中,在首次處理查詢操作吋,需要按正常流程,根據(jù)查詢操作生成多維表達(dá)式,并將所述表達(dá)式解析為語法樹,以便在再次查詢時使用。在該技術(shù)方案中,優(yōu)選地,所述操作處理模塊還根據(jù)所述查詢操作的查詢模型,來獲取已保存的對應(yīng)所述查詢模型的語法樹。在該技術(shù)方案中,可以為用戶的查詢操作準(zhǔn)確定位至適用的語法樹,以完成后續(xù)操作。在該技術(shù)方案中,優(yōu)選地,所述操作處理模塊定位所述語法樹中對應(yīng)于所述操作描述器的內(nèi)容的成員對象,井根據(jù)所述操作描述器的內(nèi)容對所述成員對象進(jìn)行增、刪和/或改操作。在該技術(shù)方案中,可以準(zhǔn)確地實(shí)現(xiàn)新的語法樹,通過檢索引擎執(zhí)行語法樹,即可完成數(shù)據(jù)查詢。在該技術(shù)方案中,優(yōu)選地,還包括校驗(yàn)/優(yōu)化模塊,對 所述操作描述器的內(nèi)容進(jìn)行合法性校驗(yàn)和/或邏輯優(yōu)化。在該技術(shù)方案中,對于查詢操作的校驗(yàn)以及優(yōu)化,可以去掉邏輯上無意義的查詢條件,可以將對語法樹中同一成員對象進(jìn)行的操作合井。本發(fā)明還提供ー種數(shù)據(jù)查詢處理方法,包括生成操作描述器,以記錄查詢操作;步驟204,根據(jù)所述操作描述器的內(nèi)容,對已保存的語法樹進(jìn)行修改;步驟206,根據(jù)修改后的語法樹,查詢數(shù)據(jù)。在該技術(shù)方案中,不會對每一次的查詢操作對生成對應(yīng)的多維表達(dá)式以及對表達(dá)式進(jìn)行解析,可以根據(jù)本次查詢操作,直接對已有的語法樹進(jìn)行修改即可,緩解了系統(tǒng)的操作壓力,基于同一語法樹,可允許查詢操作頻繁變化,保證了查詢系統(tǒng)功能的擴(kuò)展性。在該技術(shù)方案中,優(yōu)選地,在所述步驟204之前還包括根據(jù)所述查詢操作之前的另ー查詢操作生成多維表達(dá)式,以及根據(jù)所述多維表達(dá)式生成所述語法樹。在該技術(shù)方案中,在首次處理查詢操作時,需要按正常流程,根據(jù)查詢操作生成多維表達(dá)式,并將所述表達(dá)式解析為語法樹,以便在再次查詢時使用。在該技術(shù)方案中,優(yōu)選地,還包括根據(jù)所述查詢操作的查詢模型,來獲取已保存的對應(yīng)所述查詢模型的語法樹。在該技術(shù)方案中,可以為用戶的查詢操作準(zhǔn)確定位至適用的語法樹,以完成后續(xù)操作。在該技術(shù)方案中,優(yōu)選地,所述步驟204包括定位所述語法樹中對應(yīng)于所述操作描述器的內(nèi)容的成員對象,井根據(jù)所述操作描述器的內(nèi)容對所述成員對象進(jìn)行增、刪和/或改操作。在該技術(shù)方案中,可以準(zhǔn)確地實(shí)現(xiàn)新的語法樹,通過檢索引擎執(zhí)行語法樹,即可完成數(shù)據(jù)查詢。在該技術(shù)方案中,優(yōu)選地,在所述步驟204之前還包括對所述操作描述器的內(nèi)容進(jìn)行合法性校驗(yàn)和/或邏輯優(yōu)化。在該技術(shù)方案中,對于查詢操作的校驗(yàn)以及優(yōu)化,可以去掉邏輯上無意義的查詢條件,可以將對語法樹中同一成員對象進(jìn)行的操作合井。通過以上技術(shù)方案,可以實(shí)現(xiàn)數(shù)據(jù)查詢處理系統(tǒng)和ー種數(shù)據(jù)查詢處理方法,可以避免在毎次查詢操作時都重復(fù)生成MDX表達(dá)式以及解析MDX表達(dá)式的過程,同時保證數(shù)據(jù)查詢順利完成,不會影響到系統(tǒng)的性能,同時保證系統(tǒng)的擴(kuò)展性。
圖I是根據(jù)本發(fā)明的一個實(shí)施例的數(shù)據(jù)查詢處理系統(tǒng)的框圖;圖2是根據(jù)本發(fā)明的一個實(shí)施例的數(shù)據(jù)查詢處理方法的流程圖;圖3是基于多維表達(dá)式的執(zhí)行查詢的完整流程圖4是根據(jù)本發(fā)明的一個實(shí)施例的數(shù)據(jù)查詢處理系統(tǒng)的查詢流程圖;圖5是根據(jù)本發(fā)明的一個實(shí)施例的數(shù)據(jù)查詢處理系統(tǒng)的數(shù)據(jù)處理示意圖;圖6是根據(jù)本發(fā)明的一個實(shí)施例的數(shù)據(jù)查詢處理系統(tǒng)的工作示意圖;圖7是根據(jù)本發(fā)明的一個實(shí)施例的數(shù)據(jù)查詢處理系統(tǒng)所用的數(shù)據(jù)示意圖。
具體實(shí)施例方式為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖和具體實(shí)施方式
對本發(fā)明進(jìn)行進(jìn)一歩的詳細(xì)描述。在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可 以采用其他不同于在此描述的其他方式來實(shí)施,因此,本發(fā)明并不限于下面公開的具體實(shí)施例的限制。圖I是根據(jù)本發(fā)明的一個實(shí)施例的數(shù)據(jù)查詢處理系統(tǒng)的框圖。如圖I所示,本發(fā)明提供一種數(shù)據(jù)查詢處理系統(tǒng)100,包括操作描述模塊102,生成操作描述器,以記錄查詢操作;操作處理模塊104,根據(jù)所述操作描述器的內(nèi)容,對已保存的語法樹進(jìn)行修改;數(shù)據(jù)查詢模塊106,根據(jù)修改后的語法樹,查詢數(shù)據(jù)。在該技術(shù)方案中,不會對每一次的查詢操作對生成對應(yīng)的多維表達(dá)式以及對表達(dá)式進(jìn)行解析,可以根據(jù)本次查詢操作,直接對已有的語法樹進(jìn)行修改即可,緩解了系統(tǒng)的操作壓力,基于同一語法樹,可允許查詢操作頻繁變化,保證了查詢系統(tǒng)功能的擴(kuò)展性。在該技術(shù)方案中,還包括解析處理模塊108,根據(jù)所述查詢操作之前的另ー查詢操作生成多維表達(dá)式,以及根據(jù)所述多維表達(dá)式生成所述語法樹。在該技術(shù)方案中,在首次處理查詢操作吋,需要按正常流程,根據(jù)查詢操作生成多維表達(dá)式,并將所述表達(dá)式解析為語法樹,以便在再次查詢時使用。在該技術(shù)方案中,還包括所述操作處理模塊104還根據(jù)所述查詢操作的查詢模型,來獲取已保存的對應(yīng)所述查詢模型的語法樹。在該技術(shù)方案中,可以為用戶的查詢操作準(zhǔn)確定位至適用的語法樹,以完成后續(xù)操作。在該技術(shù)方案中,所述操作處理模塊104定位所述語法樹中對應(yīng)于所述操作描述器的內(nèi)容的成員對象,井根據(jù)所述操作描述器的內(nèi)容對所述成員對象進(jìn)行增、刪和/或改操作。在該技術(shù)方案中,可以準(zhǔn)確地實(shí)現(xiàn)新的語法樹,通過檢索引擎執(zhí)行語法樹,即可完成數(shù)據(jù)查詢。在該技術(shù)方案中,還包括校驗(yàn)/優(yōu)化模塊110,對所述操作描述器的內(nèi)容進(jìn)行合法性校驗(yàn)和/或邏輯優(yōu)化。在該技術(shù)方案中,對于查詢操作的校驗(yàn)以及優(yōu)化,可以去掉邏輯上無意義的查詢條件,可以將對語法樹中同一成員對象進(jìn)行的操作合井。圖2是根據(jù)本發(fā)明的一個實(shí)施例的數(shù)據(jù)查詢處理方法的流程圖。如圖2所示,本發(fā)明還提供ー種數(shù)據(jù)查詢處理方法,包括步驟202,生成操作描述器,以記錄查詢操作;步驟204,根據(jù)所述操作描述器的內(nèi)容,對已保存的語法樹進(jìn)行修改;步驟206,根據(jù)修改后的語法樹,查詢數(shù)據(jù)。在該技術(shù)方案中,不會對每一次的查詢操作對生成對應(yīng)的多維表達(dá)式以及對表達(dá)式進(jìn)行解析,可以根據(jù)本次查詢操作,直接對已有的語法樹進(jìn)行修改即可,緩解了系統(tǒng)的操作壓力,基于同一語法樹,可允許查詢操作頻繁變化,保證了查詢系統(tǒng)功能的擴(kuò)展性。
在該技術(shù)方案中,在所述步驟204之前還包括根據(jù)所述查詢操作之前的另ー查詢操作生成多維表達(dá)式,以及根據(jù)所述多維表達(dá)式生成所述語法樹。在該技術(shù)方案中,在首次處理查詢操作時,需要按正常流程,根據(jù)查詢操作生成多維表達(dá)式,并將所述表達(dá)式解析為語法樹,以便在再次查詢時使用。在該技術(shù)方案中,還包括根據(jù)所述查詢操作的查詢模型,來獲取已保存的對應(yīng)所述查詢模型的語法樹。在該技術(shù)方案中,可以為用戶的查詢操作準(zhǔn)確定位至適用的語法樹,以完成后續(xù)t呆作。在該技術(shù)方案中,所述步驟204包括定位所述語法樹中對應(yīng)于所述操作描述器的內(nèi)容的成員對象,井根據(jù)所述操作描述器的內(nèi)容對所述成員對象進(jìn)行增、刪和/或改操作。在該技術(shù)方案中,可以準(zhǔn)確地實(shí)現(xiàn)新的語法樹,通過檢索引 擎執(zhí)行語法樹,即可完成數(shù)據(jù)查詢。在該技術(shù)方案中,在所述步驟204之前還包括對所述操作描述器的內(nèi)容進(jìn)行合法性校驗(yàn)和/或邏輯優(yōu)化。在該技術(shù)方案中,對于查詢操作的校驗(yàn)以及優(yōu)化,可以去掉邏輯上無意義的查詢條件,可以將對語法樹中同一成員對象進(jìn)行的操作合井。在本發(fā)明的一個實(shí)施例中,針對上述常見分析系統(tǒng)中的不足,提出了通過操作描述器對查詢操作進(jìn)行描述,在OLAP執(zhí)行過程中,不做解析,直接通過查詢處理裝置對查詢語法樹對象進(jìn)行操作,根據(jù)描述器改變語法樹對象,從而避免了查詢表達(dá)式被多次解析多次計算的問題。另外,在查詢操作交互上,通過引入操作描述器,改進(jìn)了系統(tǒng)的功能擴(kuò)展能力。圖3是基于多維表達(dá)式的執(zhí)行查詢的完整流程圖。針對執(zhí)行流程中與本發(fā)明相關(guān)的ー些概念解釋如下查詢模型用來描述多維查詢中含有哪些維度,哪些指標(biāo),維度和指標(biāo)的位置等查詢相關(guān)的信息;多維表達(dá)式通常為標(biāo)準(zhǔn)的MDX (Multi-Demension expressions)。例如SELECT {[Measures]. [Unit Sales], [Measures]. [Store Sales]}0NC0LUMNS,{[Product]. members}ON ROWSFROM [Sales]WHERE [Time], [1997], [Q2]其中C0LUMNS代表列軸,ROWS代表行軸;From后面表示數(shù)據(jù)立方體;WHERE后面為切片軸。語法樹節(jié)點(diǎn)對MDX進(jìn)行校驗(yàn)以及語法解析后會生成ー個語法樹結(jié)構(gòu)對象,每個查詢中的成員(如上例中紅色部分)都是樹的節(jié)點(diǎn)。對節(jié)點(diǎn)的計算會使OLAP對維度成員進(jìn)行加載,指標(biāo)成員進(jìn)行聚合計算。同時會對計算的結(jié)果進(jìn)行緩存。當(dāng)對數(shù)據(jù)進(jìn)行分析操作時,例如鉆取,匯總,切換維度/指標(biāo)的時候,通過更改查詢模型最終會反饋到查詢表達(dá)式MDX的變化。如上MDX例中,產(chǎn)品([Product], members)維度可能被切換成顧客([Customer], members)維度,則體現(xiàn)在MDX上為其相應(yīng)表達(dá)式的替換。在本發(fā)明的一個實(shí)施例中,提出基于抽象語法樹對象進(jìn)行操作,來避免毎次都重新解析查詢表達(dá)式。毎次的操作都被定義成操作描述器(相當(dāng)于前述的操作描述模塊),一組的分析操作,對應(yīng)成ー組的操作描述器。再進(jìn)行查詢的時候,只根據(jù)描述器定義的位置,對語法解析樹節(jié)點(diǎn)對象進(jìn)行局部變更,使得大部分樹節(jié)點(diǎn)對象不變,避免了重復(fù)解析,重用了緩存的成員對象。圖4是根據(jù)本發(fā)明的一個實(shí)施例的數(shù)據(jù)查詢處理系統(tǒng)的查詢流程圖。如圖4所示,詳細(xì)步驟解釋如下步驟402,在查詢模型(記錄了用戶的查詢操作)中増加操作器列表,用于存儲操作器。首次加載時,無任何分析操作,故執(zhí)行一般的執(zhí)行流程。步驟404,執(zhí)行分析操作,則生成對應(yīng)操作描述器,OLAP執(zhí)行時候,由模型獲取到以I中已經(jīng)解析的語法樹對象,通過操作處理器裝置(相當(dāng)于前述的操作處理模塊),按照操作描述器的定義改變語法樹節(jié)點(diǎn),從語法樹的節(jié)點(diǎn)成員緩存中獲取成員信息,如果沒有,則 重新加載計算。步驟406,按語法樹進(jìn)行查詢的過程同一般流程,構(gòu)建返回結(jié)果。步驟408,根據(jù)展現(xiàn)模型填充查詢結(jié)果。操作描述器以及操作處理器裝置都是處理語法樹對象,而語法樹對象是由多維查詢表達(dá)式(MDX)解析而來。由上述MDX例子,表達(dá)式的基礎(chǔ)語法結(jié)構(gòu)如下SELECT [axis specification]ON COLUMNS[axis specification]ON ROWSFROM [cube name]WHERE[slicer specification]一個查詢操作基本涉及到三個軸C0LUMNS,ROWS, SLICER。同樣操作描述器的屬性定義了作用域范圍。另外,操作描繪蘇器也定義了具體的操作邏輯。以上述MDX維度替換舉例,轉(zhuǎn)換過程如圖5所示I、圖5中左上為轉(zhuǎn)換前語法樹MDX的描述,其作為操作處理器裝置的輸入。2、操作處理器裝置根據(jù)操作描述器的定義,在ROWS軸上[Product]. members成員替換成[Customer] members。3、圖5中右下為經(jīng)過處理后語法樹的MDX描述。對語法樹節(jié)點(diǎn)對象的處理是在操作器處理器裝置中,圖6顯示的是其組織結(jié)構(gòu)以及處理流程。操作處理器裝置把ー組操作器和依據(jù)查詢模型從模型-語法樹緩存中獲取的語法樹對象作為輸入步驟602,根據(jù)多維表達(dá)式的語法規(guī)則,對操作器邏輯進(jìn)行檢驗(yàn);步驟604,依據(jù)描述器定義的邏輯規(guī)則對描述器進(jìn)行優(yōu)化,例如針對同一個成員操作可以合并,有的操作器邏輯上無意義,可以忽略等;步驟606,根據(jù)優(yōu)化后的操作描述,逐個遍歷語法樹對象,進(jìn)行成員定位,并執(zhí)行相關(guān)的操作邏輯(増加,修改,刪除和替換對象成員);步驟608,最后處理器修改更新過的語法樹對象更新到模型ー語法樹緩存中,并繼續(xù)執(zhí)行流程。本發(fā)明的實(shí)施例中,引入操作描述器除了提高查詢執(zhí)行的效率外,同時在對于查詢模型的擴(kuò)展性上也有極大的提升。
常見的查詢建模過程中,新増加的屬性往往需要更改查詢模型本身,這就涉及到修改原始定義的查詢模型。而通過操作描述器的方式,把定義態(tài)的查詢模型和執(zhí)行/操作態(tài)增加的模型屬性分開,在OLAP服務(wù)器中通過操作器處理裝置執(zhí)行查詢邏輯的改變,這樣即實(shí)現(xiàn)了分析操作應(yīng)用,也在模型層面進(jìn)行了解耦,方便擴(kuò)展。以多維表達(dá)式概念部分介紹的查詢模型來說假設(shè)其為定義態(tài)模型。而如果現(xiàn)在想增加ー種操作行為對[Product].members即產(chǎn)品維度的所有成員按照字母進(jìn)行排序。傳統(tǒng)的處理方法是在模型層對[ProductLmembers進(jìn)行排序處理,即原先的表達(dá)式外増加了 sort函數(shù)變?yōu)閟ort ([Product] members)。而這樣就完 全改變了原有的模型定義,使用者則無法回到原始狀態(tài)。通過操作描述器,原有的查詢模型不變,會把排序通過排序操作器進(jìn)行描述,放到查詢模型所包含的操作器列表中。操作描述器大體如圖7所示。由圖7可知,通過操作處理器裝置完成了排序操作,而原始模型并沒有改變。從而完全可以實(shí)現(xiàn)使用者的撤銷操作。查詢性能一直是OLAP服務(wù)中非常重要的方面。已有的提升查詢分析效率的技術(shù)主要集中于常見的緩存機(jī)制,通過對成員的緩存來減少計算和資源10,從而提升效率。其并沒有從查詢模型層以及模型處理角度考慮性能問題。本發(fā)明實(shí)現(xiàn)了ー種數(shù)據(jù)查詢處理系統(tǒng)和ー種數(shù)據(jù)查詢處理方法,其創(chuàng)新之處在于從模型層面對查詢分析進(jìn)行了處理,提出了通過引入操作描述器來定義分析操作,通過操作處理器裝置來實(shí)現(xiàn)查詢分析的業(yè)務(wù)邏輯,從而降低了成員計算和資源10,這樣在已有緩存的基礎(chǔ)上進(jìn)一步提升了性能。此外,描述器的引入還提升了查詢建模的擴(kuò)展能力,更好的支持了多維分析查詢應(yīng)用特性。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)查詢處理系統(tǒng),其特征在于,包括 操作描述模塊,生成操作描述器,以記錄查詢操作; 操作處理模塊,根據(jù)所述操作描述器的內(nèi)容,對已保存的語法樹進(jìn)行修改; 數(shù)據(jù)查詢模塊,根據(jù)修改后的語法樹,查詢數(shù)據(jù)。
2.根據(jù)權(quán)利要求I所述的數(shù)據(jù)查詢處理系統(tǒng),其特征在于,還包括 解析處理模塊,根據(jù)所述查詢操作之前的另一查詢操作生成多維表達(dá)式,以及根據(jù)所述多維表達(dá)式生成所述語法樹。
3.根據(jù)權(quán)利要求I所述的數(shù)據(jù)查詢處理系統(tǒng),其特征在于,所述操作處理模塊還根據(jù)所述查詢操作的查詢模型,來獲取已保存的對應(yīng)所述查詢模型的語法樹。
4.根據(jù)權(quán)利要求I所述的數(shù)據(jù)查詢處理系統(tǒng),其特征在于,所述操作處理模塊定位所述語法樹中對應(yīng)于所述操作描述器的內(nèi)容的成員對象,并根據(jù)所述操作描述器的內(nèi)容對所述成員對象進(jìn)行增、刪和/或改操作。
5.根據(jù)權(quán)利要求I至4中任一項(xiàng)所述的數(shù)據(jù)查詢處理系統(tǒng),其特征在于,還包括 校驗(yàn)/優(yōu)化模塊,對所述操作描述器的內(nèi)容進(jìn)行合法性校驗(yàn)和/或邏輯優(yōu)化。
6.一種數(shù)據(jù)查詢處理方法,其特征在于,包括 步驟202,生成操作描述器,以記錄查詢操作; 步驟204,根據(jù)所述操作描述器的內(nèi)容,對已保存的語法樹進(jìn)行修改; 步驟206,根據(jù)修改后的語法樹,查詢數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)查詢處理方法,其特征在于,在所述步驟204之前還包括 根據(jù)所述查詢操作之前的另一查詢操作生成多維表達(dá)式,以及根據(jù)所述多維表達(dá)式生成所述語法樹。
8.根據(jù)權(quán)利要求6所述的數(shù)據(jù)查詢處理方法,其特征在于,還包括 根據(jù)所述查詢操作的查詢模型,來獲取已保存的對應(yīng)所述查詢模型的語法樹。
9.根據(jù)權(quán)利要求6所述的數(shù)據(jù)查詢處理方法,其特征在于,所述步驟204包括 定位所述語法樹中對應(yīng)于所述操作描述器的內(nèi)容的成員對象,并根據(jù)所述操作描述器的內(nèi)容對所述成員對象進(jìn)行增、刪和/或改操作。
10.根據(jù)權(quán)利要求6至9中任一項(xiàng)所述的數(shù)據(jù)查詢處理方法,其特征在于,在所述步驟204之前還包括 對所述操作描述器的內(nèi)容進(jìn)行合法性校驗(yàn)和/或邏輯優(yōu)化。
全文摘要
本發(fā)明提供一種數(shù)據(jù)查詢處理系統(tǒng)和方法,其中,系統(tǒng)包括操作描述模塊,生成操作描述器,以記錄查詢操作;操作處理模塊,根據(jù)所述操作描述器的內(nèi)容,對已保存的語法樹進(jìn)行修改;數(shù)據(jù)查詢模塊,根據(jù)修改后的語法樹,查詢數(shù)據(jù)。通過本發(fā)明,不會對每一次的查詢操作對生成對應(yīng)的多維表達(dá)式以及對表達(dá)式進(jìn)行解析,可以根據(jù)本次查詢操作,直接對已有的語法樹進(jìn)行修改即可,緩解了系統(tǒng)的操作壓力,基于同一語法樹,可允許查詢操作頻繁變化,保證了查詢系統(tǒng)功能的擴(kuò)展性。
文檔編號G06F17/30GK102789488SQ201210225318
公開日2012年11月21日 申請日期2012年6月29日 優(yōu)先權(quán)日2012年6月29日
發(fā)明者李長山 申請人:用友軟件股份有限公司