本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)處理方法及裝置。
背景技術(shù):
互聯(lián)網(wǎng)科技的發(fā)展使得數(shù)據(jù)量急劇增加,在數(shù)據(jù)科技的大力發(fā)展下,人們所能存儲(chǔ)、處理的數(shù)據(jù)已經(jīng)達(dá)到前所未有的量級(jí),大數(shù)據(jù)的核心價(jià)值就是在于對(duì)于海量數(shù)據(jù)進(jìn)行存儲(chǔ)和統(tǒng)計(jì)分析。因此,如何對(duì)海量數(shù)據(jù)進(jìn)行存儲(chǔ)和管理成為當(dāng)前亟待解決的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種數(shù)據(jù)處理方法及裝置,用于提高用戶行為數(shù)據(jù)的存儲(chǔ)及統(tǒng)計(jì)效率。
一種數(shù)據(jù)處理方法,包括以下步驟:
當(dāng)發(fā)生用戶訪問(wèn)行為時(shí),根據(jù)用戶行為數(shù)據(jù)的時(shí)間戳確定所述用戶行為數(shù)據(jù)對(duì)應(yīng)的日期信息和時(shí)刻信息;
根據(jù)所述日期信息、所述時(shí)刻信息和格林威治開(kāi)始時(shí)間確定所述用戶行為數(shù)據(jù)在所述用戶行為表中對(duì)應(yīng)的待存儲(chǔ)分區(qū),所述用戶行為表中包括用于存儲(chǔ)用戶行為數(shù)據(jù)的多個(gè)分區(qū);
將所述用戶行為數(shù)據(jù)存儲(chǔ)至所述待存儲(chǔ)分區(qū)中。
本發(fā)明實(shí)施例的一些有益效果可以包括:
采用本發(fā)明實(shí)施例提供的技術(shù)方案,能夠當(dāng)發(fā)生用戶訪問(wèn)行為時(shí),根據(jù)用戶行為數(shù)據(jù)的時(shí)間戳確定用戶行為數(shù)據(jù)對(duì)應(yīng)的日期信息和時(shí)刻信息,進(jìn)而根據(jù)日期信息、時(shí)刻信息和格林威治開(kāi)始時(shí)間確定用戶行為數(shù)據(jù)在用戶行為表中對(duì)應(yīng)的待存儲(chǔ)分區(qū),并將用戶行為數(shù)據(jù)存儲(chǔ)至待存儲(chǔ)分區(qū)中的,便于后續(xù)對(duì)用戶行為數(shù)據(jù)進(jìn)行統(tǒng)計(jì),實(shí)現(xiàn)了根據(jù)日期和時(shí)間信息來(lái)管理用戶行為數(shù)據(jù)的目的,從而使得用戶行為數(shù)據(jù)的存儲(chǔ)和管理更加系統(tǒng)化,在后續(xù)進(jìn)行統(tǒng)計(jì)分析時(shí),能夠高效率地查找并提取需要統(tǒng)計(jì)分析的用戶行為數(shù)據(jù),提高了數(shù)據(jù)管理的效率。
在一個(gè)實(shí)施例中,所述根據(jù)所述日期信息、所述時(shí)刻信息和格林威治開(kāi)始時(shí)間確定所述用戶行為數(shù)據(jù)在所述用戶行為表中對(duì)應(yīng)的待存儲(chǔ)分區(qū),包括:
獲取所述用戶的身份標(biāo)識(shí),并根據(jù)所述身份標(biāo)識(shí)、所述日期信息和所述時(shí)刻信息將所述用戶行為數(shù)據(jù)存儲(chǔ)至臨時(shí)結(jié)果集中,所述臨時(shí)結(jié)果集中包括多個(gè)身份標(biāo)識(shí)和與所述多個(gè)身份標(biāo)識(shí)各自對(duì)應(yīng)的用戶行為數(shù)據(jù),且每個(gè)身份標(biāo)識(shí)對(duì)應(yīng)的用戶行為數(shù)據(jù)是按照各自的日期信息和時(shí)刻信息存儲(chǔ)的;
從所述臨時(shí)結(jié)果集中提取所述日期信息和所述時(shí)刻信息;
根據(jù)所述日期信息和格林威治開(kāi)始時(shí)間,確定所述日期信息對(duì)應(yīng)的用戶行為數(shù)據(jù)在所述用戶行為表中對(duì)應(yīng)的待存儲(chǔ)分區(qū),并根據(jù)所述時(shí)刻信息確定所述用戶行為數(shù)據(jù)對(duì)應(yīng)的待存儲(chǔ)時(shí)刻字段,所述用戶行為表中的每個(gè)分區(qū)包括預(yù)設(shè)數(shù)量個(gè)時(shí)刻字段。
該實(shí)施例中,能夠根據(jù)用戶的身份標(biāo)識(shí)、日期信息和時(shí)刻信息將用戶行為數(shù)據(jù)存儲(chǔ)至臨時(shí)結(jié)果集中,便于后續(xù)對(duì)大量的用戶行為數(shù)據(jù)進(jìn)行統(tǒng)一分區(qū)存儲(chǔ),從而節(jié)省大量的重復(fù)性計(jì)算分區(qū)的時(shí)間。
在一個(gè)實(shí)施例中,所述根據(jù)所述日期信息和格林威治開(kāi)始時(shí)間,確定所述日期信息對(duì)應(yīng)的用戶行為數(shù)據(jù)在所述用戶行為表中對(duì)應(yīng)的待存儲(chǔ)分區(qū),包括:
計(jì)算所述日期信息距離格林威治開(kāi)始時(shí)間的天數(shù);
利用所述天數(shù)對(duì)預(yù)設(shè)數(shù)值取余,所述預(yù)設(shè)數(shù)值等于所述用戶行為表中的分區(qū)個(gè)數(shù);
根據(jù)所述取余后的數(shù)值確定所述用戶行為數(shù)據(jù)在所述用戶行為表中對(duì)應(yīng)的待存儲(chǔ)分區(qū)。
該實(shí)施例能夠準(zhǔn)確簡(jiǎn)便地確定出用戶行為數(shù)據(jù)在用戶行為表中對(duì)應(yīng)的待存儲(chǔ)分區(qū),且根據(jù)格林威治開(kāi)始時(shí)間計(jì)算的每個(gè)分區(qū)中僅能存儲(chǔ)一天的數(shù)據(jù),這使得后續(xù)對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)時(shí),便于按照日期進(jìn)行統(tǒng)一管理統(tǒng)計(jì),從而提高數(shù)據(jù)處理的效率。
在一個(gè)實(shí)施例中,所述方法還包括:
根據(jù)所述用戶行為表中每個(gè)分區(qū)對(duì)應(yīng)的日期信息,確定所述分區(qū)對(duì)應(yīng)的周日期;
按照所述周日期的預(yù)設(shè)順序?qū)Ω鞣謪^(qū)的用戶行為數(shù)據(jù)進(jìn)行排序。
在一個(gè)實(shí)施例中,所述方法還包括:
當(dāng)接收到對(duì)預(yù)定周日期的用戶行為數(shù)據(jù)的統(tǒng)計(jì)請(qǐng)求時(shí),確定所述預(yù)定周日期在所述用戶行為表中對(duì)應(yīng)的分區(qū);
從所述用戶行為表中提取所述預(yù)定周日期對(duì)應(yīng)的分區(qū)中的用戶行為數(shù)據(jù)進(jìn)行統(tǒng)計(jì)。
該實(shí)施例中,通過(guò)利用周日期對(duì)各分區(qū)進(jìn)行排序,使得后續(xù)利用周日期來(lái)統(tǒng)計(jì)數(shù)據(jù)時(shí),能夠方便快速地按照周日期提取對(duì)應(yīng)分區(qū)中的用戶行為數(shù)據(jù),從而提高數(shù)據(jù)處理的效率。
在一個(gè)實(shí)施例中,所述方法還包括:
根據(jù)已存儲(chǔ)至所述用戶行為表中的用戶行為數(shù)據(jù)對(duì)應(yīng)的日期信息,判斷所述用戶行為表中是否存在日期與當(dāng)前日期之間的時(shí)長(zhǎng)超過(guò)預(yù)設(shè)時(shí)長(zhǎng)的無(wú)效用戶行為數(shù)據(jù);
當(dāng)所述用戶行為表中存在日期與當(dāng)前日期之間的時(shí)長(zhǎng)超過(guò)預(yù)設(shè)時(shí)長(zhǎng)的無(wú)效用戶行為數(shù)據(jù)時(shí),刪除日期在所述無(wú)效用戶行為數(shù)據(jù)對(duì)應(yīng)的日期之前的用戶行為數(shù)據(jù)。
該實(shí)施例中,通過(guò)刪除日期在無(wú)效用戶行為數(shù)據(jù)對(duì)應(yīng)的日期之前的用戶行為數(shù)據(jù),能夠避免用戶行為表中存儲(chǔ)的用戶行為數(shù)據(jù)的數(shù)據(jù)量過(guò)大的情況,進(jìn)而避免數(shù)據(jù)量過(guò)大時(shí)影響數(shù)據(jù)管理的效率的情況。
一種數(shù)據(jù)處理裝置,包括:
第一確定模塊,用于當(dāng)發(fā)生用戶訪問(wèn)行為時(shí),根據(jù)用戶行為數(shù)據(jù)的時(shí)間戳確定所述用戶行為數(shù)據(jù)對(duì)應(yīng)的日期信息和時(shí)刻信息;
第二確定模塊,用于根據(jù)所述日期信息、所述時(shí)刻信息和格林威治開(kāi)始時(shí)間確定所述用戶行為數(shù)據(jù)在所述用戶行為表中對(duì)應(yīng)的待存儲(chǔ)分區(qū),所述用戶行為表中包括用于存儲(chǔ)用戶行為數(shù)據(jù)的多個(gè)分區(qū);
存儲(chǔ)模塊,用于將所述用戶行為數(shù)據(jù)存儲(chǔ)至所述待存儲(chǔ)分區(qū)中。
在一個(gè)實(shí)施例中,所述第二確定模塊包括:
獲取單元,用于獲取所述用戶的身份標(biāo)識(shí),并根據(jù)所述身份標(biāo)識(shí)、所述日期信息和所述時(shí)刻信息將所述用戶行為數(shù)據(jù)存儲(chǔ)至臨時(shí)結(jié)果集中,所述臨時(shí)結(jié)果集中包括多個(gè)身份標(biāo)識(shí)和與所述多個(gè)身份標(biāo)識(shí)各自對(duì)應(yīng)的用戶行為數(shù)據(jù),且每個(gè)身份標(biāo)識(shí)對(duì)應(yīng)的用戶行為數(shù)據(jù)是按照各自的日期信息和時(shí)刻信息存儲(chǔ)的;
提取單元,用于從所述臨時(shí)結(jié)果集中提取所述日期信息和所述時(shí)刻信息;
確定單元,用于根據(jù)所述日期信息和格林威治開(kāi)始時(shí)間,確定所述日期信息對(duì)應(yīng)的用戶行為數(shù)據(jù)在所述用戶行為表中對(duì)應(yīng)的待存儲(chǔ)分區(qū),并根據(jù)所述時(shí)刻信息確定所述用戶行為數(shù)據(jù)對(duì)應(yīng)的待存儲(chǔ)時(shí)刻字段,所述用戶行為表中的每個(gè)分區(qū)包括預(yù)設(shè)數(shù)量個(gè)時(shí)刻字段。
在一個(gè)實(shí)施例中,所述確定單元用于:
計(jì)算所述日期信息距離格林威治開(kāi)始時(shí)間的天數(shù);
利用所述天數(shù)對(duì)預(yù)設(shè)數(shù)值取余,所述預(yù)設(shè)數(shù)值等于所述用戶行為表中的分區(qū)個(gè)數(shù);
根據(jù)所述取余后的數(shù)值確定所述用戶行為數(shù)據(jù)在所述用戶行為表中對(duì)應(yīng)的待存儲(chǔ)分區(qū)。
在一個(gè)實(shí)施例中,所述裝置還包括:
第三確定模塊,用于根據(jù)所述用戶行為表中每個(gè)分區(qū)對(duì)應(yīng)的日期信息,確定所述分區(qū)對(duì)應(yīng)的周日期;
排序模塊,用于按照所述周日期的預(yù)設(shè)順序?qū)Ω鞣謪^(qū)的用戶行為數(shù)據(jù)進(jìn)行排序。
本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書(shū)中闡述,并且,部分地從說(shuō)明書(shū)中變得顯而易見(jiàn),或者通過(guò)實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過(guò)在所寫(xiě)的說(shuō)明書(shū)、權(quán)利要求書(shū)、以及附圖中所特別指出的結(jié)構(gòu)來(lái)實(shí)現(xiàn)和獲得。
下面通過(guò)附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
附圖說(shuō)明
附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說(shuō)明書(shū)的一部分,與本發(fā)明的實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中:
圖1為本發(fā)明實(shí)施例中一種數(shù)據(jù)處理方法的流程圖;
圖2為本發(fā)明實(shí)施例中一種數(shù)據(jù)處理方法中步驟S12的流程圖;
圖3為本發(fā)明實(shí)施例中一種數(shù)據(jù)處理方法中步驟S23的流程圖;
圖4為本發(fā)明實(shí)施例中一種數(shù)據(jù)處理裝置的框圖;
圖5為本發(fā)明實(shí)施例中一種數(shù)據(jù)處理裝置中第二確定模塊的框圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說(shuō)明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說(shuō)明和解釋本發(fā)明,并不用于限定本發(fā)明。
圖1為本發(fā)明實(shí)施例中一種數(shù)據(jù)處理方法的流程圖。如圖1所示,該方法包括以下步驟S11-S13:
步驟S11,當(dāng)發(fā)生用戶訪問(wèn)行為時(shí),根據(jù)用戶行為數(shù)據(jù)的時(shí)間戳確定用戶行為數(shù)據(jù)對(duì)應(yīng)的日期信息和時(shí)刻信息。
其中,日期信息可按照每日或每月進(jìn)行統(tǒng)計(jì),本實(shí)施例中日期信息指用戶訪問(wèn)行為具體在哪一日發(fā)生,時(shí)刻信息指用戶訪問(wèn)行為具體在哪一小時(shí)發(fā)生,一天共分為24個(gè)小時(shí)。根據(jù)時(shí)間戳確定日期信息和時(shí)刻信息時(shí),可首先將時(shí)間戳轉(zhuǎn)化為小時(shí)的形式,然后再確定日期信息和時(shí)刻信息。
步驟S12,根據(jù)日期信息、時(shí)刻信息和格林威治開(kāi)始時(shí)間確定用戶行為數(shù)據(jù)在用戶行為表中對(duì)應(yīng)的待存儲(chǔ)分區(qū),用戶行為表中包括用于存儲(chǔ)用戶行為數(shù)據(jù)的多個(gè)分區(qū)。
其中,格林威治時(shí)間是指位于英國(guó)倫敦郊區(qū)的皇家格林尼治天文臺(tái)的標(biāo)準(zhǔn)時(shí)間,因?yàn)楸境踝游缇€被定義在通過(guò)那里的經(jīng)線。格林威治開(kāi)始時(shí)間即為1970年1月1日。用戶行為表中用于存儲(chǔ)用戶行為數(shù)據(jù)的多個(gè)分區(qū)是以日期為標(biāo)準(zhǔn)進(jìn)行劃分的,每日對(duì)應(yīng)一個(gè)分區(qū)。
步驟S13,將用戶行為數(shù)據(jù)存儲(chǔ)至待存儲(chǔ)分區(qū)中。
采用本發(fā)明實(shí)施例提供的技術(shù)方案,能夠當(dāng)發(fā)生用戶訪問(wèn)行為時(shí),根據(jù)用戶行為數(shù)據(jù)的時(shí)間戳確定用戶行為數(shù)據(jù)對(duì)應(yīng)的日期信息和時(shí)刻信息,進(jìn)而根據(jù)日期信息、時(shí)刻信息和格林威治開(kāi)始時(shí)間確定用戶行為數(shù)據(jù)在用戶行為表中對(duì)應(yīng)的待存儲(chǔ)分區(qū),并將用戶行為數(shù)據(jù)存儲(chǔ)至待存儲(chǔ)分區(qū)中的,便于后續(xù)對(duì)用戶行為數(shù)據(jù)進(jìn)行統(tǒng)計(jì),實(shí)現(xiàn)了根據(jù)日期和時(shí)間信息來(lái)管理用戶行為數(shù)據(jù)的目的,從而使得用戶行為數(shù)據(jù)的存儲(chǔ)和管理更加系統(tǒng)化,在后續(xù)進(jìn)行統(tǒng)計(jì)分析時(shí),能夠高效率地查找并提取需要統(tǒng)計(jì)分析的用戶行為數(shù)據(jù),提高了數(shù)據(jù)管理的效率。
在一個(gè)實(shí)施例中,如圖2所示,步驟S12可執(zhí)行為以下步驟S21-S23:
步驟S21,獲取用戶的身份標(biāo)識(shí),并根據(jù)身份標(biāo)識(shí)、日期信息和時(shí)刻信息將用戶行為數(shù)據(jù)存儲(chǔ)至臨時(shí)結(jié)果集中。
其中,臨時(shí)結(jié)果集中包括多個(gè)身份標(biāo)識(shí)和與多個(gè)身份標(biāo)識(shí)各自對(duì)應(yīng)的用戶行為數(shù)據(jù),且每個(gè)身份標(biāo)識(shí)對(duì)應(yīng)的用戶行為數(shù)據(jù)是按照各自的日期信息和時(shí)刻信息存儲(chǔ)的。
步驟S22,從臨時(shí)結(jié)果集中提取日期信息和時(shí)刻信息。
步驟S23,根據(jù)日期信息和格林威治開(kāi)始時(shí)間,確定日期信息對(duì)應(yīng)的用戶行為數(shù)據(jù)在用戶行為表中對(duì)應(yīng)的待存儲(chǔ)分區(qū),并根據(jù)時(shí)刻信息確定用戶行為數(shù)據(jù)對(duì)應(yīng)的待存儲(chǔ)時(shí)刻字段;其中,用戶行為表中的每個(gè)分區(qū)包括預(yù)設(shè)數(shù)量個(gè)時(shí)刻字段。
其中,時(shí)刻字段指0~24時(shí)對(duì)應(yīng)的字段,由于每日有24個(gè)時(shí)刻,因此每個(gè)分區(qū)包括24個(gè)時(shí)刻字段,即預(yù)設(shè)數(shù)量為24。例如,用戶行為數(shù)據(jù)對(duì)應(yīng)的時(shí)刻信息為22時(shí),則將用戶行為數(shù)據(jù)寫(xiě)入待存儲(chǔ)分區(qū)中22時(shí)所在的時(shí)刻字段中。
該實(shí)施例中,能夠根據(jù)用戶的身份標(biāo)識(shí)、日期信息和時(shí)刻信息將用戶行為數(shù)據(jù)存儲(chǔ)至臨時(shí)結(jié)果集中,便于后續(xù)對(duì)大量的用戶行為數(shù)據(jù)進(jìn)行統(tǒng)一分區(qū)存儲(chǔ),從而節(jié)省大量的重復(fù)性計(jì)算分區(qū)的時(shí)間。
在一個(gè)實(shí)施例中,如圖3所示,步驟S23可執(zhí)行為以下步驟S31-S33:
步驟S31,計(jì)算日期信息距離格林威治開(kāi)始時(shí)間的天數(shù)。
步驟S32,利用天數(shù)對(duì)預(yù)設(shè)數(shù)值取余,預(yù)設(shè)數(shù)值等于用戶行為表中的分區(qū)個(gè)數(shù)。
步驟S33,根據(jù)取余后的數(shù)值確定用戶行為數(shù)據(jù)在用戶行為表中對(duì)應(yīng)的待存儲(chǔ)分區(qū)。
該實(shí)施例中,將用戶行為表劃分出100個(gè)分區(qū),則預(yù)設(shè)數(shù)值為100。例如,預(yù)設(shè)數(shù)值取100,用戶行為數(shù)據(jù)對(duì)應(yīng)的日期信息為2000年1月1日,首先執(zhí)行步驟S31由于格林威治開(kāi)始時(shí)間為1970年1月1日,因此該日期信息距離格林威治開(kāi)始時(shí)間的天數(shù)為30*365=10950天;然后執(zhí)行步驟S32,10950/100取余數(shù)為50;最后執(zhí)行步驟S33,確定用戶行為數(shù)據(jù)在用戶行為表中對(duì)應(yīng)的待存儲(chǔ)分區(qū)為標(biāo)識(shí)為50的分區(qū)。
由該實(shí)施例可知,用戶行為表中的分區(qū)是依照格林威治時(shí)間的方式進(jìn)行劃分的。為方便統(tǒng)計(jì),可直接用數(shù)字標(biāo)識(shí)每個(gè)分區(qū),例如分區(qū)0即為余數(shù)0對(duì)應(yīng)的分區(qū)、分區(qū)1為余數(shù)1對(duì)應(yīng)的分區(qū)、……、分區(qū)99為余數(shù)99對(duì)應(yīng)的分區(qū),共有100個(gè)分區(qū)。仍以上述日期信息為2000年1月1日的用戶行為數(shù)據(jù)為例,由于最后取余的數(shù)值為50,因此,該用戶行為數(shù)據(jù)在用戶行為表中對(duì)應(yīng)的待存儲(chǔ)分區(qū)為分區(qū)50。
該實(shí)施例能夠準(zhǔn)確簡(jiǎn)便地確定出用戶行為數(shù)據(jù)在用戶行為表中對(duì)應(yīng)的待存儲(chǔ)分區(qū),且根據(jù)格林威治開(kāi)始時(shí)間計(jì)算的每個(gè)分區(qū)中僅能存儲(chǔ)一天的數(shù)據(jù),這使得后續(xù)對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)時(shí),便于按照日期進(jìn)行統(tǒng)一管理統(tǒng)計(jì),從而提高數(shù)據(jù)處理的效率。
在一個(gè)實(shí)施例中,上述方法還包括以下步驟:首先,根據(jù)用戶行為表中每個(gè)分區(qū)對(duì)應(yīng)的日期信息,確定分區(qū)對(duì)應(yīng)的周日期;其次,按照周日期的預(yù)設(shè)順序?qū)Ω鞣謪^(qū)的用戶行為數(shù)據(jù)進(jìn)行排序。這樣排序的優(yōu)點(diǎn)在于,當(dāng)想要從用戶行為表中統(tǒng)計(jì)周一的數(shù)據(jù)時(shí),只需確定其中一個(gè)周日期為周一的分區(qū),即可根據(jù)預(yù)設(shè)順序提取出其他周日期為周一的分區(qū)中的數(shù)據(jù)。
本實(shí)施例中,周日期即為以周一至周日的方式為標(biāo)準(zhǔn)劃分的日期,周日期的預(yù)設(shè)順序可以為周一至周日的自然順序,也可以為其他順序,例如從周日到周一的倒序,此處不做限定。由于用戶行為表中用于存儲(chǔ)用戶行為數(shù)據(jù)的多個(gè)分區(qū)是以日期為標(biāo)準(zhǔn)進(jìn)行劃分的,即每日對(duì)應(yīng)一個(gè)分區(qū),因此,每個(gè)分區(qū)都對(duì)應(yīng)有唯一的周日期。假設(shè)日期2000年1月1日當(dāng)天為周一,則日期2000年1月1日的分區(qū)對(duì)應(yīng)的周日期即為周一,由此可推算出,日期2000年1月2日的分區(qū)對(duì)應(yīng)的周日期即為周二,日期2000年1月3日的分區(qū)對(duì)應(yīng)的周日期即為周三,等等。按照周一至周日的自然順序?qū)γ總€(gè)分區(qū)進(jìn)行排序,排序結(jié)果為:2000年1月1日對(duì)應(yīng)的分區(qū)、2000年1月2日對(duì)應(yīng)的分區(qū)、2000年1月3日的分區(qū)對(duì)應(yīng)的分區(qū)。
另一種優(yōu)選的預(yù)設(shè)順序?yàn)榕c用戶行為表中的分區(qū)數(shù)目有關(guān),假設(shè)分區(qū)數(shù)目為28個(gè),說(shuō)明用戶行為表中包括4個(gè)周日期為周一的分區(qū)、4個(gè)周日期為周二的分區(qū)、……、以及4個(gè)周日期為周日的分區(qū)。因此,預(yù)設(shè)順序可以設(shè)為按照周日期前后順序的順序,即4個(gè)周日期為周一的分區(qū)、4個(gè)周日期為周二的分區(qū)、……、4個(gè)周日期為周日的分區(qū),也就是說(shuō),每4個(gè)周日期相同的分區(qū)是相鄰的。
由此可知,上述列舉的對(duì)分區(qū)的兩種排序方式都有利于快速?gòu)挠脩粜袨楸碇刑崛≈苋掌谙嚓P(guān)的分區(qū),從而提高數(shù)據(jù)統(tǒng)計(jì)效率。
在一個(gè)實(shí)施例中,上述方法還包括以下步驟:首先,當(dāng)接收到對(duì)預(yù)定周日期的用戶行為數(shù)據(jù)的統(tǒng)計(jì)請(qǐng)求時(shí),確定預(yù)定周日期在用戶行為表中對(duì)應(yīng)的分區(qū);其次,從用戶行為表中提取預(yù)定周日期對(duì)應(yīng)的分區(qū)中的用戶行為數(shù)據(jù)進(jìn)行統(tǒng)計(jì)。
在一個(gè)實(shí)施例中,上述方法還包括以下步驟:根據(jù)已存儲(chǔ)至用戶行為表中的用戶行為數(shù)據(jù)對(duì)應(yīng)的日期信息,判斷用戶行為表中是否存在日期與當(dāng)前日期之間的時(shí)長(zhǎng)超過(guò)預(yù)設(shè)時(shí)長(zhǎng)的無(wú)效用戶行為數(shù)據(jù);當(dāng)用戶行為表中存在日期與當(dāng)前日期之間的時(shí)長(zhǎng)超過(guò)預(yù)設(shè)時(shí)長(zhǎng)的無(wú)效用戶行為數(shù)據(jù)時(shí),刪除日期在無(wú)效用戶行為數(shù)據(jù)對(duì)應(yīng)的日期之前的用戶行為數(shù)據(jù)。
舉例而言,為方便統(tǒng)計(jì),用戶行為表中僅保持28天的用戶行為數(shù)據(jù),當(dāng)用戶行為表中存在日期超過(guò)28天的用戶行為數(shù)據(jù),則該用戶行為數(shù)據(jù)即為無(wú)效用戶行為數(shù)據(jù),系統(tǒng)會(huì)刪除這些無(wú)效用戶行為數(shù)據(jù),以避免用戶行為表中存儲(chǔ)的用戶行為數(shù)據(jù)的數(shù)據(jù)量過(guò)大的情況,進(jìn)而避免數(shù)據(jù)量過(guò)大時(shí)影響數(shù)據(jù)管理的效率的情況。
該實(shí)施例中,通過(guò)刪除日期在無(wú)效用戶行為數(shù)據(jù)對(duì)應(yīng)的日期之前的用戶行為數(shù)據(jù),能夠避免用戶行為表中存儲(chǔ)的用戶行為數(shù)據(jù)的數(shù)據(jù)量過(guò)大的情況,進(jìn)而避免數(shù)據(jù)量過(guò)大時(shí)影響數(shù)據(jù)管理的效率的情況。
圖4為本發(fā)明實(shí)施例中一種數(shù)據(jù)處理裝置的框圖。如圖4所示,該裝置包括:
第一確定模塊41,用于當(dāng)發(fā)生用戶訪問(wèn)行為時(shí),根據(jù)用戶行為數(shù)據(jù)的時(shí)間戳確定用戶行為數(shù)據(jù)對(duì)應(yīng)的日期信息和時(shí)刻信息;
第二確定模塊42,用于根據(jù)日期信息、時(shí)刻信息和格林威治開(kāi)始時(shí)間確定用戶行為數(shù)據(jù)在用戶行為表中對(duì)應(yīng)的待存儲(chǔ)分區(qū),用戶行為表中包括用于存儲(chǔ)用戶行為數(shù)據(jù)的多個(gè)分區(qū);
存儲(chǔ)模塊43,用于將用戶行為數(shù)據(jù)存儲(chǔ)至待存儲(chǔ)分區(qū)中。
在一個(gè)實(shí)施例中,如圖5所示,第二確定模塊42包括:
獲取單元421,用于獲取用戶的身份標(biāo)識(shí),并根據(jù)身份標(biāo)識(shí)、日期信息和時(shí)刻信息將用戶行為數(shù)據(jù)存儲(chǔ)至臨時(shí)結(jié)果集中,臨時(shí)結(jié)果集中包括多個(gè)身份標(biāo)識(shí)和與多個(gè)身份標(biāo)識(shí)各自對(duì)應(yīng)的用戶行為數(shù)據(jù),且每個(gè)身份標(biāo)識(shí)對(duì)應(yīng)的用戶行為數(shù)據(jù)是按照各自的日期信息和時(shí)刻信息存儲(chǔ)的;
提取單元422,用于從臨時(shí)結(jié)果集中提取日期信息和時(shí)刻信息;
確定單元423,用于根據(jù)日期信息和格林威治開(kāi)始時(shí)間,確定日期信息對(duì)應(yīng)的用戶行為數(shù)據(jù)在用戶行為表中對(duì)應(yīng)的待存儲(chǔ)分區(qū),并根據(jù)時(shí)刻信息確定用戶行為數(shù)據(jù)對(duì)應(yīng)的待存儲(chǔ)時(shí)刻字段,用戶行為表中的每個(gè)分區(qū)包括預(yù)設(shè)數(shù)量個(gè)時(shí)刻字段。
在一個(gè)實(shí)施例中,確定單元423用于計(jì)算日期信息距離格林威治開(kāi)始時(shí)間的天數(shù);利用天數(shù)對(duì)預(yù)設(shè)數(shù)值取余,預(yù)設(shè)數(shù)值等于用戶行為表中的分區(qū)個(gè)數(shù);根據(jù)取余后的數(shù)值確定用戶行為數(shù)據(jù)在用戶行為表中對(duì)應(yīng)的待存儲(chǔ)分區(qū)。
在一個(gè)實(shí)施例中,上述裝置還包括:
第三確定模塊,用于根據(jù)用戶行為表中每個(gè)分區(qū)對(duì)應(yīng)的日期信息,確定分區(qū)對(duì)應(yīng)的周日期;
排序模塊,用于按照周日期的預(yù)設(shè)順序?qū)Ω鞣謪^(qū)的用戶行為數(shù)據(jù)進(jìn)行排序。
采用本發(fā)明實(shí)施例提供的裝置,能夠當(dāng)發(fā)生用戶訪問(wèn)行為時(shí),根據(jù)用戶行為數(shù)據(jù)的時(shí)間戳確定用戶行為數(shù)據(jù)對(duì)應(yīng)的日期信息和時(shí)刻信息,進(jìn)而根據(jù)日期信息、時(shí)刻信息和格林威治開(kāi)始時(shí)間確定用戶行為數(shù)據(jù)在用戶行為表中對(duì)應(yīng)的待存儲(chǔ)分區(qū),并將用戶行為數(shù)據(jù)存儲(chǔ)至待存儲(chǔ)分區(qū)中的,便于后續(xù)對(duì)用戶行為數(shù)據(jù)進(jìn)行統(tǒng)計(jì),實(shí)現(xiàn)了根據(jù)日期和時(shí)間信息來(lái)管理用戶行為數(shù)據(jù)的目的,從而使得用戶行為數(shù)據(jù)的存儲(chǔ)和管理更加系統(tǒng)化,在后續(xù)進(jìn)行統(tǒng)計(jì)分析時(shí),能夠高效率地查找并提取需要統(tǒng)計(jì)分析的用戶行為數(shù)據(jù),提高了數(shù)據(jù)管理的效率。
關(guān)于上述實(shí)施例中的裝置,其中各個(gè)模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實(shí)施例中進(jìn)行了詳細(xì)描述,此處將不做詳細(xì)闡述說(shuō)明。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器和光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。