數據報表生成方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及數據處理【技術領域】,具體而言,涉及數據報表生成方法及系統(tǒng)。該數據報表生成方法,包括:對欲處理的數據進行分流,得到多路數據流;利用得到的多路所述數據流按預先設定的數據報表計算模型進行計算,得到處理數據流;對得到的處理數據流分流統(tǒng)計,用戶利用分流統(tǒng)計的結果進行數據查詢,并利用查詢到的數據生成數據報表。本發(fā)明實施例提供的數據報表生成方法及系統(tǒng),克服了相關技術中的報表生成方法查詢效率與生成數據報表靈活性之間的矛盾。
【專利說明】數據報表生成方法及系統(tǒng)
【技術領域】
[0001]本發(fā)明涉及數據處理【技術領域】,具體而言,涉及數據報表生成方法及系統(tǒng)。
【背景技術】
[0002]為處理各種海量數據,多利用海量數據生成具有一個維度或具有多個維度的數據報表。相關技術中利用海量數據生成數據報表的方式主要有兩種。
[0003]一種方式是后處理方式,該種方式下將海量數據直接寫入數據庫,當用戶需要報表時,可通過結構化查詢語言(Structured Query Language, SQL)查詢數據庫,取得計算結果。此種方式下,可通過SQL語言的任意組合獲得自己需要的報表數據,但SQL語言查詢速度慢,由此使得數據報表生成效率比較低。
[0004]另一種方式是預處理方式,該種方式下需預先定義好數據報表的維度和統(tǒng)計指標的計算公式(即預先定義好數據報表模型),海量數據在寫入數據庫的同時,也會根據設定好的計算公式進行計算,并將最終運算結果寫入的數據庫。這種方式由于報表數據已經預先計算好并且存放在數據庫中,所以查詢速度提高,但此種方式靈活性不強,對于新的報表,必須修改程序中的計算公式才能支持。 [0005]由此看出,相關技術中生成數據報表的靈活性和報表查詢效率在一定程度上相互制約,無法滿足生成數據報表報表查詢效率較高同時生成數據報表的靈活性較強的需求。
【發(fā)明內容】
[0006]本發(fā)明的目的在于提供數據報表生成方法及系統(tǒng),以解決上述的問題。
[0007]在本發(fā)明的實施例中提供了數據報表生成方法,包括:
[0008]對欲處理的數據進行分流,得到多路數據流;
[0009]利用得到的多路所述數據流按預先設定的數據報表計算模型進行計算,得到處理數據流;
[0010]對得到的處理數據流分流統(tǒng)計,用戶利用分流統(tǒng)計的結果進行數據查詢,并利用查詢到的數據生成數據報表。
[0011]優(yōu)選地,所述對預處理的數據進行分流,包括:
[0012]按照預處理的數據的維度值進行至少一次分流,得到多路數據流。
[0013]優(yōu)選地,所述按照預處理的數據的維度值進行至少一次分流,包括:
[0014]預處理的數據具有N個緯度,每個緯度具有M個不同取值,則所述數據被分為M1*M2*…*Mn路數據流,其中Ml、M2、.'Mn的取值均為M。
[0015]優(yōu)選地,所述對得到的處理數據流分流統(tǒng)計,包括:
[0016]對得到的處理數據流按照數據的維度值進行分流統(tǒng)計。
[0017]本發(fā)明實施例還提供了數據報表生成系統(tǒng),包括:
[0018]分流過濾裝置,用于對欲處理的數據進行分流,得到多路數據流;用于利用得到的多路所述數據流按預先設定的數據報表計算模型進行計算,得到處理數據流;[0019]計數器,用于對得到的處理數據流分流統(tǒng)計,用戶利用分流統(tǒng)計的結果進行數據查詢,并利用查詢到的數據生成數據報表。[0020]優(yōu)選地,所述分流過濾裝置,包括:
[0021]分流器,用于按照預處理的數據的維度值進行初次分流;
[0022]過濾器,用于按照數據的維度值,對初次分流后的數據進行至少一次的分流,得到多路數據流,還用于利用得到的多路所述數據流按預先設定的數據報表計算模型進行計算,得到處理數據流。
[0023]優(yōu)選地,所述計數器的數量與所述處理數據流分成的數據流的路數相等。
[0024]本發(fā)明實施例提供的數據報表生成方法及系統(tǒng),對預處理的數據分流形成多路數據流,分流后的數據根據設定的計算規(guī)則進行計算,并利用計數器對分流計算處理的數據分流統(tǒng)計,當用戶需要報表數據時,可以通過對計數器的分路統(tǒng)計進行匯總,以獲得最終的動態(tài)報表,如保證能夠處理大流量數據,同時能夠提高報表查詢的效率,且滿足生成數據報表靈活性的需求,克服了相關技術中的報表生成方法查詢效率與生成數據報表靈活性之間的矛盾。
【專利附圖】
【附圖說明】
[0025]圖1示出了本發(fā)明實施例數據報表生成方法的流程圖;
[0026]圖2示出了本發(fā)明實施例數據報表生成系統(tǒng)的一種結構示意圖;
[0027]圖3示出了本發(fā)明實施例數據報表生成系統(tǒng)的另一種結構示意圖。
【具體實施方式】
[0028]下面通過具體的實施例子并結合附圖對本發(fā)明做進一步的詳細描述。
[0029]本發(fā)明實施例提供了一種數據報表生成方法,如圖1所示,主要處理流程包括:
[0030]步驟Sll:對欲處理的數據進行分流,得到多路數據流;
[0031]步驟S12:利用得到的多路數據流按預先設定的數據報表計算模型進行計算,得到處理數據流;
[0032]步驟S13:對得到的處理數據流分流統(tǒng)計,用戶利用分流統(tǒng)計的結果進行數據查詢,并利用查詢到的數據生成數據報表。
[0033]本發(fā)明實施例提供的數據報表生成方法,對預處理的數據分流形成多路數據流,分流后的數據根據設定的計算規(guī)則進行計算,并利用計數器對分流計算處理的數據分流統(tǒng)計,當用戶需要報表數據時,可以通過對計數器的分路統(tǒng)計進行匯總,以獲得最終的動態(tài)報表,如保證能夠處理大流量數據,同時能夠提高報表查詢的效率,且滿足生成數據報表靈活性的需求,克服了相關技術中的報表生成方法查詢效率與生成數據報表靈活性之間的矛盾。
[0034]本發(fā)明實施例中,對預處理的數據進行分流包括:按照預處理的數據的維度值進行至少一次分流,得到多路數據流。
[0035]具體地本發(fā)明實施例中按照預處理的數據的維度值進行至少一次分流,包括:預處理的數據具有N個緯度,每個緯度具有M個不同取值,則數據被分為M1*M2*…*Mn路數據流,其中Ml、M2、…、Mn的取值均為Μ。[0036]進一步地,本發(fā)明實施例中對得到的處理數據流分流統(tǒng)計,包括:對得到的處理數據流按照數據的維度值進行分流統(tǒng)計。
[0037]本發(fā)明實施例還提供了一種數據報表生成系統(tǒng),如圖2所示,包括:
[0038]分流過濾裝置21,用于對欲處理的數據進行分流,得到多路數據流;用于利用得到的多路數據流按預先設定的數據報表計算模型進行計算,得到處理數據流;
[0039]計數器22,用于對得到的處理數據流分流統(tǒng)計,用戶利用分流統(tǒng)計的結果進行數據查詢,并利用查詢到的數據生成數據報表。
[0040]具體地,分流過濾裝置,包括:分流器,用于按照預處理的數據的維度值進行初次分流;過濾器,用于按照數據的維度值,對初次分流后的數據進行至少一次的分流,得到多路數據流,還用于利用得到的多路數據流按預先設定的數據報表計算模型進行計算,得到處理數據流。
[0041]優(yōu)選地,計數器的數量與處理數據流分成的數據流的路數相等。
[0042]另外,如圖3所示,給出了本發(fā)明實施例的數據報表生成系統(tǒng)的具體結構示意圖,在該系統(tǒng)中,采用分流器、過濾器和計數器技術。預處理的數據輸入分流器后,對某個維度或者多個維度做特定運算,將海量數據分成若干份。每份數據輸入過濾器后,根據自定義規(guī)貝U,生成各種維度的計數器,然后將這些計數器存儲下來。當用戶需要報表數據時,再通過對計數器進行匯總,獲得最終的動態(tài)報表。分流器保證能夠處理大流量,過濾器和計數器既滿足報表查詢的靈活性,又滿足報表查詢的及時性。
[0043]具體方案如圖3所示, 圖3中假設只統(tǒng)計兩個維度,每個維度只有2種不同取值。
[0044]預處理的數據輸入分流器后,直接按維度I的取值進行分流(也可按照其它方法,例如HASH運算,整除取余數等),將原始海量數據分成兩份,降低了單個計數器的負荷。數據進入過濾器后,根據用戶定義的維度進行細分,每定義一個維度,過濾器就需要根據該維度進行細分。假如維度N有M個不同取值,則一個流經過維度N細分后,會變成M個流,這樣經過N個維度分流后,用戶記錄就被分解為M1*M2*…Mn個流。對于每個流,過濾器根據運算公式進行計算,最終得到M1*M2*…Mn個計數器。
[0045]當用戶需要查詢時,可以從M1*M2*…Mn個計數器中,按N個維度任意組合查詢所需要的數據,其查詢過程通過對計數器按維度進行匯總即可。
[0046]通過這種分布式技術,分流器可以輕松處理海量數據。用戶可以從多個維度查詢報表,滿足靈活性的要求,同時在用戶查詢前已經按照公式的定義生成各種類型的計數器,滿足快速查詢的要求。
[0047]顯然,本領域的技術人員應該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現,它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現,從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現。這樣,本發(fā)明不限制于任何特定的硬件和軟件結合。
[0048]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
【權利要求】
1.數據報表生成方法,其特征在于,包括: 對欲處理的數據進行分流,得到多路數據流; 利用得到的多路所述數據流按預先設定的數據報表計算模型進行計算,得到處理數據流; 對得到的處理數據流分流統(tǒng)計,用戶利用分流統(tǒng)計的結果進行數據查詢,并利用查詢到的數據生成數據報表。
2.根據權利要求1所述的方法,其特征在于,所述對預處理的數據進行分流,包括: 按照預處理的數據的維度值進行至少一次分流,得到多路數據流。
3.根據權利要求2所述的方法,其特征在于,所述按照預處理的數據的維度值進行至少一次分流,包括: 預處理的數據具有N個緯度,每個緯度具有M個不同取值,則所述數據被分為M1*M2^..*Mn路數據流,其中Ml、M2、.'Mn的取值均為M。
4.根據權利要求3所述的方法,其特征在于,所述對得到的處理數據流分流統(tǒng)計,包括: 對得到的處理數據流按照數據的維度值進行分流統(tǒng)計。
5.數據報表生成系統(tǒng),其特征在于,包括: 分流過濾裝置,用于對欲處理的數據進行分流,得到多路數據流;用于利用得到的多路所述數據流按預先設定的數據報表計算模型進行計算,得到處理數據流; 計數器,用于對得到的處理數據流分流統(tǒng)計,用戶利用分流統(tǒng)計的結果進行數據查詢,并利用查詢到的數據生成數據報表。
6.根據權利要求5所述的數據報表生成系統(tǒng),其特征在于,所述分流過濾裝置,包括: 分流器,用于按照預處理的數據的維度值進行初次分流; 過濾器,用于按照數據的維度值,對初次分流后的數據進行至少一次的分流,得到多路數據流,還用于利用得到的多路所述數據流按預先設定的數據報表計算模型進行計算,得到處理數據流。
7.根據權利要求6所述的數據報表生成系統(tǒng),其特征在于,所述計數器的數量與所述處理數據流分成的數據流的路數相等。
【文檔編號】G06F17/30GK103699671SQ201310746886
【公開日】2014年4月2日 申請日期:2013年12月30日 優(yōu)先權日:2013年12月30日
【發(fā)明者】祝守宇, 方曉, 黃長波 申請人:成都道永網絡技術有限公司