本申請涉及計算機技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)報表生成方法及裝置。
背景技術(shù):
在應(yīng)用程序運行期間會產(chǎn)生大量的數(shù)據(jù),通過這些數(shù)據(jù)可以了解應(yīng)用程序的運行情況。因此,有必要將這些數(shù)據(jù)生成數(shù)據(jù)報表,展示給開發(fā)人員。
現(xiàn)有技術(shù)中,一般是由監(jiān)控系統(tǒng)采集應(yīng)用程序?qū)?yīng)的數(shù)據(jù)庫實例的離散數(shù)據(jù),再根據(jù)監(jiān)控系統(tǒng)采集的離散數(shù)據(jù),直接生成數(shù)據(jù)報表。如此,難以實現(xiàn)數(shù)據(jù)報表的靈活定制,展示的數(shù)據(jù)比較離散。
技術(shù)實現(xiàn)要素:
本申請所要解決的技術(shù)問題在于提供一種數(shù)據(jù)報表生成方法及裝置,用以實現(xiàn)數(shù)據(jù)報表的靈活定制,解決了數(shù)據(jù)報表展示的數(shù)據(jù)比較離散的問題。
為了解決上述問題,本申請實施例提供了一種數(shù)據(jù)報表生成方法,包括:
響應(yīng)于用戶在數(shù)據(jù)報表配置頁面上的配置操作,獲取數(shù)據(jù)報表需求,數(shù)據(jù)報表需求包括數(shù)據(jù)需求和匯總需求;
從被監(jiān)控的數(shù)據(jù)庫中,采集符合數(shù)據(jù)需求的至少一個數(shù)據(jù)庫實例的數(shù)據(jù);
根據(jù)匯總需求,對至少一個數(shù)據(jù)庫實例的數(shù)據(jù)進行匯總;
根據(jù)匯總后的數(shù)據(jù),生成數(shù)據(jù)報表。
可選地,響應(yīng)于用戶在數(shù)據(jù)報表配置頁面上的配置操作,獲取數(shù)據(jù)報表需求之前,所述方法還包括:
響應(yīng)于用戶的報表生成指令,向用戶展示數(shù)據(jù)報表配置頁面,以供用戶定制化數(shù)據(jù)報表需求。
可選地,根據(jù)匯總需求,對至少一個數(shù)據(jù)庫實例的數(shù)據(jù)進行匯總,包括以下至少一種:
按照指定時間粒度的匯總需求,對至少一個數(shù)據(jù)庫實例的數(shù)據(jù)進行時間維度的匯總;
按照指定業(yè)務(wù)維度的匯總需求,對至少一個數(shù)據(jù)庫實例的數(shù)據(jù)進行業(yè)務(wù)維度的匯總;
其中,指定時間粒度大于采集至少一個數(shù)據(jù)庫實例的數(shù)據(jù)的時間粒度。
可選地,按照指定業(yè)務(wù)維度的匯總需求,對至少一個數(shù)據(jù)庫實例的數(shù)據(jù)進行業(yè)務(wù)維度的匯總,包括:
按照指定業(yè)務(wù)屬性的匯總需求,對至少一個數(shù)據(jù)庫實例的數(shù)據(jù)進行同業(yè)務(wù)實例間的匯總;或者
按照業(yè)務(wù)間匯總需求,對至少一個數(shù)據(jù)庫實例的數(shù)據(jù)進行跨業(yè)務(wù)實例間的匯總。
可選地,所述按照指定業(yè)務(wù)屬性的匯總需求,對所述至少一個數(shù)據(jù)庫實例的數(shù)據(jù)進行同業(yè)務(wù)實例間的匯總,包括:
提取所述至少一個數(shù)據(jù)庫實例的數(shù)據(jù)的標識信息;
根據(jù)預設(shè)的標識信息與業(yè)務(wù)屬性的對應(yīng)關(guān)系以及所述至少一個數(shù)據(jù)庫實例的數(shù)據(jù)的標識信息,確定所述至少一個數(shù)據(jù)庫實例的數(shù)據(jù)中符合所述指定業(yè)務(wù)屬性的數(shù)據(jù)庫實例的數(shù)據(jù);
對所述符合所述指定業(yè)務(wù)屬性的數(shù)據(jù)庫實例的數(shù)據(jù)進行同業(yè)務(wù)實例間的匯總。
可選地,從被監(jiān)控的數(shù)據(jù)庫中,采集符合數(shù)據(jù)需求的至少一個數(shù)據(jù)庫實例的數(shù)據(jù),包括:
按照指定時間粒度的匯總需求,啟用采集周期等于指定時間粒度的定時進程;
通過定時進程,從被監(jiān)控的數(shù)據(jù)庫中,采集符合數(shù)據(jù)需求的至少一個數(shù)據(jù)庫實例的數(shù)據(jù)。
可選地,根據(jù)匯總需求,對至少一個數(shù)據(jù)庫實例的數(shù)據(jù)進行匯總之后,所述方法還包括:
保存匯總后的數(shù)據(jù)至本地數(shù)據(jù)庫;
根據(jù)匯總后的數(shù)據(jù),生成數(shù)據(jù)報表,包括:
從本地數(shù)據(jù)庫讀取匯總后的數(shù)據(jù);
按照預設(shè)的數(shù)據(jù)報表樣式整合匯總后的數(shù)據(jù),以輸出數(shù)據(jù)報表。
可選地,按照預設(shè)的數(shù)據(jù)報表樣式整合匯總后的數(shù)據(jù),以輸出數(shù)據(jù)報表,包括:
根據(jù)預設(shè)的數(shù)據(jù)分析策略,分析匯總后的數(shù)據(jù)的變化趨勢;
根據(jù)數(shù)據(jù)報表樣式整合變化趨勢,生成圖表形式的數(shù)據(jù)報表。
本申請實施例還提供了一種數(shù)據(jù)報表生成裝置,包括:
獲取模塊,用于響應(yīng)于用戶在數(shù)據(jù)報表配置頁面上的配置操作,獲取數(shù)據(jù)報表需求,數(shù)據(jù)報表需求包括數(shù)據(jù)需求和匯總需求;
采集模塊,用于從被監(jiān)控的數(shù)據(jù)庫中,采集符合數(shù)據(jù)需求的至少一個數(shù)據(jù)庫實例的數(shù)據(jù);
匯總模塊,用于根據(jù)匯總需求,對至少一個數(shù)據(jù)庫實例的數(shù)據(jù)進行匯總;
生成模塊,用于根據(jù)匯總后的數(shù)據(jù),生成數(shù)據(jù)報表。
可選地,所述裝置還包括:
展示模塊,用于響應(yīng)于用戶的報表生成指令,向用戶展示數(shù)據(jù)報表配置頁面,以供用戶定制化數(shù)據(jù)報表需求。
與現(xiàn)有技術(shù)相比,本申請實施例通過用戶在數(shù)據(jù)報表配置頁面上的配置操作,獲取數(shù)據(jù)報表需求,進而能夠根據(jù)數(shù)據(jù)報表需求匯總數(shù)據(jù)并生成報表,從而使得用戶能夠靈活、自主定制數(shù)據(jù)報表;而且,本申請實施例可以根據(jù)數(shù)據(jù)需求和匯總需求,匯總離散的數(shù)據(jù)并生成數(shù)據(jù)報表,避免數(shù)據(jù)報表展示的數(shù)據(jù)過于離散。
附圖說明
為了更清楚地說明本申請實施例的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1示出了根據(jù)本申請一實施例所述的一種數(shù)據(jù)報表生成方法的流程示意圖;
圖2示出了根據(jù)本申請又一實施例所述的一種數(shù)據(jù)報表生成方法的流程示意圖;
圖3示出了根據(jù)本申請又一實施例所述的一種數(shù)據(jù)報表生成裝置的模塊結(jié)構(gòu)圖;
圖4示出了根據(jù)本申請又一實施例所述的一種數(shù)據(jù)報表生成裝置的模塊結(jié)構(gòu)圖。
具體實施方式
為使本申請實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本申請一部分實施例,而不是全部的實施例。基于本申請中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
如圖1所示,為本申請一實施例提供的一種數(shù)據(jù)報表生成方法,包括以下步驟:
s101:響應(yīng)于用戶在數(shù)據(jù)報表配置頁面上的配置操作,獲取數(shù)據(jù)報表需求,數(shù)據(jù)報表需求包括數(shù)據(jù)需求和匯總需求。
在應(yīng)用程序運行過程中會產(chǎn)生大量的數(shù)據(jù),例如每秒鐘的操作數(shù)、內(nèi)存占比、同步情況等。用戶需要獲取這些數(shù)據(jù),以便了解應(yīng)用程序的運行狀態(tài)。
當用戶需要獲取這些數(shù)據(jù)時,可以在數(shù)據(jù)報表配置頁面上進行配置操作,以便數(shù)據(jù)報表生成裝置能夠根據(jù)用戶的配置操作,生成數(shù)據(jù)報表。所述配置操作可以包括數(shù)據(jù)需求配置操作和匯總需求配置操作。其中,數(shù)據(jù)需求配置操作可以是配置所需要的數(shù)據(jù)的操作,匯總需求配置操作可以是配置按照需求進行數(shù)據(jù)匯總的操作。
數(shù)據(jù)報表生成裝置可以響應(yīng)于用戶在數(shù)據(jù)報表配置頁面上的配置操作,從數(shù)據(jù)報表配置頁面上獲取數(shù)據(jù)報表需求。其中,數(shù)據(jù)報表需求包括用戶配置的數(shù)據(jù)需求和匯總需求??蛇x地,數(shù)據(jù)報表生成系統(tǒng)響應(yīng)于用戶在數(shù)據(jù)報表配置頁面上的數(shù)據(jù)需求配置操作,從數(shù)據(jù)報表配置頁面上獲取數(shù)據(jù)需求;數(shù)據(jù)報表生成系統(tǒng)響應(yīng)于用戶在數(shù)據(jù)報表配置頁面上的匯總需求配置操作,從數(shù)據(jù)報表配置頁面上獲取匯總需求。
值得說明的是,上述配置數(shù)據(jù)需求的操作與配置匯總需求的操作可以在同一頁面上完成,也可以在多個不同頁面上完成。
s102:從被監(jiān)控的數(shù)據(jù)庫中,采集符合數(shù)據(jù)需求的至少一個數(shù)據(jù)庫實例的數(shù)據(jù)。
s103:根據(jù)匯總需求,對至少一個數(shù)據(jù)庫實例的數(shù)據(jù)進行匯總。
s104:根據(jù)匯總后的數(shù)據(jù),生成數(shù)據(jù)報表。
數(shù)據(jù)報表生成裝置在獲取到數(shù)據(jù)需求和匯總需求后,可以根據(jù)數(shù)據(jù)需求采集數(shù)據(jù),進而根據(jù)匯總需求對采集的數(shù)據(jù)進行匯總。
一般情況下,應(yīng)用產(chǎn)生的數(shù)據(jù)會保存在服務(wù)端的數(shù)據(jù)庫中,由監(jiān)控系統(tǒng)負責監(jiān)控這些數(shù)據(jù)庫,即從被監(jiān)控的數(shù)據(jù)庫中,采集所述數(shù)據(jù)庫對應(yīng)的至少一個數(shù)據(jù)庫實例的數(shù)據(jù)。數(shù)據(jù)報表生成裝置可以從監(jiān)控系統(tǒng)中采集符合數(shù)據(jù)需求的至少一個數(shù)據(jù)庫實例的數(shù)據(jù)。
接著,數(shù)據(jù)報表生成裝置可以根據(jù)從數(shù)據(jù)報表配置頁面上獲取的匯總需求,進而根據(jù)匯總需求對應(yīng)的匯總方式,對從監(jiān)控系統(tǒng)中采集的至少一個數(shù)據(jù)庫實例的數(shù)據(jù)進行匯總。之后,將按照匯總需求匯總后的數(shù)據(jù),生成數(shù)據(jù)報表,以展示給用戶。
本申請實施例通過用戶在數(shù)據(jù)報表配置頁面上的配置操作,獲取數(shù)據(jù)報表需求,進而能夠根據(jù)數(shù)據(jù)報表需求匯總數(shù)據(jù)并生成報表,從而使得用戶能夠靈活、自主定制數(shù)據(jù)報表;而且,本申請實施例可以根據(jù)數(shù)據(jù)需求和匯總需求,匯總離散的數(shù)據(jù)并生成數(shù)據(jù)報表,避免數(shù)據(jù)報表展示的數(shù)據(jù)過于離散。
在一可選實施方式中,如圖2所示,響應(yīng)于用戶在數(shù)據(jù)報表配置頁面上的配置操作,獲取數(shù)據(jù)報表需求(即步驟s101)之前,還包括步驟s100:響應(yīng)于用戶的報表生成指令,向用戶展示數(shù)據(jù)報表配置頁面,以供用戶定制化數(shù)據(jù)報表需求。
當用戶需要獲取應(yīng)用產(chǎn)生的數(shù)據(jù)時,可以通過訪問數(shù)據(jù)報表生成裝置提供的數(shù)據(jù)報表配置頁面,或者打開安裝在客戶端的數(shù)據(jù)報表應(yīng)用程序,以發(fā)送報表生成指令至數(shù)據(jù)報表生成裝置;數(shù)據(jù)報表生成裝置可以響應(yīng)于用戶的報表生成指令,通過瀏覽器或者數(shù)據(jù)報表應(yīng)用程序,向用戶展示數(shù)據(jù)報表配置頁面,以供用戶定制化數(shù)據(jù)報表需求??蛇x地,數(shù)據(jù)報表配置頁面可以是一web頁面。
本實施例中,通過響應(yīng)于用戶的報表生成指令,向用戶展示數(shù)據(jù)報表配置頁面,使得用戶可以自主獲取數(shù)據(jù)報表配置頁面,定制化數(shù)據(jù)報表需求,進而根據(jù)數(shù)據(jù)報表需求生成數(shù)據(jù)報表,提高了數(shù)據(jù)報表生成的靈活性與自主性。
在上述實施例或下述實施例中,根據(jù)匯總需求,對至少一個數(shù)據(jù)庫實例的數(shù)據(jù)進行匯總,包括時間維度的匯總以及業(yè)務(wù)維度的匯總中的至少一種。
其中,時間維度的匯總可以指按照指定時間粒度的匯總需求,對至少一個數(shù)據(jù)庫實例的數(shù)據(jù)進行時間維度的匯總。
用戶可以在數(shù)據(jù)報表配置頁面上配置不同時間粒度的匯總需求,例如,分鐘粒度的匯總需求、小時粒度的匯總需求、天粒度的匯總需求等。用戶配置的時間粒度的匯總需求也就是指定時間粒度的匯總需求,數(shù)據(jù)報表生成裝置可以根據(jù)指定時間粒度的匯總需求,對至少一個數(shù)據(jù)庫實例的數(shù)據(jù)進行時間維度的匯總。所述匯總的方式可以是累加,即累加指定時間粒度內(nèi)的至少一個數(shù)據(jù)庫實例的數(shù)據(jù),以得到指定時間粒度的數(shù)據(jù)。例如,采集至少一個數(shù)據(jù)庫實例的數(shù)據(jù)的時間粒度是秒鐘粒度,即對于一個數(shù)據(jù)庫實例來說,每秒鐘會產(chǎn)生一個數(shù)據(jù)。指定時間粒度是分鐘,則可以將一分鐘內(nèi)的60個數(shù)據(jù)累加,以實現(xiàn)按照分鐘粒度匯總。
值得說明的是,為了實現(xiàn)時間維度的匯總,所述指定時間粒度應(yīng)大于采集至少一個數(shù)據(jù)庫實例的數(shù)據(jù)的時間粒度。在一示例中,若采集至少一個數(shù)據(jù)庫實例的數(shù)據(jù)的時間粒度是秒鐘粒度,那么指定時間粒度可以是大于秒鐘粒度的分鐘粒度、小時粒度等;若采集至少一個數(shù)據(jù)庫實例的數(shù)據(jù)的時間粒度是分鐘粒度,那么指定時間粒度可以是大于分鐘粒度的小時粒度、天粒度等。
業(yè)務(wù)維度的匯總可以指按照指定業(yè)務(wù)維度的匯總需求,對至少一個數(shù)據(jù)庫實例的數(shù)據(jù)進行業(yè)務(wù)維度的匯總??蛇x地,可以包括以下兩種實施方式:
第一種實施方式:按照指定業(yè)務(wù)屬性的匯總需求,對至少一個數(shù)據(jù)庫實例的數(shù)據(jù)進行同業(yè)務(wù)實例間的匯總。
由于應(yīng)用程序的功能以及架構(gòu)的不同,應(yīng)用程序產(chǎn)生的數(shù)據(jù)的業(yè)務(wù)屬性也不同。例如在一直播應(yīng)用中,數(shù)據(jù)的業(yè)務(wù)屬性可以包括用戶屬性、環(huán)境屬性、彈幕屬性等。可選地,同一業(yè)務(wù)屬性的數(shù)據(jù)可以保存在一個數(shù)據(jù)庫中,一個數(shù)據(jù)庫可以對應(yīng)至少一個數(shù)據(jù)庫實例?,F(xiàn)有技術(shù)中,監(jiān)控系統(tǒng)只能采集到至少一個數(shù)據(jù)庫實例的數(shù)據(jù),無法獲知采集到的數(shù)據(jù)對應(yīng)的業(yè)務(wù)屬性。因此,難以按照業(yè)務(wù)屬性對至少一個數(shù)據(jù)庫實例的數(shù)據(jù)進行同業(yè)務(wù)實例間的匯總。本實施例中,可以預先設(shè)置數(shù)據(jù)庫實例的數(shù)據(jù)與業(yè)務(wù)屬性的對應(yīng)關(guān)系,進而在獲取到數(shù)據(jù)庫實例的數(shù)據(jù)后,可以根據(jù)其與業(yè)務(wù)屬性的對應(yīng)關(guān)系,確定數(shù)據(jù)庫實例的數(shù)據(jù)對應(yīng)的業(yè)務(wù)屬性。
具體而言,可以首先提取至少一個數(shù)據(jù)庫實例的數(shù)據(jù)的標識信息,再根據(jù)預設(shè)的標識信息與業(yè)務(wù)屬性的對應(yīng)關(guān)系以及至少一個數(shù)據(jù)庫實例的數(shù)據(jù)的標識信息,確定至少一個數(shù)據(jù)庫實例的數(shù)據(jù)中符合指定業(yè)務(wù)屬性的數(shù)據(jù)庫實例的數(shù)據(jù);對符合指定業(yè)務(wù)屬性的數(shù)據(jù)庫實例的數(shù)據(jù)進行同業(yè)務(wù)實例間的匯總。
數(shù)據(jù)庫實例的數(shù)據(jù)的標識信息可以根據(jù)數(shù)據(jù)庫實例對應(yīng)的數(shù)據(jù)庫所在服務(wù)器的ip地址和數(shù)據(jù)庫實例的名稱唯一確定。監(jiān)控系統(tǒng)采集的數(shù)據(jù)庫實例的數(shù)據(jù)中攜帶有唯一的標志信息。數(shù)據(jù)報表生成裝置在采集監(jiān)控系統(tǒng)內(nèi)的數(shù)據(jù)的同時,可以提取至少一個數(shù)據(jù)庫實例的數(shù)據(jù)攜帶的標識信息。
接著,根據(jù)預設(shè)的標識信息與業(yè)務(wù)屬性的對應(yīng)關(guān)系以及至少一個數(shù)據(jù)庫實例的數(shù)據(jù)的標識信息,確定至少一個數(shù)據(jù)庫實例的數(shù)據(jù)中符合指定業(yè)務(wù)屬性的數(shù)據(jù)庫實例的數(shù)據(jù)。
在一示例中,標識信息與業(yè)務(wù)屬性的對應(yīng)關(guān)系可以是數(shù)據(jù)庫實例a中數(shù)據(jù)的標識信息對應(yīng)用戶屬性,數(shù)據(jù)庫實例b中數(shù)據(jù)的標識信息與數(shù)據(jù)庫實例c中數(shù)據(jù)的標識信息對應(yīng)用戶屬性,數(shù)據(jù)庫實例d中數(shù)據(jù)的標識信息、數(shù)據(jù)庫實例e中數(shù)據(jù)的標識信息與數(shù)據(jù)庫實例f中數(shù)據(jù)的標識信息均對應(yīng)彈幕屬性。指定業(yè)務(wù)屬性例如可以是彈幕屬性,于是可以確定符合彈幕屬性的是數(shù)據(jù)庫實例d的數(shù)據(jù)、數(shù)據(jù)庫實例e的數(shù)據(jù)與數(shù)據(jù)庫實例f的數(shù)據(jù)。
標識信息與業(yè)務(wù)屬性的對應(yīng)關(guān)系可以與所述匯總后的數(shù)據(jù)保存在同一數(shù)據(jù)庫中,也可以保存在不同數(shù)據(jù)庫中。
然后,可以對符合指定業(yè)務(wù)屬性的數(shù)據(jù)庫實例的數(shù)據(jù)進行同業(yè)務(wù)實例間的匯總。所述匯總的方式可以包括但不限于將符合指定業(yè)務(wù)屬性的數(shù)據(jù)庫實例的數(shù)據(jù)進行累加、求取平均值或者直接將符合指定業(yè)務(wù)屬性的數(shù)據(jù)庫實例的數(shù)據(jù)組成數(shù)據(jù)集合,直接展示數(shù)據(jù)集合。
第二種實施方式:按照業(yè)務(wù)間匯總需求,對至少一個數(shù)據(jù)庫實例的數(shù)據(jù)進行跨業(yè)務(wù)實例間的匯總。
數(shù)據(jù)庫實例可以提供對應(yīng)數(shù)據(jù)庫中的使用內(nèi)存、帶寬以及每秒鐘的操作數(shù)等數(shù)據(jù),基于此,業(yè)務(wù)間匯總需求可以是按照使用內(nèi)存匯總、按照帶寬匯總或者按照每秒鐘的操作數(shù)匯總。在一示例中,業(yè)務(wù)間匯總需求可以是按照使用內(nèi)存匯總,則可以將提供使用內(nèi)存的數(shù)據(jù)庫實例的數(shù)據(jù)進行匯總。匯總的方式可以包括但不限于將屬于同一業(yè)務(wù)間匯總需求的數(shù)據(jù)進行累加、求取平均值或者直接將屬于同一業(yè)務(wù)間匯總需求的數(shù)據(jù)組成數(shù)據(jù)集合,以通過數(shù)據(jù)報表生成系統(tǒng)直接展示數(shù)據(jù)集合。
時間維度以及業(yè)務(wù)維度的匯總可以指按照指定時間粒度的匯總需求,對至少一個數(shù)據(jù)庫實例的數(shù)據(jù)進行時間維度的匯總,再按照指定業(yè)務(wù)維度的匯總需求,對進行時間維度的匯總后的數(shù)據(jù)進行業(yè)務(wù)維度的匯總。當然,也可以先對至少一個數(shù)據(jù)庫實例的數(shù)據(jù)進行業(yè)務(wù)維度的匯總,再按照指定時間粒度的匯總需求,對進行業(yè)務(wù)維度的匯總后的數(shù)據(jù)進行時間維度的匯總。之后,根據(jù)匯總后的數(shù)據(jù),生成數(shù)據(jù)報表。
本實施例中,可以提取數(shù)據(jù)庫實例的數(shù)據(jù)對應(yīng)的業(yè)務(wù)屬性,進而根據(jù)業(yè)務(wù)屬性進行匯總,使得能夠靈活、多方面地展示數(shù)據(jù)。而且,本實施例通過按照指定時間粒度的匯總需求,對至少一個數(shù)據(jù)庫實例的數(shù)據(jù)進行時間維度的匯總,避免了數(shù)據(jù)報表展示的數(shù)據(jù)過于離散。
在一可選實施方式中,從被監(jiān)控的數(shù)據(jù)庫中,采集符合數(shù)據(jù)需求的至少一個數(shù)據(jù)庫實例的數(shù)據(jù)的步驟,包括:按照指定時間粒度的匯總需求,啟用采集周期等于指定時間粒度的定時進程;通過定時進程,從被監(jiān)控的數(shù)據(jù)庫中,采集符合數(shù)據(jù)需求的至少一個數(shù)據(jù)庫實例的數(shù)據(jù)。
當數(shù)據(jù)報表生成裝置采集至少一個數(shù)據(jù)庫實例的數(shù)據(jù)時,可以啟用采集周期等于指定時間粒度的定時進程,進而通過定時進程,從被監(jiān)控的數(shù)據(jù)庫中,采集符合數(shù)據(jù)需求的至少一個數(shù)據(jù)庫實例的數(shù)據(jù)。
本實施例中的定時進程為在采集周期內(nèi)采集數(shù)據(jù)的進程。根據(jù)上述實施例,指定時間粒度可以包括分鐘粒度、小時粒度或者天粒度,基于此,定時進程可以包括分鐘采集周期的定時進程、小時采集周期的定時進程或者天采集周期的定時進程。
在一可選實施方式中,如圖2所示,根據(jù)匯總需求,對至少一個數(shù)據(jù)庫實例的數(shù)據(jù)進行匯總(即步驟s103)之后,還包括步驟s105:保存匯總后的數(shù)據(jù)至本地數(shù)據(jù)庫。
基于步驟s105,根據(jù)匯總后的數(shù)據(jù),生成數(shù)據(jù)報表(即步驟s104)可以包括步驟s1041與步驟s1042。
s1041:從本地數(shù)據(jù)庫讀取匯總后的數(shù)據(jù)。
s1042:按照預設(shè)的數(shù)據(jù)報表樣式整合匯總后的數(shù)據(jù),以輸出數(shù)據(jù)報表。
將匯總后的數(shù)據(jù)保存在本地數(shù)據(jù)庫后,數(shù)據(jù)報表生成裝置可以直接從本地數(shù)據(jù)庫中讀取匯總后的數(shù)據(jù),進而根據(jù)匯總后的數(shù)據(jù)生成數(shù)據(jù)報表。
從本地數(shù)據(jù)庫讀取匯總后的數(shù)據(jù)后,為了更加直觀地展示匯總后的數(shù)據(jù),可以按照預設(shè)的數(shù)據(jù)報表樣式整合匯總后的數(shù)據(jù),以輸出數(shù)據(jù)報表??蛇x地,數(shù)據(jù)報表樣式可以包括但不限于圖表樣式、圖文結(jié)合樣式等。其中,圖的樣式可以包括但不限于折線圖樣式、餅狀圖樣式、柱狀圖樣式等。由于匯總后的數(shù)據(jù)來自的數(shù)據(jù)庫實例不同,或者匯總方式不同,反映應(yīng)用程序的信息不同?;诖?,可以根據(jù)匯總后的數(shù)據(jù)來自的數(shù)據(jù)庫實例以及匯總方式,選擇不同的數(shù)據(jù)報表樣式整合匯總后的數(shù)據(jù)。在一示例中,匯總后的數(shù)據(jù)來自的數(shù)據(jù)庫實例為提供每秒鐘的操作數(shù)的數(shù)據(jù)庫實例,即數(shù)據(jù)庫實例的數(shù)據(jù)為每秒鐘的操作數(shù),匯總方式為按照分鐘粒度累計操作數(shù)。每分鐘的操作數(shù)的數(shù)量與每分鐘操作數(shù)的變化趨勢能夠反映應(yīng)用程序的熱度,為了更加直觀地反映應(yīng)用程序的熱度,可以將每分鐘的操作數(shù)的數(shù)量展示在表格中,將操作數(shù)的變化趨勢體現(xiàn)在折線圖中。
對于需要展示匯總后的數(shù)據(jù)的變化趨勢的情況,可選地,可以首先根據(jù)預設(shè)的數(shù)據(jù)分析策略,分析匯總后的數(shù)據(jù)的變化趨勢??蛇x地,數(shù)據(jù)分析策略可以包括分析數(shù)據(jù)的業(yè)務(wù)屬性或者同業(yè)務(wù)實例間的邏輯關(guān)系,或者可以包括求取數(shù)據(jù)的方差、平均值、最大值、最小值等。再根據(jù)數(shù)據(jù)報表樣式整合變化趨勢,生成圖表形式的數(shù)據(jù)報表。
在一示例中,匯總后的數(shù)據(jù)包括用戶業(yè)務(wù)的數(shù)據(jù)與彈幕業(yè)務(wù)的數(shù)據(jù)。用戶數(shù)量越多,相應(yīng)的彈幕數(shù)量很可能會增多,基于此,可以將同一時刻的用戶數(shù)量與彈幕數(shù)量對應(yīng)繪制在一張圖中。
在另一示例中,匯總后的數(shù)據(jù)包括用戶業(yè)務(wù)中的內(nèi)存占比數(shù)據(jù)和同步時間數(shù)據(jù)??紤]到二者屬于同一業(yè)務(wù),可以將內(nèi)存占比數(shù)據(jù)和同步時間數(shù)據(jù)分別展示在同一表格的兩個工作表中。
在另一示例中,采集每秒鐘的操作數(shù)后,可以求取每分鐘內(nèi)操作數(shù)的平均值,根據(jù)每分鐘求取的平均值分析操作數(shù)的變化趨勢。
本實施例中,數(shù)據(jù)報表生成裝置可以直接從本地數(shù)據(jù)庫中讀取匯總后的數(shù)據(jù),無需每次生成數(shù)據(jù)報表時,都要重新采集至少一個數(shù)據(jù)庫實例的數(shù)據(jù)并重新匯總,提高了數(shù)據(jù)報表的生成速率。而且通過分析匯總后的數(shù)據(jù)的變化趨勢,進行生成能夠體現(xiàn)變化趨勢的圖表形式的數(shù)據(jù)報表,使得數(shù)據(jù)報表展示的信息更豐富、更直觀。
本申請實施例還提供了一種數(shù)據(jù)報表生成裝置300,如圖3所示,包括獲取模塊301、采集模塊302、匯總模塊303以及生成模塊304。
其中,獲取模塊301,用于響應(yīng)于用戶在數(shù)據(jù)報表配置頁面上的配置操作,獲取數(shù)據(jù)報表需求,數(shù)據(jù)報表需求包括數(shù)據(jù)需求和匯總需求;
采集模塊302,用于從被監(jiān)控的數(shù)據(jù)庫中,采集符合獲取模塊301獲取的數(shù)據(jù)需求的至少一個數(shù)據(jù)庫實例的數(shù)據(jù);
匯總模塊303,用于根據(jù)獲取模塊301獲取的匯總需求,對至少一個數(shù)據(jù)庫實例的數(shù)據(jù)進行匯總;
生成模塊304,用于根據(jù)匯總模塊303匯總后的數(shù)據(jù),生成數(shù)據(jù)報表。
與現(xiàn)有技術(shù)相比,本申請實施例通過用戶在數(shù)據(jù)報表配置頁面上的配置操作,獲取數(shù)據(jù)報表需求,進而能夠根據(jù)數(shù)據(jù)報表需求匯總數(shù)據(jù)并生成報表,從而使得用戶能夠靈活、自主定制數(shù)據(jù)報表;而且,本申請實施例可以根據(jù)數(shù)據(jù)需求和匯總需求,匯總離散的數(shù)據(jù)并生成數(shù)據(jù)報表,避免數(shù)據(jù)報表展示的數(shù)據(jù)過于離散。
可選地,如圖4所示,數(shù)據(jù)報表生成裝置300還包括展示模塊305。
展示模塊305,用于響應(yīng)于用戶的報表生成指令,向用戶展示數(shù)據(jù)報表配置頁面,以供用戶定制化數(shù)據(jù)報表需求。
本實施例中,通過響應(yīng)于用戶的報表生成指令,向用戶展示數(shù)據(jù)報表配置頁面,使得用戶可以自主獲取數(shù)據(jù)報表配置頁面,定制化數(shù)據(jù)報表需求,進而根據(jù)數(shù)據(jù)報表需求生成數(shù)據(jù)報表,提高了數(shù)據(jù)報表生成的靈活性與自主性。
可選地,匯總模塊303包括時間維度匯總單元以及業(yè)務(wù)維度匯總單元中的至少一種。
其中,時間維度匯總單元,用于按照指定時間粒度的匯總需求,對至少一個數(shù)據(jù)庫實例的數(shù)據(jù)進行時間維度的匯總。
業(yè)務(wù)維度匯總單元,用于按照指定業(yè)務(wù)維度的匯總需求,對至少一個數(shù)據(jù)庫實例的數(shù)據(jù)進行業(yè)務(wù)維度的匯總。
其中,指定時間粒度大于采集至少一個數(shù)據(jù)庫實例的數(shù)據(jù)的時間粒度。
可選地,業(yè)務(wù)維度匯總單元在按照指定業(yè)務(wù)維度的匯總需求,對至少一個數(shù)據(jù)庫實例的數(shù)據(jù)進行業(yè)務(wù)維度的匯總時,具體用于:按照指定業(yè)務(wù)屬性的匯總需求,對至少一個數(shù)據(jù)庫實例的數(shù)據(jù)進行同業(yè)務(wù)實例間的匯總;或者,按照業(yè)務(wù)間匯總需求,對至少一個數(shù)據(jù)庫實例的數(shù)據(jù)進行跨業(yè)務(wù)實例間的匯總。
可選地,業(yè)務(wù)維度匯總單元在按照指定業(yè)務(wù)屬性的匯總需求,對至少一個數(shù)據(jù)庫實例的數(shù)據(jù)進行同業(yè)務(wù)實例間的匯總時,具體用于:提取至少一個數(shù)據(jù)庫實例的數(shù)據(jù)的標識信息;根據(jù)預設(shè)的標識信息與業(yè)務(wù)屬性的對應(yīng)關(guān)系以及至少一個數(shù)據(jù)庫實例的數(shù)據(jù)的標識信息,確定至少一個數(shù)據(jù)庫實例的數(shù)據(jù)中符合指定業(yè)務(wù)屬性的數(shù)據(jù)庫實例的數(shù)據(jù);對符合指定業(yè)務(wù)屬性的數(shù)據(jù)庫實例的數(shù)據(jù)進行同業(yè)務(wù)實例間的匯總。
本實施例中,可以提取數(shù)據(jù)庫實例的數(shù)據(jù)對應(yīng)的業(yè)務(wù)屬性,進而根據(jù)業(yè)務(wù)屬性進行匯總,使得能夠靈活、多方面地展示數(shù)據(jù)。而且,本實施例通過按照指定時間粒度的匯總需求,對至少一個數(shù)據(jù)庫實例的數(shù)據(jù)進行時間維度的匯總,避免了數(shù)據(jù)報表展示的數(shù)據(jù)過于離散。
可選地,采集模塊302在從被監(jiān)控的數(shù)據(jù)庫中,采集符合數(shù)據(jù)需求的至少一個數(shù)據(jù)庫實例的數(shù)據(jù)時,具體用于:按照指定時間粒度的匯總需求,啟用采集周期等于指定時間粒度的定時進程;通過定時進程,從被監(jiān)控的數(shù)據(jù)庫中,采集符合數(shù)據(jù)需求的至少一個數(shù)據(jù)庫實例的數(shù)據(jù)。
可選地,如圖4所示,數(shù)據(jù)報表生成裝置300還包括存儲模塊306。
存儲模塊306用于存儲匯總后的數(shù)據(jù),存儲模塊306可以是本地數(shù)據(jù)庫。
進一步可選地,生成模塊304具體用于:從存儲模塊306讀取匯總后的數(shù)據(jù);按照預設(shè)的數(shù)據(jù)報表樣式整合匯總后的數(shù)據(jù),以輸出數(shù)據(jù)報表。
可選地,生成模塊304在按照預設(shè)的數(shù)據(jù)報表樣式整合匯總后的數(shù)據(jù),以輸出數(shù)據(jù)報表時,具體還用于:根據(jù)預設(shè)的數(shù)據(jù)分析策略,分析匯總模塊303匯總后的數(shù)據(jù)的變化趨勢;根據(jù)數(shù)據(jù)報表樣式整合變化趨勢,生成圖表形式的數(shù)據(jù)報表。
本實施例中,數(shù)據(jù)報表生成裝置可以直接從本地數(shù)據(jù)庫中讀取匯總后的數(shù)據(jù),無需每次生成數(shù)據(jù)報表時,都要重新采集至少一個數(shù)據(jù)庫實例的數(shù)據(jù)并重新匯總,提高了數(shù)據(jù)報表的生成速率。而且通過分析匯總后的數(shù)據(jù)的變化趨勢,進行生成能夠體現(xiàn)變化趨勢的圖表形式的數(shù)據(jù)報表,使得數(shù)據(jù)報表展示的信息更豐富、更直觀。
所述裝置與前述的方法流程描述對應(yīng),不足之處參考上述方法流程的敘述,不再一一贅述。
本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、商品或者設(shè)備中還存在另外的相同要素。
本領(lǐng)域技術(shù)人員應(yīng)明白,本申請的實施例可提供為方法、系統(tǒng)或計算機程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學存儲器等)上實施的計算機程序產(chǎn)品的形式。
以上所述僅為本申請的實施例而已,并不用于限制本申請。對于本領(lǐng)域技術(shù)人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內(nèi)所作的任何修改、等同替換、改進等,均應(yīng)包含在本申請的權(quán)利要求范圍之內(nèi)。