一種報表生成方法、裝置和系統的制作方法
【技術領域】
[0001]本發明涉及通信技術領域,具體涉及一種報表生成方法、裝置和系統。
【背景技術】
[0002]大數據的背景下,在線廣告推薦業務已經成為數據變現的重要途徑。在線廣告業務主要包括廣告投放系統、廣告計算系統及廣告報表系統三部分,其中廣告報表系統負責展示廣告的曝光、點擊及扣費等數據,可以反映出廣告的實時投放效果,因此對于實時性、準確性與可靠性有著十分嚴格的要求。
[0003]現有的報表生成方案一般分為實時報表方案和離線報表方案。其中,實時報表方案一般通過流式計算系統對數據進行實時計算,然后將計算結果直接寫入報表系統的數據庫,并進行展示。而離線報表方案則一般通過數據接入系統將數據直接接入離線數據分析系統中,進行離線計算,完成之后將計算結果導出到報表展示系統中以進行展示。
[0004]在對現有技術的研宄和實踐過程中,本發明的發明人發現,雖然實時報表的實時性較高,但是,由于采用的是流式計算系統,其所有數據都保存在內存中,因此,一旦有宕機情況發生,內存數據便會全部丟失,導致計算結果不準確,可靠性不高;而離線方案雖然可靠性和準確性好,但是計算耗時較多,所以數據處理效率也較低。
【發明內容】
[0005]本發明實施例提供一種報表生成方法、裝置和系統,可以在保證其可靠性和準確性的前提下,提高其數據處理效率,實現實時性。
[0006]本發明實施例提供一種報表生成方法,包括:
[0007]獲取用戶對推廣信息的實時操作數據;
[0008]將所述實時操作數據保存至離線數據中,并對當前運行環境是否存在故障進行監測;
[0009]若不存在故障,則根據所述實時操作數據計算所述推廣信息的投放效果數據,得到實時投放效果數據;
[0010]若存在故障,則根據所述離線數據計算所述推廣信息的投放效果數據得到離線投放效果數據;
[0011 ] 根據所述實時投放效果數據或離線投放效果數據生成報表。
[0012]相應的,本發明實施例還提供一種報表生成裝置,包括:
[0013]獲取單元,用于獲取用戶對推廣信息的實時操作數據;
[0014]監測單元,用于將所述實時操作數據保存至離線數據中,并對當前運行環境是否存在故障進行監測;
[0015]實時計算單元,用于在不存在故障時,根據所述實時操作數據計算所述推廣信息的投放效果數據,得到實時投放效果數據;
[0016]離線計算單元,用于在存在故障時,根據所述離線數據計算所述推廣信息的投放效果數據得到離線投放效果數據;
[0017]生成單元,用于根據所述實時投放效果數據或離線投放效果數據生成報表。
[0018]此外,本發明實施例還提供一種信息推薦系統,包括本發明實施例提供的任一種報表生成裝置。
[0019]本發明實施例采用獲取用戶對推廣信息如廣告的實時操作數據,將該實時操作數據保存至離線數據中,并對當前運行環境是否存在故障進行監測,若不存在故障,則根據該實時操作數據計算該推廣信息的投放效果數據,得到實時投放效果數據;反之,若存在故障,則根據該離線數據計算該推廣信息的投放效果數據得到離線投放效果數據,然后根據該實時投放效果數據或離線投放效果數據生成報表;由于在運行環境正常的情況下,一般可以提供正確可靠的數據,因此,此時采用實時計算的方式來得到報表,不僅可以保證數據的實時性,提高數據處理效率,而且,也可以保證其正確性和可靠性;而在運行環境存在故障的情況下,本方案又可以以離線計算的方式作為補充,以保證數據的正確性和可靠性,因此,相對于現有方案而言,本方案可以更為靈活地根據當前的運行環境選擇最合適的處理方式來生成報表,不僅可以保證可靠性和準確性,而且可以提高其數據處理效率,實現實時性。
【附圖說明】
[0020]為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0021]圖1a是本發明實施例提供的報表生成方法的應用場景示意圖;
[0022]圖1b是本發明實施例提供的報表生成方法的流程圖;
[0023]圖2a是本發明實施例中廣告推薦系統的結構示意圖;
[0024]圖2b是本發明實施例提供的報表生成方法的另一流程圖;
[0025]圖3是本發明實施例提供的報表生成裝置的結構示意圖。
【具體實施方式】
[0026]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0027]本發明實施例提供一種報表生成方法、裝置和系統。
[0028]參見圖la,該信息推薦系統可以包括本發明實施例所提供的任一種報表生成裝置;其中,該報表生成裝置則主要基于用戶對推廣信息如廣告的操作,計算各個推廣信息所對應的投放效果數據,比如點擊率、瀏覽量、下載量和/或扣費等,并根據這些投放效果數據生成報表;比如,具體可以獲取用戶對推廣信息的實時操作數據,將該實時操作數據保存至離線數據中,并對當前運行環境是否存在故障進行監測,若不存在故障,則根據該實時操作數據計算該推廣信息的投放效果數據,得到實時投放效果數據;若存在故障,則根據該離線數據計算該推廣信息的投放效果數據得到離線投放效果數據;根據該實時投放效果數據或離線投放效果數據生成報表。
[0029]此外,參見圖la,該信息推薦系統還可以其他裝置,比如信息投放裝置和報表展示裝置等(圖1a僅示出信息投放裝置和報表展示裝置);其中,信息投放裝置主要用于對需要進行推廣的信息進行投放,比如將這些推廣信息如廣告等發送給各個用戶終端,等等;而報表展示裝置則是負責對生成的報表進行展示,比如發送給廣告主終端,以供廣告主查看,等等。
[0030]以下將該報表生成方法、裝置和系統進行詳細說明。
[0031]實施例一、
[0032]本實施例將從報表生成裝置的角度進行描述,該報表生成裝置具體可以信息推薦系統中,該信息推薦系統具體可以集成在服務器等設備中。
[0033]一種報表生成方法,包括:獲取用戶對推廣信息的實時操作數據;將該實時操作數據保存至離線數據中,并對當前運行環境是否存在故障進行監測;若不存在故障,則根據該實時操作數據計算該推廣信息的投放效果數據,得到實時投放效果數據;若存在故障,則根據該離線數據計算該推廣信息的投放效果數據得到離線投放效果數據;根據該實時投放效果數據或離線投放效果數據生成報表。
[0034]如圖1b所示,該報表生成方法的具體流程可以如下:
[0035]101、獲取用戶對推廣信息的實時操作數據。
[0036]例如,具體可以實時獲取用戶對該推廣信息的各種操作信息,比如用戶瀏覽、點擊和/或下載該推廣信息時的操作信息,等等,然后根據該操作信息生成實時操作數據。
[0037]其中,推廣信息指的是該信息推薦系統進行投放的信息,比如廣告等。
[0038]102、將該實時操作數據保存至離線數據中,并對當前運行環境是否存在故障進行監測,若不存在故障,則執行步驟103 ;反正,若存在故障,則執行步驟104。
[0039]例如,具體可以將該實時操作數據保存至數據倉庫,如騰訊分布式數據倉庫(TDW,Tencent distributed Data Warehouse)中,該 TDW 基于 hadoop (—種分布式系統基礎架構)架構,可以支撐海量數據的存儲與離線計算。
[0040]其中,當前運行環境存在故障指的是當前運行環境出現宕機或網絡故障等問題,對當前運行環境是否存在故障進行監測的方法可以有多種,比如,可以調用預置的監測進程,然后執行該監測進程,以對當前運行環境是否存在故障進行監測,等等,在此不再贅述。
[0041]103、在確定當前運行環境不存在故障時,根據該實時操作數據計算該推廣信息的投放效果數據,得到實時投放效果數據。
[0042]其中,投放效果數據可以包括該推廣信息的瀏覽量、點擊率、下載量和/或扣費等數據,即步驟“根據該實時操作數據計算該推