一種用戶激活數(shù)的統(tǒng)計方法及裝置制造方法【專利摘要】本發(fā)明的實施例提供一種用戶激活數(shù)的統(tǒng)計方法及裝置,涉及通信領(lǐng)域,能夠?qū)崟r保存用戶訪問日志,保證時間最早的訪問日志有效,減少了需要進行統(tǒng)計的原始數(shù)據(jù)量,提高了運行效率。該方法包括:獲取預(yù)設(shè)時間段內(nèi)記錄的用戶訪問日志;在預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,判斷所述用戶訪問日志中的各個用戶標(biāo)識是否已保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中;若已保存,則不將已保存的用戶標(biāo)識對應(yīng)的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中;若未保存,則將未保存的用戶標(biāo)識對應(yīng)的滿足預(yù)設(shè)條件的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中;根據(jù)所述預(yù)設(shè)時間段內(nèi)所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中新增的用戶訪問日志的數(shù)量,統(tǒng)計用戶激活數(shù)。【專利說明】一種用戶激活數(shù)的統(tǒng)計方法及裝置【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明涉及通信領(lǐng)域,尤其涉及一種用戶激活數(shù)的統(tǒng)計方法及裝置?!?br>背景技術(shù):
】[0002]平臺能直接或間接為用戶提供各種服務(wù),用戶激活數(shù),用戶活躍度,用戶在線時長等都可以作為評估一個平臺的指標(biāo)。其中,平臺用戶激活是指用戶第一次使用平臺的行為,用戶激活數(shù)是評價平臺比較重要的一個指標(biāo),它的統(tǒng)計對平臺的價值評估有著重要指導(dǎo)意義。[0003]在現(xiàn)有技術(shù)中,對于沒有直接提供用戶激活數(shù)的平臺,在統(tǒng)計用戶激活數(shù)指標(biāo)時通常需要記錄用戶的所有活動日志,然后根據(jù)平臺上線到現(xiàn)在的所有用戶日志進行統(tǒng)計分析,找出哪些用戶是本日、本周、本月新增加的用戶并進行統(tǒng)計。[0004]但是,由于無法確定用戶在某個時間點的活動是用戶在該平臺上的第一次訪問,隨著時間推移及用戶數(shù)和用戶活動量的增長,原始數(shù)據(jù)會越來越多,導(dǎo)致統(tǒng)計的性能則越來越低?!?br/>發(fā)明內(nèi)容】[0005]本發(fā)明的實施例提供了一種用戶激活數(shù)的統(tǒng)計方法及裝置,能夠?qū)崟r保存用戶訪問日志,同時保證時間最早的訪問日志有效,其他訪問日志無效或不進行保存,減少了需要進行統(tǒng)計的原始數(shù)據(jù)量,提高了運行效率。[0006]為達到上述目的,本發(fā)明的實施例采用如下技術(shù)方案:[0007]本發(fā)明實施例提供一種用戶激活數(shù)的統(tǒng)計方法,包括:[0008]獲取預(yù)設(shè)時間段內(nèi)記錄的用戶訪問日志,所述用戶訪問日志至少包括用戶標(biāo)識,以及與各個用戶標(biāo)識對應(yīng)的訪問內(nèi)容;[0009]在預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,判斷所述用戶訪問日志中的各個用戶標(biāo)識是否已保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中;[0010]若已保存,則不將已保存的用戶標(biāo)識對應(yīng)的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中;[0011]若未保存,則將未保存的用戶標(biāo)識對應(yīng)的滿足預(yù)設(shè)條件的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中;[0012]根據(jù)所述預(yù)設(shè)時間段內(nèi)所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中新增的用戶訪問日志的數(shù)量,統(tǒng)計用戶激活數(shù)。[0013]生成所述預(yù)設(shè)的用戶激活統(tǒng)計表的方法,包括:[0014]讀取已記錄的所有的用戶訪問日志;[0015]確定對應(yīng)于各個用戶標(biāo)識的滿足預(yù)設(shè)條件的用戶訪問日志;[0016]保存滿足所述預(yù)設(shè)條件的用戶訪問日志,以生成包含有滿足所述預(yù)設(shè)條件的用戶訪問日志的用戶激活統(tǒng)計表。[0017]所述預(yù)設(shè)條件為對應(yīng)于各個用戶標(biāo)識的訪問日志中訪問時間為最早。[0018]所述不將已保存的用戶標(biāo)識對應(yīng)的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,具體包括:[0019]若已保存用戶訪問日志的數(shù)量小于預(yù)設(shè)門限值,則將所述已保存的用戶標(biāo)識對應(yīng)的用戶訪問日志保存至預(yù)設(shè)的用戶訪問統(tǒng)計表中;[0020]若已保存用戶訪問日志的數(shù)量等于預(yù)設(shè)門限值,則刪除所述已保存的用戶標(biāo)識對應(yīng)的用戶訪問日志。[0021]生成所述預(yù)設(shè)的用戶訪問統(tǒng)計表的方法,包括:[0022]讀取已記錄的所有的用戶訪問日志;[0023]確定對應(yīng)于各個用戶標(biāo)識的不滿足預(yù)設(shè)條件的用戶訪問日志;[0024]按照預(yù)設(shè)規(guī)則,保存所述不滿足預(yù)設(shè)條件的用戶訪問日志,以生成包含有所述不滿足預(yù)設(shè)條件的用戶訪問日志的用戶訪問統(tǒng)計表。[0025]所述將未保存的用戶標(biāo)識對應(yīng)的滿足預(yù)設(shè)條件的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,具體包括:[0026]確定所述未保存的用戶標(biāo)識對應(yīng)的用戶訪問日志中訪問時間為最早的用戶訪問曰志;[0027]將所述訪問為時間最早的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中。[0028]本發(fā)明實施例提供的一種控制器,包括:[0029]獲取單元,用于獲取預(yù)設(shè)時間段內(nèi)記錄的用戶訪問日志,所述用戶訪問日志至少包括用戶標(biāo)識,以及與各個用戶標(biāo)識對應(yīng)的訪問內(nèi)容;[0030]處理單元,用于在預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,判斷所述用戶訪問日志中的各個用戶標(biāo)識是否已保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中;若已保存,則不將已保存的用戶標(biāo)識對應(yīng)的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中;若未保存,則將未保存的用戶標(biāo)識對應(yīng)的滿足預(yù)設(shè)條件的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中;根據(jù)所述預(yù)設(shè)時間段內(nèi)所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中新增的用戶訪問日志的數(shù)量,統(tǒng)計用戶激活數(shù)。[0031]所述處理單元,用于讀取已記錄的所有的用戶訪問日志;確定對應(yīng)于各個用戶標(biāo)識的滿足預(yù)設(shè)條件的用戶訪問日志;保存滿足所述預(yù)設(shè)條件的用戶訪問日志,以生成包含有滿足所述預(yù)設(shè)條件的用戶訪問日志的用戶激活統(tǒng)計表。[0032]所述處理單元包括判斷模塊及存儲模塊;[0033]所述判斷模塊,用于在預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,判斷所述用戶訪問日志中的各個用戶標(biāo)識是否已保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中;[0034]所述存儲模塊,用于將未保存的用戶標(biāo)識對應(yīng)的滿足預(yù)設(shè)條件的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中。[0035]所述處理單元將未保存的用戶標(biāo)識對應(yīng)的滿足預(yù)設(shè)條件的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,具體包括:[0036]確定所述未保存的用戶標(biāo)識對應(yīng)的用戶訪問日志中訪問時間為最早的用戶訪問曰志;[0037]將所述訪問為時間最早的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中。[0038]本發(fā)明提供了一種用戶激活數(shù)的統(tǒng)計方法及裝置,平臺控制器獲取預(yù)設(shè)時間段內(nèi)記錄的用戶訪問日志,然后在預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,判斷用戶訪問日志中的各個用戶標(biāo)識是否已保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,若已保存,則平臺控制器不將已保存的用戶標(biāo)識對應(yīng)的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,若未保存,則平臺控制器將未保存的用戶標(biāo)識對應(yīng)的滿足預(yù)設(shè)條件的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,最后,平臺控制器根據(jù)預(yù)設(shè)時間段內(nèi)預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中新增的用戶訪問日志的數(shù)量,統(tǒng)計用戶激活數(shù)。通過該方案,平臺控制器能夠?qū)崟r保存用戶訪問日志,同時保證時間最早的訪問日志有效,其他訪問日志無效或不進行保存,減少了需要進行統(tǒng)計的原始數(shù)據(jù)量,提高了運行效率?!緦@綀D】【附圖說明】[0039]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。[0040]圖1為本發(fā)明實施例的用戶激活數(shù)的統(tǒng)計方法的流程示意圖一;[0041]圖2為本發(fā)明實施例的用戶激活數(shù)的統(tǒng)計方法的流程示意圖二;[0042]圖3為本發(fā)明實施例的控制器的結(jié)構(gòu)示意圖一;[0043]圖4為本發(fā)明實施例的控制器的結(jié)構(gòu)示意圖二。【具體實施方式】[0044]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。[0045]本文描述的各種技術(shù)只適合平臺不提供用戶激活的具體事件,平臺只能提供用戶的訪問日志作為原始數(shù)據(jù)。[0046]保存用戶訪問日志的存儲系統(tǒng),可以是HBase,也可以是支持版本(version)的其他存儲系統(tǒng)。其中,HBase是一個分布式的、面向列的開源數(shù)據(jù)庫,它不同于一般的關(guān)系數(shù)據(jù)庫,它是一個適合于非結(jié)構(gòu)化數(shù)據(jù)存儲的數(shù)據(jù)庫,是基于列的而不是基于行的模式?,F(xiàn)有技術(shù)中,Bigtable是一個疏松的分布式的持久的多維排序的映射(map),這個map被行鍵,列鍵,和時間戳索引。HBase使用和Bigtable非常相同的數(shù)據(jù)模型,用戶存儲數(shù)據(jù)行在一個表里,一個數(shù)據(jù)行擁有一個可選擇的鍵和任意數(shù)量的列,表是疏松的存儲的,因此用戶可以給行定義各種不同的列。HBase通過行和列確定一個存貯單元,每個存貯單元都保存著同一份數(shù)據(jù)的多個版本,版本通過時間戳來索引。每個存貯單元中,不同版本的數(shù)據(jù)按照時間倒序排序,即最新的數(shù)據(jù)排在最前面。一般的應(yīng)用程序只是簡單(不通過時間戳)的請求一個單元的數(shù)據(jù)。在這種條件下,HBase只是簡單地返回最新的版本,即時間戳最大的版本。為了避免數(shù)據(jù)存在過多版本造成的的管理(包括存貯和索引)負(fù)擔(dān),HBase提供了兩種數(shù)據(jù)版本回收方式:一是保存數(shù)據(jù)的最后η個版本,二是保存最近一段時間內(nèi)的版本。[0047]MapReduce是一個針對大規(guī)模群組中的海量數(shù)據(jù)(大于1TB)處理的分布式編程模型。MapReduce本身源自于函數(shù)式語言,主要通過〃映射(Map)〃和〃化簡(Reduce)"這兩個步驟來并行處理大規(guī)模的數(shù)據(jù)集。首先,Map會先對由很多獨立元素組成的邏輯列表中的每一個元素進行指定的操作,且原始列表不會被更改,會創(chuàng)建多個新的列表來保存Map的處理結(jié)果。也就意味著,Map操作是高度并行的。當(dāng)Map工作完成之后,系統(tǒng)會接著對新生成的多個列表進行清理(Shuffle)和排序,之后,會這些新創(chuàng)建的列表進行Reduce操作,也就是對一個列表中的元素根據(jù)Key值進行適當(dāng)?shù)暮喜?。通過MapReduce這個分布式處理框架,不僅能用于處理大規(guī)模數(shù)據(jù),而且能將很多繁瑣的細(xì)節(jié)隱藏起來,比如,自動并行化、負(fù)載均衡和災(zāi)備管理等,這樣將極大地簡化程序員的開發(fā)工作。另外,MapReduce的伸縮性非常好,而過去的大多數(shù)分布式處理框架,在伸縮性方面都與MapReduce相差甚遠(yuǎn)。[0048]實施例一[0049]本發(fā)明實施例提供用戶激活數(shù)的統(tǒng)計方法,如圖1所示,該方法包括:[0050]S101、平臺控制器獲取預(yù)設(shè)時間段內(nèi)記錄的用戶訪問日志,其中用戶訪問日志至少包括用戶標(biāo)識,以及與各個用戶標(biāo)識對應(yīng)的訪問內(nèi)容。[0051]用戶訪問平臺時,平臺控制器會記錄每一個用戶的所有用戶訪問日志。[0052]具體的,平臺控制器記錄用戶訪問日志后,需要針對所記錄的用戶訪問日志做出相應(yīng)處理。平臺控制器先讀取預(yù)設(shè)時間段內(nèi)記錄的用戶訪問日志,該用戶訪問日志至少包括用戶標(biāo)識,以及與各個用戶標(biāo)識對應(yīng)的訪問內(nèi)容。[0053]可選的,預(yù)設(shè)時間段可以為每天,兩個小時,30分鐘等時間段。[0054]S102、平臺控制器在預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,判斷用戶訪問日志中的各個用戶標(biāo)識是否已保存至預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中。[0055]可選的,保存預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表的存儲系統(tǒng),可以是HBase,也可以是支持版本(version)的其他存儲系統(tǒng)。[0056]具體的,在平臺控制器讀取預(yù)設(shè)時間段內(nèi)記錄的用戶訪問日志后,所述平臺控制器根據(jù)所述用戶訪問日志中的用戶標(biāo)識,在預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中判斷所述用戶訪問日志中的各個用戶標(biāo)識是否已保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表。[0057]例如,當(dāng)平臺控制器讀取的用戶訪問日志中用戶標(biāo)識為張三,則平臺控制器在預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中查找是否保存有用戶標(biāo)識為張三的用戶訪問日志。[0058]S103、若已保存,則平臺控制器不將已保存的用戶標(biāo)識對應(yīng)的用戶訪問日志保存至預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中。[0059]可選的,保存預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表的存儲系統(tǒng),可以是HBase,也可以是支持版本(version)的其他存儲系統(tǒng)。[0060]具體的,若所述用戶訪問日志中的用戶標(biāo)識已保存至HBase所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,則平臺控制器將已保存的用戶標(biāo)識對應(yīng)的用戶訪問日志不保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中。[0061]例如,平臺控制器在讀取用戶標(biāo)識為張三的用戶訪問日志后,在預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中判斷,若HBase用戶激活數(shù)統(tǒng)計表中已經(jīng)保存有用戶標(biāo)識為張三的用戶訪問日志,則不將所讀取的用戶標(biāo)識為張三的用戶訪問日志保存在預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中。[0062]S104、若未保存,則平臺控制器將未保存的用戶標(biāo)識對應(yīng)的滿足預(yù)設(shè)條件的用戶訪問日志保存至預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中。[0063]可選的,保存用戶訪問日志的存儲系統(tǒng),可以是HBase,也可以是支持版本(version)的其他存儲系統(tǒng)。[0064]具體的,若所述用戶訪問日志中的用戶標(biāo)識未保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,則平臺控制器將未保存的用戶標(biāo)識對應(yīng)的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中。[0065]例如,平臺控制器在讀取用戶標(biāo)識為張三的用戶訪問日志后,在預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中判斷,若HBase用戶激活數(shù)統(tǒng)計表中尚未保存有用戶標(biāo)識為張三的用戶訪問日志,則將所讀取的用戶標(biāo)識為張三的用戶訪問日志保存至預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中。[0066]S105、平臺控制器根據(jù)預(yù)設(shè)時間段內(nèi)預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中新增的用戶訪問日志的數(shù)量,統(tǒng)計用戶激活數(shù)。[0067]具體的,當(dāng)平臺控制器需要對用戶激活數(shù)進行統(tǒng)計時,平臺控制器只需在預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中查找預(yù)設(shè)時間段內(nèi)新增的用戶訪問日志,進行用戶激活數(shù)統(tǒng)計。[0068]例如,平臺控制器需要統(tǒng)計2013年5月5日的新增用戶數(shù)量時,平臺控制器只需在預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,根據(jù)2013年5月5日查找新增的用戶訪問日志,對相應(yīng)的用戶訪問日志數(shù)量進行統(tǒng)計,即對2013年5月5日的用戶激活數(shù)進行了統(tǒng)計。[0069]本發(fā)明提供了一種用戶激活數(shù)的統(tǒng)計方法,平臺控制器獲取預(yù)設(shè)時間段內(nèi)記錄的用戶訪問日志,然后在預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,判斷用戶訪問日志中的各個用戶標(biāo)識是否已保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,若已保存,則平臺控制器不將已保存的用戶標(biāo)識對應(yīng)的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,若未保存,則平臺控制器將未保存的用戶標(biāo)識對應(yīng)的滿足預(yù)設(shè)條件的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,最后,平臺控制器根據(jù)預(yù)設(shè)時間段內(nèi)預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中新增的用戶訪問日志的數(shù)量,統(tǒng)計用戶激活數(shù)。通過該方案,平臺控制器能夠?qū)崟r保存用戶訪問日志,同時保證時間最早的訪問日志有效,其他訪問日志無效或不進行保存,減少了需要進行統(tǒng)計的原始數(shù)據(jù)量,提高了運行效率。[0070]實施例二[0071]本實施例提供了一種用戶激活數(shù)的統(tǒng)計方法,如圖2所示,該方法包括:[0072]S201、平臺控制器獲取預(yù)設(shè)時間段內(nèi)記錄的用戶訪問日志。[0073]平臺控制器會記錄每一個用戶訪問平臺時的所有用戶訪問日志。[0074]其中,用戶訪問日志至少包括用戶標(biāo)識,以及與各個用戶標(biāo)識對應(yīng)的訪問內(nèi)容,用戶標(biāo)識包括用戶ID、用戶賬號中的至少一個,與各個用戶標(biāo)識對應(yīng)的訪問內(nèi)容包括訪問時間、用戶所在地理位置信息中的至少一個。[0075]具體的,平臺控制器記錄用戶訪問日志后,需要針對所記錄的用戶訪問日志做出相應(yīng)處理,平臺控制器首先讀取預(yù)設(shè)時間段內(nèi)記錄的用戶訪問日志。[0076]可選的,預(yù)設(shè)時間段可以為每天,兩個小時,30分鐘等時間段。[0077]S202、平臺控制器在預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,判斷用戶訪問日志中的各個用戶標(biāo)識是否已保存至預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中。[0078]可選的,保存預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表的存儲系統(tǒng),可以是HBase,也可以是支持版本(version)的其他存儲系統(tǒng)。[0079]具體的,預(yù)設(shè)的用戶激活統(tǒng)計表是通過平臺控制器讀取已記錄的所有的用戶訪問日志,然后,確定對應(yīng)于各個用戶標(biāo)識的用戶訪問日志中訪問時間為最早的用戶訪問日志,最后保存各個用戶標(biāo)識對應(yīng)訪問時間為最早的用戶訪問日志后生成的。[0080]可選的,若保存預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表的存儲系統(tǒng)是HBase,則所述預(yù)設(shè)的用戶激活統(tǒng)計表可以使用用戶標(biāo)識作為HBase的行主鍵,日志內(nèi)容作為列進行保存,每個列的版本值為(Long.maxValueO-事件發(fā)生時間)。[0081]進一步地,在平臺控制器讀取預(yù)設(shè)時間段內(nèi)記錄的用戶訪問日志后,平臺控制器根據(jù)用戶訪問日志中的用戶標(biāo)識,在HBase預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中判斷用戶訪問日志中的各個用戶標(biāo)識是否已保存至預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表。[0082]例如,當(dāng)平臺控制器讀取的用戶訪問日志中用戶標(biāo)識為張三,則平臺控制器在HBase預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中查找是否保存有用戶標(biāo)識為張三的用戶訪問日志。[0083]S203、若用戶訪問日志中的各個用戶標(biāo)識已保存至預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,且已保存用戶訪問日志的數(shù)量小于預(yù)設(shè)門限值,則平臺控制器將該已保存的用戶標(biāo)識對應(yīng)的用戶訪問日志保存至預(yù)設(shè)的用戶訪問統(tǒng)計表中。[0084]可選的,保存用戶訪問日志的存儲系統(tǒng),可以是HBase,也可以是支持版本(version)的其他存儲系統(tǒng)。[0085]具體的,若保存用戶訪問日志的存儲系統(tǒng)為HBase,所述用戶訪問日志中的用戶標(biāo)識已保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,則HBase將已保存的用戶標(biāo)識對應(yīng)的用戶訪問日志不保存至預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中。[0086]進一步地,若已保存用戶訪問日志的數(shù)量小于預(yù)設(shè)門限值,則HBase將已保存的用戶標(biāo)識對應(yīng)的用戶訪問日志保存至預(yù)設(shè)的用戶訪問統(tǒng)計表中。[0087]具體的,預(yù)設(shè)的用戶訪問統(tǒng)計表是通過平臺控制器讀取已記錄的所有的用戶訪問日志,確定對應(yīng)于各個用戶標(biāo)識的訪問時間不是最早的用戶訪問日志,最后按照HBase提供的數(shù)據(jù)版本回收方式,保存所述訪問時間不是最早的用戶訪問日志后生成的。[0088]例如,用戶標(biāo)識為張三的用戶訪問日志已經(jīng)在HBase預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中保存。平臺控制器在讀取用戶標(biāo)識為張三的用戶訪問日志后,在預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中判斷,得知在用戶激活數(shù)統(tǒng)計表中已經(jīng)保存有用戶標(biāo)識為張三的用戶訪問日志,則不將所讀取的用戶標(biāo)識為張三的用戶訪問日志保存在預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中。若HBase預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中用戶標(biāo)識為張三的用戶訪問日志數(shù)量小于HBase提供的數(shù)據(jù)版本數(shù)量,則將所讀取的用戶標(biāo)識為張三的用戶訪問日志保存在預(yù)設(shè)的用戶訪問統(tǒng)計表中,作為歷史版本保存。[0089]S204、若用戶訪問日志中的各個用戶標(biāo)識已保存至預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,且已保存用戶訪問日志的數(shù)量等于預(yù)設(shè)門限值,則平臺控制器刪除該已保存的用戶標(biāo)識對應(yīng)的用戶訪問日志。[0090]可選的,保存用戶訪問日志的存儲系統(tǒng),可以是HBase,也可以是支持版本(version)的其他存儲系統(tǒng)。[0091]具體的,若保存用戶訪問日志的存儲系統(tǒng)為HBase,用戶訪問日志中的用戶標(biāo)識已保存至預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,則HBase將已保存的用戶標(biāo)識對應(yīng)的用戶訪問日志不保存至預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中。[0092]進一步地,若已保存用戶訪問日志的數(shù)量等于預(yù)設(shè)門限值,則刪除所述已保存的用戶標(biāo)識對應(yīng)的用戶訪問日志。[0093]例如,用戶標(biāo)識為張三的用戶訪問日志已經(jīng)在HBase所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中保存。平臺控制器在讀取用戶標(biāo)識為張三的用戶訪問日志后,在預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中判斷,得知在用戶激活數(shù)統(tǒng)計表中已經(jīng)保存有用戶標(biāo)識為張三的用戶訪問日志,則不將所讀取的用戶標(biāo)識為張三的用戶訪問日志保存在預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中。若HBase預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中用戶標(biāo)識為張三的用戶訪問日志數(shù)量等于HBase提供的數(shù)據(jù)版本數(shù)量,則刪除所讀取的用戶標(biāo)識為張三的用戶訪問日志。[0094]S205、若用戶訪問日志中的各個用戶標(biāo)識未保存至預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,則平臺控制器將該未保存的用戶標(biāo)識對應(yīng)的滿足預(yù)設(shè)條件的用戶訪問日志保存至預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中。[0095]可選的,保存用戶訪問日志的存儲系統(tǒng),可以是HBase,也可以是支持版本(version)的其他存儲系統(tǒng)。[0096]具體的,若保存用戶訪問日志的存儲系統(tǒng)為HBase,用戶訪問日志中的用戶標(biāo)識未保存至預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,則HBase將未保存的用戶標(biāo)識對應(yīng)的用戶訪問日志保存至預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中。[0097]可選的,保存用戶訪問日志時,可以使用用戶標(biāo)識作為行主鍵,日志內(nèi)容作為列進行保存,每個列的版本值為(Long.maxValueO-事件發(fā)生時間)。[0098]例如,平臺控制器在讀取用戶標(biāo)識為張三的用戶訪問日志后,在HBase預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中判斷,得知在用戶激活數(shù)統(tǒng)計表中未保存有用戶標(biāo)識為張三的用戶訪問日志,則將所讀取的用戶標(biāo)識為張三的用戶訪問日志使用張三作為行主鍵,日志內(nèi)容作為列進行保存,每個列的版本內(nèi)容為(Long.maxValueO-訪問時間),保存至預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中。[0099]S206、平臺控制器根據(jù)預(yù)設(shè)時間段內(nèi)預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中新增的用戶訪問日志的數(shù)量,統(tǒng)計用戶激活數(shù)。[0100]可選的,統(tǒng)計用戶激活數(shù)可以使用mapreduce計算。[0101]具體的,若使用mapreduce進行計算,平臺控制器從HBase中讀取數(shù)據(jù),并根據(jù)預(yù)設(shè)時間段內(nèi)預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中新增的用戶訪問日志的數(shù)量,進行相應(yīng)的統(tǒng)計。[0102]例如,平臺控制器需要統(tǒng)計2013年5月5日的新增用戶數(shù)量時,平臺控制器只需在HBase預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,根據(jù)2013年5月5日查找新增的用戶訪問日志,使用mapreduce對相應(yīng)的用戶訪問日志數(shù)量進行統(tǒng)計,即對2013年5月5日的用戶激活數(shù)進行了統(tǒng)計。[0103]可選的,平臺控制器也可以從HBase中讀取數(shù)據(jù),按照所述預(yù)設(shè)時間段內(nèi)和用戶所在地理位置信息,計算預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中新增的用戶訪問日志的數(shù)量。[0104]例如,平臺控制器需要統(tǒng)計2013年5月5日北京地區(qū)的新增用戶數(shù)量時,平臺控制器只需在HBase預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,根據(jù)2013年5月5日和北京地區(qū)查找新增的用戶訪問日志,使用mapreduce對相應(yīng)的用戶訪問日志數(shù)量進行統(tǒng)計,即對2013年5月5日北京地區(qū)的用戶激活數(shù)進行了統(tǒng)計。[0105]本發(fā)明提供了一種用戶激活數(shù)的統(tǒng)計方法,平臺控制器獲取預(yù)設(shè)時間段內(nèi)記錄的用戶訪問日志,然后在預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,判斷用戶訪問日志中的各個用戶標(biāo)識是否已保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,若已保存,則平臺控制器不將已保存的用戶標(biāo)識對應(yīng)的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,若未保存,則平臺控制器將未保存的用戶標(biāo)識對應(yīng)的滿足預(yù)設(shè)條件的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,最后,平臺控制器根據(jù)預(yù)設(shè)時間段內(nèi)預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中新增的用戶訪問日志的數(shù)量,統(tǒng)計用戶激活數(shù)。通過該方案,平臺控制器能夠?qū)崟r保存用戶訪問日志,同時保證時間最早的訪問日志有效,其他訪問日志無效或不進行保存,減少了需要進行統(tǒng)計的原始數(shù)據(jù)量,提高了運行效率。[0106]實施例三[0107]本發(fā)明提供了一種控制器,如圖3所示,包括:[0108]獲取單元10,用于獲取預(yù)設(shè)時間段內(nèi)記錄的用戶訪問日志,所述用戶訪問日志至少包括用戶標(biāo)識,以及與各個用戶標(biāo)識對應(yīng)的訪問內(nèi)容;[0109]處理單元11,用于在預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,判斷所述用戶訪問日志中的各個用戶標(biāo)識是否已保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中;若已保存,則不將已保存的用戶標(biāo)識對應(yīng)的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中;若未保存,則將未保存的用戶標(biāo)識對應(yīng)的滿足預(yù)設(shè)條件的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中;根據(jù)所述預(yù)設(shè)時間段內(nèi)所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中新增的用戶訪問日志的數(shù)量,統(tǒng)計用戶激活數(shù)。[0110]進一步地,所述處理單元11,用于讀取已記錄的所有的用戶訪問日志;確定對應(yīng)于各個用戶標(biāo)識的滿足預(yù)設(shè)條件的用戶訪問日志;保存滿足所述預(yù)設(shè)條件的用戶訪問日志,以生成包含有滿足所述預(yù)設(shè)條件的用戶訪問日志的用戶激活統(tǒng)計表。[0111]進一步地,如圖4所示,所述處理單元11包括判斷模塊12及存儲模塊13;[0112]所述判斷模塊12,用于在預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,判斷所述用戶訪問日志中的各個用戶標(biāo)識是否已保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中;[0113]所述存儲模塊13,用于將未保存的用戶標(biāo)識對應(yīng)的滿足預(yù)設(shè)條件的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中。[0114]進一步地,所述處理單元11將未保存的用戶標(biāo)識對應(yīng)的滿足預(yù)設(shè)條件的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,具體包括:[0115]確定所述未保存的用戶標(biāo)識對應(yīng)的用戶訪問日志中訪問時間為最早的用戶訪問曰志;[0116]將所述訪問為時間最早的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中。[0117]本發(fā)明提供了一種控制器,主要包括獲取單元和處理單元。平臺控制器獲取預(yù)設(shè)時間段內(nèi)記錄的用戶訪問日志,然后在預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,判斷用戶訪問日志中的各個用戶標(biāo)識是否已保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,若已保存,則平臺控制器不將已保存的用戶標(biāo)識對應(yīng)的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,若未保存,則平臺控制器將未保存的用戶標(biāo)識對應(yīng)的滿足預(yù)設(shè)條件的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,最后,平臺控制器根據(jù)預(yù)設(shè)時間段內(nèi)預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中新增的用戶訪問日志的數(shù)量,統(tǒng)計用戶激活數(shù)。通過該方案,平臺控制器能夠?qū)崟r保存用戶訪問日志,同時保證時間最早的訪問日志有效,其他訪問日志無效或不進行保存,減少了需要進行統(tǒng)計的原始數(shù)據(jù)量,提高了運行效率。[0118]所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,僅以上述各功能模塊的劃分進行舉例說明,實際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程,在此不再贅述。[0119]在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模塊或單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。[0120]以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此,任何熟悉本【
技術(shù)領(lǐng)域:
】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)以所述權(quán)利要求的保護范圍為準(zhǔn)?!緳?quán)利要求】1.一種用戶激活數(shù)的統(tǒng)計方法,其特征在于,包括:獲取預(yù)設(shè)時間段內(nèi)記錄的用戶訪問日志,所述用戶訪問日志至少包括用戶標(biāo)識,以及與各個用戶標(biāo)識對應(yīng)的訪問內(nèi)容;在預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,判斷所述用戶訪問日志中的各個用戶標(biāo)識是否已保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中;若已保存,則不將已保存的用戶標(biāo)識對應(yīng)的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中;若未保存,則將未保存的用戶標(biāo)識對應(yīng)的滿足預(yù)設(shè)條件的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中;根據(jù)所述預(yù)設(shè)時間段內(nèi)所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中新增的用戶訪問日志的數(shù)量,統(tǒng)計用戶激活數(shù)。2.根據(jù)權(quán)利要求1所述的用戶激活數(shù)的統(tǒng)計方法,其特征在于,生成所述預(yù)設(shè)的用戶激活統(tǒng)計表的方法,包括:讀取已記錄的所有的用戶訪問日志;確定對應(yīng)于各個用戶標(biāo)識的滿足預(yù)設(shè)條件的用戶訪問日志;保存滿足所述預(yù)設(shè)條件的用戶訪問日志,以生成包含有滿足所述預(yù)設(shè)條件的用戶訪問日志的用戶激活統(tǒng)計表。3.根據(jù)權(quán)利要求1或2所述的用戶激活數(shù)的統(tǒng)計方法,其特征在于,所述預(yù)設(shè)條件為對應(yīng)于各個用戶標(biāo)識的訪問日志中訪問時間為最早。4.根據(jù)權(quán)利要求1所述的用戶激活數(shù)的統(tǒng)計方法,其特征在于,所述不將已保存的用戶標(biāo)識對應(yīng)的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,具體包括:若已保存用戶訪問日志的數(shù)量小于預(yù)設(shè)門限值,則將所述已保存的用戶標(biāo)識對應(yīng)的用戶訪問日志保存至預(yù)設(shè)的用戶訪問統(tǒng)計表中;若已保存用戶訪問日志的數(shù)量等于預(yù)設(shè)門限值,則刪除所述已保存的用戶標(biāo)識對應(yīng)的用戶訪問日志。5.所述根據(jù)權(quán)利要求4所述的用戶激活數(shù)的統(tǒng)計方法,其特征在于,生成所述預(yù)設(shè)的用戶訪問統(tǒng)計表的方法,包括:讀取已記錄的所有的用戶訪問日志;確定對應(yīng)于各個用戶標(biāo)識的不滿足預(yù)設(shè)條件的用戶訪問日志;按照預(yù)設(shè)規(guī)則,保存所述不滿足預(yù)設(shè)條件的用戶訪問日志,以生成包含有所述不滿足預(yù)設(shè)條件的用戶訪問日志的用戶訪問統(tǒng)計表。6.根據(jù)權(quán)利要求1所述的用戶激活數(shù)的統(tǒng)計方法,其特征在于,所述將未保存的用戶標(biāo)識對應(yīng)的滿足預(yù)設(shè)條件的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,具體包括:確定所述未保存的用戶標(biāo)識對應(yīng)的用戶訪問日志中訪問時間為最早的用戶訪問日志;將所述訪問為時間最早的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中。7.一種控制器,其特征在于,包括:獲取單元,用于獲取預(yù)設(shè)時間段內(nèi)記錄的用戶訪問日志,所述用戶訪問日志至少包括用戶標(biāo)識,以及與各個用戶標(biāo)識對應(yīng)的訪問內(nèi)容;處理單元,用于在預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,判斷所述用戶訪問日志中的各個用戶標(biāo)識是否已保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中;若已保存,則不將已保存的用戶標(biāo)識對應(yīng)的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中;若未保存,則將未保存的用戶標(biāo)識對應(yīng)的滿足預(yù)設(shè)條件的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中;根據(jù)所述預(yù)設(shè)時間段內(nèi)所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中新增的用戶訪問日志的數(shù)量,統(tǒng)計用戶激活數(shù)。8.根據(jù)權(quán)利要求7所述的控制器,其特征在于,所述處理單元,用于讀取已記錄的所有的用戶訪問日志;確定對應(yīng)于各個用戶標(biāo)識的滿足預(yù)設(shè)條件的用戶訪問日志;保存滿足所述預(yù)設(shè)條件的用戶訪問日志,以生成包含有滿足所述預(yù)設(shè)條件的用戶訪問日志的用戶激活統(tǒng)計表。9.根據(jù)權(quán)利要求7所述的控制器,其特征在于,所述處理單元包括判斷模塊及存儲模塊;所述判斷模塊,用于在預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,判斷所述用戶訪問日志中的各個用戶標(biāo)識是否已保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中;所述存儲模塊,用于將未保存的用戶標(biāo)識對應(yīng)的滿足預(yù)設(shè)條件的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中。10.根據(jù)權(quán)利要求9所述的控制器,其特征在于,所述處理單元將未保存的用戶標(biāo)識對應(yīng)的滿足預(yù)設(shè)條件的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中,具體包括:確定所述未保存的用戶標(biāo)識對應(yīng)的用戶訪問日志中訪問時間為最早的用戶訪問日志;將所述訪問為時間最早的用戶訪問日志保存至所述預(yù)設(shè)的用戶激活數(shù)統(tǒng)計表中。【文檔編號】G06F17/30GK103500177SQ201310403440【公開日】2014年1月8日申請日期:2013年9月6日優(yōu)先權(quán)日:2013年9月6日【發(fā)明者】田亮申請人:樂視致新電子科技(天津)有限公司