專利名稱:數(shù)據(jù)報表的生成方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,具體地,涉及一種數(shù)據(jù)報表的生成方法及裝置。
背景技術(shù):
在日常工作中,往往需要面對各種各樣的數(shù)據(jù),隨著業(yè)務(wù)的發(fā)展,業(yè)務(wù)數(shù)據(jù)不斷 增長。為了能夠?qū)I(yè)務(wù)進(jìn)行決策和分析,需要對這些數(shù)據(jù)進(jìn)行統(tǒng)計分析,于是慢慢產(chǎn)生了 數(shù)據(jù)報表。但是有時僅根據(jù)數(shù)據(jù)報表并不能提供足夠的依據(jù),用戶可能還不能利用數(shù)據(jù) 報表中的數(shù)據(jù)做出準(zhǔn)確的決策,用戶希望看到更多的圖表,以進(jìn)一步分析數(shù)據(jù)。在這種需 求下,產(chǎn)生了智能報表技術(shù),目前比較常見的報表技術(shù)有BIRTGBusiness Intelligence andReporting Tools))和水晶報表,這類報表能夠根據(jù)用戶的需求,制定出圖文并茂的數(shù) 據(jù)報表。在IT運維管理領(lǐng)域,監(jiān)控系統(tǒng)時刻監(jiān)視著IT系統(tǒng)的各種指標(biāo),產(chǎn)生了大量的數(shù) 據(jù),其中,許多關(guān)鍵業(yè)績指標(biāo)(Key Performance Indicators, KPI)是管理者用來決策和分 析的重要參數(shù)。運用智能報表技術(shù),能夠為IT管理者提供智能的電子報表,為業(yè)務(wù)分析提 供有效的依據(jù)?,F(xiàn)有的智能電子報表系統(tǒng)在對KPI進(jìn)行匯報時,一般都是根據(jù)現(xiàn)有的業(yè)務(wù)需求, 對獲取到的數(shù)據(jù)進(jìn)行分析得到統(tǒng)計數(shù)據(jù),然后通過圖表引擎得到相應(yīng)的圖表。有一些更先 進(jìn)的智能電子報表系統(tǒng)會有一些報表模板,用戶可根據(jù)自己的需求進(jìn)行的模版的選擇,挑 選合適的報表。但是,現(xiàn)有的智能電子報表系統(tǒng)的靈活性和擴(kuò)展性都較差,無法方便地滿足客戶 需求的變更。例如,用戶可能希望在生成的數(shù)據(jù)報表中增加一個新的指標(biāo)或者希望生成的 數(shù)據(jù)報表中的指標(biāo)以另外一種形式體現(xiàn)(比如希望叢餅狀圖改成曲線圖來顯示等),這樣 的需求很普遍,但是這種更改需要由專業(yè)人員來操作,而用戶并不能夠根據(jù)自己的需求自 行操作。例如,在BOSS系統(tǒng)運維管理過程中,監(jiān)控系統(tǒng)通過各種數(shù)據(jù)接口采集到存儲設(shè) 備、網(wǎng)絡(luò)設(shè)備和主機(jī)服務(wù)器設(shè)備的各種配置、性能和狀態(tài)數(shù)據(jù)。為了能夠根據(jù)這些數(shù)據(jù)進(jìn)行 有效的業(yè)務(wù)分析,一般用戶會需要幾張數(shù)據(jù)報表。在開發(fā)之前,開發(fā)人員需要與用戶進(jìn)行溝 通,以確定需求,即,在數(shù)據(jù)報表中包含哪幾個用戶想要的指標(biāo)(比如I0PS、KBPS等),并溝 通好這些指標(biāo)的展現(xiàn)形式(即,報表模型)。在需求確定后,開發(fā)人員通過程序獲取數(shù)據(jù),進(jìn) 行分析后,將數(shù)據(jù)寫入到報表中,完成報表定制。在項目完成后,用戶希望增加一個緩存命 中率的指標(biāo),或者希望IOPS用曲線圖來展示。但是由于所有的實現(xiàn)都已經(jīng)固化在程序中, 用戶只能找到開發(fā)人員,再進(jìn)行如上一次一樣的開發(fā)過程(包括需求調(diào)研、設(shè)計、開發(fā)和調(diào) 試等),以實現(xiàn)用戶新增的需求。綜上所述,現(xiàn)有的報表技術(shù)存在靈活性差和擴(kuò)展性差的問題,使得客戶無法方便 地對數(shù)據(jù)報表進(jìn)行變更,這種不便性不僅浪費了資源還降低了工作效率。
發(fā)明內(nèi)容
本發(fā)明實施例的主要目的在于提供一種數(shù)據(jù)報表的生成方案,以解決現(xiàn)有的報表 技術(shù)由于靈活性差和擴(kuò)展性差、使得客戶無法方便地對報表進(jìn)行變更,進(jìn)而浪費資源和降 低工作效率的問題。為了實現(xiàn)上述目的,本發(fā)明實施例提供一種數(shù)據(jù)報表的生成方法,該方法包括獲 取預(yù)配置的報表模板文件中的指標(biāo)模型符號;根據(jù)所述的指標(biāo)模型符號解析出報表模型和 性能指標(biāo);根據(jù)所述的性能指標(biāo)獲取與其對應(yīng)的性能指標(biāo)值;根據(jù)所述的報表模型、以及 所述的性能指標(biāo)值生成報表區(qū)塊;根據(jù)所述的報表區(qū)塊以及所述的報表模板文件生成數(shù)據(jù) 報表。其中,根據(jù)所述的性能指標(biāo)獲取與其對應(yīng)的性能指標(biāo)值包括獲取與所述的性能 指標(biāo)對應(yīng)的數(shù)據(jù);根據(jù)獲取的與所述的性能指標(biāo)對應(yīng)的數(shù)據(jù)、以預(yù)定算法生成所述的性能 指標(biāo)值。優(yōu)選地,根據(jù)所述的性能指標(biāo)獲取與其對應(yīng)的性能指標(biāo)值包括根據(jù)所述的性能 指標(biāo)調(diào)用與該性能指標(biāo)對應(yīng)的插件;根據(jù)所述的插件獲取與該插件對應(yīng)的性能指標(biāo)值;其 中,所述的插件對應(yīng)于與所述性能指標(biāo)對應(yīng)的數(shù)據(jù)、以及預(yù)定算法。根據(jù)所述的報表區(qū)塊以及所述的報表模板文件生成數(shù)據(jù)報表包括將所述報表模 板文件中的指標(biāo)模型符號替換為所述的報表區(qū)塊;結(jié)合所述的報表區(qū)塊與所述的報表模板 文件生成所述的數(shù)據(jù)報表。本發(fā)明實施例還提供一種數(shù)據(jù)報表的生成裝置,所述裝置包括指標(biāo)模型符號獲 取單元,用于獲取預(yù)配置的報表模板文件中的指標(biāo)模型符號;指標(biāo)模型符號解析單元,用于 根據(jù)所述的指標(biāo)模型符號解析出報表模型和性能指標(biāo);性能指標(biāo)值獲取單元,用于根據(jù)所 述的性能指標(biāo)獲取與其對應(yīng)的性能指標(biāo)值;報表區(qū)塊生成單元,用于根據(jù)所述的報表模型、 以及所述的性能指標(biāo)值生成報表區(qū)塊;數(shù)據(jù)報表生成單元,用于根據(jù)所述的報表區(qū)塊以及 所述的報表模板文件生成數(shù)據(jù)報表。其中,所述的性能指標(biāo)值獲取單元包括性能指標(biāo)數(shù)據(jù)獲取模塊,用于獲取與所述 的性能指標(biāo)對應(yīng)的數(shù)據(jù);性能指標(biāo)值生成模塊,用于根據(jù)獲取的與所述的性能指標(biāo)對應(yīng)的 數(shù)據(jù)、以預(yù)定算法生成所述的性能指標(biāo)值。優(yōu)選地,所述的性能指標(biāo)值獲取單元包括插件控制模塊,用于根據(jù)所述的性能指 標(biāo)調(diào)用與該性能指標(biāo)對應(yīng)的插件;性能指標(biāo)值獲取模塊,用于根據(jù)所述的插件獲取與該插 件對應(yīng)的性能指標(biāo)值;其中,所述的插件對應(yīng)于與所述性能指標(biāo)對應(yīng)的數(shù)據(jù)、以及預(yù)定算法。上述的數(shù)據(jù)報表生成單元包括指標(biāo)模型符號替換模塊,用于將所述報表模板文 件中的指標(biāo)模型符號替換為所述的報表區(qū)塊;數(shù)據(jù)報表生成模塊,用于結(jié)合所述的報表區(qū) 塊與所述的報表模板文件生成所述的數(shù)據(jù)報表。借助于上述技術(shù)方案至少之一,通過解析報表模板文件中的指標(biāo)模型符號,得到 報表模型和性能指標(biāo),并結(jié)合根據(jù)性能指標(biāo)獲取的性能指標(biāo)值和報表模型得到報表區(qū)塊, 進(jìn)而結(jié)合報表模板文件生成數(shù)據(jù)報表,克服了現(xiàn)有的技術(shù)由于靈活性差和擴(kuò)展性差、使得 客戶無法方便地對報表進(jìn)行變更的問題,通過本發(fā)明實施例,可以提高報表技術(shù)的靈活性 和擴(kuò)展性,方便用戶對數(shù)據(jù)報表的操作,從而可以節(jié)省資源和提高工作效率。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例描述 中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些 實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些 附圖獲得其他的附圖。圖1是根據(jù)本發(fā)明實施例的數(shù)據(jù)報表生成方法的流程圖;圖2是根據(jù)本發(fā)明實施例的數(shù)據(jù)報表的生成方法的詳細(xì)流程圖;圖3是根據(jù)本發(fā)明實施例的報表模板文件的實例示意圖;圖4是根據(jù)本發(fā)明實施例的基于圖3所示的報表模板文件生成的數(shù)據(jù)報表的示意 圖;圖5是根據(jù)本發(fā)明實施例的數(shù)據(jù)報表生成裝置的結(jié)構(gòu)框圖;圖6是根據(jù)本發(fā)明實施例的數(shù)據(jù)報表生成裝置中性能指標(biāo)值獲取單元503的結(jié)構(gòu) 框圖;圖7是根據(jù)本發(fā)明實施例的數(shù)據(jù)報表生成裝置中性能指標(biāo)值獲取單元503的另一 結(jié)構(gòu)框圖;圖8是根據(jù)本發(fā)明實施例的數(shù)據(jù)報表生成裝置中數(shù)據(jù)報表生成單元505的結(jié)構(gòu)框 圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護(hù)的范圍。由于現(xiàn)有技術(shù)中的報表設(shè)計只能根據(jù)現(xiàn)有需求定義,一旦需求變化后,報表系統(tǒng) 就需要重新編碼,重新調(diào)整報表結(jié)構(gòu),才能滿足新的需求。這種更改只能由專業(yè)人員來操 作,用戶并不能夠根據(jù)自己的需求自行調(diào)整報表樣式和內(nèi)容,這種不便性不僅浪費了資源 還降低了工作效率?;诖?,本發(fā)明實施例提供了一種數(shù)據(jù)報表的生成方法及裝置。以下 結(jié)合附圖對本發(fā)明進(jìn)行詳細(xì)說明。實施例一本發(fā)明實施例提供一種數(shù)據(jù)報表的生成方法,圖1是根據(jù)本發(fā)明實施例的數(shù)據(jù)報 表生成方法的流程圖,如圖1所示,該方法包括步驟101,獲取預(yù)配置的報表模板文件中的指標(biāo)模型符號;步驟102,根據(jù)指標(biāo)模型符號解析出報表模型和性能指標(biāo);步驟103,根據(jù)性能指標(biāo)獲取與其對應(yīng)的性能指標(biāo)值;步驟104,根據(jù)報表模型、以及性能指標(biāo)值生成報表區(qū)塊;步驟105,根據(jù)報表區(qū)塊以及報表模板文件生成數(shù)據(jù)報表。由以上描述可知,通過解析報表模板文件中的指標(biāo)模型符號,得到報表模型和性 能指標(biāo),并結(jié)合根據(jù)性能指標(biāo)獲取的性能指標(biāo)值和報表模型得到報表區(qū)塊,進(jìn)而結(jié)合報表模板文件生成數(shù)據(jù)報表,其中,上述指標(biāo)模型符號可以由用戶根據(jù)實際需求自行定義,并在 需要使用報表區(qū)塊的地方直接插入指標(biāo)模型符號即可,克服了現(xiàn)有技術(shù)中的數(shù)據(jù)報表只能 由開發(fā)人員開發(fā)的問題,使得用戶可以直接對數(shù)據(jù)報表進(jìn)行更改。相比于現(xiàn)有技術(shù),本發(fā)明 實施例中的報表模型和性能指標(biāo)靈活性和擴(kuò)展性較好,方便了用戶對數(shù)據(jù)報表的操作,從 而節(jié)省了資源和提高了工作效率。為了更好的理解本發(fā)明,以下對各步驟進(jìn)行詳細(xì)的描述。(一)步驟 101首先,詳細(xì)描述步驟101中報表模板文件的配制過程。1.建立指標(biāo)庫S卩,性能指標(biāo)的確定,可以結(jié)合行業(yè)經(jīng)驗和運維經(jīng)驗,建立一個完整的指標(biāo)庫,這 個指標(biāo)庫可以根據(jù)用戶的需求逐步的增加和完善。該性能指標(biāo)用于體現(xiàn)系統(tǒng)中的各網(wǎng)元的 性能,例如,性能指標(biāo)可以是IOPS (表示每秒進(jìn)行I/O操作的次數(shù)),KBPS (表示每秒傳送的 千字節(jié)數(shù))等。2.采集性能數(shù)據(jù)采集系統(tǒng)根據(jù)指標(biāo)庫中的性能指標(biāo),采集網(wǎng)元的與性能指標(biāo)相關(guān)的性能數(shù)據(jù)。例 如,指標(biāo)庫中包含IOPS和KBPS性能指標(biāo),則采集系統(tǒng)就需要采集網(wǎng)元的與IOPS和KBPS相 關(guān)的性能數(shù)據(jù),并將采集的性能數(shù)據(jù)保存在預(yù)定的數(shù)據(jù)庫(可以稱為原始數(shù)據(jù)庫)中。這 里的采集系統(tǒng)可以是CESM系統(tǒng)。3.計算性能指標(biāo)值基于指標(biāo)庫中的性能指標(biāo),從原始數(shù)據(jù)庫中提取某一性能指標(biāo)對應(yīng)的性能數(shù)據(jù), 性能數(shù)據(jù)經(jīng)過預(yù)定算法后得到該性能指標(biāo)的性能指標(biāo)值。該預(yù)定算法可以是求均值算法、 求峰值算法或者其他算法。例如,用戶需要獲知網(wǎng)元1的一周內(nèi)每一天的IOPS性能指標(biāo)值, 則可以從原始數(shù)據(jù)庫提取網(wǎng)元1的一周內(nèi)的每一天的IOPS相關(guān)的數(shù)據(jù),然后根據(jù)預(yù)定算法 (例如,求均值算法)計算每一天的IOPS平均性能指標(biāo)值。4.建立報表模型性能指標(biāo)需要通過數(shù)據(jù)報表的形式來展現(xiàn),因此需要建立指標(biāo)的報表模型,這個 報表模型為性能指標(biāo)在數(shù)據(jù)報表上的展現(xiàn)形式。這里的展現(xiàn)形式是多樣的,具體的設(shè)置可 以通過預(yù)定參數(shù)來表示,例如,預(yù)定參數(shù)LineChart表示折線形式。5.構(gòu)造指標(biāo)模型符號為了便于對性能指標(biāo)、報表模型的應(yīng)用,可以對性能指標(biāo)、報表模型進(jìn)行符號 定義,不同的性能指標(biāo)、指標(biāo)模型使用不同的符號。例如,指標(biāo)模型符號I0PS(ds8000, LineChart),表示網(wǎng)元dsSOOO的IOPS性能指標(biāo),IOPS性能指標(biāo)值在報表模型中的展 現(xiàn)形式為折線。在實際操作中,還可以在指標(biāo)模型符號中設(shè)置其他參數(shù),例如,預(yù)定時 間段,用于表示預(yù)定時間內(nèi)的性能指標(biāo),如,I OPS (ds8000,LineChart,20091011000000, 20091011120000),該指標(biāo)模型符號表示的預(yù)定時間段為2009年10月11日0點0分0秒 到2009年10月11日12點0分0秒。6.配制報表模板文件報表模板文件是用來為用戶提供自定義報表的場所,用戶可根據(jù)自己的需要定義 報表模板的內(nèi)容和形式,需要性能指標(biāo)的地方,插入對應(yīng)的指標(biāo)模型符號,該指標(biāo)模型符號由用戶根據(jù)需求進(jìn)行配制。在完成了上述報表模板文件的配制后,用戶可以將報表模板文件存放在指定的路 徑,之后執(zhí)行步驟101。具體地,報表引擎可以周期性地從指定路徑獲取報表模板文件中的 指標(biāo)模型符號,該指標(biāo)模型符號用于表示某個(或某些)網(wǎng)元某時間段的某個性能指標(biāo)及 其報表模型。( 二)步驟 102報表引擎根據(jù)在上述(5)中對指標(biāo)模型符號的定義,解析該指標(biāo)模型符號,得到 該指標(biāo)模型符號指代的具體含義,包括某個(或某些)網(wǎng)元在某時間段中的某個性能指 標(biāo)、及其報表模型。(三)步驟103在解析得到指標(biāo)模型符號指代的具體含義后,報表引擎從原始數(shù)據(jù)庫中獲取與性 能指標(biāo)對應(yīng)的性能數(shù)據(jù),并根據(jù)該性能指標(biāo)的預(yù)定算法得到性能指標(biāo)值。優(yōu)選地,報表引擎可以調(diào)用該性能指標(biāo)對應(yīng)的插件,然后根據(jù)該插件得到相應(yīng)的 性能指標(biāo)值,其中,插件對應(yīng)于與性能指標(biāo)對應(yīng)的性能數(shù)據(jù)、以及預(yù)定算法。具體為報表引 擎根據(jù)該插件從原始數(shù)據(jù)庫中獲取與性能指標(biāo)對應(yīng)的性能數(shù)據(jù),然后將獲取的性能數(shù)據(jù)執(zhí) 行預(yù)定算法以得到性能指標(biāo)值。該預(yù)定算法可以是求均值或者求峰值算法。通過這種插件 方式可以使得各操作之間的相關(guān)性減小,例如,任何一個指標(biāo)的新增可以直接通過設(shè)置插 件就可以實現(xiàn),而不需要像現(xiàn)有技術(shù)那樣重新進(jìn)行開發(fā)。同樣地,根據(jù)解析得到的報表模型也可以使用插件的方式,以進(jìn)一步減小各操作 之間的相關(guān)性。例如,上述插件的實現(xiàn)方法可以是使用了 IOCanversion of Control,反轉(zhuǎn)控制) 技術(shù),作為一個Dao組件插入到系統(tǒng)中,該插件的配置文件片段如下<bean id =〃 subsystemDao“class = “ com. cyanway. cesm. report, storage, dao. SubsystemDao" ></bean>其中,bean是對一個插件的定義;id是該插件的名稱;“bean id”與性能指標(biāo)符 號對應(yīng);class是指具體實現(xiàn)的java算法,即,與性能指標(biāo)對應(yīng)的性能數(shù)據(jù)、以及預(yù)定算法。 在具體實施過程中,新增一個插件在插件配置文件中新增一個bean即可,而不需要像現(xiàn)有 技術(shù)那樣重新進(jìn)行開發(fā)。(四)步驟104在得到性能指標(biāo)值后,就可以將得到的性能指標(biāo)值以報表模型的展現(xiàn)形式進(jìn)行顯 示,生成報表區(qū)塊。(五)步驟105在得到報表區(qū)塊之后,報表引擎將報表模板文件中的指標(biāo)模型符號替換為報表區(qū) 塊,并結(jié)合報表區(qū)塊與報表模板文件生成用戶所需的數(shù)據(jù)報表。圖2是根據(jù)本發(fā)明實施例的數(shù)據(jù)報表的生成方法的詳細(xì)流程圖,如圖2所示,該方
〈property name = “ dataSource“ >
<ref bean = “ storageDataSource“ / </property>法包括步驟201,根據(jù)用戶需求設(shè)置指標(biāo)模型符號,并將設(shè)置好的指標(biāo)模型符號插入在報 表模板文件中需要報表區(qū)塊的地方;步驟202,報表引擎從報表模板文件中獲取指標(biāo)模型符號;步驟203,報表引擎調(diào)用指標(biāo)模型符號庫解析該指標(biāo)模型符號,以得到性能指標(biāo)、 報表模型以及其他參數(shù),該參數(shù)包括網(wǎng)元號、預(yù)定時間段等;步驟204,根據(jù)得到的某網(wǎng)元某時間段的性能指標(biāo)調(diào)用與其相應(yīng)的插件,該插件對 應(yīng)一算法、以及對應(yīng)數(shù)據(jù)庫中與該網(wǎng)元某時間段的性能指標(biāo)對應(yīng)的性能數(shù)據(jù);步驟205,根據(jù)該插件提取與該網(wǎng)元某時間段的性能指標(biāo)對應(yīng)的性能數(shù)據(jù)、并進(jìn)行 該插件對應(yīng)的算法,以得到該網(wǎng)元某時間段的性能指標(biāo)值;步驟206,以解析出的報表模型的展現(xiàn)形式顯示該性能指標(biāo)值,以得到報表區(qū)塊;步驟207,報表引擎將指標(biāo)模型符號替換為報表區(qū)塊,整合報表區(qū)塊以及報表模板 文件中的其他部分,以得到用戶所需的數(shù)據(jù)報表。之后,如果用戶還需要在數(shù)據(jù)報表中增加一個其他性能指標(biāo),則只需要在數(shù)據(jù)報 表的相應(yīng)位置直接插入與該其他性能指標(biāo)相應(yīng)的指標(biāo)模型符號即可,然后執(zhí)行上述步驟 201-206,以得到新的數(shù)據(jù)報表。如果用戶想要更改數(shù)據(jù)報表中某個性能指標(biāo)的表現(xiàn)形式,則只需要將該性能指標(biāo) 的報表區(qū)塊替換為與新表現(xiàn)形式相應(yīng)的指標(biāo)模型符號即可,然后執(zhí)行上述步驟201-206,以 得到新的數(shù)據(jù)報表。為了更好地理解本發(fā)明實施例,以下給出一實例。該實例為在BOSS運維分析系統(tǒng) 中生成關(guān)鍵業(yè)績指標(biāo)(Key Performance Indicators, KPI)數(shù)據(jù)報表。步驟1.建立指標(biāo)庫根據(jù)BOSS運維分析系統(tǒng)的需求,整理包含存儲設(shè)備、光纖網(wǎng)絡(luò)和主機(jī)三大 子系統(tǒng)中日常運維的KPI,該KPI包含:I0PS、KBPS, CacheHitRatio (Cache命中率)、 ResponseTime (響應(yīng)時間)等。步驟2.采集與KPI相關(guān)的性能數(shù)據(jù)根據(jù)預(yù)定設(shè)置通過CESM系統(tǒng)采集存儲設(shè)備、光纖網(wǎng)絡(luò)和主機(jī)中各網(wǎng)元的與 KPI相關(guān)的性能數(shù)據(jù)。該預(yù)定設(shè)置可以包括采集時間、采集頻率等,例如,在每一天的 12:00-13:00內(nèi)以每秒的頻率采集數(shù)據(jù)。步驟3.設(shè)置KPI值計算插件該插件對應(yīng)的算法用于計算KPI值,例如,計算IOPS指標(biāo)值,首先通過JDBC (Java Data Base Connectivity, java數(shù)據(jù)庫連接)技術(shù)從CESM系統(tǒng)采集的性能數(shù)據(jù)中提取數(shù) 據(jù),然后根據(jù)該插件對應(yīng)的算法,計算出IOPS指標(biāo)值。即,將算法以插件的形式封裝,經(jīng)過 配置加入到算法系統(tǒng)中來。該算法可以是求均值或者求峰值算法。步驟4.建立報表模型使用BIRT報表技術(shù)設(shè)計出報表模型的展現(xiàn)形式,比如餅狀圖、柱狀圖和曲線圖、 折線圖等,也可以使用一段文字或者數(shù)字,這些展現(xiàn)形狀可以以參數(shù)的形式表示,例如, LineChart表示折線圖。步驟5.構(gòu)造指標(biāo)模型符號
以$符號表示一個指標(biāo)模型符號,S卩,以$符號開始、以$符號結(jié)束,如果有參數(shù) 可以設(shè)置在括號中,多個參數(shù)用逗號隔開,參數(shù)可以包含網(wǎng)元設(shè)備、預(yù)定時間段、報表模 型的展現(xiàn)形式等。例如,對于I0PS,指標(biāo)模型符號為$I0PS(ds8000,LineChart) $,表示網(wǎng) 元dsSOOO在任何時間的IOPS指標(biāo)數(shù)據(jù)報表、在報表模型中的表項形式為折線;指標(biāo)模型 符號為 $I0PS(ds8000, ds7000,20091011120000,20091011130000,LineChart) $,表示網(wǎng)元 ds8000和網(wǎng)元ds7000在2009年10月11日12時0點0分到2009年10月11日13時0 點0分內(nèi)的IOPS指標(biāo)數(shù)據(jù)報表、在報表模型中的展現(xiàn)形式為折線。步驟6.配制報表模板文件使用基于XML格式的Word文檔作為報表模板文件,使用Microsoft Office作為報 表模板文件的軟件,其特點是無需安裝其他軟件,日常辦公軟件即可完成報表模板設(shè)計,學(xué) 習(xí)難度低,易于掌握。設(shè)計模板文件的過程中,用戶可以與日常文檔編輯一樣,設(shè)計報表內(nèi) 容,比如標(biāo)題、文字、段落、頁面頁腳等等,在需要使用數(shù)據(jù)報表的地方,直接插入步驟5中 構(gòu)造好的指標(biāo)模型符號即可。例如,可以配置如圖3所示的報表模板文件,該報表模板文件包括大標(biāo)題“本周事 件告警統(tǒng)計”,小標(biāo)題“主機(jī)告警事件統(tǒng)計”和“交換機(jī)告警事件統(tǒng)計”,斜體字部分用于根 據(jù)報表進(jìn)行分析,可以在報表完成后由用戶填寫,其中$EVENT(DS8000,DS7000, DS6000, cakychart, 20091011000000, 20091018000000) $表示主機(jī)告警事件指標(biāo)的指標(biāo)報表符號, 告警事件用符號“EVENT”表示,該指標(biāo)報表符號表示三臺名稱為DS8000、DS7000、DS6000 的主機(jī)的告警事件指標(biāo),報表模型的展現(xiàn)形式為餅狀圖,時間為2009年10月11日0時0 點 0 分至 2009 年 10 月 18 日 0 時 0 點 0 分。$EVENT (DS32M1,DS32M2,DS32M3, cakychart, 20091011000000,20091018000000) $表示交換機(jī)告警事件指標(biāo)的指標(biāo)報表符號,該指標(biāo)報 表符號表示三臺名稱為DS32M1、DS32M2、DS32M3的交換機(jī)的告警事件指標(biāo),報表模型的展 現(xiàn)形式為餅狀圖,時間為2009年10月11日0時0點0分至2009年10月18日0時0點 0分。步驟7.產(chǎn)生數(shù)據(jù)報表將配制好的報表模板文件存放到指定的目錄,運維分析系統(tǒng)的報表引擎周期性 (比如一周或一天)讀入報表模板文件,解析其中的指標(biāo)模型符號,根據(jù)解析出的性能指 標(biāo)、報表模型、以及其他參數(shù)調(diào)用相應(yīng)的插件,根據(jù)插件對應(yīng)的網(wǎng)元的性能數(shù)據(jù)和算法計算 性能指標(biāo)值,并將性能指標(biāo)值在報表模型中顯示,以得到報表區(qū)塊,最后由報表引擎將指標(biāo) 模型符號替換位報表區(qū)塊,產(chǎn)生出最后的Word報表。例如,基于圖3所示的報表模板文件,報表引擎解析其中的指標(biāo)模型符號 $EVENT(DS8000, DS7000, DS6000, cakychart,20091011000000,20091018000000)$ 和 $EVENT(DS32M1, DS32M2, DS32M3, cakychart,20091011000000,20091018000000) $,獲取 DS8000、DS7000、DS6000 在 2009 年 10 月 11 日 0 時 0 點 0 分至 2009 年 10 月 18 日 0 時 0 點
0分之間的與告警事件指標(biāo)相應(yīng)的性能數(shù)據(jù),然后根據(jù)該告警事件對應(yīng)的預(yù)定算法(例如, 求均值)對性能數(shù)據(jù)進(jìn)行計算,分別得到主機(jī)DS8000、DS7000、DS6000的告警事件指標(biāo)值, 同樣地,得到交換機(jī)DS32M1、DS32M2、DS32M3的告警事件指標(biāo)值,然后,用餅狀圖分別展示 生成報表區(qū)塊,最后,報表引擎將指標(biāo)模型符號替換位報表區(qū)塊,產(chǎn)生出如圖4所示的Word 報表。
如果用戶想要在Word報表中增加一個其他性能指標(biāo),則只需要在Word報表的相 應(yīng)位置直接插入與該其他性能指標(biāo)相應(yīng)的指標(biāo)模型符號即可,然后執(zhí)行上述步驟7,以得到 新的數(shù)據(jù)報表。如果用戶想要更改Word報表中某個性能指標(biāo)的表現(xiàn)形式,則只需要將該性 能指標(biāo)的報表區(qū)塊替換為與新表現(xiàn)形式相應(yīng)的指標(biāo)模型符號即可,然后執(zhí)行上述步驟7,以 得到新的Word報表。在具體實施過程中,上述指標(biāo)模型符號還可以是其它形式,例如,將上述指標(biāo)模 型符號括號中的參數(shù)以配置文件的形式表示。如,指標(biāo)模型符號$EVENT(DS32M1,DS32M2, DS32M3, cakychart,20091011000000,20091018000000)$ 可以以 $EVENT. switch$ 表示, 相應(yīng)的配置文件中包含了該指標(biāo)模型符號的參數(shù),該參數(shù)包括交換機(jī)DS32M1、DS32M2、 DS32M3,時間2009年10月11日0時0點0分至2009年10月18日0時0點0分,以及報 表模型為餅狀圖。報表引擎在解析$EVENT. switch$時,就會調(diào)用相應(yīng)的配置文件以解析出 性能指標(biāo)和報表模型。相比于現(xiàn)有技術(shù),上述在Word報表中增加一個其他性能指標(biāo)或者更改Word報表 中某個性能指標(biāo)的表現(xiàn)形式,只能由專業(yè)人員來操作,而用戶并不能夠根據(jù)自己的需求來 實現(xiàn)。也就是說,由于現(xiàn)有技術(shù)的報表系統(tǒng)沒有建立指標(biāo)庫,任何指標(biāo)的新增和變化通常都 需要專業(yè)人員進(jìn)行編碼來實現(xiàn);由于沒有建立報表模型,現(xiàn)有報表的設(shè)計也只能根據(jù)現(xiàn)有 需求定義,一旦需求變化后,報表系統(tǒng)就需要重新編碼,重新調(diào)整報表結(jié)構(gòu),才能滿足新的 需求。而通過本發(fā)明實施例,用戶只需要在適當(dāng)?shù)奈恢弥苯訉懭胂鄳?yīng)的指標(biāo)模型符號即可, 報表引擎就可以根據(jù)該指標(biāo)模型符號得到報表區(qū)塊,并將該報表區(qū)塊替換指標(biāo)模型符號, 從而得到數(shù)據(jù)報表,避免了像現(xiàn)有技術(shù)中的重新構(gòu)造結(jié)構(gòu)的問題,方便了用戶的操作,從而 節(jié)省了資源和提高了工作效率。實施例二本發(fā)明實施例還提供一種數(shù)據(jù)報表的生成裝置,優(yōu)選地用于實現(xiàn)上述實施例一的 方法。圖5是該裝置的結(jié)構(gòu)框圖,如圖5所示,該裝置包括指標(biāo)模型符號獲取單元501,用于獲取預(yù)配置的報表模板文件中的指標(biāo)模型符 號;指標(biāo)模型符號解析單元502,用于根據(jù)指標(biāo)模型符號解析出報表模型和性能指 標(biāo);性能指標(biāo)值獲取單元503,用于根據(jù)性能指標(biāo)獲取與其對應(yīng)的性能指標(biāo)值;報表區(qū)塊生成單元504,用于根據(jù)報表模型、以及性能指標(biāo)值生成報表區(qū)塊;數(shù)據(jù)報表生成單元505,用于根據(jù)報表區(qū)塊以及報表模板文件生成數(shù)據(jù)報表。由以上描述可以看出,通過指標(biāo)模型符號解析單元502解析指標(biāo)模型符號獲取單 元501獲取的報表模板文件中的指標(biāo)模型符號,得到報表模型和性能指標(biāo),并通過報表區(qū) 塊生成單元504結(jié)合性能指標(biāo)值獲取單元503根據(jù)性能指標(biāo)獲取的性能指標(biāo)值、和報表模 型得到報表區(qū)塊,進(jìn)而通過數(shù)據(jù)報表生成單元505結(jié)合報表區(qū)塊和報表模板文件生成數(shù)據(jù) 報表,其中,上述指標(biāo)模型符號可以由用戶根據(jù)實際需求自行定義,并在需要使用報表區(qū)塊 的地方直接插入指標(biāo)模型符號即可,克服了現(xiàn)有技術(shù)中的數(shù)據(jù)報表只能由開發(fā)人員發(fā)開的 問題,使得用戶可以直接對數(shù)據(jù)報表進(jìn)行更改。相比于現(xiàn)有技術(shù),本發(fā)明實施例中的報表模 型和性能指標(biāo)靈活性和擴(kuò)展性較好,方便了用戶對數(shù)據(jù)報表的操作,從而節(jié)省了資源和提高了工作效率。具體地,如圖6所示,上述性能指標(biāo)值獲取單元503包括性能指標(biāo)數(shù)據(jù)獲取模塊5030,用于獲取與性能指標(biāo)對應(yīng)的數(shù)據(jù),該數(shù)據(jù)為一網(wǎng)元 的性能數(shù)據(jù)。性能指標(biāo)值生成模塊5031,用于根據(jù)獲取的與性能指標(biāo)對應(yīng)的數(shù)據(jù)、以預(yù)定算法 生成性能指標(biāo)值。例如,性能指標(biāo)為網(wǎng)元A的I0PS,預(yù)定算法為求均值,則性能指標(biāo)數(shù)據(jù)獲取單元 506獲取網(wǎng)元A的與IOPS相關(guān)的性能數(shù)據(jù),然后將獲取的性能數(shù)據(jù)進(jìn)行均值計算,得到該網(wǎng) 元的IOPS值。如圖7所示,上述性能指標(biāo)值獲取單元503也可以包括插件控制模塊5032,用于根據(jù)性能指標(biāo)調(diào)用與該性能指標(biāo)對應(yīng)的插件;性能指標(biāo)值獲取模塊5033,用于根據(jù)插件獲取與該插件對應(yīng)的性能指標(biāo)值。該插件對應(yīng)于某網(wǎng)元的性能數(shù)據(jù)以及一算法,將獲取的該網(wǎng)元的性能數(shù)據(jù)執(zhí)行該 算法就可以得到性能指標(biāo)值。如圖8所示,數(shù)據(jù)報表生成單元505包括指標(biāo)模型符號替換模塊5050,用于將報表模板文件中的指標(biāo)模型符號替換為報表 區(qū)塊;數(shù)據(jù)報表生成模塊5051,用于結(jié)合報表區(qū)塊與報表模板文件生成數(shù)據(jù)報表。上述各單元、各模塊具體的功能可以參考上述實施例一中的描述,這里不再贅述。綜上所述,本發(fā)明實施例提升了數(shù)據(jù)報表的靈活性,用戶可以自主設(shè)置所需的數(shù) 據(jù)報表,降低了數(shù)據(jù)報表中性能指標(biāo)和報表模版之間的耦合度,避免了像現(xiàn)有技術(shù)中的如 果更改數(shù)據(jù)報表就需要重新構(gòu)造結(jié)構(gòu)的問題,方便了用戶的操作,并且產(chǎn)品開發(fā)周期變短, 項目進(jìn)度提速,后期維護(hù)工作減少,從而也節(jié)省了資源和提高了工作效率。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分步驟可以通 過程序來指令相關(guān)的硬件來完成,該程序可以存儲于一計算機(jī)可讀取存儲介質(zhì)中,比如 ROM/RAM、磁碟、光盤等。以上所述的具體實施例,對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳 細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實施例而已,并不用于限定本發(fā)明的保 護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本 發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)報表的生成方法,其特征在于,所述的方法包括 獲取預(yù)配置的報表模板文件中的指標(biāo)模型符號;根據(jù)所述的指標(biāo)模型符號解析出報表模型和性能指標(biāo); 根據(jù)所述的性能指標(biāo)獲取與其對應(yīng)的性能指標(biāo)值; 根據(jù)所述的報表模型、以及所述的性能指標(biāo)值生成報表區(qū)塊; 根據(jù)所述的報表區(qū)塊以及所述的報表模板文件生成數(shù)據(jù)報表。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)所述的性能指標(biāo)獲取與其對應(yīng)的性 能指標(biāo)值包括獲取與所述的性能指標(biāo)對應(yīng)的數(shù)據(jù);根據(jù)獲取的與所述的性能指標(biāo)對應(yīng)的數(shù)據(jù)、以預(yù)定算法生成所述的性能指標(biāo)值。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)所述的性能指標(biāo)獲取與其對應(yīng)的性 能指標(biāo)值包括根據(jù)所述的性能指標(biāo)調(diào)用與該性能指標(biāo)對應(yīng)的插件;根據(jù)所述的插件獲取與該插件對應(yīng)的性能指標(biāo)值;其中,所述的插件對應(yīng)于與所述性能指標(biāo)對應(yīng)的數(shù)據(jù)、以及預(yù)定算法。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)所述的報表區(qū)塊以及所述的報表模 板文件生成數(shù)據(jù)報表包括將所述報表模板文件中的指標(biāo)模型符號替換為所述的報表區(qū)塊; 結(jié)合所述的報表區(qū)塊與所述的報表模板文件生成所述的數(shù)據(jù)報表。
5.一種數(shù)據(jù)報表的生成裝置,其特征在于,所述的裝置包括指標(biāo)模型符號獲取單元,用于獲取預(yù)配置的報表模板文件中的指標(biāo)模型符號; 指標(biāo)模型符號解析單元,用于根據(jù)所述的指標(biāo)模型符號解析出報表模型和性能指標(biāo); 性能指標(biāo)值獲取單元,用于根據(jù)所述的性能指標(biāo)獲取與其對應(yīng)的性能指標(biāo)值; 報表區(qū)塊生成單元,用于根據(jù)所述的報表模型、以及所述的性能指標(biāo)值生成報表區(qū)塊; 數(shù)據(jù)報表生成單元,用于根據(jù)所述的報表區(qū)塊以及所述的報表模板文件生成數(shù)據(jù)報表。
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述的性能指標(biāo)值獲取單元包括 性能指標(biāo)數(shù)據(jù)獲取模塊,用于獲取與所述的性能指標(biāo)對應(yīng)的數(shù)據(jù);性能指標(biāo)值生成模塊,用于根據(jù)獲取的與所述的性能指標(biāo)對應(yīng)的數(shù)據(jù)、以預(yù)定算法生 成所述的性能指標(biāo)值。
7.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述的性能指標(biāo)值獲取單元包括 插件控制模塊,用于根據(jù)所述的性能指標(biāo)調(diào)用與該性能指標(biāo)對應(yīng)的插件; 性能指標(biāo)值獲取模塊,用于根據(jù)所述的插件獲取與該插件對應(yīng)的性能指標(biāo)值; 其中,所述的插件對應(yīng)于與所述性能指標(biāo)對應(yīng)的數(shù)據(jù)、以及預(yù)定算法。
8.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述的數(shù)據(jù)報表生成單元包括指標(biāo)模型符號替換模塊,用于將所述報表模板文件中的指標(biāo)模型符號替換為所述的報 表區(qū)塊;數(shù)據(jù)報表生成模塊,用于結(jié)合所述的報表區(qū)塊與所述的報表模板文件生成所述的數(shù)據(jù) 報表。
全文摘要
本發(fā)明提供一種數(shù)據(jù)報表的生成方法及裝置,該生成方法包括獲取預(yù)配置的報表模板文件中的指標(biāo)模型符號;根據(jù)所述的指標(biāo)模型符號解析出報表模型和性能指標(biāo);根據(jù)所述的性能指標(biāo)獲取與其對應(yīng)的性能指標(biāo)值;根據(jù)所述的報表模型、以及所述的性能指標(biāo)值生成報表區(qū)塊;根據(jù)所述的報表區(qū)塊以及所述的報表模板文件生成數(shù)據(jù)報表。通過本發(fā)明,可以提高報表技術(shù)的靈活性和擴(kuò)展性,方便用戶對數(shù)據(jù)報表的操作,從而可以節(jié)省資源和提高工作效率。
文檔編號G06F17/30GK102096688SQ20091025433
公開日2011年6月15日 申請日期2009年12月11日 優(yōu)先權(quán)日2009年12月11日
發(fā)明者劉俊平, 盧山, 沈杰, 鄭永紅, 郭士沛 申請人:中國移動通信集團(tuán)山西有限公司