專利名稱::一種快速完成大數(shù)據(jù)處理的方法和報(bào)表系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種無(wú)線通信
技術(shù)領(lǐng)域:
的大數(shù)據(jù)處理系統(tǒng)和方法,尤其涉及各通訊網(wǎng)管系統(tǒng)中各類業(yè)務(wù)(性能,告警,報(bào)表等)大數(shù)據(jù)呈現(xiàn)的系統(tǒng)和方法。
背景技術(shù):
:在現(xiàn)有技術(shù)的電信網(wǎng)絡(luò)管理中通常存在大數(shù)據(jù)量的處理,以網(wǎng)管系統(tǒng)中報(bào)表管理為例來(lái)說(shuō)明,報(bào)表管理為系統(tǒng)管理員提供了對(duì)網(wǎng)管系統(tǒng)重要信息的統(tǒng)一報(bào)表輸出功能。利用報(bào)表管理功能,系統(tǒng)管理員能定制報(bào)表任務(wù),輸出報(bào)表數(shù)據(jù),從而方便監(jiān)控網(wǎng)管系統(tǒng)的運(yùn)行。為了更好地利用報(bào)表數(shù)據(jù)分析系統(tǒng)的運(yùn)行情況,常需要快速統(tǒng)計(jì)大量性能、告警、配置等的數(shù)據(jù),以便維護(hù)人員快速對(duì)系統(tǒng)運(yùn)行情況做出評(píng)估。報(bào)表所需的各列數(shù)據(jù)最初來(lái)自數(shù)據(jù)庫(kù),一種可以直接對(duì)應(yīng)到數(shù)據(jù)庫(kù)表字段上;另一種是指標(biāo),通常是在存儲(chǔ)過(guò)程腳本中完成對(duì)指標(biāo)的處理,存儲(chǔ)過(guò)程的寫法和數(shù)據(jù)庫(kù)技術(shù)緊密相關(guān),該方法不通用,存在大量冗余腳本,比較耗費(fèi)工作量。而在現(xiàn)有系統(tǒng)中,當(dāng)報(bào)表各列數(shù)據(jù)含有指標(biāo)時(shí),網(wǎng)管系統(tǒng)會(huì)先從數(shù)據(jù)庫(kù)中查詢?cè)紨?shù)據(jù),再在內(nèi)存中進(jìn)行分組和統(tǒng)計(jì)運(yùn)算,例如求平均、求和、求最大、求最小、及其它自定義的統(tǒng)計(jì)方式;以及格式的填充,這樣既耗內(nèi)存,速度又很慢,隨著報(bào)表數(shù)據(jù)越來(lái)越多地參與綜合分析系統(tǒng)運(yùn)行情況,統(tǒng)計(jì)的原始數(shù)據(jù)量呈數(shù)量級(jí)地增長(zhǎng),每次查詢報(bào)表數(shù)據(jù)會(huì)很耗時(shí),同時(shí)終端呈現(xiàn)時(shí)也會(huì)很耗內(nèi)存。如果把報(bào)表格式和查詢報(bào)表數(shù)據(jù)二者分開(kāi),盡可能利用數(shù)據(jù)庫(kù)的分組和過(guò)濾技術(shù)查詢出參與呈現(xiàn)報(bào)表數(shù)據(jù)各列的原始統(tǒng)計(jì)值,再進(jìn)行指標(biāo)的復(fù)合統(tǒng)計(jì),就可大大提高速度且降低內(nèi)存。為了解決上述現(xiàn)有技術(shù)中所遇到的問(wèn)題,需要提供一種有效、便捷的方法來(lái)實(shí)現(xiàn)大數(shù)據(jù)報(bào)表的呈現(xiàn)。本發(fā)明中涉及的幾個(gè)名詞解釋如下報(bào)表模板描述報(bào)表需要呈現(xiàn)的數(shù)據(jù)格式信息,如數(shù)據(jù)名稱,各數(shù)據(jù)區(qū)域格式信息(顏色,字體,排列方式等)。指標(biāo)一種是由多個(gè)數(shù)據(jù)庫(kù)表字段經(jīng)過(guò)四則混合運(yùn)算或特殊處理(比如除零保護(hù),邊界異常值保護(hù)等)的復(fù)合字段。分組將同類數(shù)據(jù)區(qū)別開(kāi),方便進(jìn)行匯總,類似數(shù)據(jù)庫(kù)的group技術(shù)。排序?qū)?shù)據(jù)按某個(gè)字段或指標(biāo)按升序或降序排列,類似數(shù)據(jù)庫(kù)的orderby技術(shù)。過(guò)濾將不符合條件的數(shù)據(jù)篩選掉,類似數(shù)據(jù)庫(kù)的where技術(shù)。格式化將數(shù)據(jù)按數(shù)據(jù)類型作格式化輸出,如數(shù)字類型的可以顯示為科學(xué)記數(shù)法,也可以顯示為帶千位分隔符的,如12356.789,可以格式化為1.2357E4,也可以才各式化為12,356.789。JavaCC:JavaCompilerCompiler,詞法分才斤生成器。
發(fā)明內(nèi)容本發(fā)明的目的在于提供一種快速完成大數(shù)據(jù)處理的方法和報(bào)表系統(tǒng),用于查詢大數(shù)據(jù),并快速呈現(xiàn),以提高終端響應(yīng)速度,同時(shí)減輕系統(tǒng)負(fù)荷。本發(fā)明的技術(shù)方案包括一種快速完成大凄t據(jù)處理的方法,其包括以下步驟A、選擇報(bào)表模板,并設(shè)置報(bào)表查詢的參數(shù);B、一預(yù)編譯處理模塊根據(jù)所選擇的報(bào)表模板和參數(shù)信息,形成預(yù)編譯數(shù)據(jù)結(jié)構(gòu);C、一數(shù)據(jù)處理;f莫塊從數(shù)據(jù)庫(kù)中查詢?cè)冀Y(jié)果集,并根據(jù)過(guò)濾表達(dá)式過(guò)濾所述原始結(jié)果集;D、所述數(shù)據(jù)處理纟莫塊對(duì)過(guò)濾后的所述結(jié)果集進(jìn)行排序和分組,并根據(jù)模板信息進(jìn)行格式化處理,將格式化信息和結(jié)果集封裝為報(bào)表結(jié)果結(jié)構(gòu);E、所述數(shù)據(jù)處理模塊將報(bào)表結(jié)果結(jié)構(gòu)封裝為查詢結(jié)果集,并返回給客戶端進(jìn)4亍呈現(xiàn)。所述的方法,其中,所述步驟D還包括如果在所述報(bào)表模板中設(shè)置排序,則對(duì)所有數(shù)據(jù)進(jìn)行排序,得到排序后的結(jié)果集;如果在報(bào)表模板中既設(shè)置排序又設(shè)置分組,則不做排序,在分組處理過(guò)程中進(jìn)行排序。所述的方法,其中,所述步驟D還包括如果對(duì)所述報(bào)表模板設(shè)置分組,根據(jù)排序后的結(jié)果集如果分組字段發(fā)生變化即表示新分組產(chǎn)生,并對(duì)報(bào)表數(shù)據(jù)進(jìn)行分組并計(jì)算小計(jì);如果在報(bào)表模板中即設(shè)置排序又設(shè)置分組,則對(duì)每組數(shù)據(jù)進(jìn)行排序,輸出數(shù)據(jù)集。所述的方法,其中,所述步驟C還包括如果所述報(bào)表模板中含公式的指標(biāo),則計(jì)算所有指標(biāo)值,得到公式計(jì)算后的結(jié)果集。一種快速完成大數(shù)據(jù)處理的報(bào)表系統(tǒng),其中,其包括一表結(jié)構(gòu)管理模塊、數(shù)據(jù)預(yù)編譯模塊、數(shù)據(jù)處理模塊,以及與所述數(shù)據(jù)處理模塊相連接的終端界面模塊,在該數(shù)據(jù)處理模塊中設(shè)置有控制單元;所述表結(jié)構(gòu)管理模塊連接有多個(gè)應(yīng)用數(shù)據(jù)庫(kù);所述數(shù)據(jù)預(yù)編譯模塊連接有多個(gè)報(bào)表模板;所述數(shù)據(jù)處理模塊用于將報(bào)表從數(shù)據(jù)庫(kù)查詢出的原始結(jié)果集進(jìn)行再次分析處理,并封裝為適合呈現(xiàn)的數(shù)據(jù)結(jié)構(gòu);所述控制單元用于分析來(lái)自所述數(shù)據(jù)預(yù)編譯模塊的編譯數(shù)據(jù)結(jié)構(gòu)。所述的報(bào)表系統(tǒng),其中,所述表結(jié)構(gòu)管理模塊用于存儲(chǔ)和管理各屬性和系統(tǒng)指標(biāo)的信息。所述的報(bào)表系統(tǒng),其中,所述數(shù)據(jù)預(yù)編譯模塊用于將報(bào)表模板信息結(jié)合所述編譯數(shù)據(jù)結(jié)構(gòu),所述編譯數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)庫(kù)查詢基礎(chǔ)數(shù)據(jù)語(yǔ)句、各指標(biāo)統(tǒng)計(jì)運(yùn)算公式、過(guò)濾表達(dá)式、排序表達(dá)式信息,和,按照所使用的語(yǔ)法分析器規(guī)則來(lái)生成的各類公式信息組織形式。所述的報(bào)表系統(tǒng),其中,所述屬性的信息包括各自的表名、字段名、數(shù)據(jù)類型、格式化串、統(tǒng)計(jì)運(yùn)算方式;所述系統(tǒng)指標(biāo)的信息包括運(yùn)算統(tǒng)計(jì)方式、邊界異常處理方式、條件運(yùn)算替換值信息。所述的報(bào)表系統(tǒng),其中,所述控制單元的處理主要包括公式指標(biāo)計(jì)算,公式指標(biāo)條件過(guò)濾,排序,分組,格式化五方面的處理。所述的報(bào)表系統(tǒng),其中,所述公式指標(biāo)條件過(guò)濾包括等于、大于等于、不等于、IN、Notln、為空、不為空的單一或復(fù)合條件過(guò)濾。本發(fā)明提供了一種快速完成大數(shù)據(jù)處理的方法和報(bào)表系統(tǒng),由于采用格式與數(shù)據(jù)完全剝離的方式用于實(shí)現(xiàn)高速的數(shù)據(jù)生成,客戶端收到數(shù)據(jù)后,可以直接使用,不需要進(jìn)行數(shù)據(jù)解析,提高了客戶端與服務(wù)器之間數(shù)據(jù)傳輸?shù)男?,極大提高了報(bào)表查詢大量數(shù)據(jù)的速度,減少了服務(wù)端數(shù)據(jù)占用內(nèi)存,減輕了系統(tǒng)負(fù)荷。圖l是本發(fā)明的報(bào)表系統(tǒng)數(shù)據(jù)生成的模塊組成示意圖2是本發(fā)明的報(bào)表數(shù)據(jù)生成的流程圖3是根據(jù)本發(fā)明的報(bào)表數(shù)據(jù)生成的另一流程圖。具體實(shí)施例下面結(jié)合附圖,以電信網(wǎng)絡(luò)管理領(lǐng)域的性能報(bào)表數(shù)據(jù)生成為例,對(duì)本發(fā)明的技術(shù)方案作進(jìn)一步的詳細(xì)描述。本發(fā)明的基本設(shè)計(jì)思想就是采用語(yǔ)法分析結(jié)合數(shù)據(jù)庫(kù)技術(shù),將業(yè)務(wù)數(shù)據(jù)呈現(xiàn)時(shí)的^^備式和數(shù)據(jù)查詢隔離開(kāi),先利用數(shù)據(jù)庫(kù)自身的分組、過(guò)濾、排序技術(shù)將數(shù)據(jù)作初次分析處理,而把和指標(biāo)相關(guān)的統(tǒng)計(jì)運(yùn)算、過(guò)濾、排序放到內(nèi)存中,然后和業(yè)務(wù)數(shù)據(jù)呈現(xiàn)時(shí)需要的^"式信息一起封裝為最終的結(jié)果數(shù)據(jù),其中指標(biāo)運(yùn)算可以采用中綴表達(dá)式、前綴表達(dá)式、后綴表達(dá)式等語(yǔ)法解析器,本發(fā)明用的是中綴表達(dá)式語(yǔ)法解析器javacc。本發(fā)明以報(bào)表數(shù)據(jù)處理為例來(lái)說(shuō)明技術(shù)實(shí)現(xiàn)細(xì)節(jié)。如圖1描述了本發(fā)明報(bào)表數(shù)據(jù)生成的系統(tǒng)結(jié)構(gòu),本發(fā)明快速完成大數(shù)據(jù)處理的報(bào)表系統(tǒng)包括一表結(jié)構(gòu)管理模塊108、數(shù)據(jù)預(yù)編譯模塊106、數(shù)據(jù)處理模塊104,以及與所述數(shù)據(jù)處理模塊104相連接的OMC-界面模塊102,在該數(shù)據(jù)處理模塊104中設(shè)置有控制單元,用于分析來(lái)自數(shù)據(jù)預(yù)編譯模塊的編譯數(shù)據(jù)結(jié)構(gòu)和控制整個(gè)流程的走向;所述表結(jié)構(gòu)管理模塊108連接有多個(gè)應(yīng)用數(shù)據(jù)庫(kù)l~n;所述數(shù)據(jù)預(yù)編譯模塊106連接有多個(gè)報(bào)表模板l~n。其中所述表結(jié)構(gòu)管理才莫塊108負(fù)責(zé)存儲(chǔ)和管理各屬性和系統(tǒng)指標(biāo)的信息,屬性的相關(guān)數(shù)據(jù)庫(kù)信息包括各自的表名、字段名、數(shù)據(jù)類型、格式化串、統(tǒng)計(jì)運(yùn)算方式等,系統(tǒng)指標(biāo)相關(guān)信息包括運(yùn)算統(tǒng)計(jì)方式、邊界異常處理方式、條件運(yùn)算替換值等信息。所述數(shù)據(jù)預(yù)編譯模塊106負(fù)責(zé)將報(bào)表模板信息結(jié)合所述表結(jié)構(gòu)管理模塊108轉(zhuǎn)化為所述數(shù)據(jù)處理模塊104所述需要的編譯數(shù)據(jù)結(jié)構(gòu),主要包含兩部分?jǐn)?shù)據(jù)庫(kù)查詢基礎(chǔ)數(shù)據(jù)語(yǔ)句、各指標(biāo)統(tǒng)計(jì)運(yùn)算公式、過(guò)濾表達(dá)式、排序表達(dá)式等信息,和,按照所使用的語(yǔ)法分析器規(guī)則來(lái)生成的各類公式信息組織形式。所述數(shù)據(jù)處理模塊104負(fù)責(zé)將報(bào)表從數(shù)據(jù)庫(kù)查詢出的原始結(jié)果集進(jìn)行再次分析處理,最后封裝為適合呈現(xiàn)的數(shù)據(jù)結(jié)構(gòu),其中的控制單元負(fù)責(zé)分析來(lái)自所述數(shù)據(jù)預(yù)編譯才莫塊106的編譯數(shù)據(jù)結(jié)構(gòu),控制整個(gè)流程的走向;實(shí)際的處理主要包括公式指標(biāo)計(jì)算,公式指標(biāo)條件過(guò)濾(包括等于、大于等于、不等于、IN、Notln、為空、不為空等單一或復(fù)合條件過(guò)濾),排序,分組,格式化等五方面的處理;最后送給終端的OMC-界面模塊102呈現(xiàn)。如圖2所示,本發(fā)明的報(bào)表數(shù)據(jù)生成方法包括以下步驟步驟S1002,選擇模板,設(shè)置參數(shù)操作人員選擇某一模板,輸入相應(yīng)的條件參數(shù),進(jìn)行報(bào)表數(shù)據(jù)的查詢。對(duì)于告警,性能、配置等其他應(yīng)用,模板信息可能包含數(shù)據(jù)查詢的基本信息。也可以提前預(yù)定義參數(shù),供定時(shí)任務(wù)來(lái)自動(dòng)調(diào)度生成才詠數(shù)據(jù)。步驟S1004,預(yù)編譯處理結(jié)果系統(tǒng)根據(jù)模板和參數(shù)信息,形成預(yù)編譯結(jié)構(gòu),主要包含數(shù)據(jù)庫(kù)查詢語(yǔ)句,相關(guān)的指標(biāo)公式,統(tǒng)計(jì)運(yùn)算公式,過(guò)濾,分組,排序,格式化等信息。步驟S1006,從數(shù)據(jù)庫(kù)中查詢?cè)冀Y(jié)果集系統(tǒng)由模板信息得到相關(guān)數(shù)據(jù)庫(kù)名,用戶名,口令等基本信息,再根據(jù)步驟S1004中的數(shù)據(jù)庫(kù)查詢語(yǔ)句查詢出原始結(jié)果集。步驟S1008,根據(jù)過(guò)濾表達(dá)式過(guò)濾結(jié)果集如果當(dāng)過(guò)濾條件中有公式,或者參數(shù)參與了IN、Notln,系統(tǒng)進(jìn)行過(guò)濾運(yùn)算,得到過(guò)濾后的結(jié)果集。如果當(dāng)過(guò)濾條件中有公式,或者參數(shù)參與了IN、Notln,則做過(guò)濾運(yùn)算,對(duì)傳入的結(jié)果集中每一行的數(shù)據(jù)做過(guò)濾表達(dá)式的運(yùn)算,如果結(jié)果為真則保留該行數(shù)據(jù);如果為假則刪除該數(shù)據(jù),最后得到處理后的結(jié)果集。步驟S1010,公式計(jì)算如果報(bào)表列有含公式的指標(biāo),計(jì)算所有指標(biāo)值,得到公式計(jì)算后的結(jié)果集。步驟S1012,排序如果報(bào)表模板設(shè)置了排序,則對(duì)所有數(shù)據(jù)進(jìn)行排序,得到排序后的結(jié)果集;如果在模板中既設(shè)置了排序又設(shè)置了分組,此時(shí)不做排序,在分組處理過(guò)程中進(jìn)行排序。步驟S1014,分組如果報(bào)表模板設(shè)置了分組,根據(jù)排序后的結(jié)果集,如果當(dāng)分組字段發(fā)生變化即表示新分組產(chǎn)生,則對(duì)報(bào)表數(shù)據(jù)進(jìn)行分組并計(jì)算小計(jì);如果設(shè)置了總計(jì),還需要計(jì)算出總計(jì)。如果在模板中即設(shè)置了排序又設(shè)置了分組,還需要對(duì)每組數(shù)據(jù)進(jìn)行排序,輸出數(shù)據(jù)集。步驟S1016,設(shè)置格式化信息系統(tǒng)根據(jù)模板信息進(jìn)行格式化處理,并將格式化信息和數(shù)據(jù)集封裝為報(bào)表結(jié)果結(jié)構(gòu)。步驟S1018,封裝為查詢結(jié)果集封裝為查詢結(jié)果集,并返回給客戶端進(jìn)行呈現(xiàn)。把報(bào)表查詢結(jié)果通知界面客戶端(OMC),并將報(bào)表查詢過(guò)程中異常消息傳送給客戶端,在客戶端顯示給操作人員。如圖3所示是本發(fā)明方法的報(bào)表數(shù)據(jù)生成的時(shí)序流程圖,其中首先通過(guò)終端選擇4莫板輸入相應(yīng)的參數(shù)條件后發(fā)起4艮表數(shù)據(jù)查看請(qǐng)求,由所述數(shù)據(jù)處理模塊向報(bào)表模板發(fā)送索取報(bào)表模板信息的請(qǐng)求;所述報(bào)表模板向所述數(shù)據(jù)處理模塊返回報(bào)表模板信息。其次,系統(tǒng)根據(jù)模板信息結(jié)合參數(shù)信息生成編譯后的數(shù)據(jù)結(jié)構(gòu),由所述數(shù)據(jù)處理模塊控制向數(shù)據(jù)預(yù)編譯模塊發(fā)送索取預(yù)編譯數(shù)據(jù)結(jié)構(gòu)的請(qǐng)求,所述數(shù)據(jù)預(yù)編譯模塊從對(duì)應(yīng)的數(shù)據(jù)庫(kù)和報(bào)表模板獲得編譯資源1和編譯資源2,并據(jù)以返回預(yù)編譯數(shù)據(jù)結(jié)構(gòu)。第三,系統(tǒng)從數(shù)據(jù)庫(kù)查詢出原始數(shù)據(jù)結(jié)果集所述數(shù)據(jù)處理模塊向所述數(shù)據(jù)庫(kù)發(fā)送原始數(shù)據(jù)查詢請(qǐng)求,并由所述數(shù)據(jù)庫(kù)返回原始數(shù)據(jù)結(jié)果集。第四,系統(tǒng)根據(jù)編譯后的數(shù)據(jù)結(jié)構(gòu)對(duì)原始數(shù)據(jù)結(jié)果集進(jìn)行過(guò)濾,分組,排序,格式化處理,最終形成報(bào)表數(shù)據(jù)結(jié)果集。第五,系統(tǒng)將報(bào)表數(shù)據(jù)結(jié)果集傳送返回給客戶端,并呈現(xiàn)給終端。流程結(jié)束。本發(fā)明系統(tǒng)和方法中的報(bào)表模板相關(guān)信息如下表格:<table>tableseeoriginaldocumentpage10</column></row><table><table>tableseeoriginaldocumentpage11</column></row><table>假設(shè)模板信息為顯示釆集時(shí)間和值轉(zhuǎn)化示例,且以采集時(shí)間分組,按采集時(shí)間和值轉(zhuǎn)化示例排序(皆為升序),過(guò)濾值轉(zhuǎn)化示例為50%到80%間的合法數(shù)據(jù),其中50%和80%可由操作控制在查報(bào)表數(shù)據(jù)時(shí)按需改變。本發(fā)明方法和系統(tǒng)中數(shù)據(jù)預(yù)編譯構(gòu)造的數(shù)據(jù)庫(kù)查詢語(yǔ)句示例如下selectaO.coll—datetimeasa000004,sum(a0.conter一succ一a)asA000005,sum(a0.conter一succ一b)asA000008fromt—conter—abaOwhere(aO.bss—id—int>=$P{FP—A000010—0—1})groupbyaO.coll—datetimeorderbyaO.coll一datetimeASC過(guò)濾表達(dá)式in(I000003_2,F(xiàn)P—1000003—0—3)排序表達(dá)式1000001—2ASC格式化信息采集時(shí)間(年-月-日時(shí)分秒)值轉(zhuǎn)換示例(百分比)公式信息1000001—2~sum(A000005)/sum(A000008)~l~0.0條件公式iff(I000001,0.5,0.8)邊界公式bound(表達(dá)式,minValue,maxValue),表示該表達(dá)式的有效值控制在minValue,maxValue,不在此范圍內(nèi)的采取就近賦值原則。以上的公式函數(shù)都支持嵌套。如果指標(biāo)的計(jì)算函數(shù)系統(tǒng)目前沒(méi)提供的,可以方便擴(kuò)展的函數(shù)庫(kù)來(lái)支持。需要說(shuō)明的是,表示IOOOOOl的統(tǒng)計(jì)公式及分母為0的保護(hù)表示整體為0,其值有效范圍為0.5~1.0。綜上所述,從本發(fā)明方法及系統(tǒng)的數(shù)據(jù)庫(kù)里只查詢出能計(jì)算出指標(biāo)的相關(guān)原始屬性信息,而把和指標(biāo)的公式運(yùn)算、統(tǒng)計(jì)運(yùn)算、異常保護(hù)等通過(guò)后綴表達(dá)式如javacc在內(nèi)存中進(jìn)行處理;同時(shí)本發(fā)明系統(tǒng)4艮據(jù)編譯數(shù)據(jù)結(jié)構(gòu)進(jìn)行查詢數(shù)據(jù)庫(kù)、處理公式、封裝報(bào)表呈現(xiàn)數(shù)據(jù)結(jié)構(gòu)的處理。與現(xiàn)有技術(shù)相比,本發(fā)明系統(tǒng)和方法的方案極大提高了報(bào)表查詢大量數(shù)據(jù)的速度,減少了服務(wù)端和客戶端數(shù)據(jù)占用的內(nèi)存,減輕了系統(tǒng)負(fù)荷;同時(shí)采用格式與數(shù)據(jù)完全剝離,可以更方便地對(duì)數(shù)據(jù)進(jìn)行再次渲染。如下表所示,是現(xiàn)有技術(shù)報(bào)表查詢速度與本發(fā)明方法和系統(tǒng)的報(bào)表查詢速度的對(duì)比表l:現(xiàn)有報(bào)表查詢速度<table>tableseeoriginaldocumentpage12</column></row><table>表2:本方案報(bào)表查詢速度<table>tableseeoriginaldocumentpage13</column></row><table>由此可見(jiàn),本發(fā)明方法和系統(tǒng)確實(shí)加快了報(bào)表的查詢速度。應(yīng)當(dāng)理解的是,上述針對(duì)本發(fā)明較佳實(shí)施例的描述較為具體,并不能因此而認(rèn)為是對(duì)本發(fā)明專利保護(hù)范圍的限制,本發(fā)明的專利保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。權(quán)利要求1、一種快速完成大數(shù)據(jù)處理的方法,其包括以下步驟A、選擇報(bào)表模板,并設(shè)置報(bào)表查詢的參數(shù);B、一預(yù)編譯處理模塊根據(jù)所選擇的報(bào)表模板和參數(shù)信息,形成預(yù)編譯數(shù)據(jù)結(jié)構(gòu);C、一數(shù)據(jù)處理模塊從數(shù)據(jù)庫(kù)中查詢?cè)冀Y(jié)果集,并根據(jù)過(guò)濾表達(dá)式過(guò)濾所述原始結(jié)果集;D、所述數(shù)據(jù)處理模塊對(duì)過(guò)濾后的所述結(jié)果集進(jìn)行排序和分組,并根據(jù)模板信息進(jìn)行格式化處理,將格式化信息和結(jié)果集封裝為報(bào)表結(jié)果結(jié)構(gòu);E、所述數(shù)據(jù)處理模塊將報(bào)表結(jié)果結(jié)構(gòu)封裝為查詢結(jié)果集,并返回給客戶端進(jìn)行呈現(xiàn)。2、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟D還包括如果在所述報(bào)表模板中設(shè)置排序,則對(duì)所有數(shù)據(jù)進(jìn)行排序,得到排序后的結(jié)果集;如果在報(bào)表模板中既設(shè)置排序又設(shè)置分組,則不做排序,在分組處理過(guò)程中進(jìn)行排序。3、根據(jù)權(quán)利要求2所述的方法,其特征在于,所述步驟D還包括如果對(duì)所述報(bào)表模板設(shè)置分組,根據(jù)排序后的結(jié)果集如果分組字段發(fā)生變化即表示新分組產(chǎn)生,并對(duì)報(bào)表數(shù)據(jù)進(jìn)行分組并計(jì)算小計(jì);如果在報(bào)表模板中即設(shè)置排序又設(shè)置分組,則對(duì)每組數(shù)據(jù)進(jìn)行排序,輸出數(shù)據(jù)集。4、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟C還包括如果所述報(bào)表模板中含公式的指標(biāo),則計(jì)算所有指標(biāo)值,得到公式計(jì)算后的結(jié)果集。5、一種快速完成大數(shù)據(jù)處理的報(bào)表系統(tǒng),其特征在于,其包括一表結(jié)構(gòu)管理模塊、數(shù)據(jù)預(yù)編譯模塊、數(shù)據(jù)處理模塊,以及與所述數(shù)據(jù)處理模塊相連接的終端界面模塊,在該數(shù)據(jù)處理模塊中設(shè)置有控制單元;所述表結(jié)構(gòu)管理模塊連接有多個(gè)應(yīng)用數(shù)據(jù)庫(kù);所述數(shù)據(jù)預(yù)編譯模塊連接有多個(gè)報(bào)表模板;所述數(shù)據(jù)處理模塊用于將報(bào)表從數(shù)據(jù)庫(kù)查詢出的原始結(jié)果集進(jìn)行再次分析處理,并封裝為適合呈現(xiàn)的數(shù)據(jù)結(jié)構(gòu);所述控制單元用于分析來(lái)自所述數(shù)據(jù)預(yù)編譯模塊的編譯數(shù)據(jù)結(jié)構(gòu)。6、根據(jù)權(quán)利要求5所述的報(bào)表系統(tǒng),其特征在于,所述表結(jié)構(gòu)管理模塊用于存儲(chǔ)和管理各屬性和系統(tǒng)指標(biāo)的信息。7、根據(jù)權(quán)利要求6所述的報(bào)表系統(tǒng),其特征在于,所述數(shù)據(jù)預(yù)編譯模塊用于將報(bào)表模板信息結(jié)合所述編譯數(shù)據(jù)結(jié)構(gòu),所述編譯數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)庫(kù)查詢基礎(chǔ)數(shù)據(jù)語(yǔ)句、各指標(biāo)統(tǒng)計(jì)運(yùn)算公式、過(guò)濾表達(dá)式、排序表達(dá)式信息,和,按照所使用的語(yǔ)法分析器規(guī)則來(lái)生成的各類公式信息組織形式。8、根據(jù)權(quán)利要求6所述的報(bào)表系統(tǒng),其特征在于,所述屬性的信息包括各自的表名、字段名、數(shù)據(jù)類型、格式化串、統(tǒng)計(jì)運(yùn)算方式;所述系統(tǒng)指標(biāo)的信息包括運(yùn)算統(tǒng)計(jì)方式、邊界異常處理方式、條件運(yùn)算替換值信息。9、根據(jù)權(quán)利要求7或8所述的報(bào)表系統(tǒng),其特征在于,所述控制單元的處理主要包括公式指標(biāo)計(jì)算,公式指標(biāo)條件過(guò)濾,排序,分組,格式化五方面的處理。10、根據(jù)權(quán)利要求9所述的報(bào)表系統(tǒng),其特征在于,所述公式指標(biāo)條件過(guò)濾包括等于、大于等于、不等于、IN、Notln、為空、不為空的單一或復(fù)合條件過(guò)濾。全文摘要本發(fā)明公開(kāi)了一種快速完成大數(shù)據(jù)處理的報(bào)表系統(tǒng)和方法,其方法包括選擇報(bào)表模板,并設(shè)置報(bào)表查詢的參數(shù);根據(jù)所選擇的報(bào)表模板和參數(shù)信息,形成預(yù)編譯數(shù)據(jù)結(jié)構(gòu);從數(shù)據(jù)庫(kù)中查詢?cè)冀Y(jié)果集,并根據(jù)過(guò)濾表達(dá)式過(guò)濾所述原始結(jié)果集;數(shù)據(jù)處理模塊對(duì)過(guò)濾后的所述結(jié)果集進(jìn)行排序和分組,并根據(jù)模板信息進(jìn)行格式化處理;所述數(shù)據(jù)處理模塊將報(bào)表結(jié)果結(jié)構(gòu)封裝為查詢結(jié)果集,并返回給客戶端進(jìn)行呈現(xiàn)。本發(fā)明系統(tǒng)和方法由于采用格式與數(shù)據(jù)完全剝離的方式用于實(shí)現(xiàn)高速的數(shù)據(jù)生成,客戶端收到數(shù)據(jù)后,不需要進(jìn)行數(shù)據(jù)解析,提高了客戶端與服務(wù)器之間數(shù)據(jù)傳輸?shù)男?,極大提高了報(bào)表查詢大量數(shù)據(jù)的速度,減少了服務(wù)端數(shù)據(jù)占用內(nèi)存,減輕了系統(tǒng)負(fù)荷。文檔編號(hào)G06F17/30GK101183371SQ200710125079公開(kāi)日2008年5月21日申請(qǐng)日期2007年12月12日優(yōu)先權(quán)日2007年12月12日發(fā)明者王洪玲申請(qǐng)人:中興通訊股份有限公司