本發(fā)明涉及數(shù)據(jù)處理
技術(shù)領(lǐng)域:
,尤其涉及數(shù)據(jù)統(tǒng)計方法及裝置。
背景技術(shù):
:在電商系統(tǒng)中,經(jīng)常需要了解某段時間內(nèi)的銷售數(shù)據(jù)(例如產(chǎn)品銷量、用戶統(tǒng)計等),以此作為運營推廣的依據(jù),因此,每個電商系統(tǒng)幾乎都會實現(xiàn)銷量統(tǒng)計的功能。由于數(shù)據(jù)庫里存儲的數(shù)據(jù)一般是訂單數(shù)據(jù)和訂單的商品數(shù)據(jù)。而每天有可能產(chǎn)生成百上千的訂單,若想要了解某段具體時間內(nèi)(例如:每天,一周內(nèi))的銷售數(shù)據(jù),僅僅從訂單數(shù)據(jù)中是沒有辦法直觀地體現(xiàn)出來的,因此,銷量統(tǒng)計的功能對于電商系統(tǒng)來說,是必不可少的?,F(xiàn)有技術(shù)中,為了實現(xiàn)查詢銷量統(tǒng)計的功能,每次都需要使用者手動輸入需要查詢的起始和結(jié)束時間,將這個時間段內(nèi)的各種統(tǒng)計信息從各個維度展示給用戶。統(tǒng)計信息的各個維度可以包括下單金額,下單商品數(shù)量,支付金額,支付商品數(shù)量,下單及支付的用戶數(shù)量,支付轉(zhuǎn)率等。如果電商系統(tǒng)包括不同的終端類型(電腦、移動端、客戶端等),那么,統(tǒng)計信息還需要針對不同的終端類型。另外,統(tǒng)計信息也可能包括不同的地區(qū)以及各個小時段的數(shù)據(jù)等。若使用者想要從各個不同的維度對銷售數(shù)據(jù)進行觀察,實現(xiàn)起來是比較復(fù)雜的,數(shù)據(jù)從訂單數(shù)據(jù)轉(zhuǎn)換為不同緯度的數(shù)據(jù)的過程中,需要進行大量的計算。如果輸入的時間段過長,訂單數(shù)據(jù)量大的情況下,會花費大量的時間,導(dǎo)致從查詢到展示結(jié)果的時間過長,甚至服務(wù)器超時、內(nèi)存耗盡。因此,有必要提出一種數(shù)據(jù)統(tǒng)計方法及裝置,避免上述情況的發(fā)生。技術(shù)實現(xiàn)要素:本發(fā)明的主要目的在于提出一種數(shù)據(jù)統(tǒng)計方法及裝置,旨在解決現(xiàn)有的數(shù)據(jù)統(tǒng)計計算量大、獲取統(tǒng)計結(jié)果的時間過長、消耗服務(wù)器內(nèi)存的問題。為實現(xiàn)上述目的,本發(fā)明提供的一種數(shù)據(jù)統(tǒng)計方法,所述方法包括步驟:將原始數(shù)據(jù)轉(zhuǎn)換為中間結(jié)果;將所述中間結(jié)果保存至中間表;查詢所述中間表,利用所述中間表中的至少一個中間結(jié)果生成所述原始數(shù)據(jù)的統(tǒng)計結(jié)果。可選地,所述將原始數(shù)據(jù)轉(zhuǎn)換為中間結(jié)果,包括:將所述原始數(shù)據(jù)轉(zhuǎn)換為多個維度的統(tǒng)計數(shù)據(jù);將所述多個維度的統(tǒng)計數(shù)據(jù)轉(zhuǎn)換為所述中間結(jié)果??蛇x地,所述將所述多個維度的統(tǒng)計數(shù)據(jù)轉(zhuǎn)換為所述中間結(jié)果,包括:設(shè)置轉(zhuǎn)換成所述中間結(jié)果的預(yù)設(shè)周期;根據(jù)所述預(yù)設(shè)周期,定期將所述多個維度的統(tǒng)計數(shù)據(jù)轉(zhuǎn)換為所述中間結(jié)果。可選地,所述多個維度的統(tǒng)計數(shù)據(jù)包括訂單數(shù)據(jù)、訂單的商品數(shù)據(jù)??蛇x地,在所述將原始數(shù)據(jù)轉(zhuǎn)換為中間結(jié)果之后,所述方法還包括:判斷所述中間結(jié)果的數(shù)據(jù)計算量是否達到預(yù)設(shè)的計算量閾值;若是,將所述中間結(jié)果劃分為多個層的中間結(jié)果,第一層的中間結(jié)果由所述原始數(shù)據(jù)轉(zhuǎn)換得到,下一層的中間結(jié)果由上一層的中間結(jié)果轉(zhuǎn)換得到;所述將所述中間結(jié)果保存至中間表,包括:將最后一層的中間結(jié)果保存至所述中間表。此外,為實現(xiàn)上述目的,本發(fā)明還提出一種數(shù)據(jù)統(tǒng)計裝置,所述裝置包括:數(shù)據(jù)轉(zhuǎn)換模塊,用于將原始數(shù)據(jù)轉(zhuǎn)換為中間結(jié)果;保存模塊,用于將所述中間結(jié)果保存至中間表;統(tǒng)計模塊,用于查詢所述中間表,利用從所述中間表中的至少一個中間結(jié)果獲取所述原始數(shù)據(jù)的統(tǒng)計結(jié)果??蛇x地,所述數(shù)據(jù)轉(zhuǎn)換模塊包括:轉(zhuǎn)換單元,用于將原始數(shù)據(jù)轉(zhuǎn)換為多個維度的統(tǒng)計數(shù)據(jù);中間結(jié)果轉(zhuǎn)換單元,用于將所述多個維度的統(tǒng)計數(shù)據(jù)轉(zhuǎn)換為所述中間結(jié)果??蛇x地,所述中間結(jié)果轉(zhuǎn)換單元具體用于:設(shè)置轉(zhuǎn)換成所述中間結(jié)果的預(yù)設(shè)周期;根據(jù)所述預(yù)設(shè)周期,定期將所述多個維度的統(tǒng)計數(shù)據(jù)轉(zhuǎn)換為所述中間結(jié)果??蛇x地,所述多個維度的統(tǒng)計數(shù)據(jù)包括訂單數(shù)據(jù)、訂單的商品數(shù)據(jù)??蛇x地,所述裝置還包括:判斷模塊,用于判斷所述中間結(jié)果的數(shù)據(jù)計算量是否達到預(yù)設(shè)的計算量閾值;劃分模塊,用于當(dāng)所述判斷模塊判定所述中間結(jié)果的數(shù)據(jù)計算量達到預(yù)設(shè)的計算量閾值時將所述中間結(jié)果劃分為多個層的中間結(jié)果,第一層的中間結(jié)果由所述原始數(shù)據(jù)轉(zhuǎn)換得到,下一層的中間結(jié)果由上一層的中間結(jié)果轉(zhuǎn)換得到;所述保存模塊具體用于將最后一層的中間結(jié)果保存至所述中間表。本發(fā)明提出的數(shù)據(jù)統(tǒng)計方法及裝置,通過將原始數(shù)據(jù)先行轉(zhuǎn)換為接近最終結(jié)果的中間結(jié)果,保存到中間表,在以后進行統(tǒng)計查詢的時候,從中間表獲取數(shù)據(jù),進行少量計算,最后展示結(jié)果。通過提前計算,使用中間表的方式,減少了從查詢到輸出結(jié)果的計算量,從而減少計算時間,加快統(tǒng)計結(jié)果的輸出,提高了效率,同時也大大減少了內(nèi)存的占用。附圖說明圖1為本發(fā)明第一實施例提供的數(shù)據(jù)統(tǒng)計方法的流程示意圖;圖2為本發(fā)明第一實施例提供的數(shù)據(jù)統(tǒng)計方法的子流程示意圖;圖3為本發(fā)明第二實施例提供的數(shù)據(jù)統(tǒng)計方法的流程示意圖;圖4為本發(fā)明第三實施例提供的數(shù)據(jù)統(tǒng)計裝置的模塊示意圖;圖5為圖4中數(shù)據(jù)轉(zhuǎn)換模塊的模塊示意圖;圖6為本發(fā)明第四實施例提供的數(shù)據(jù)統(tǒng)計裝置的模塊示意圖。本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進一步說明。具體實施方式應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。現(xiàn)在將參考附圖描述實現(xiàn)本發(fā)明各個實施例的移動終端。在后續(xù)的描述中,使用用于表示元件的諸如“模塊”、“部件”或“單元”的后綴僅為了有利于本發(fā)明的說明,其本身并沒有特定的意義。因此,"模塊"與"部件"可以混合地使用。實施例一如圖1所示,本發(fā)明較佳實施例提出一種數(shù)據(jù)統(tǒng)計方法,該方法包括:步驟110,將原始數(shù)據(jù)轉(zhuǎn)換為中間結(jié)果。具體地,統(tǒng)計來自于各個終端的原始數(shù)據(jù),該原始數(shù)據(jù)是指電商系統(tǒng)中的訂單數(shù)據(jù)和訂單的商品數(shù)據(jù),并將原始的訂單數(shù)據(jù)和訂單的商品數(shù)據(jù)轉(zhuǎn)換為中間結(jié)果。終端可以以各種形式來實施。例如,本發(fā)明中描述的終端可以包括諸如移動電話、智能電話、筆記本電腦、數(shù)字廣播接收器、PDA(個人數(shù)字助理)、PAD(平板電腦)、PMP(便攜式多媒體播放器)、導(dǎo)航裝置等等的移動終端以及諸如數(shù)字TV、臺式計算機等等的固定終端。進一步地,中間結(jié)果可以顯示每個商品每天的數(shù)據(jù),后續(xù)可以查詢某天所有的商品統(tǒng)計信息,也可以查詢某個商品某段時間的統(tǒng)計數(shù)據(jù)。進一步地,該中間結(jié)果至少包括多個終端在不同時間段的數(shù)據(jù)參數(shù)的統(tǒng)計結(jié)果。該數(shù)據(jù)參數(shù)可以根據(jù)實際使用進行自定義,例如,“訂單來源-時間”的統(tǒng)計,具體包括每個時間段(1個小時)內(nèi)的銷售總額、訂單數(shù)和商品數(shù)。示例性地,中間結(jié)果可以如表1所示。表1表1代表商品11在2016年6月11日的統(tǒng)計結(jié)果,包括來源于移動終端在0點-1點,...,23點-24點內(nèi)的每個時間段的“訂單來源-時間”和“用戶數(shù)-時間”的統(tǒng)計。在其他實施例中,根據(jù)實際使用需要,中間結(jié)果也可以設(shè)置為代表“地區(qū)-時間”、“地區(qū)-用戶數(shù)”、“支付方式-用戶數(shù)”的統(tǒng)計。進一步地,在“訂單來源-時間”的統(tǒng)計中,除了“總額”、“訂單數(shù)”、“商品數(shù)”之外,還可以根據(jù)實際使用需要增加其它結(jié)果,例如“支付總額”、“支付商品數(shù)”等。進一步地,在用戶數(shù)-時間”的統(tǒng)計中,某個時間段內(nèi)的人數(shù)可以先統(tǒng)計為用戶的ID列表,后續(xù)再計算人數(shù)。進一步地,表1中記錄的是商品11一天之內(nèi)的銷售統(tǒng)計數(shù)據(jù),還可以設(shè)置為統(tǒng)計一天之內(nèi)所有商品的銷售統(tǒng)計信息。進一步地,表1中記錄的是商品11一天之內(nèi)的銷售統(tǒng)計數(shù)據(jù),還可以設(shè)置為統(tǒng)計某個商品或者所有商品在一天之內(nèi)某個時間段內(nèi)的銷售統(tǒng)計數(shù)據(jù)。步驟120,將所述中間結(jié)果保存至中間表。具體地,中間表包括至少一個由原始數(shù)據(jù)轉(zhuǎn)換的中間結(jié)果。步驟130,查詢所述中間表,利用所述中間表中的至少一個中間結(jié)果生成所述原始數(shù)據(jù)的統(tǒng)計結(jié)果。具體地,在進行數(shù)據(jù)統(tǒng)計時,響應(yīng)于用戶輸入的指令可以利用中間表中的至少一個中間結(jié)果進行統(tǒng)計計算,并得到原始數(shù)據(jù)的統(tǒng)計結(jié)果??蛇x地,可以按照第一預(yù)設(shè)周期從中間表中的至少一個中間結(jié)果生成原始數(shù)據(jù)的統(tǒng)計結(jié)果,該第一預(yù)設(shè)周期可以是指第一時間周期(例如:1周、1個月等),也可以是指第一數(shù)量周期(例如:1000個原始數(shù)據(jù)、10000個原始數(shù)據(jù)等)。以第一預(yù)設(shè)周期為第一時間周期為例,中間表中的至少一個中間結(jié)果為統(tǒng)計在2016年6月每天的銷售數(shù)據(jù)(如表1所示),若需要統(tǒng)計2016年6月整體的銷售數(shù)據(jù),則可以從2016年6月每天的中間結(jié)果之中獲取,并經(jīng)過簡單的計算獲得2016年6月整體的銷售數(shù)據(jù)。以第一預(yù)設(shè)周期為第一數(shù)量周期為例,中間表中的至少一個中間結(jié)果為統(tǒng)計100個原始數(shù)據(jù)中的銷售數(shù)據(jù),若需要統(tǒng)計1000個原始數(shù)據(jù)的銷售數(shù)據(jù),則可以從10個中間結(jié)果中獲取,并經(jīng)過簡單的計算可以得到1000個原始數(shù)據(jù)的銷售數(shù)據(jù)。請參照圖2,本實施例中的步驟110進一步包括:步驟210,將原始數(shù)據(jù)轉(zhuǎn)換為多個維度的統(tǒng)計數(shù)據(jù)。具體地,根據(jù)原始數(shù)據(jù)統(tǒng)計出在各個不同統(tǒng)計條件下的統(tǒng)計結(jié)果,不同的數(shù)據(jù)類型和數(shù)據(jù)來源,具有不同的統(tǒng)計維度,并展示該多個維度的統(tǒng)計數(shù)據(jù)。例如,原始數(shù)據(jù)中的訂單數(shù)據(jù)可以至少包括訂單號,下單時間,用戶信息數(shù)據(jù)(包括收貨人的姓名、地址、聯(lián)系方式,支付方式,配送方式)、以及各種金額。再如,原始數(shù)據(jù)中的訂單的商品數(shù)據(jù)可以至少包括商品名稱、庫存量單位(StockKeepingUnit,SKU)、價格、顏色、尺寸等。示例性地,多個維度的統(tǒng)計數(shù)據(jù)可以是如表2所示的訂單數(shù)據(jù),以及表3所示的訂單商品數(shù)。表2表3商品ID商品名稱價格數(shù)量11NubiaZ9mini(黑色)1499112NubiaZ9經(jīng)典版(黑色)3499122Z9皮質(zhì)保護套(黑色)99113NubiaZ9Max(全網(wǎng)通版黑色)1999114NubiaMyPRAGUE(精英版白色)2499123My布拉格防震保護套(茶色)991在其他實施例中,訂單數(shù)據(jù)和訂單商品數(shù)的欄位和內(nèi)容也可以設(shè)置為其他內(nèi)容,本發(fā)明不作具體限制。步驟220,將所述多個維度的統(tǒng)計數(shù)據(jù)轉(zhuǎn)換為中間結(jié)果。在其他實施例中,還可以設(shè)置轉(zhuǎn)換成中間結(jié)果的第二預(yù)設(shè)周期。該第二預(yù)設(shè)周期與第一預(yù)設(shè)周期相對應(yīng),也就是說,若第一預(yù)設(shè)周期是指第一預(yù)設(shè)時間周期時,則第二預(yù)設(shè)周期也是第二預(yù)設(shè)時間周期;若第二預(yù)設(shè)周期是指第一預(yù)設(shè)數(shù)量周期時,則第二預(yù)設(shè)周期也是第二預(yù)設(shè)數(shù)量周期。進一步地,當(dāng)?shù)诙A(yù)設(shè)周期為第二預(yù)設(shè)時間周期時,則第二預(yù)設(shè)周期至少包括最小時間段、以及開始時間和結(jié)束時間。即,根據(jù)預(yù)設(shè)的最小時間段(例如:1天)、開始時間(例如:0點)和結(jié)束時間(24點),提前一天將多個維度的統(tǒng)計數(shù)據(jù)轉(zhuǎn)換為中間結(jié)果。進一步地,當(dāng)?shù)谝活A(yù)設(shè)周期為第一預(yù)設(shè)時間周期,相應(yīng)地,第二預(yù)設(shè)周期為第二預(yù)設(shè)時間周期時,則第二預(yù)設(shè)周期(例如:1天)小于第一預(yù)設(shè)周期(例如:1個月),且第二預(yù)設(shè)周期的時間(例如:在2016年6月2日轉(zhuǎn)換2016年6月1日的中間結(jié)果)早于第一預(yù)設(shè)周期的時間(例如:在2016年7月1日之后獲取2016年6月每天的中間結(jié)果)。當(dāng)?shù)诙A(yù)設(shè)周期為第二預(yù)設(shè)數(shù)量周期時,則第二預(yù)設(shè)周期至少包括最小數(shù)量單位。即,根據(jù)預(yù)設(shè)的最小數(shù)量單位(例如:100個原始數(shù)據(jù)),將100份多個維度的統(tǒng)計數(shù)據(jù)轉(zhuǎn)換為中間結(jié)果。本實施例的數(shù)據(jù)統(tǒng)計方法,將原始數(shù)據(jù)轉(zhuǎn)換為中間結(jié)果,將中間結(jié)果保存至中間表,查詢所述中間表,利用中間表中的至少一個中間結(jié)果生成原始數(shù)據(jù)的統(tǒng)計結(jié)果。通過將原始數(shù)據(jù)先行轉(zhuǎn)換為接近最終結(jié)果的中間結(jié)果,保存到中間表,在以后進行統(tǒng)計查詢的時候,從中間表獲取數(shù)據(jù),進行少量計算,最后展示結(jié)果。通過提前計算,使用中間表的方式,減少了從查詢到輸出結(jié)果的計算量,從而減少計算時間,加快統(tǒng)計結(jié)果的輸出,提高了效率,同時也大大減少了內(nèi)存的占用。實施例二請參照圖3,為本發(fā)明另一較佳實施例提供的數(shù)據(jù)統(tǒng)計方法的流程示意圖。所述數(shù)據(jù)統(tǒng)計方法包括:步驟310,將原始數(shù)據(jù)轉(zhuǎn)換為中間結(jié)果。具體地,步驟310的內(nèi)容與第一實施例中步驟110的內(nèi)容相同,對于相同的內(nèi)容,本發(fā)明在此不再贅述。步驟320,判斷所述中間結(jié)果的數(shù)據(jù)計算量是否達到預(yù)設(shè)的計算量閾值,若是,則進入步驟330,若否,則進入步驟340。具體地,預(yù)設(shè)計算量閾值,在將原始數(shù)據(jù)轉(zhuǎn)換為中間結(jié)果時,則判斷中間結(jié)果的數(shù)據(jù)計算量是否達到預(yù)設(shè)的計算量閾值,若是,則進入步驟330,若否,則進入步驟350。步驟330,將中間結(jié)果劃分為多個層的中間結(jié)果。在其他實施例中,還可以設(shè)置第三預(yù)設(shè)周期。具體地,第三預(yù)設(shè)周期與第二預(yù)設(shè)周期相對應(yīng),且第二預(yù)設(shè)周期小于第二預(yù)設(shè)周期。以第二預(yù)設(shè)周期為第二預(yù)設(shè)時間周期時,相應(yīng)地,第三預(yù)設(shè)周期為第三預(yù)設(shè)時間周期,若第二預(yù)設(shè)時間周期為1天,則設(shè)置第三預(yù)設(shè)時間周期為1小時。以第二預(yù)設(shè)周期為第二預(yù)設(shè)數(shù)量周期時,相應(yīng)地,第三預(yù)設(shè)周期為第三預(yù)設(shè)數(shù)量周期,若第二預(yù)設(shè)數(shù)量周期為100個,則設(shè)置第三預(yù)設(shè)數(shù)量周期為10個。具體地,根據(jù)設(shè)置的第三預(yù)設(shè)周期,分層次地計算中間結(jié)果,從而將中間結(jié)果劃分為多個層的中間結(jié)果,第一層的中間結(jié)果由所述原始數(shù)據(jù)轉(zhuǎn)換得到,下一層的中間結(jié)果由上一層的中間結(jié)果轉(zhuǎn)換得到。示例性地,若判斷計算1天原始數(shù)據(jù)的中間結(jié)果的計算量大于預(yù)設(shè)的計算量閾值,則設(shè)置第三預(yù)設(shè)周期為1個小時。第一層中間結(jié)果為分別計算24個小時的原始數(shù)據(jù)。第二層中間結(jié)果為根據(jù)24個第一層中間結(jié)果進行計算得出1天的原始數(shù)據(jù)。類似地,還可以計算第三層中間結(jié)果、第四層中間結(jié)果等,本實施例不一一舉例說明。進一步地,針對每一層中間結(jié)果,可以設(shè)置相同或者不相同的預(yù)設(shè)周期,以將原始數(shù)據(jù)轉(zhuǎn)換為層層中間結(jié)果。進一步地,在計算至少一個第二層中間結(jié)果時,還可以重復(fù)步驟320以判斷至少一個第二層中間結(jié)果的數(shù)據(jù)計算量是否達到預(yù)設(shè)的計算量閾值,并根據(jù)判斷結(jié)果進入步驟330或者進入步驟340,從而進一步減少計算量。步驟340,將所述中間結(jié)果保存至中間表。具體地,將最后一層的中間結(jié)果保存至中間表。步驟350,查詢所述中間表,利用所述中間表中的至少一個中間結(jié)果生成所述原始數(shù)據(jù)的統(tǒng)計結(jié)果。上述步驟340-步驟350的內(nèi)容與第一實施例中步驟120-步驟130的內(nèi)容相同,對于相同的內(nèi)容,本發(fā)明在此不再贅述。更具體地,按照第一預(yù)設(shè)周期從中間表中的至少一個第二層中間結(jié)果中生成原始數(shù)據(jù)的統(tǒng)計結(jié)果。本實施例的數(shù)據(jù)統(tǒng)計方法,當(dāng)多個終端的原始數(shù)據(jù)所轉(zhuǎn)換的中間結(jié)果的計算量過大,可以增加中間結(jié)果的層次,且下一個層次的結(jié)果使用上一個層次的中間結(jié)果進行計算得出,并通過層層計算中間結(jié)果,進而得到更為準確的最終結(jié)果,減少了計算量,節(jié)約了計算時間,并加快了統(tǒng)計結(jié)果的輸出,提高了效率。實施例三本發(fā)明進一步提供一種數(shù)據(jù)統(tǒng)計裝置。參照圖4,圖4為本發(fā)明第三實施例提供的數(shù)據(jù)統(tǒng)計裝置的模塊示意圖。本實施例一種數(shù)據(jù)統(tǒng)計裝置,所述裝置包括:數(shù)據(jù)轉(zhuǎn)換模塊410,用于將原始數(shù)據(jù)轉(zhuǎn)換為中間結(jié)果。具體地,統(tǒng)計來自于各個終端的原始數(shù)據(jù),該原始數(shù)據(jù)是指電商系統(tǒng)中的訂單數(shù)據(jù)和訂單的商品數(shù)據(jù),數(shù)據(jù)轉(zhuǎn)換模塊410將原始的訂單數(shù)據(jù)和訂單的商品數(shù)據(jù)轉(zhuǎn)換為中間結(jié)果。終端可以以各種形式來實施。例如,本發(fā)明中描述的終端可以包括諸如移動電話、智能電話、筆記本電腦、數(shù)字廣播接收器、PDA(個人數(shù)字助理)、PAD(平板電腦)、PMP(便攜式多媒體播放器)、導(dǎo)航裝置等等的移動終端以及諸如數(shù)字TV、臺式計算機等等的固定終端。進一步地,中間結(jié)果可以顯示每個商品每天的數(shù)據(jù),后續(xù)可以查詢某天所有的商品統(tǒng)計信息,也可以查詢某個商品某段時間的統(tǒng)計數(shù)據(jù)。進一步地,該中間結(jié)果至少包括多個終端在不同時間段的數(shù)據(jù)參數(shù)的統(tǒng)計結(jié)果。該數(shù)據(jù)參數(shù)可以根據(jù)實際使用進行自定義,例如,“訂單來源-時間”的統(tǒng)計,具體包括每個時間段(1個小時)內(nèi)的銷售總額、訂單數(shù)和商品數(shù)。示例性地,中間結(jié)果可以如表1所示。表1表1代表商品11在2016年6月11日的統(tǒng)計結(jié)果,包括來源于移動終端在0點-1點,...,23點-24點內(nèi)的每個時間段的“訂單來源-時間”和“用戶數(shù)-時間”的統(tǒng)計。在其他實施例中,根據(jù)實際使用需要,中間結(jié)果也可以設(shè)置為代表“地區(qū)-時間”、“地區(qū)-用戶數(shù)”、“支付方式-用戶數(shù)”的統(tǒng)計。進一步地,在“訂單來源-時間”的統(tǒng)計中,除了“總額”、“訂單數(shù)”、“商品數(shù)”之外,還可以根據(jù)實際使用需要增加其它結(jié)果,例如“支付總額”、“支付商品數(shù)”等。進一步地,在用戶數(shù)-時間”的統(tǒng)計中,某個時間段內(nèi)的人數(shù)可以先統(tǒng)計為用戶的ID列表,后續(xù)再計算人數(shù)。進一步地,表1中記錄的是商品11一天之內(nèi)的銷售統(tǒng)計數(shù)據(jù),還可以設(shè)置為統(tǒng)計一天之內(nèi)所有商品的銷售統(tǒng)計信息。進一步地,表1中記錄的是商品11一天之內(nèi)的銷售統(tǒng)計數(shù)據(jù),還可以設(shè)置為統(tǒng)計某個商品或者所有商品在一天之內(nèi)某個時間段內(nèi)的銷售統(tǒng)計數(shù)據(jù)。保存模塊420,用于將所述中間結(jié)果保存至中間表。具體地,中間表包括至少一個由原始數(shù)據(jù)轉(zhuǎn)換的中間結(jié)果。統(tǒng)計模塊430,用于查詢所述中間表,利用所述中間表中的至少一個中間結(jié)果生成所述原始數(shù)據(jù)的統(tǒng)計結(jié)果。具體地,統(tǒng)計模塊430在進行數(shù)據(jù)統(tǒng)計時,響應(yīng)于用戶輸入的指令可以利用中間表中的至少一個中間結(jié)果進行統(tǒng)計計算,并得到原始數(shù)據(jù)的統(tǒng)計結(jié)果??蛇x地,可以按照第一預(yù)設(shè)周期從中間表中的至少一個中間結(jié)果生成原始數(shù)據(jù)的統(tǒng)計結(jié)果,該第一預(yù)設(shè)周期可以是指第一時間周期(例如:1周、1個月等),也可以是指第一數(shù)量周期(例如:1000個原始數(shù)據(jù)、10000個原始數(shù)據(jù)等)。以第一預(yù)設(shè)周期為第一時間周期為例,中間表中的至少一個中間結(jié)果為統(tǒng)計在2016年6月每天的銷售數(shù)據(jù)(如表1所示),若需要統(tǒng)計2016年6月整體的銷售數(shù)據(jù),則可以從2016年6月每天的中間結(jié)果之中獲取,并經(jīng)過簡單的計算獲得2016年6月整體的銷售數(shù)據(jù)。以第一預(yù)設(shè)周期為第一數(shù)量周期為例,中間表中的至少一個中間結(jié)果為統(tǒng)計100個原始數(shù)據(jù)中的銷售數(shù)據(jù),若需要統(tǒng)計1000個原始數(shù)據(jù)的銷售數(shù)據(jù),則可以從10個中間結(jié)果中獲取,并經(jīng)過簡單的計算可以得到1000個原始數(shù)據(jù)的銷售數(shù)據(jù)。請參照圖5,本實施例中的數(shù)據(jù)轉(zhuǎn)換模塊410進一步包括:轉(zhuǎn)換單元510,用于將原始數(shù)據(jù)轉(zhuǎn)換為多個維度的統(tǒng)計數(shù)據(jù)。具體地,轉(zhuǎn)換單元510根據(jù)原始數(shù)據(jù)統(tǒng)計出在各個不同統(tǒng)計條件下的統(tǒng)計結(jié)果,不同的數(shù)據(jù)類型和數(shù)據(jù)來源,具有不同的統(tǒng)計維度,并展示該多個維度的統(tǒng)計數(shù)據(jù)。例如,原始數(shù)據(jù)中的訂單數(shù)據(jù)可以至少包括訂單號,下單時間,用戶信息數(shù)據(jù)(包括收貨人的姓名、地址、聯(lián)系方式,支付方式,配送方式)、以及各種金額。再如,原始數(shù)據(jù)中的訂單的商品數(shù)據(jù)可以至少包括商品名稱、庫存量單位(StockKeepingUnit,SKU)、價格、顏色、尺寸等。示例性地,轉(zhuǎn)換單元510轉(zhuǎn)換的多個維度的統(tǒng)計數(shù)據(jù)可以是如表2所示的訂單數(shù)據(jù),以及表3所示的訂單商品數(shù)。表2表3商品ID商品名稱價格數(shù)量11NubiaZ9mini(黑色)1499112NubiaZ9經(jīng)典版(黑色)3499122Z9皮質(zhì)保護套(黑色)99113NubiaZ9Max(全網(wǎng)通版黑色)1999114NubiaMyPRAGUE(精英版白色)2499123My布拉格防震保護套(茶色)991在其他實施例中,訂單數(shù)據(jù)和訂單商品數(shù)的欄位和內(nèi)容也可以設(shè)置為其他內(nèi)容,本發(fā)明不作具體限制。中間結(jié)果轉(zhuǎn)換單元530,用于將所述多個維度的統(tǒng)計數(shù)據(jù)轉(zhuǎn)換為中間結(jié)果。在其他實施例中,還可以設(shè)置轉(zhuǎn)換成中間結(jié)果的第二預(yù)設(shè)周期。該第二預(yù)設(shè)周期與第一預(yù)設(shè)周期相對應(yīng),也就是說,若第一預(yù)設(shè)周期是指第一預(yù)設(shè)時間周期時,則第二預(yù)設(shè)周期也是第二預(yù)設(shè)時間周期;若第二預(yù)設(shè)周期是指第一預(yù)設(shè)數(shù)量周期時,則第二預(yù)設(shè)周期也是第二預(yù)設(shè)數(shù)量周期。進一步地,當(dāng)?shù)诙A(yù)設(shè)周期為第二預(yù)設(shè)時間周期時,則第二預(yù)設(shè)周期至少包括最小時間段、以及開始時間和結(jié)束時間。即,根據(jù)預(yù)設(shè)的最小時間段(例如:1天)、開始時間(例如:0點)和結(jié)束時間(24點),中間結(jié)果轉(zhuǎn)換單元530提前一天將多個維度的統(tǒng)計數(shù)據(jù)轉(zhuǎn)換為中間結(jié)果。進一步地,當(dāng)?shù)谝活A(yù)設(shè)周期為第一預(yù)設(shè)時間周期,相應(yīng)地,第二預(yù)設(shè)周期為第二預(yù)設(shè)時間周期時,則第二預(yù)設(shè)周期(例如:1天)小于第一預(yù)設(shè)周期(例如:1個月),且第二預(yù)設(shè)周期的時間(例如:在2016年6月2日轉(zhuǎn)換2016年6月1日的中間結(jié)果)早于第一預(yù)設(shè)周期的時間(例如:在2016年7月1日之后獲取2016年6月每天的中間結(jié)果)。當(dāng)?shù)诙A(yù)設(shè)周期為第二預(yù)設(shè)數(shù)量周期時,則第二預(yù)設(shè)周期至少包括最小數(shù)量單位。即,根據(jù)預(yù)設(shè)的最小數(shù)量單位(例如:100個原始數(shù)據(jù)),將100份多個維度的統(tǒng)計數(shù)據(jù)轉(zhuǎn)換為中間結(jié)果。本實施例的數(shù)據(jù)統(tǒng)計裝置,數(shù)據(jù)轉(zhuǎn)換模塊410將原始數(shù)據(jù)轉(zhuǎn)換為中間結(jié)果,保存模塊420將中間結(jié)果保存至中間表,統(tǒng)計模塊430查詢所述中間表,利用中間表中的至少一個中間結(jié)果生成原始數(shù)據(jù)的統(tǒng)計結(jié)果。通過將原始數(shù)據(jù)先行轉(zhuǎn)換為接近最終結(jié)果的中間結(jié)果,保存到中間表,在以后進行統(tǒng)計查詢的時候,從中間表獲取數(shù)據(jù),進行少量計算,最后展示結(jié)果。通過提前計算,使用中間表的方式,減少了從查詢到輸出結(jié)果的計算量,從而減少計算時間,加快統(tǒng)計結(jié)果的輸出,提高了效率,同時也大大減少了內(nèi)存的占用。實施例四請參照圖6,本發(fā)明第四實施例進一步提供一種數(shù)據(jù)統(tǒng)計裝置。在第四實施例中,所述數(shù)據(jù)統(tǒng)計裝置是在第三實施例的基礎(chǔ)上所作出的進一步改進,區(qū)別僅在于,該裝置還包括:判斷模塊610,用于判斷所述中間結(jié)果的數(shù)據(jù)計算量是否達到預(yù)設(shè)的計算量閾值。具體地,預(yù)設(shè)計算量閾值,在將原始數(shù)據(jù)轉(zhuǎn)換為中間結(jié)果時,判斷模塊610判斷中間結(jié)果的數(shù)據(jù)計算量是否達到預(yù)設(shè)的計算量閾值。劃分模塊630,用于將中間結(jié)果劃分為多個層的中間結(jié)果。在其他實施例中,還可以設(shè)置第三預(yù)設(shè)周期。具體地,第三預(yù)設(shè)周期與第二預(yù)設(shè)周期相對應(yīng),且第二預(yù)設(shè)周期小于第二預(yù)設(shè)周期。以第二預(yù)設(shè)周期為第二預(yù)設(shè)時間周期時,相應(yīng)地,第三預(yù)設(shè)周期為第三預(yù)設(shè)時間周期,若第二預(yù)設(shè)時間周期為1天,則設(shè)置第三預(yù)設(shè)時間周期為1小時。以第二預(yù)設(shè)周期為第二預(yù)設(shè)數(shù)量周期時,相應(yīng)地,第三預(yù)設(shè)周期為第三預(yù)設(shè)數(shù)量周期,若第二預(yù)設(shè)數(shù)量周期為100個,則設(shè)置第三預(yù)設(shè)數(shù)量周期為10個。具體地,根據(jù)設(shè)置的第三預(yù)設(shè)周期,劃分模塊630分層次地計算中間結(jié)果,從而將中間結(jié)果劃分為多個層的中間結(jié)果,第一層的中間結(jié)果由所述原始數(shù)據(jù)轉(zhuǎn)換得到,下一層的中間結(jié)果由上一層的中間結(jié)果轉(zhuǎn)換得到。示例性地,若判斷計算1天原始數(shù)據(jù)的中間結(jié)果的計算量大于預(yù)設(shè)的計算量閾值,則設(shè)置模塊620設(shè)置第三預(yù)設(shè)周期為1個小時。劃分模塊630劃分的第一層中間結(jié)果為分別計算24個小時的原始數(shù)據(jù)。劃分模塊630劃分的第二層中間結(jié)果為根據(jù)24個第一層中間結(jié)果進行計算得出1天的原始數(shù)據(jù)。類似地,還可以計算第三層中間結(jié)果、第四層中間結(jié)果等,本實施例不一一舉例說明。進一步地,針對劃分模塊630劃分每一層中間結(jié)果,設(shè)置模塊620可以設(shè)置相同或者不相同的預(yù)設(shè)周期,以將原始數(shù)據(jù)轉(zhuǎn)換為層層中間結(jié)果。進一步地,在劃分模塊630計算至少一個第二層中間結(jié)果時,判斷模塊610還可以重復(fù)判斷至少一個第二層中間結(jié)果的數(shù)據(jù)計算量是否達到預(yù)設(shè)的計算量閾值,并根據(jù)判斷結(jié)果觸發(fā)設(shè)置模塊620或者觸發(fā)保存模塊將中間結(jié)果保存至中間表,從而進一步減少計算量。相應(yīng)地,保存模塊還用于最后一層的中間結(jié)果保存至中間表。本實施例的數(shù)據(jù)統(tǒng)計裝置,當(dāng)判斷模塊610判定多個終端的原始數(shù)據(jù)所轉(zhuǎn)換的中間結(jié)果的計算量過大,劃分模塊630增加中間結(jié)果的層次,且下一個層次的結(jié)果使用上一個層次的中間結(jié)果進行計算得出,并通過層層計算中間結(jié)果,進而得到更為準確的最終結(jié)果,減少了計算量,節(jié)約了計算時間,并加快了統(tǒng)計結(jié)果的輸出,提高了效率。需要說明的是,在本文中,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機,計算機,服務(wù)器,空調(diào)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關(guān)的
技術(shù)領(lǐng)域:
,均同理包括在本發(fā)明的專利保護范圍內(nèi)。當(dāng)前第1頁1 2 3