本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)處理方法及裝置。
背景技術(shù):
互聯(lián)網(wǎng)科技的發(fā)展使得數(shù)據(jù)量急劇增加,在數(shù)據(jù)科技的大力發(fā)展下,人們所能存儲、處理的數(shù)據(jù)已經(jīng)達(dá)到前所未有的量級,大數(shù)據(jù)的核心價值就是在于對于海量數(shù)據(jù)進(jìn)行存儲和統(tǒng)計分析。因此,如何對海量數(shù)據(jù)進(jìn)行存儲和管理成為當(dāng)前亟待解決的問題。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供一種數(shù)據(jù)處理方法及裝置,用于提高用戶行為數(shù)據(jù)的存儲及統(tǒng)計效率。
一種數(shù)據(jù)處理方法,包括以下步驟:
當(dāng)發(fā)生用戶訪問行為時,根據(jù)用戶行為數(shù)據(jù)的時間戳確定所述用戶行為數(shù)據(jù)對應(yīng)的日期信息;
根據(jù)所述日期信息確定所述用戶行為數(shù)據(jù)對應(yīng)的待存儲分區(qū);
將所述用戶行為數(shù)據(jù)存儲至所述待存儲分區(qū)中。
在一個實施例中,所述根據(jù)所述日期信息確定所述用戶行為數(shù)據(jù)對應(yīng)的待存儲分區(qū)之前,所述方法還包括:
根據(jù)所述日期信息確定所述用戶行為數(shù)據(jù)對應(yīng)的分鐘數(shù);
將所述用戶行為數(shù)據(jù)按所述分鐘數(shù)進(jìn)行分組,獲得每分鐘對應(yīng)的參與用戶臨時表;
所述根據(jù)所述日期信息確定所述用戶行為數(shù)據(jù)對應(yīng)的待存儲分區(qū),包括:
根據(jù)所述日期信息確定所述用戶行為數(shù)據(jù)在所述參與用戶臨時表中對應(yīng)的待存儲分區(qū),所述參與用戶臨時表中包括用于存儲所述用戶行為數(shù)據(jù)的多個分區(qū)。
在一個實施例中,所述日期信息為秒數(shù)信息。
在一個實施例中,所述根據(jù)所述日期信息確定所述用戶行為數(shù)據(jù)在所述參與用戶臨時表中對應(yīng)的待存儲分區(qū),包括:
按照以下公式計算所述用戶行為數(shù)據(jù)在所述參與用戶臨時表中對應(yīng)的待存儲分區(qū)n:
n=(s+8*3600)%(24*3600)
其中,所述s為所述用戶行為數(shù)據(jù)對應(yīng)的秒數(shù)值。
在一個實施例中,所述方法還包括:
確定所述參與用戶臨時表中的各分區(qū)的分區(qū)標(biāo)識;包括:
計算所述日期信息距離格林威治開始時間的天數(shù);
利用所述天數(shù)對預(yù)設(shè)數(shù)值取余,所述預(yù)設(shè)數(shù)值等于所述用戶行為表中的分區(qū)個數(shù);
根據(jù)所述取余后的數(shù)值確定所述參與用戶臨時表中的分區(qū)標(biāo)識。
在一個實施例中,所述方法還包括:
根據(jù)已存儲至所述用戶行為表中的用戶行為數(shù)據(jù)對應(yīng)的日期信息,判斷所述用戶行為表中是否存在日期與當(dāng)前日期之間的時長超過預(yù)設(shè)時長的無效用戶行為數(shù)據(jù);
當(dāng)所述用戶行為表中存在日期與當(dāng)前日期之間的時長超過預(yù)設(shè)時長的無效用戶行為數(shù)據(jù)時,刪除日期在所述無效用戶行為數(shù)據(jù)對應(yīng)的日期之前的用戶行為數(shù)據(jù)。
一種數(shù)據(jù)處理裝置,包括:
第一確定模塊,用于當(dāng)發(fā)生用戶訪問行為時,根據(jù)用戶行為數(shù)據(jù)的時間戳確定所述用戶行為數(shù)據(jù)對應(yīng)的日期信息;
第二確定模塊,用于根據(jù)所述日期信息確定所述用戶行為數(shù)據(jù)對應(yīng)的待存儲分區(qū);
存儲模塊,用于將所述用戶行為數(shù)據(jù)存儲至所述待存儲分區(qū)中。
在一個實施例中,所述裝置還包括:
第三確定模塊,用于在所述根據(jù)所述日期信息確定所述用戶行為數(shù)據(jù)對應(yīng)的待存儲分區(qū)之前,根據(jù)所述日期信息確定所述用戶行為數(shù)據(jù)對應(yīng)的分鐘數(shù);
分組模塊,用于將所述用戶行為數(shù)據(jù)按所述分鐘數(shù)進(jìn)行分組,獲得每分鐘對應(yīng)的參與用戶臨時表;
所述第二確定模塊,用于根據(jù)所述日期信息確定所述用戶行為數(shù)據(jù)在所述參與用戶臨時表中對應(yīng)的待存儲分區(qū),所述參與用戶臨時表中包括用于存儲所述用戶行為數(shù)據(jù)的多個分區(qū)。
在一個實施例中,所述日期信息為秒數(shù)信息。
在一個實施例中,所述第二確定模塊,用于按照以下公式計算所述用戶行為數(shù)據(jù)在所述參與用戶臨時表中對應(yīng)的待存儲分區(qū)n:
n=(s+8*3600)%(24*3600)
其中,所述s為所述用戶行為數(shù)據(jù)對應(yīng)的秒數(shù)值。
本發(fā)明實施例的一些有益效果可以包括:
采用本發(fā)明實施例提供的技術(shù)方案,能夠當(dāng)發(fā)生用戶訪問行為時,根據(jù)用戶行為數(shù)據(jù)的時間戳確定用戶行為數(shù)據(jù)對應(yīng)的日期信息,進(jìn)而根據(jù)日期信息確定用戶行為數(shù)據(jù)對應(yīng)的待存儲分區(qū),并將用戶行為數(shù)據(jù)存儲至待存儲分區(qū)中,便于后續(xù)對用戶行為數(shù)據(jù)進(jìn)行統(tǒng)計,實現(xiàn)了根據(jù)日期信息來管理用戶行為數(shù)據(jù)的目的,從而使得用戶行為數(shù)據(jù)的存儲和管理更加系統(tǒng)化,在后續(xù)進(jìn)行統(tǒng)計分析時,能夠高效率地查找并提取需要統(tǒng)計分析的用戶行為數(shù)據(jù),提高了數(shù)據(jù)管理的效率。
本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
附圖說明
附圖用來提供對本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:
圖1為本發(fā)明實施例中一種數(shù)據(jù)處理方法的示意性流程圖;
圖2為本發(fā)明實施例中一種數(shù)據(jù)處理方法的示意性流程圖;
圖3為本發(fā)明實施例中一種數(shù)據(jù)處理方法中確定分區(qū)標(biāo)識的示意性流程圖;
圖4為本發(fā)明實施例中一種數(shù)據(jù)處理裝置的示意性框圖;
圖5為本發(fā)明實施例中另一種數(shù)據(jù)處理裝置的示意性框圖。
具體實施方式
以下結(jié)合附圖對本發(fā)明的優(yōu)選實施例進(jìn)行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
圖1為本發(fā)明實施例中一種數(shù)據(jù)處理方法的示意性流程圖。如圖1所示,該數(shù)據(jù)處理方法包括以下步驟S11-S13:
步驟S11,當(dāng)發(fā)生用戶訪問行為時,根據(jù)用戶行為數(shù)據(jù)的時間戳確定用戶行為數(shù)據(jù)對應(yīng)的日期信息。
步驟S12,根據(jù)日期信息確定用戶行為數(shù)據(jù)對應(yīng)的待存儲分區(qū)。
步驟S13,將用戶行為數(shù)據(jù)存儲至待存儲分區(qū)中。
在一個實施例中,執(zhí)行步驟S12前,上述方法還包括以下步驟S21-S22:
步驟S21,根據(jù)日期信息確定用戶行為數(shù)據(jù)對應(yīng)的分鐘數(shù)。
步驟S22,將用戶行為數(shù)據(jù)按分鐘數(shù)進(jìn)行分組,獲得每分鐘對應(yīng)的參與用戶臨時表。
該實施例中,將用戶行為數(shù)據(jù)按分鐘數(shù)進(jìn)行分組,使得每分鐘寫入的用戶行為數(shù)據(jù)都存儲至各自對應(yīng)的參與用戶臨時表中,便于后續(xù)對用戶行為數(shù)據(jù)進(jìn)行管理和統(tǒng)計。
執(zhí)行完步驟S22之后,繼續(xù)執(zhí)行步驟S12此時,步驟S12可執(zhí)行為以下步驟:根據(jù)日期信息確定用戶行為數(shù)據(jù)在參與用戶臨時表中對應(yīng)的待存儲分區(qū),參與用戶臨時表中包括用于存儲用戶行為數(shù)據(jù)的多個分區(qū)。
在一個實施例中,日期信息為秒數(shù)信息。
基于上述實施例,可按照如下公式(1)計算用戶行為數(shù)據(jù)在參與用戶臨時表中對應(yīng)的待存儲分區(qū)n:
n=(s+8*3600)%(24*3600) (1)
其中,s為用戶行為數(shù)據(jù)對應(yīng)的秒數(shù)值,符號%表示求余數(shù)。
該實施例中,秒數(shù)信息即用戶行為數(shù)據(jù)在當(dāng)天的秒數(shù)值,例如,根據(jù)用戶行為數(shù)據(jù)的時間戳確定出用戶行為數(shù)據(jù)對應(yīng)的日期信息為8月24日5時整,則該用戶行為數(shù)據(jù)對應(yīng)的秒數(shù)值s=5*3600(秒),因此,該用戶行為數(shù)據(jù)對應(yīng)的待存儲分區(qū)n=(5*3600+8*3600)%(24*3600)=13。通常情況下,為方便數(shù)據(jù)統(tǒng)計,可將參與用戶臨時表中每個分區(qū)的分區(qū)標(biāo)識設(shè)置為與待存儲分區(qū)n的值一致,即,將參與用戶臨時表中的分區(qū)劃分為第一分區(qū)、第二分區(qū)、第三分區(qū)等等。當(dāng)n=13時,則用戶行為數(shù)據(jù)的待存儲分區(qū)為第十三分區(qū)。
在一個實施例中,參與用戶臨時表中的各分區(qū)的分區(qū)標(biāo)識可通過如圖3所示的步驟S31-S33確定:
步驟S31,計算日期信息距離格林威治開始時間的天數(shù)。
其中,格林威治時間是指位于英國倫敦郊區(qū)的皇家格林尼治天文臺的標(biāo)準(zhǔn)時間,因為本初子午線被定義在通過那里的經(jīng)線。格林威治開始時間即為1970年1月1日。
步驟S32,利用天數(shù)對預(yù)設(shè)數(shù)值取余,預(yù)設(shè)數(shù)值等于用戶行為表中的分區(qū)個數(shù)。
步驟S33,根據(jù)取余后的數(shù)值確定參與用戶臨時表中的分區(qū)標(biāo)識。
該實施例中,預(yù)設(shè)數(shù)值可設(shè)定為10,那么參與用戶臨時表中的分區(qū)個數(shù)為10。舉例而言,用戶行為數(shù)據(jù)對應(yīng)的日期信息為2000年1月5日,首先執(zhí)行步驟S31,由于格林威治開始時間為1970年1月1日,因此該日期信息距離格林威治開始時間的天數(shù)為30*365+5=10955天;然后執(zhí)行步驟S32,10950/10取余數(shù)為5;最后執(zhí)行步驟S33,確定用戶行為數(shù)據(jù)在參與用戶臨時表中對應(yīng)的分區(qū)標(biāo)識為5,即第五分區(qū)。此外,當(dāng)取余后的數(shù)值為0時,可將分區(qū)標(biāo)識確定為10,即第十分區(qū),也可將分區(qū)標(biāo)識確定為0,即第零分區(qū)。
該實施例能夠準(zhǔn)確簡便地確定出用戶行為數(shù)據(jù)在參與用戶臨時表中對應(yīng)的待存儲分區(qū),且根據(jù)格林威治開始時間計算的每個分區(qū)中僅能存儲一天的數(shù)據(jù),這使得后續(xù)對數(shù)據(jù)進(jìn)行統(tǒng)計時,便于按照日期進(jìn)行統(tǒng)一管理統(tǒng)計,從而提高數(shù)據(jù)處理的效率。
在一個實施例中,上述方法還包括以下步驟:根據(jù)已存儲至用戶行為表中的用戶行為數(shù)據(jù)對應(yīng)的日期信息,判斷用戶行為表中是否存在日期與當(dāng)前日期之間的時長超過預(yù)設(shè)時長的無效用戶行為數(shù)據(jù);當(dāng)用戶行為表中存在日期與當(dāng)前日期之間的時長超過預(yù)設(shè)時長的無效用戶行為數(shù)據(jù)時,刪除日期在無效用戶行為數(shù)據(jù)對應(yīng)的日期之前的用戶行為數(shù)據(jù)。用戶行為表每日運行一次,可在每次運行之前首先刪除表中的無效用戶行為數(shù)據(jù),從而保證用戶行為表始終保持較小的提及,以及上述所述的參與用戶臨時表也能始終保持最小的提及,便于提升數(shù)據(jù)統(tǒng)計的速度。
舉例而言,為方便統(tǒng)計,用戶行為表中僅保持7天的用戶行為數(shù)據(jù),當(dāng)用戶行為表中存在日期超過7天的用戶行為數(shù)據(jù),則該用戶行為數(shù)據(jù)即為無效用戶行為數(shù)據(jù),系統(tǒng)會刪除這些無效用戶行為數(shù)據(jù),以避免用戶行為表中存儲的用戶行為數(shù)據(jù)的數(shù)據(jù)量過大的情況,進(jìn)而避免數(shù)據(jù)量過大時影響數(shù)據(jù)管理的效率的情況。
該實施例中,通過刪除日期在無效用戶行為數(shù)據(jù)對應(yīng)的日期之前的用戶行為數(shù)據(jù),能夠避免用戶行為表中存儲的用戶行為數(shù)據(jù)的數(shù)據(jù)量過大的情況,進(jìn)而避免數(shù)據(jù)量過大時影響數(shù)據(jù)管理的效率的情況。
本發(fā)明提供的上述任一實施例中的數(shù)據(jù)處理方法至少能夠達(dá)到以下有益效果:
采用本發(fā)明實施例提供的技術(shù)方案,能夠當(dāng)發(fā)生用戶訪問行為時,根據(jù)用戶行為數(shù)據(jù)的時間戳確定用戶行為數(shù)據(jù)對應(yīng)的日期信息,進(jìn)而根據(jù)日期信息確定用戶行為數(shù)據(jù)對應(yīng)的待存儲分區(qū),并將用戶行為數(shù)據(jù)存儲至待存儲分區(qū)中,便于后續(xù)對用戶行為數(shù)據(jù)進(jìn)行統(tǒng)計,實現(xiàn)了根據(jù)日期信息來管理用戶行為數(shù)據(jù)的目的,從而使得用戶行為數(shù)據(jù)的存儲和管理更加系統(tǒng)化,在后續(xù)進(jìn)行統(tǒng)計分析時,能夠高效率地查找并提取需要統(tǒng)計分析的用戶行為數(shù)據(jù),提高了數(shù)據(jù)管理的效率。
圖4為本發(fā)明實施例中一種數(shù)據(jù)處理裝置的示意性框圖。如圖4所示,該裝置包括:
第一確定模塊41,用于當(dāng)發(fā)生用戶訪問行為時,根據(jù)用戶行為數(shù)據(jù)的時間戳確定用戶行為數(shù)據(jù)對應(yīng)的日期信息;
第二確定模塊42,用于根據(jù)日期信息確定用戶行為數(shù)據(jù)對應(yīng)的待存儲分區(qū);
存儲模塊43,用于將用戶行為數(shù)據(jù)存儲至待存儲分區(qū)中。
在一個實施例中,如圖5所示,裝置還包括:
第三確定模塊44,用于在根據(jù)日期信息確定用戶行為數(shù)據(jù)對應(yīng)的待存儲分區(qū)之前,根據(jù)日期信息確定用戶行為數(shù)據(jù)對應(yīng)的分鐘數(shù);
分組模塊45,用于將用戶行為數(shù)據(jù)按分鐘數(shù)進(jìn)行分組,獲得每分鐘對應(yīng)的參與用戶臨時表;
第二確定模塊42,還用于根據(jù)日期信息確定用戶行為數(shù)據(jù)在參與用戶臨時表中對應(yīng)的待存儲分區(qū),參與用戶臨時表中包括用于存儲用戶行為數(shù)據(jù)的多個分區(qū)。
在一個實施例中,日期信息為秒數(shù)信息。
在一個實施例中,第二確定模塊42,還用于按照以下公式計算用戶行為數(shù)據(jù)在參與用戶臨時表中對應(yīng)的待存儲分區(qū)n:
n=(s+8*3600)%(24*3600)
其中,s為用戶行為數(shù)據(jù)對應(yīng)的秒數(shù)值。
采用本發(fā)明實施例提供的裝置,能夠當(dāng)發(fā)生用戶訪問行為時,根據(jù)用戶行為數(shù)據(jù)的時間戳確定用戶行為數(shù)據(jù)對應(yīng)的日期信息,進(jìn)而根據(jù)日期信息確定用戶行為數(shù)據(jù)對應(yīng)的待存儲分區(qū),并將用戶行為數(shù)據(jù)存儲至待存儲分區(qū)中,便于后續(xù)對用戶行為數(shù)據(jù)進(jìn)行統(tǒng)計,實現(xiàn)了根據(jù)日期信息來管理用戶行為數(shù)據(jù)的目的,從而使得用戶行為數(shù)據(jù)的存儲和管理更加系統(tǒng)化,在后續(xù)進(jìn)行統(tǒng)計分析時,能夠高效率地查找并提取需要統(tǒng)計分析的用戶行為數(shù)據(jù),提高了數(shù)據(jù)管理的效率。
關(guān)于上述實施例中的裝置,其中各個模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實施例中進(jìn)行了詳細(xì)描述,此處將不做詳細(xì)闡述說明。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器和光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。
本發(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)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。