專利名稱:多核環(huán)境下基于海量日志的類似行為模式用戶識別方法
技術(shù)領(lǐng)域:
本發(fā)明屬于數(shù)據(jù)挖據(jù)技術(shù)領(lǐng)域,具體涉及到一種多核環(huán)境下基于海量日志的類似行為模式用戶識別方法。
背景技術(shù):
因特網(wǎng)已經(jīng)成為一個(gè)巨大的、分布廣泛的和全球性的信息服務(wù)中心,正逐漸滲透到人們的日常工作、生活及其它領(lǐng)域。大量的用戶通過訪問電子商務(wù)網(wǎng)站進(jìn)行信息查詢和購買商品。通過分析Web服務(wù)器中的訪問日志文件,從而發(fā)現(xiàn)用戶訪問站點(diǎn)的瀏覽規(guī)律,可以幫助人們理解不同用戶的行為模式,最終為改進(jìn)Web站點(diǎn)并獲取更大的經(jīng)濟(jì)效益提供幫助。研究不同的用戶的消費(fèi)習(xí)慣,往往可以發(fā)現(xiàn)多個(gè)不同用戶之間可能具有類似的行為模式。例如,他們可能都在每周四晚上瀏覽促銷信息、每周五晚上網(wǎng)購日用品、每周日晚上確認(rèn)到貨和進(jìn)行網(wǎng)上支付;或者可能都在每周五晚上進(jìn)行網(wǎng)上閱讀、每周六晚上更新博客、每周日晚上安排工作計(jì)劃。這種行為模式的主要特征可以歸納為多個(gè)不同的用戶在相近的時(shí)間點(diǎn)上從事類似的行為,或者說他們共享具有時(shí)間特征的類似行為模式。識別上述具有類似行為模式的用戶群,可以為網(wǎng)站提供精準(zhǔn)的個(gè)性化服務(wù)提供幫助,例如安排面向特定人群的團(tuán)購活動(dòng),在合適的時(shí)間點(diǎn)推出廣受歡迎的服務(wù)內(nèi)容,等。然而,這種類似行為的訪問模式識別一般涉及TB級的歷史海量數(shù)據(jù)。雖然,計(jì)算機(jī)技術(shù)的飛速發(fā)展,特別是多核技術(shù)的引入可以使得傳統(tǒng)計(jì)算機(jī)系統(tǒng)的計(jì)算能力得到一定程度的提高,但是,如果沒有在應(yīng)用級實(shí)施針對海量日志的分析過程的優(yōu)化,巨大的運(yùn)算量以及繁重的I/O操作可能依舊使得多核系統(tǒng)在功能和性能上都難以達(dá)到預(yù)期效果。
發(fā)明內(nèi)容
本發(fā)明針對現(xiàn)有技術(shù)的不足,提供了一種多核環(huán)境下基于海量日志的類似行為模式用戶識別方法。本發(fā)明方法的具體步驟是
步驟(1)在WEB服務(wù)器端設(shè)置單獨(dú)的日志數(shù)據(jù)庫,用于存放記錄用戶訪問信息的日志數(shù)據(jù)集,日志數(shù)據(jù)集中的每一條日志信息包括用戶ID、訪問時(shí)間、訪問IP、請求頁面、請求功能號;
步驟O)以可用內(nèi)存為限,讀入日志數(shù)據(jù)集中的部分日志信息至內(nèi)置多核CPU的通用計(jì)算機(jī)內(nèi)存;
步驟(3)根據(jù)多核環(huán)境下設(shè)置的線程個(gè)數(shù),采用水平等間距靜態(tài)投影方法均分日志數(shù)據(jù)集,得到多個(gè)局部日志數(shù)據(jù)集,作為各線程的處理數(shù)據(jù)源;
步驟各線程分別搜索步驟C3)獲得的局部日志數(shù)據(jù)集,獲取局部類似行為模式, 并進(jìn)行歸約;
步驟(5)重復(fù)步驟O)、(3)、0),至日志數(shù)據(jù)集中的所有日志信息都已處理完畢;步驟(6)并行歸并各線程獲得的局部類似行為模式集至全局類似行為模式集,獲得具有類似行為模式的用戶;
本發(fā)明所提供的多核環(huán)境下基于海量日志的具有類似行為模式的用戶識別方法由一組功能模塊組成,它們包括日志集分批讀取模塊、日志集等分模塊、局部類似模式集生成模塊和局部類似模式集匯總模塊。日志集分批讀取模塊以可用內(nèi)存為限,分批讀入日志數(shù)據(jù)集中的部分日志信息, 包括用戶ID、訪問時(shí)間、訪問IP、請求頁面、請求功能號。日志集等分模塊根據(jù)多核環(huán)境下設(shè)置的線程個(gè)數(shù),采用水平等間距靜態(tài)投影方法均分日志集分批讀取模塊讀取的日志數(shù)據(jù)集,得到多個(gè)局部日志數(shù)據(jù)集。局部類似模式集生成模塊采用多線程并行的方式,將各線程待處理的局部日志數(shù)據(jù)集分別按日志的訪問時(shí)間排序,獲取局部類似行為模式和支持度,構(gòu)建各個(gè)局部類似模式集。如局部類似行為模式集容量超過預(yù)定義的最大內(nèi)存上限值,則以文件形式換出至硬盤。局部類似模式集匯總模塊采用多線程并行的方式,累加各局部類似模式集的類似行為模式的支持度,格式化輸出具有高支持度的具有類似行為模式的用戶信息。本方明提出的方法采用數(shù)據(jù)并行和任務(wù)并行相結(jié)合的策略,在各線程生成局部類似行為模式后,再與其他線程協(xié)同,以最終獲得所有的全局類似行為模式。該方法通過并行局部歸約技術(shù)消除了局部類似行為模式的重復(fù)生成與計(jì)算,并可結(jié)合靜態(tài)與動(dòng)態(tài)任務(wù)分配機(jī)制解決處理器的負(fù)載不均衡問題。在分析海量訪問日志過程中,與不經(jīng)過多線程優(yōu)化、直接采用多核處理器的傳統(tǒng)方法相比,采用本方明所述方法可使類似訪問模式的識別過程具有較高的運(yùn)行效率和加速比。
圖1數(shù)據(jù)流圖2模式存儲數(shù)據(jù)結(jié)構(gòu)圖; 圖3歸約流程圖。
具體實(shí)施例方式本發(fā)明所提供的多核環(huán)境下基于海量日志的類似行為模式用戶識別方法的具體實(shí)施方式
主要分3步(如圖1所示)
(1)根據(jù)線程個(gè)數(shù),用水平等間距靜態(tài)投影方法均分全局日志數(shù)據(jù)集為各局部日志數(shù)據(jù)集,作為各線程的同等數(shù)據(jù)源;(2)將局部日志數(shù)據(jù)集按日志的訪問時(shí)間排好序,并行搜索對同一個(gè)請求功能號的日志訪問時(shí)間間隔小于預(yù)設(shè)時(shí)間窗口的 1個(gè)不同用戶ID (其中,i > 2),將其作為局部類似行為模式并結(jié)合局部歸約方法以文件形式保存;(3)結(jié)合動(dòng)態(tài)任務(wù)分配機(jī)制方法并行歸并局部類似行為模式,對比其支持度大小與預(yù)先設(shè)定的最小支持度閾值( _· //7),挖掘支持度大于閾值的目標(biāo)類似行為模式。為敘述方便,定義相關(guān)符號如下
Pi 第 i(i = lA...,ii)個(gè)線程。
C,所有含對同一個(gè)請求功能號的日志訪問時(shí)間間隔小于預(yù)設(shè)時(shí)間窗口的Jt個(gè)不同用戶ID的局部類似行為模式集。Vl :所有含對同一個(gè)請求功能號的日志訪問時(shí)間間隔小于預(yù)設(shè)時(shí)間窗口的A個(gè)不同用戶ID,且ID值為j的局部類似行為模式集。Li :所有含i個(gè)不同用戶ID的局部類似行為模式支持度大于的目標(biāo)類似行為模式集,即A = 丨SUP(G) > Itiin. sup} 0Ds 分配到第i個(gè)線程的序列日志數(shù)據(jù)集。Cj 分配給巧的含左個(gè)不同用戶ID的局部類似行為模式集,且I^1 = Ci。分配給巧的含^個(gè)不同用戶ID,且ID值為j的局部類似行為模式集。Lsi 分配給巧的含j個(gè)不同用戶ID的局部類似行為模式支持度大于的
目標(biāo)類似行為模式集,且4 = Σ二時(shí)I suP^') ^ min_ sup} = Li。( 1)靜態(tài)等分全局日志數(shù)據(jù)集
為了減少數(shù)據(jù)偏移的發(fā)生及實(shí)現(xiàn)多線程搜索局部類似行為模式,首先采用水平等間距靜態(tài)投影數(shù)據(jù)分解模式均分全局日志數(shù)據(jù)集以實(shí)現(xiàn)各線程數(shù)據(jù)負(fù)載均衡。假設(shè)全局日志數(shù)據(jù)集中有p條記錄,采用水平等間距靜態(tài)投影分配方法將完整的日志數(shù)據(jù)集劃分為η份
(η=線程個(gè)數(shù)),使得各線程分配的局部日志數(shù)據(jù)集為疋(I^1 ^ =及)。其中第個(gè)線程對應(yīng)的數(shù)據(jù)集^表示
權(quán)利要求
1.多核環(huán)境下基于海量日志的類似行為模式用戶識別方法,其特征在于該方法的具體步驟是步驟(1).在WEB服務(wù)器端設(shè)置單獨(dú)的日志數(shù)據(jù)庫,用于存放記錄用戶訪問信息的日志數(shù)據(jù)集,日志數(shù)據(jù)集中的每一條日志信息包括用戶ID、訪問時(shí)間、訪問IP、請求頁面和請求功能號;步驟O).以可用內(nèi)存為限,讀入日志數(shù)據(jù)集中的部分日志信息至內(nèi)置多核CPU的通用計(jì)算機(jī)內(nèi)存;步驟(3).根據(jù)多核環(huán)境下設(shè)置的線程個(gè)數(shù),采用水平等間距靜態(tài)投影方法均分日志數(shù)據(jù)集,得到多個(gè)局部日志數(shù)據(jù)集,作為各線程的處理數(shù)據(jù)源;設(shè)全局日志數(shù)據(jù)集中有R條記錄,采用水平等間距靜態(tài)投影分配方法將完整的日志數(shù)據(jù)集劃分為η份,其中η=線程個(gè)數(shù),使得各線程分配的局部日志數(shù)據(jù)集為步驟各線程分別搜索步驟C3)獲得的局部日志數(shù)據(jù)集,獲取局部類似行為模式, 并進(jìn)行歸約;各線程將需要處理的局部日志數(shù)據(jù)集按日志的訪問時(shí)間從先到后排序;如k個(gè)不同用戶ID對于同一個(gè)請求功能號的日志訪問時(shí)間間隔小于預(yù)設(shè)的窗口時(shí)間、并尚未置入局部類似行為模式集,則將此k個(gè)用戶ID作為一個(gè)項(xiàng)置入局部類似行為模式集,并記該項(xiàng)的支持度為1 ;如k個(gè)不同用戶ID對于同一個(gè)請求功能號的日志訪問時(shí)間間隔小于預(yù)設(shè)的窗口時(shí)間,同時(shí)對應(yīng)的項(xiàng)已置入局部類似行為模式集,則把該項(xiàng)的支持度加1,其中k>=2在此過程中,若生成的局部類似行為模式集容量達(dá)到了預(yù)先定義的最大內(nèi)存上限值, 則可先將該局部類似行為模式集以文件形式保存在硬盤中;步驟(5).重復(fù)步驟O)、(3)、0),至日志數(shù)據(jù)集中的所有日志信息都已處理完畢; 步驟(6).并行歸并各線程獲得的局部類似行為模式集至全局類似行為模式集,獲得具有類似行為模式的用戶;選擇空閑核,合并部分局部類似行為模式集至1個(gè)新的局部類似行為集,即把局部類似行為模式集中相同項(xiàng)的支持度進(jìn)行累加,形成1個(gè)新的局部類似行為模式集;多核并行執(zhí)行上述工作,直至最終獲得1個(gè)全局類似行為模式集,如其中某個(gè)項(xiàng)的支持度超過閾值, 則對應(yīng)的k個(gè)用戶即為共享類似行為模式的用戶。
全文摘要
本發(fā)明公開了一種多核環(huán)境下基于海量日志的類似行為模式用戶識別方法?,F(xiàn)有的方法運(yùn)算量巨大、I/O操作繁重。本發(fā)明方法首先在WEB服務(wù)器端設(shè)置單獨(dú)的日志數(shù)據(jù)庫,用于存放記錄用戶訪問信息的日志數(shù)據(jù)集;其次讀入日志數(shù)據(jù)集中的部分日志信息至內(nèi)置多核CPU的通用計(jì)算機(jī)內(nèi)存;根據(jù)多核環(huán)境下設(shè)置的線程個(gè)數(shù),均分日志數(shù)據(jù)集,得到多個(gè)局部日志數(shù)據(jù)集,作為各線程的處理數(shù)據(jù)源;然后各線程分別搜索局部日志數(shù)據(jù)集,獲取局部類似行為模式,并進(jìn)行歸約;最后并行歸并各線程獲得的局部類似行為模式集至全局類似行為模式集,獲得具有類似行為模式的用戶。本發(fā)明可使類似訪問模式的識別過程具有較高的運(yùn)行效率和加速比。
文檔編號G06F17/30GK102314491SQ20111024212
公開日2012年1月11日 申請日期2011年8月23日 優(yōu)先權(quán)日2011年8月23日
發(fā)明者俞東進(jìn), 李萬清, 鄭蘇杭 申請人:杭州電子科技大學(xué)