一種網(wǎng)絡(luò)日志URL的分析方法及裝置技術(shù)領(lǐng)域本申請(qǐng)涉及數(shù)據(jù)處理的技術(shù)領(lǐng)域,特別是涉及一種網(wǎng)絡(luò)日志URL的分析方法和裝置。
背景技術(shù):在商業(yè)分析中經(jīng)常會(huì)對(duì)這些海量Weblog(網(wǎng)絡(luò)日志)進(jìn)行各種分析挖掘處理,其中,Weblog的URL中包含著訪客訪問(wèn)的重要信息,通常需要使用正則表達(dá)式與URL進(jìn)行匹配,對(duì)匹配上的正則表達(dá)式所屬類別進(jìn)行商業(yè)分析?,F(xiàn)有技術(shù)中,整個(gè)Weblog的URL處理過(guò)程分三步:1.收集到海量的Weblog并存儲(chǔ)原始數(shù)據(jù);2.對(duì)URL進(jìn)行正則表達(dá)式的匹配,每一條URL匹配到正則規(guī)則可能會(huì)有多條(通常為1-10條這個(gè)范圍內(nèi));3.根據(jù)正則規(guī)則對(duì)應(yīng)的商業(yè)分類,產(chǎn)出商業(yè)分類的后續(xù)數(shù)據(jù)指標(biāo)分析。假設(shè)原始weblog有n條,匹配正則表達(dá)式有m條,那么真實(shí)的匹配過(guò)程產(chǎn)生的數(shù)據(jù)匹配就會(huì)有n×m條。以上現(xiàn)有技術(shù)中存在的問(wèn)題是,URL正則匹配過(guò)程較為復(fù)雜,大型互聯(lián)網(wǎng)Weblog的記錄數(shù)是海量的,多條正則匹配規(guī)則依次對(duì)海量的URL逐條進(jìn)行正則匹配,計(jì)算量非常大,計(jì)算成本較高。因此,本申請(qǐng)所要解決的技術(shù)問(wèn)題是,提供一種網(wǎng)絡(luò)日志URL的分析機(jī)制,以減少正則匹配的計(jì)算量,降低計(jì)算成本。
技術(shù)實(shí)現(xiàn)要素:本申請(qǐng)所要解決的技術(shù)問(wèn)題是提供一種網(wǎng)絡(luò)日志URL的分析方法,以減少正則匹配的計(jì)算量,降低計(jì)算成本。本申請(qǐng)還提供了一種網(wǎng)絡(luò)日志URL的分析裝置,用以保證上述方法在實(shí)際中的應(yīng)用及實(shí)現(xiàn)。為了解決上述問(wèn)題,本申請(qǐng)公開了一種網(wǎng)絡(luò)日志URL的分析方法,包括:提取網(wǎng)頁(yè)日志中的URL;對(duì)所述URL進(jìn)行去重處理;依次采用預(yù)置的多個(gè)正則表達(dá)式,對(duì)去重后URL進(jìn)行正則匹配,提取與去重后URL匹配的正則表達(dá)式的編號(hào);針對(duì)去重前URL,復(fù)制與其相同的去重后URL的正則表達(dá)式編號(hào),作為對(duì)應(yīng)的正則表達(dá)式編號(hào);對(duì)去重前各URL對(duì)應(yīng)的不同的正則表達(dá)式編號(hào)進(jìn)行統(tǒng)計(jì)。優(yōu)選的,去重前和去重后的URL分別以列的形式存儲(chǔ)在第一表格和第二表格中;所述去重后的URL對(duì)應(yīng)的正則表達(dá)式編號(hào),對(duì)應(yīng)存儲(chǔ)在第二表格中。優(yōu)選的,所述針對(duì)去重前的所有URL,在去重后的URL中,找到與其相同的URL對(duì)應(yīng)的正則表達(dá)式,作為對(duì)應(yīng)的正則表達(dá)式的步驟包括:將第二表格的數(shù)據(jù)進(jìn)行行轉(zhuǎn)列;通過(guò)對(duì)第一表格和第二表格中URL所在列進(jìn)行等值連接,使去重前的所有URL找到其對(duì)應(yīng)的正則表達(dá)式編號(hào)。優(yōu)選的,所述去重前URL對(duì)應(yīng)的正則表達(dá)式編號(hào),對(duì)應(yīng)添加到第一表格中。優(yōu)選的,所述去重前URL對(duì)應(yīng)的正則表達(dá)式編號(hào),替換第一表格中對(duì)應(yīng)的URL。優(yōu)選的,所述對(duì)去重前各URL對(duì)應(yīng)的不同的正則表達(dá)式編號(hào)進(jìn)行統(tǒng)計(jì)的步驟為,分別計(jì)算各個(gè)不同的正則表達(dá)式編號(hào)在去重前所有URL中出現(xiàn)的次數(shù)。優(yōu)選的,所述正則表達(dá)式的編號(hào)為其所屬商業(yè)類別的編號(hào)。本申請(qǐng)還提供了一種網(wǎng)絡(luò)日志URL的分析裝置,包括:URL提取模塊,用于提取網(wǎng)頁(yè)日志中的URL;URL去重模塊,用于對(duì)所述URL進(jìn)行去重處理;正則匹配模塊,用于依次采用預(yù)置的多個(gè)正則表達(dá)式,對(duì)去重后URL進(jìn)行正則匹配,提取與去重后URL匹配的正則表達(dá)式的編號(hào);匹配結(jié)果復(fù)制模塊,用于針對(duì)去重前URL,復(fù)制與其相同的去重后URL的正則表達(dá)式編號(hào),作為對(duì)應(yīng)的正則表達(dá)式編號(hào);統(tǒng)計(jì)模塊,用于對(duì)去重前各URL對(duì)應(yīng)的不同的正則表達(dá)式編號(hào)進(jìn)行統(tǒng)計(jì)。優(yōu)選的,去重前和去重后的URL分別以列的形式存儲(chǔ)在第一表格和第二表格中;所述去重后的URL對(duì)應(yīng)的正則表達(dá)式編號(hào),對(duì)應(yīng)存儲(chǔ)在第二表格中。優(yōu)選的,所述匹配結(jié)果復(fù)制模塊包括:行轉(zhuǎn)列子模塊,用于將第二表格的數(shù)據(jù)進(jìn)行行轉(zhuǎn)列;等值連接子模塊,用于通過(guò)對(duì)第一表格和第二表格中URL所在列進(jìn)行等值連接,使去重前的所有URL找到其對(duì)應(yīng)的正則表達(dá)式編號(hào)。與現(xiàn)有技術(shù)相比,本申請(qǐng)具有以下優(yōu)點(diǎn):依據(jù)本申請(qǐng),針對(duì)海量的Weblog中的URL,先去除其中重復(fù)的URL,在對(duì)去重后的URL進(jìn)行正則匹配,由于海量的log里面,URL的重復(fù)訪問(wèn)的次數(shù)非常高,去重后,針對(duì)相同的URL進(jìn)行正則匹配技術(shù)成本只有一次,由去重后URL的匹配結(jié)果,即可得到與之相同的所有URL對(duì)應(yīng)的正則表達(dá)式。因此,能夠非常有效的將URL正則匹配的計(jì)算成本降低到最低。本申請(qǐng)可以將去重前后的URL存儲(chǔ)在表格中,通過(guò)將去重前后URL所在列進(jìn)行等值連接,即可找到去重前所有URL與其正則表達(dá)式的對(duì)應(yīng)關(guān)系,相比于正則匹配的不等值連接,可以降低計(jì)算成本。而且,在進(jìn)行等值連接時(shí)可以選擇將正則表達(dá)式編號(hào)替換掉表中對(duì)應(yīng)的URL,展示結(jié)果就只有正則匹配表達(dá)式的編號(hào),相比于存在URL的情況,大大減小了表格的列寬,占用資源較小。附圖說(shuō)明圖1是本申請(qǐng)的一種網(wǎng)絡(luò)日志URL的分析方法實(shí)施例的流程圖;圖2是本申請(qǐng)的一種網(wǎng)絡(luò)日志URL的分析裝置實(shí)施例的結(jié)構(gòu)框圖。具體實(shí)施方式為使本申請(qǐng)的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式對(duì)本申請(qǐng)作進(jìn)一步詳細(xì)的說(shuō)明。參考圖1,示出了本申請(qǐng)的一種網(wǎng)絡(luò)日志URL的分析方法實(shí)施例的流程圖,具體可以包括以下步驟:步驟101、提取網(wǎng)頁(yè)日志中的URL。網(wǎng)頁(yè)日志是記錄web服務(wù)器接收處理請(qǐng)求以及運(yùn)行時(shí)錯(cuò)誤等各種原始信息的以.log結(jié)尾的文件,確切的講,應(yīng)該是服務(wù)器日志。網(wǎng)頁(yè)日志中包含了訪客請(qǐng)求訪問(wèn)的網(wǎng)頁(yè)地址URL。URL由協(xié)議、域名、請(qǐng)求地址三部分組成,完整地URL唯一確定了一個(gè)請(qǐng)求的資源,該資源可以是頁(yè)面、內(nèi)容模塊、文件或多媒體資源等。URL對(duì)于網(wǎng)站而言,URL的用處是對(duì)資源的唯一定位,所以方式可以有很多,用資源的唯一描述(資源名稱或簡(jiǎn)稱等),資源的唯一識(shí)別碼(ID、數(shù)字標(biāo)記等),也可以是動(dòng)態(tài)參數(shù)。因此,通過(guò)提取URL中的信息可以得知訪客訪問(wèn)了哪些網(wǎng)頁(yè)內(nèi)容,通過(guò)對(duì)海量日志中URL的分析,可以得知各種網(wǎng)頁(yè)資源被訪問(wèn)的情況,如次數(shù),頻率等信息。步驟102、對(duì)所述URL進(jìn)行去重處理。一個(gè)URL一天內(nèi)會(huì)被多次訪問(wèn),因此,海量的網(wǎng)絡(luò)日志中會(huì)存在大量的重復(fù)的URL。所述去重處理為去除所述網(wǎng)頁(yè)日志中重復(fù)的網(wǎng)絡(luò)地址,保留下的URL均不相同。在進(jìn)行去重處理的時(shí)候,可以提取所有URL中不重復(fù)的URL,或?qū)RL依次放入表,在存儲(chǔ)之前判斷表中是否存在相同的網(wǎng)絡(luò)地址,若不存在,則添加到表中,若存在,則不進(jìn)行添加。在本申請(qǐng)的一種優(yōu)選實(shí)施例中,去重前和去重后的URL可以分別以列的形式存儲(chǔ)在第一表格和第二表格中。如下例所示。第一表格為:Ahttp://men.taobao.com/123456http://men.taobao.com/123456http://men.taobao.com/123456http://women.taobao.com/123456http://women.taobao.com/123456http://women.taobao.com/123456其中,http://men.taobao.com/123456這個(gè)URL重復(fù)了3次,http://women.taobao.com/123456這個(gè)URL也重復(fù)了3次,因此,去重后得到的第二表格為:Dhttp://men.taobao.com/123456http://women.taobao.com/123456步驟103、依次采用預(yù)置的多個(gè)正則表達(dá)式,對(duì)去重后URL進(jìn)行正則匹配,提取與去重后URL匹配的正則表達(dá)式的編號(hào)。公知的是,正則表達(dá)式是用于進(jìn)行文本匹配的工具,通常由一些普通字符和一些元字符(metacharacters)組成。普通字符包括大小寫的字母和數(shù)字,而元字符則具有特殊的含義。正則表達(dá)式的匹配可以理解為,在給定的字符串中,尋找與給定的正則表達(dá)式相匹配的部分。有可能字符串里有不止一個(gè)部分滿足給定的正則表達(dá)式,這時(shí)每一個(gè)這樣的部分被稱為一個(gè)匹配。此處是將URL與預(yù)設(shè)的包含關(guān)鍵字的正則表達(dá)式進(jìn)行匹配,匹配上了說(shuō)明URL中包含正則表達(dá)式中的關(guān)鍵字,匹配不上,說(shuō)明不包含。通過(guò)對(duì)URL進(jìn)行多個(gè)正則表達(dá)式的匹配可以得知URL中所包含的信息或信息的分類。在本申請(qǐng)的一種優(yōu)選實(shí)施例中,所述去重后的URL對(duì)應(yīng)的正則表達(dá)式編號(hào),可以對(duì)應(yīng)存儲(chǔ)在第二表格中。具體的,所述正則表達(dá)式的編號(hào)可以為其所屬商業(yè)類別的編號(hào)。如上例,進(jìn)行匹配后,結(jié)果如下表所示:DEhttp://men.taobao.com/123456menhttp://women.taobao.com/123456menhttp://women.taobao.com/123456women對(duì)http://men.taobao.com/123456使用多條預(yù)置的正則表達(dá)式進(jìn)行正則匹配,得出與編號(hào)為men的正則表達(dá)式匹配。http://women.taobao.com/123456中既包含men的關(guān)鍵字,也包含women的關(guān)鍵字,可以與編號(hào)為men和women的正則表達(dá)式匹配。步驟104、針對(duì)去重前URL,復(fù)制與其相同的去重后URL的正則表達(dá)式編號(hào),作為對(duì)應(yīng)的正則表達(dá)式編號(hào)。去重前的URL在去重后的URL中均能找到與之相同,因此,針對(duì)去重前URL,可以將與之相同的URL對(duì)應(yīng)的正則表達(dá)式編號(hào)作為自己對(duì)應(yīng)的正則表達(dá)式編號(hào)。由于本申請(qǐng)是針對(duì)去重后的URL進(jìn)行正則匹配,相對(duì)于現(xiàn)有技術(shù)中針對(duì)每條URL逐個(gè)匹配,可以大大減少工作量。如上例,現(xiàn)有技術(shù)中需要針對(duì)6條URL進(jìn)行逐條匹配,而去重后,只需對(duì)2條URL進(jìn)行匹配,然后將匹配結(jié)果與6條URL對(duì)應(yīng)即可。在具體的實(shí)現(xiàn)中,將去重前后的URL和正則匹配的結(jié)果放入表格中后,所述步驟104可以包括:子步驟S11、將第二表格的數(shù)據(jù)進(jìn)行行轉(zhuǎn)列。子步驟S12、通過(guò)對(duì)第一表格和第二表格中URL所在列進(jìn)行等值連接,使去重前的所有URL找到其對(duì)應(yīng)的正則表達(dá)式編號(hào)。在進(jìn)行正則匹配后,各條URL對(duì)應(yīng)的正則表達(dá)式編號(hào)是以列的形式進(jìn)行存儲(chǔ)的,可以將一條url對(duì)應(yīng)的正則表達(dá)式的編號(hào)按大小順序存儲(chǔ)到一列里面,如下所示:DEFhttp://men.taobao.com/123456menhttp://women.taobao.com/123456menwomen然后,對(duì)A列和D列進(jìn)行等值連接,這樣就可以將E列、F列和G列中的正則表達(dá)式編號(hào)和A列中的URL關(guān)聯(lián)起來(lái)。在本申請(qǐng)的一種優(yōu)選實(shí)施例中,所述去重前URL對(duì)應(yīng)的正則表達(dá)式編號(hào),可以對(duì)應(yīng)添加到第一表格中,例如,將正則表達(dá)式編號(hào)添加到第一表格中URL右側(cè)的列中,并與URL進(jìn)行對(duì)應(yīng)。在本申請(qǐng)的另一種優(yōu)選實(shí)施例中,所述去重前URL對(duì)應(yīng)的正則表達(dá)式編號(hào),可以替換第一表格中對(duì)應(yīng)的URL,即針對(duì)第一表格中的各個(gè)URL,將第二表格中與之相同的URL對(duì)應(yīng)的正則表達(dá)式的編號(hào),添加到第一表格中,并替換原URL。本申請(qǐng)針對(duì)海量的URL,只對(duì)其中不重復(fù)的URL進(jìn)行正則匹配,因此能夠非常有效的降低url正則匹配的計(jì)算成本到最低。步驟105、對(duì)去重前各URL對(duì)應(yīng)的不同的正則表達(dá)式編號(hào)進(jìn)行統(tǒng)計(jì)。在具體的實(shí)現(xiàn)中,所述步驟105可以為,分別計(jì)算各個(gè)不同的正則表達(dá)式編號(hào)在去重前所有URL中出現(xiàn)的次數(shù),依據(jù)不同正則表達(dá)式所對(duì)應(yīng)的關(guān)鍵詞或分類,可以對(duì)訪客訪問(wèn)網(wǎng)站的各種信息進(jìn)行統(tǒng)計(jì)。在具體的實(shí)現(xiàn)中,可以在Hadoop或Hive等數(shù)據(jù)倉(cāng)庫(kù)平臺(tái)中實(shí)施本申請(qǐng)。綜上所述,依據(jù)本申請(qǐng),針對(duì)海量的Weblog中的URL,先去除其中重復(fù)的URL,在對(duì)去重后的URL進(jìn)行正則匹配,由于海量的Weblog里面,URL的重復(fù)訪問(wèn)的次數(shù)非常高,去重后,針對(duì)相同的URL進(jìn)行正則匹配技術(shù)成本只有一次,由去重后URL的匹配結(jié)果,即可得到與之相同的所有URL對(duì)應(yīng)的的正則表達(dá)式。因此,能夠非常有效的將URL正則匹配的計(jì)算成本降低到最低。本申請(qǐng)可以將去重前后的URL存儲(chǔ)在表格中,通過(guò)將去重前后URL所在列進(jìn)行等值連接,即可找到去重前所有URL與其正則表達(dá)式的對(duì)應(yīng)關(guān)系,相比于正則匹配的不等值連接,可以降低計(jì)算成本。而且,在進(jìn)行等值連接時(shí)可以選擇將正則表達(dá)式編號(hào)替換掉表中對(duì)應(yīng)的URL,展示結(jié)果就只有正則匹配表達(dá)式的編號(hào),相比于存在URL的情況,大大減小了表格的列寬,占用資源較小。對(duì)于方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本申請(qǐng)并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本申請(qǐng),某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說(shuō)明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本申請(qǐng)所必須的。參考圖2,其示出了本申請(qǐng)的一種網(wǎng)絡(luò)日志URL的分析裝置實(shí)施例的結(jié)構(gòu)框圖,具體可以包括以下模塊:URL提取模塊201,用于提取網(wǎng)頁(yè)日志中的URL;URL去重模塊202,用于對(duì)所述URL進(jìn)行去重處理;正則匹配模塊203,用于依次采用預(yù)置的多個(gè)正則表達(dá)式,對(duì)去重后URL進(jìn)行正則匹配,提取與去重后URL匹配的正則表達(dá)式的編號(hào);匹配結(jié)果復(fù)制模塊204,用于針對(duì)去重前URL,復(fù)制與其相同的去重后URL的正則表達(dá)式編號(hào),作為對(duì)應(yīng)的正則表達(dá)式編號(hào);統(tǒng)計(jì)模塊205,用于對(duì)去重前各URL對(duì)應(yīng)的不同的正則表達(dá)式編號(hào)進(jìn)行統(tǒng)計(jì)。在本申請(qǐng)的一種優(yōu)選實(shí)施例中,去重前和去重后的URL可以分別以列的形式存儲(chǔ)在第一表格和第二表格中;所述去重后的URL對(duì)應(yīng)的正則表達(dá)式編號(hào),可以對(duì)應(yīng)存儲(chǔ)在第二表格中。在本申請(qǐng)的一種優(yōu)選實(shí)施例中,所述匹配結(jié)果復(fù)制模塊可以包括:行轉(zhuǎn)列子模塊,用于將第二表格的數(shù)據(jù)進(jìn)行行轉(zhuǎn)列;等值連接子模塊,用于通過(guò)對(duì)第一表格和第二表格中URL所在列進(jìn)行等值連接,使去重前的所有URL找到其對(duì)應(yīng)的正則表達(dá)式編號(hào)。在本申請(qǐng)的一種優(yōu)選實(shí)施例中,所述去重前URL對(duì)應(yīng)的正則表達(dá)式編號(hào),可以對(duì)應(yīng)添加到第一表格中。在本申請(qǐng)的一種優(yōu)選實(shí)施例中,所述去重前URL對(duì)應(yīng)的正則表達(dá)式編號(hào),可以替換第一表格中對(duì)應(yīng)的URL。在本申請(qǐng)的一種優(yōu)選實(shí)施例中,所述統(tǒng)計(jì)模塊可以為,計(jì)算模塊,用于分別計(jì)算各個(gè)不同的正則表達(dá)式編號(hào)在去重前所有URL中出現(xiàn)的次數(shù)。在本申請(qǐng)的一種優(yōu)選實(shí)施例中,所述正則表達(dá)式的編號(hào)可以為其所屬商業(yè)類別的編號(hào)。由于所述裝置實(shí)施例基本相應(yīng)于前述圖1和圖2所示的方法實(shí)施例,故本實(shí)施例的描述中未詳盡之處,可以參見前述實(shí)施例中的相關(guān)說(shuō)明,在此就不贅述了。本申請(qǐng)可用于眾多通用或?qū)S玫挠?jì)算系統(tǒng)環(huán)境或配置中。例如:個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、置頂盒、可編程的消費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、包括以上任何系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境等等。本申請(qǐng)可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計(jì)算環(huán)境中實(shí)踐本申請(qǐng),在這些分布式計(jì)算環(huán)境中,由通過(guò)通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來(lái)執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。在本文中,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語(yǔ)句“包括一個(gè)......”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。以上對(duì)本申請(qǐng)所提供的一種網(wǎng)絡(luò)日志URL的分析方法,以及,一種網(wǎng)絡(luò)日志URL的分析裝置進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本申請(qǐng)的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本申請(qǐng)的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請(qǐng)的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書內(nèi)容不應(yīng)理解為對(duì)本申請(qǐng)的限制。