本發(fā)明涉及數(shù)據(jù)庫技術(shù)領(lǐng)域,具體而言,涉及一種報表查詢方法、裝置、介質(zhì)和電子設(shè)備。
背景技術(shù):
在對數(shù)據(jù)進行統(tǒng)計、匯總的應(yīng)用場景中,需要根據(jù)需求生成報表,以通過表格、圖表等方式來動態(tài)呈現(xiàn)數(shù)據(jù)。
目前,報表系統(tǒng)在每次查詢報表時都需要執(zhí)行下述步驟:
1、將維度表和事實表進行連接;
2、根據(jù)篩選條件對數(shù)據(jù)進行篩選;
3、按照維度進行分組,對指標(biāo)進行聚合運算;
4、對已有指標(biāo)進行計算,得到現(xiàn)貨率、周轉(zhuǎn)率等計算指標(biāo)。
同時,現(xiàn)有的報表系統(tǒng)是將計算指標(biāo)的運算工程放在代碼中實現(xiàn)。
現(xiàn)有的報表系統(tǒng)存在以下問題:
1、由于數(shù)據(jù)庫的表連接、分組聚合操作比較耗時,每次查詢都進行表連接和分組聚合操作增加了報表查詢時間,影響了用戶體驗;
2、由于將計算指標(biāo)的運算過程放在代碼中實現(xiàn),因此工作量較大且計算指標(biāo)的統(tǒng)計口徑有變化時,必須將系統(tǒng)重新上線發(fā)布。
需要說明的是,在上述背景技術(shù)部分公開的信息僅用于加強對本發(fā)明的背景的理解,因此可以包括不構(gòu)成對本領(lǐng)域普通技術(shù)人員已知的現(xiàn)有技術(shù)的信息。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種報表查詢方法、裝置、介質(zhì)及電子設(shè)備,進而至少在一定程度上克服由于上述相關(guān)技術(shù)的限制和缺陷而導(dǎo)致的一個或者多個問題。
本發(fā)明的其他特性和優(yōu)點將通過下面的詳細(xì)描述變得顯然,或部分地通過本發(fā)明的實踐而習(xí)得。
根據(jù)本發(fā)明的第一方面,提供了一種報表查詢方法,包括:對原始報表進行預(yù)處理操作,以得到預(yù)處理后的結(jié)果集,所述預(yù)處理操作包括表連接和分組聚合操作;獲得報表查詢請求;根據(jù)所述報表查詢請求,對所述結(jié)果集進行查詢。
在本發(fā)明的一些實施例中,基于前述方案,對原始報表進行預(yù)處理操作,以得到預(yù)處理后的結(jié)果集的步驟,包括:根據(jù)需要呈現(xiàn)給用戶的報表中的維度信息和非計算指標(biāo),生成查詢語句;針對所述原始報表執(zhí)行所述查詢語句,以得到所述結(jié)果集。
在本發(fā)明的一些實施例中,基于前述方案,所述非計算指標(biāo)為所述需要呈現(xiàn)給用戶的報表中的字段。
在本發(fā)明的一些實施例中,基于前述方案,所述的報表查詢方法還包括:通過一致性哈希算法對所述原始報表進行哈希處理。
在本發(fā)明的一些實施例中,基于前述方案,在根據(jù)所述報表查詢請求,對所述結(jié)果集進行查詢的步驟之前,還包括:判斷所述結(jié)果集是否存在;在判定所述結(jié)果集不存在時,根據(jù)所述報表查詢請求,對所述原始報表進行關(guān)聯(lián)查詢;在判定所述結(jié)果集存在時,根據(jù)所述報表查詢請求,對所述結(jié)果集進行查詢。
在本發(fā)明的一些實施例中,基于前述方案,獲得報表查詢請求的步驟,包括:根據(jù)需要呈現(xiàn)給用戶的報表中的維度信息和非計算指標(biāo),以及配置文件中定義的計算指標(biāo),生成查詢語句,以得到所述報表查詢請求。
在本發(fā)明的一些實施例中,基于前述方案,所述計算指標(biāo)為多個所述非計算指標(biāo)的組合。
在本發(fā)明的一些實施例中,基于前述方案,通過臨時報表存儲所述結(jié)果集。
在本發(fā)明的一些實施例中,基于前述方案,按照預(yù)定的定時時間對所述原始報表進行預(yù)處理操作。
在本發(fā)明的一些實施例中,基于前述方案,所述的報表查詢方法還包括:將所述報表查詢請求的查詢結(jié)果保存至內(nèi)存數(shù)據(jù)庫中;若再次獲得報表查詢請求,則優(yōu)先查詢所述內(nèi)存數(shù)據(jù)庫。
根據(jù)本發(fā)明的第二方面,提供了一種報表查詢裝置,包括:預(yù)處理單元,用于對原始報表進行預(yù)處理操作,以得到預(yù)處理后的結(jié)果集,所述預(yù)處理操作包括表連接和分組聚合操作;獲取單元,用于獲得報表查詢請求;查詢單元,用于根據(jù)所述報表查詢請求,對所述結(jié)果集進行查詢。
根據(jù)本發(fā)明的第三方面,提供了一種計算機可讀介質(zhì),其上存儲有計算機程序,所述程序被處理器執(zhí)行時實現(xiàn)如上述第一方面中所述的報表查詢方法。
根據(jù)本發(fā)明的第四方面,提供了一種電子設(shè)備,包括:一個或多個處理器;存儲裝置,用于存儲一個或多個程序,當(dāng)所述一個或多個程序被所述一個或多個處理器執(zhí)行時,使得所述一個或多個處理器實現(xiàn)如上述第一方面中所述的報表查詢方法。
在本發(fā)明的一些實施例所提供的技術(shù)方案中,通過對原始報表進行預(yù)處理操作,以在獲得報表查詢請求時,直接對預(yù)處理后的結(jié)果集進行查詢,使得能夠事先進行表連接和分組聚合操作,這樣可以避免每次報表查詢都重復(fù)進行表連接和分組聚合操作,有效縮短了報表查詢時間。
在本發(fā)明的一些實施例所提供的技術(shù)方案中,通過采用一致性哈希算法對原始報表進行哈希處理,使得原始報表能夠均勻分布在各個數(shù)據(jù)庫中,避免了數(shù)據(jù)庫讀寫熱點的問題。
在本發(fā)明的一些實施例所提供的技術(shù)方案中,由于計算指標(biāo)是由配置文件來定義的,因此用戶能夠通過配置文件靈活地定義計算指標(biāo),避免了現(xiàn)有技術(shù)中將計算指標(biāo)的運算過程放在代碼中實現(xiàn)而在計算指標(biāo)的統(tǒng)計口徑有變化時需要重新上線發(fā)布系統(tǒng)的問題。
在本發(fā)明的一些實施例所提供的技術(shù)方案中,通過將報表查詢請求的查詢結(jié)果保存至內(nèi)存數(shù)據(jù)庫中,以在再次獲得報表查詢請求時優(yōu)先查詢內(nèi)存數(shù)據(jù)庫,使得在再次查詢已經(jīng)查詢過的報表時,能夠通過對內(nèi)存數(shù)據(jù)庫的查詢快速得到查詢結(jié)果,提高了報表查詢效率。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本發(fā)明。
附圖說明
此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本發(fā)明的實施例,并與說明書一起用于解釋本發(fā)明的原理。顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。在附圖中:
圖1示意性示出了根據(jù)本發(fā)明的實施例的報表查詢方法的流程圖;
圖2示出了根據(jù)本發(fā)明的實施例的報表查詢系統(tǒng)的架構(gòu)示意圖;
圖3示出了根據(jù)本發(fā)明的實施例的報表查詢方案中的預(yù)處理過程的示意圖;
圖4示出了根據(jù)本發(fā)明的實施例的報表查詢方案中的報表查詢過程的示意圖;
圖5示意性示出了根據(jù)本發(fā)明的實施例的報表查詢裝置的框圖;
圖6示意性示出了適于用來實現(xiàn)本發(fā)明實施例的電子設(shè)備的計算機系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施方式
現(xiàn)在將參考附圖更全面地描述示例實施方式。然而,示例實施方式能夠以多種形式實施,且不應(yīng)被理解為限于在此闡述的范例;相反,提供這些實施方式使得本發(fā)明將更加全面和完整,并將示例實施方式的構(gòu)思全面地傳達(dá)給本領(lǐng)域的技術(shù)人員。
此外,所描述的特征、結(jié)構(gòu)或特性可以以任何合適的方式結(jié)合在一個或更多實施例中。在下面的描述中,提供許多具體細(xì)節(jié)從而給出對本發(fā)明的實施例的充分理解。然而,本領(lǐng)域技術(shù)人員將意識到,可以實踐本發(fā)明的技術(shù)方案而沒有特定細(xì)節(jié)中的一個或更多,或者可以采用其它的方法、組元、裝置、步驟等。在其它情況下,不詳細(xì)示出或描述公知方法、裝置、實現(xiàn)或者操作以避免模糊本發(fā)明的各方面。
附圖中所示的方框圖僅僅是功能實體,不一定必須與物理上獨立的實體相對應(yīng)。即,可以采用軟件形式來實現(xiàn)這些功能實體,或在一個或多個硬件模塊或集成電路中實現(xiàn)這些功能實體,或在不同網(wǎng)絡(luò)和/或處理器裝置和/或微控制器裝置中實現(xiàn)這些功能實體。
附圖中所示的流程圖僅是示例性說明,不是必須包括所有的內(nèi)容和操作/步驟,也不是必須按所描述的順序執(zhí)行。例如,有的操作/步驟還可以分解,而有的操作/步驟可以合并或部分合并,因此實際執(zhí)行的順序有可能根據(jù)實際情況改變。
圖1示意性示出了根據(jù)本發(fā)明的實施例的報表查詢方法的流程圖。
參照圖1,根據(jù)本發(fā)明的實施例的報表查詢方法,包括如下步驟:
步驟s10,對原始報表進行預(yù)處理操作,以得到預(yù)處理后的結(jié)果集,所述預(yù)處理操作包括表連接和分組聚合操作。
在本發(fā)明的示例性實施例中,可以通過一致性哈希算法對所述原始報表進行哈希處理,以將原始報表均勻分布在各個數(shù)據(jù)庫中,避免了數(shù)據(jù)庫讀寫熱點的問題。
在步驟s10中,通過對原始報表進行預(yù)處理操作,使得能夠事先進行表連接和分組聚合操作,進而可以有效縮短報表查詢時間。
根據(jù)本發(fā)明的示例性實施例,步驟s10具體包括:根據(jù)需要呈現(xiàn)給用戶的報表中的維度信息和非計算指標(biāo),生成查詢語句;針對所述原始報表執(zhí)行所述查詢語句,以得到所述結(jié)果集。
需要說明的是,非計算指標(biāo)是需要呈現(xiàn)給用戶的報表中的普通字段,生成的查詢語句可以是sql(structuredquerylanguage,結(jié)構(gòu)化查詢語言)語句。
根據(jù)本發(fā)明的示例性實施例,在對原始報表進行預(yù)處理操作之后,可以通過臨時報表存儲預(yù)處理得到的結(jié)果集。
此外,在本發(fā)明的示例性實施例中,可以按照預(yù)定的定時時間對所述原始報表進行預(yù)處理操作。
步驟s12,獲得報表查詢請求。
根據(jù)本發(fā)明的示例性實施例,步驟s12具體包括:根據(jù)需要呈現(xiàn)給用戶的報表中的維度信息和非計算指標(biāo),以及配置文件中定義的計算指標(biāo),生成查詢語句,以得到所述報表查詢請求。
需要說明的是,由于計算指標(biāo)是由配置文件來定義的,因此用戶能夠通過配置文件靈活地定義計算指標(biāo),避免了現(xiàn)有技術(shù)中將計算指標(biāo)的運算過程放在代碼中實現(xiàn)而在計算指標(biāo)的統(tǒng)計口徑有變化時需要重新上線發(fā)布系統(tǒng)的問題。其中,計算指標(biāo)為多個非計算指標(biāo)的組合。
步驟s14,根據(jù)所述報表查詢請求,對所述結(jié)果集進行查詢。
在本發(fā)明的一些實施例中,基于前述方案,在步驟s142之前還包括:判斷所述結(jié)果集是否存在;在判定所述結(jié)果集不存在時,根據(jù)所述報表查詢請求,對所述原始報表進行關(guān)聯(lián)查詢;在判定所述結(jié)果集存在時,再根據(jù)所述報表查詢請求,對所述結(jié)果集進行查詢。
此外,在本發(fā)明的一些實施例中,基于前述方案,所述的報表查詢方法還包括:將所述報表查詢請求的查詢結(jié)果保存至內(nèi)存數(shù)據(jù)庫中;若再次獲得報表查詢請求,則優(yōu)先查詢所述內(nèi)存數(shù)據(jù)庫。
圖2所示為根據(jù)本發(fā)明的實施例的報表查詢系統(tǒng)的架構(gòu)示意圖。具體而言,該系統(tǒng)架構(gòu)主要包括如下四個部分:
1、數(shù)據(jù)存儲,原始數(shù)據(jù)報表存儲在mysql數(shù)據(jù)庫中。每天通過任務(wù)調(diào)度系統(tǒng)定時對原始數(shù)據(jù)報表進行預(yù)處理,將表連接和分組聚合后得到的結(jié)果保存在臨時表中。
2、服務(wù)層,提供數(shù)據(jù)庫訪問能力,并將數(shù)據(jù)庫查詢結(jié)果緩存在內(nèi)存數(shù)據(jù)庫(如jimdb)中。
3、接口(如restapi),是對外開放的接口,可通過調(diào)用接口進行報表查詢。其中,rest全稱為representationalstatetransfer,其描述了一個架構(gòu)樣式的網(wǎng)絡(luò)系統(tǒng),比如web應(yīng)用程序;api全稱為applicationprogramminginterface,其表示應(yīng)用程序編程接口。
4、支持多終端,可為瀏覽器網(wǎng)頁和移動端應(yīng)用提供服務(wù)。
基于圖2所示的系統(tǒng)架構(gòu),本發(fā)明實施例的報表查詢方案主要包括預(yù)處理過程和報表查詢過程,以下分別進行說明:
預(yù)處理過程:
該過程具體如圖3所示,包括如下步驟:
步驟s302,一致性哈希算法對原始報表id進行哈希,并確定臨時表所在的數(shù)據(jù)庫。
在步驟s302中,通過一致性哈希算法對原始報表進行哈希處理,使得原始報表能夠均勻落在各個數(shù)據(jù)庫中,避免數(shù)據(jù)庫讀寫熱點問題。
步驟s304,根據(jù)需要呈現(xiàn)給用戶的報表中的維度和非計算指標(biāo)拼寫sql查詢語句。
步驟s306,執(zhí)行sql查詢,并將得到的結(jié)果集保存在臨時表中。
在預(yù)處理階段,主要是處理報表查詢過程中的表連接、分組聚合等比較耗時的操作,并將結(jié)果保存到臨時表中。預(yù)處理過程支持對mysql、oracle、sqlserver等多種數(shù)據(jù)源中的數(shù)據(jù)進行處理,在生成sql語句時,可以使用模板模式,兼容不同的sql語法。
報表查詢過程:
該過程具體如圖4所示,包括如下步驟:
步驟s402,根據(jù)需要呈現(xiàn)給用戶的報表中的維度和非計算指標(biāo),以及配置文件中自定義的計算指標(biāo)拼寫sql語句。
步驟s404,查詢內(nèi)存數(shù)據(jù)庫(如jimdb)。
步驟s406,判斷查詢內(nèi)存數(shù)據(jù)庫是否命中,若是,則報表查詢結(jié)束;否則,執(zhí)行步驟s408。
步驟s408,一致性哈希算法對報表id進行哈希,確定臨時表所在的數(shù)據(jù)庫。
步驟s410,判斷臨時表是否存在,若存在,則執(zhí)行步驟s412;否則,執(zhí)行步驟s414。
步驟s412,在臨時表上執(zhí)行sql查詢,這樣可以避免進行表連接和分組聚合操作,縮短了查詢語句的執(zhí)行時間,提高了查詢效率。
步驟s414,在原始報表上進行sql關(guān)聯(lián)查詢。
步驟s416,將查詢結(jié)果保存到內(nèi)存數(shù)據(jù)庫(如jimdb)。在本發(fā)明的實施例中,通過將查詢結(jié)果保存到內(nèi)存數(shù)據(jù)庫中,使得再次查詢該報表時可以直接從內(nèi)存數(shù)據(jù)庫中快速返回結(jié)果,提高了查詢效率,這也正是步驟s404中首先對內(nèi)存數(shù)據(jù)庫進行查詢的原因。
由上述的闡述可知,本發(fā)明實施例的報表查詢方案通過預(yù)先進行數(shù)據(jù)庫表連接和分組操作,降低了報表查詢時間;同時能夠通過配置文件靈活地定義計算指標(biāo);并且通過一致性哈希算法對原始報表進行分庫,可以避免數(shù)據(jù)庫讀寫熱點的問題。需要說明的是,本發(fā)明實施例的技術(shù)方案支持支持星型模型(是一種多維的數(shù)據(jù)關(guān)系,它由一個事實表和一組維度表組成)和雪花模型(在雪花模型中,一個或多個維度表沒有直接連接到事實表上,而是通過其他維表連接到事實表上)。
圖5示意性示出了根據(jù)本發(fā)明的實施例的報表查詢裝置的框圖。
參照圖5,根據(jù)本發(fā)明的實施例的報表查詢裝置500,包括:預(yù)處理單元502、獲取單元504和查詢單元506。
具體地,預(yù)處理單元502用于對原始報表進行預(yù)處理操作,以得到預(yù)處理后的結(jié)果集,所述預(yù)處理操作包括表連接和分組聚合操作;獲取單元504用于獲得報表查詢請求;查詢單元506用于根據(jù)所述報表查詢請求,對所述結(jié)果集進行查詢。
需要說明的是,上述報表查詢裝置500中包含的各模塊/單元的具體細(xì)節(jié)已經(jīng)在對應(yīng)的報表查詢方法中進行了詳細(xì)的描述,因此此處不再贅述。
下面參考圖6,其示出了適于用來實現(xiàn)本發(fā)明實施例的電子設(shè)備的計算機系統(tǒng)600的結(jié)構(gòu)示意圖。圖6示出的電子設(shè)備的計算機系統(tǒng)600僅是一個示例,不應(yīng)對本發(fā)明實施例的功能和使用范圍帶來任何限制。
如圖6所示,計算機系統(tǒng)600包括中央處理單元(cpu)601,其可以根據(jù)存儲在只讀存儲器(rom)602中的程序或者從存儲部分608加載到隨機訪問存儲器(ram)603中的程序而執(zhí)行各種適當(dāng)?shù)膭幼骱吞幚?。在ram603中,還存儲有系統(tǒng)操作所需的各種程序和數(shù)據(jù)。cpu601、rom602以及ram603通過總線604彼此相連。輸入/輸出(i/o)接口605也連接至總線604。
以下部件連接至i/o接口605:包括鍵盤、鼠標(biāo)等的輸入部分606;包括諸如陰極射線管(crt)、液晶顯示器(lcd)等以及揚聲器等的輸出部分607;包括硬盤等的存儲部分608;以及包括諸如lan卡、調(diào)制解調(diào)器等的網(wǎng)絡(luò)接口卡的通信部分609。通信部分609經(jīng)由諸如因特網(wǎng)的網(wǎng)絡(luò)執(zhí)行通信處理。驅(qū)動器610也根據(jù)需要連接至i/o接口605??刹鹦督橘|(zhì)611,諸如磁盤、光盤、磁光盤、半導(dǎo)體存儲器等等,根據(jù)需要安裝在驅(qū)動器610上,以便于從其上讀出的計算機程序根據(jù)需要被安裝入存儲部分608。
特別地,根據(jù)本發(fā)明的實施例,上文參考流程圖描述的過程可以被實現(xiàn)為計算機軟件程序。例如,本發(fā)明的實施例包括一種計算機程序產(chǎn)品,其包括承載在計算機可讀介質(zhì)上的計算機程序,該計算機程序包含用于執(zhí)行流程圖所示的方法的程序代碼。在這樣的實施例中,該計算機程序可以通過通信部分609從網(wǎng)絡(luò)上被下載和安裝,和/或從可拆卸介質(zhì)611被安裝。在該計算機程序被中央處理單元(cpu)601執(zhí)行時,執(zhí)行本申請的系統(tǒng)中限定的上述功能。
需要說明的是,本發(fā)明所示的計算機可讀介質(zhì)可以是計算機可讀信號介質(zhì)或者計算機可讀存儲介質(zhì)或者是上述兩者的任意組合。計算機可讀存儲介質(zhì)例如可以是——但不限于——電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計算機可讀存儲介質(zhì)的更具體的例子可以包括但不限于:具有一個或多個導(dǎo)線的電連接、便攜式計算機磁盤、硬盤、隨機訪問存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或閃存)、光纖、便攜式緊湊磁盤只讀存儲器(cd-rom)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本發(fā)明中,計算機可讀存儲介質(zhì)可以是任何包含或存儲程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。而在本發(fā)明中,計算機可讀的信號介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了計算機可讀的程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括但不限于電磁信號、光信號或上述的任意合適的組合。計算機可讀的信號介質(zhì)還可以是計算機可讀存儲介質(zhì)以外的任何計算機可讀介質(zhì),該計算機可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。計算機可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括但不限于:無線、電線、光纜、rf等等,或者上述的任意合適的組合。
附圖中的流程圖和框圖,圖示了按照本發(fā)明各種實施例的系統(tǒng)、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,上述模塊、程序段、或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖或流程圖中的每個方框、以及框圖或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。
描述于本發(fā)明實施例中所涉及到的單元可以通過軟件的方式實現(xiàn),也可以通過硬件的方式來實現(xiàn),所描述的單元也可以設(shè)置在處理器中。其中,這些單元的名稱在某種情況下并不構(gòu)成對該單元本身的限定。
作為另一方面,本申請還提供了一種計算機可讀介質(zhì),該計算機可讀介質(zhì)可以是上述實施例中描述的電子設(shè)備中所包含的;也可以是單獨存在,而未裝配入該電子設(shè)備中。上述計算機可讀介質(zhì)承載有一個或者多個程序,當(dāng)上述一個或者多個程序被一個該電子設(shè)備執(zhí)行時,使得該電子設(shè)備實現(xiàn)如上述實施例中所述的報表查詢方法。
例如,該電子設(shè)備可以實現(xiàn)如圖1中所示的:步驟s10,對原始報表進行預(yù)處理操作,以得到預(yù)處理后的結(jié)果集,所述預(yù)處理操作包括表連接和分組聚合操作;步驟s12,獲得報表查詢請求;步驟s14,根據(jù)所述報表查詢請求,對所述結(jié)果集進行查詢。
又如,該電子設(shè)備可以實現(xiàn)圖3或圖4所示的各個步驟。
應(yīng)當(dāng)注意,盡管在上文詳細(xì)描述中提及了用于動作執(zhí)行的設(shè)備的若干模塊或者單元,但是這種劃分并非強制性的。實際上,根據(jù)本發(fā)明的實施方式,上文描述的兩個或更多模塊或者單元的特征和功能可以在一個模塊或者單元中具體化。反之,上文描述的一個模塊或者單元的特征和功能可以進一步劃分為由多個模塊或者單元來具體化。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員易于理解,這里描述的示例實施方式可以通過軟件實現(xiàn),也可以通過軟件結(jié)合必要的硬件的方式來實現(xiàn)。因此,根據(jù)本發(fā)明實施方式的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲在一個非易失性存儲介質(zhì)(可以是cd-rom,u盤,移動硬盤等)中或網(wǎng)絡(luò)上,包括若干指令以使得一臺計算設(shè)備(可以是個人計算機、服務(wù)器、觸控終端、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行根據(jù)本發(fā)明實施方式的方法。
本領(lǐng)域技術(shù)人員在考慮說明書及實踐這里公開的發(fā)明后,將容易想到本發(fā)明的其它實施方案。本申請旨在涵蓋本發(fā)明的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本發(fā)明的一般性原理并包括本發(fā)明未公開的本技術(shù)領(lǐng)域中的公知常識或慣用技術(shù)手段。說明書和實施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。
應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。