時(shí)用戶行為相關(guān)的臨時(shí)日志信息的超文本傳輸協(xié)議HTTP請(qǐng)求,并從所述用戶終端向?qū)崟r(shí)日志收集系統(tǒng)的第一接收源發(fā)送所述HTTP請(qǐng)求,第一接收源將HTTP請(qǐng)求經(jīng)由實(shí)時(shí)日志收集系統(tǒng)的第一卡夫卡Kafka通道發(fā)送至存儲(chǔ)系統(tǒng)。根據(jù)本發(fā)明實(shí)施例的實(shí)時(shí)日志收集方法、實(shí)時(shí)日志收集系統(tǒng)和應(yīng)用服務(wù)器集群能夠快速、準(zhǔn)確地收集用戶行為日志,并快速、準(zhǔn)確地獲取與關(guān)注用戶行為相關(guān)的信息。
[0022]根據(jù)下面參考附圖對(duì)示例性實(shí)施例的詳細(xì)說明,本發(fā)明的其它特征及方面將變得清楚。
【附圖說明】
[0023]包含在說明書中并且構(gòu)成說明書的一部分的附圖與說明書一起示出了本發(fā)明的示例性實(shí)施例、特征和方面,并且用于解釋本發(fā)明的原理。
[0024]圖1示出根據(jù)本發(fā)明一實(shí)施例的實(shí)時(shí)日志收集方法的流程示意圖;
[0025]圖2示出根據(jù)本發(fā)明另一實(shí)施例的實(shí)時(shí)日志收集方法的流程示意圖;
[0026]圖3示出根據(jù)本發(fā)明又一實(shí)施例的實(shí)時(shí)日志收集方法的流程示意圖;
[0027]圖4示出根據(jù)本發(fā)明一實(shí)施例的實(shí)時(shí)日志收集系統(tǒng)的結(jié)構(gòu)框圖;
[0028]圖5示出根據(jù)本發(fā)明一實(shí)施例的應(yīng)用服務(wù)器集群的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0029]以下將參考附圖詳細(xì)說明本發(fā)明的各種示例性實(shí)施例、特征和方面。附圖中相同的附圖標(biāo)記表示功能相同或相似的元件。盡管在附圖中示出了實(shí)施例的各種方面,但是除非特別指出,不必按比例繪制附圖。
[0030]在這里專用的詞“示例性”意為“用作例子、實(shí)施例或說明性”。這里作為“示例性”所說明的任何實(shí)施例不必解釋為優(yōu)于或好于其它實(shí)施例。
[0031]另外,為了更好的說明本發(fā)明,在下文的【具體實(shí)施方式】中給出了眾多的具體細(xì)節(jié)。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,沒有某些具體細(xì)節(jié),本發(fā)明同樣可以實(shí)施。在一些實(shí)例中,對(duì)于本領(lǐng)域技術(shù)人員熟知的方法、手段、元件和電路未作詳細(xì)描述,以便于凸顯本發(fā)明的主旨。
[0032]實(shí)施例1
[0033]圖1示出根據(jù)本發(fā)明一實(shí)施例的實(shí)時(shí)日志收集方法的流程圖。如圖1所示,該實(shí)時(shí)日志收集方法主要可以包括:步驟SllO至步驟S130。
[0034]具體地,步驟S110、在用戶終端打開第一應(yīng)用服務(wù)器所提供網(wǎng)頁的情況下,第一應(yīng)用服務(wù)器控制所述用戶終端運(yùn)行預(yù)設(shè)的日志記錄腳本。其中,該日志記錄腳本可以是為了記錄某一臨時(shí)上線的活動(dòng)或者關(guān)注的活動(dòng)的用戶行為信息而設(shè)置的,臨時(shí)上線的活動(dòng)例如可以是限時(shí)秒殺搶購活動(dòng)等,關(guān)注的活動(dòng)例如可以是播放特定的視頻等。
[0035]步驟S120、在日志記錄腳本檢測(cè)到用戶進(jìn)行設(shè)定的臨時(shí)用戶行為的情況下,生成包括與臨時(shí)用戶行為相關(guān)的臨時(shí)日志信息的超文本傳輸協(xié)議HTTP請(qǐng)求,并從用戶終端向?qū)崟r(shí)日志收集系統(tǒng)的第一接收源發(fā)送HTTP請(qǐng)求。其中,臨時(shí)日志信息可以包括用戶終端的IP地址、進(jìn)行臨時(shí)用戶行為的時(shí)間和用戶ID中的至少一項(xiàng)。
[0036]步驟S130、第一接收源將HTTP請(qǐng)求經(jīng)由實(shí)時(shí)日志收集系統(tǒng)的第一卡夫卡Kafka通道發(fā)送至存儲(chǔ)系統(tǒng)。
[0037]這樣,根據(jù)本發(fā)明上述實(shí)施例的實(shí)時(shí)日志收集方法能夠快速、準(zhǔn)確地收集用戶行為日志,并快速、準(zhǔn)確地獲取與關(guān)注用戶行為相關(guān)的信息。
[0038]在一種可能的實(shí)現(xiàn)方式中,實(shí)時(shí)日志收集系統(tǒng)優(yōu)選Flume系統(tǒng),該系統(tǒng)是Cloudera提供的一個(gè)高可用、高可靠的分布式的海量日志采集、聚合和傳輸?shù)南到y(tǒng)。
[0039]在一種可能的實(shí)現(xiàn)方式中,所述存儲(chǔ)系統(tǒng)可以包括分布式文件系統(tǒng)和/或數(shù)據(jù)庫。分布式文件系統(tǒng)可以優(yōu)選Hadoop分布式文件系統(tǒng)(HDFS),數(shù)據(jù)塊可以優(yōu)選Infobright這一開源的類MySQL的數(shù)據(jù)倉庫。
[0040]在一種可能的實(shí)現(xiàn)方式中,如圖2所示,在步驟S120之后,還可以包括:步驟S140、實(shí)時(shí)日志收集系統(tǒng)的攔截器根據(jù)所述HTTP請(qǐng)求,統(tǒng)計(jì)第一時(shí)間間隔內(nèi)進(jìn)行臨時(shí)用戶行為的次數(shù)。當(dāng)然,也可以統(tǒng)計(jì)第一時(shí)間間隔內(nèi)進(jìn)行該臨時(shí)用戶行為的用戶ID和IP地址等,也可以統(tǒng)計(jì)進(jìn)行該臨時(shí)用戶次數(shù)較多或較少的時(shí)間段。另外,第一時(shí)間間隔可以根據(jù)實(shí)際需要靈活設(shè)置,例如可以設(shè)置為I天或者I小時(shí)等。這樣,根據(jù)所統(tǒng)計(jì)出的與臨時(shí)用戶行為(也就是關(guān)注用戶行為)相關(guān)的信息,能夠使得網(wǎng)站更好地向用戶提供個(gè)性化服務(wù)。
[0041 ] 實(shí)施例2
[0042]圖3示出根據(jù)本發(fā)明另一實(shí)施例的實(shí)時(shí)日志收集方法的流程示意圖。如圖3所示,根據(jù)本發(fā)明實(shí)施例的實(shí)時(shí)日志收集方法還可以包括:步驟S210至步驟S230。其中,需要說明的是,圖1中示出的步驟SllO至步驟S130(或者圖2中示出的步驟SllO至步驟S140)與圖3中示出的步驟S210至步驟S230(或者圖3中示出的步驟S210至步驟S240)可以并行執(zhí)行,而不分先后順序。
[0043]具體地,步驟S210、第二應(yīng)用服務(wù)器記錄與用戶行為相關(guān)的行為屬性,并將在第二時(shí)間間隔內(nèi)所記錄的行為屬性按照預(yù)先設(shè)定的日志格式生成日志文件。其中,行為屬性可以包括用戶終端的IP地址、用戶行為的名稱(可以是用戶所進(jìn)行的具體操作內(nèi)容,例如發(fā)送的評(píng)論內(nèi)容和上傳的視頻的編號(hào)等)、進(jìn)行用戶行為的時(shí)間和用戶ID中的至少一項(xiàng)。另外,與實(shí)施例1中步驟SllO不同的是,步驟S210可以記錄用戶在用戶終端進(jìn)行的所有用戶行為,即只要用戶在用戶終端進(jìn)行了用戶行為,第二應(yīng)用服務(wù)器就會(huì)對(duì)此做出相應(yīng)的記錄。
[0044]在一種可能的實(shí)現(xiàn)方式中,按照預(yù)先設(shè)定的日志格式生成日志文件可以是將行為屬性按照統(tǒng)一的順序排列來生成日志文件,以便于后續(xù)對(duì)日志文件的快速、準(zhǔn)確地解析,從而能夠基于解析的結(jié)果進(jìn)一步快速、準(zhǔn)確地分析和統(tǒng)計(jì)所關(guān)注的信息。另外,第二時(shí)間間隔也可以根據(jù)實(shí)際需要靈活設(shè)置,例如可以設(shè)置為I分鐘或者10分鐘等。
[0045]步驟S220、實(shí)時(shí)日志收集系統(tǒng)的代理模塊在檢測(cè)到存在日志文件的情況下,將日志文件發(fā)送至實(shí)時(shí)日志收集系統(tǒng)的第二接收源。其中,第二應(yīng)用服務(wù)器在生成了日志文件的情況下,可以存在本地存儲(chǔ)器,也可以通過有限網(wǎng)絡(luò)或無線網(wǎng)絡(luò)等方式傳輸至特定存儲(chǔ)器,在日志文件存儲(chǔ)在本地存儲(chǔ)器的情況下,所述代理模塊從本地存儲(chǔ)器獲取日志文件,在日志文件存儲(chǔ)在特定存儲(chǔ)器的情況下,所述代理模塊從特定存儲(chǔ)器獲取日志文件。
[0046]步驟S230、第二接收源將日志文件經(jīng)由實(shí)時(shí)日志收集系統(tǒng)的第二Kafka通道發(fā)送至存儲(chǔ)系統(tǒng)。
[0047]這樣,根據(jù)本發(fā)明上述實(shí)施例的實(shí)時(shí)日志收集方法能夠快速、準(zhǔn)確地收集用戶在用戶終端所進(jìn)行的所有用戶行為的日志。
[0048]在一種可能的實(shí)現(xiàn)方式中,在步驟S220之后,還可以包括步驟S240、實(shí)時(shí)日志收集系統(tǒng)的攔截器根據(jù)所述日志文件統(tǒng)計(jì)第三時(shí)間間隔內(nèi)進(jìn)行特定用戶行為的次數(shù),并在統(tǒng)計(jì)出的次數(shù)大于設(shè)定閾值的情況下,發(fā)送異常信息。例如,可以通過郵件、短信、微信等方式將異常信息直接發(fā)送至網(wǎng)絡(luò)管理員。其中,可以根據(jù)實(shí)際需要來設(shè)置上述的特定用戶行為,特定用戶行為例如可以是某一話題的評(píng)論、某一視頻的播放和下載、上傳視頻等。假設(shè)將特定用戶行為設(shè)置為某一話題的評(píng)論,則在統(tǒng)計(jì)出的在第三時(shí)間間隔內(nèi)該話題的評(píng)論次數(shù)大于設(shè)定閾值的情況下,將該話題認(rèn)定為熱門話題。