本發(fā)明實(shí)施例涉及計(jì)算機(jī)技術(shù),尤其涉及一種cookie訪問(wèn)去重方法和裝置。
背景技術(shù):
cookie指網(wǎng)站為了辨別用戶(hù)身份而存儲(chǔ)在用戶(hù)本地終端上的數(shù)據(jù)。通常,cookie由Web站點(diǎn)保存在用戶(hù)瀏覽器上,它包含有用戶(hù)的相關(guān)信息,無(wú)論何時(shí)當(dāng)用戶(hù)通過(guò)客戶(hù)端的瀏覽器鏈接到服務(wù)器時(shí),Web站點(diǎn)都可以訪問(wèn)cookie信息。
當(dāng)web站點(diǎn)需要進(jìn)行流量的分析統(tǒng)計(jì)時(shí),需要對(duì)cookie的訪問(wèn)進(jìn)行去重,以此避免同一用戶(hù)多次訪問(wèn)該站點(diǎn)而被誤統(tǒng)計(jì)為不同用戶(hù)造成統(tǒng)計(jì)結(jié)果的不準(zhǔn)確。現(xiàn)有技術(shù)中,在對(duì)訪問(wèn)的cookie進(jìn)行去重時(shí),主要采用對(duì)cookie中的字段逐一進(jìn)行比較的方式,由于不同會(huì)話中cookie只有部分關(guān)鍵字段是一致的,且不同網(wǎng)站的cookie關(guān)鍵字段可能不同,由此導(dǎo)致了該處理方式的無(wú)效數(shù)據(jù)較多,處理效率低下,效果不夠理想。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種cookie訪問(wèn)去重方法和裝置,以實(shí)現(xiàn)對(duì)cookie訪問(wèn)的高效去重,同時(shí)去重效果較理想。
第一方面,本發(fā)明實(shí)施例提供了一種cookie訪問(wèn)去重方法,包括:
讀取配置信息,根據(jù)所述配置信息構(gòu)建映射鏈表K;
抓取網(wǎng)卡數(shù)據(jù)包,并解析出所述網(wǎng)卡數(shù)據(jù)包中的cookie字段;
通過(guò)所述配置信息對(duì)所述cookie字段進(jìn)行過(guò)濾,并生成節(jié)點(diǎn)N;
依據(jù)所述節(jié)點(diǎn)N和所述映射鏈表K,刪除所述映射鏈表K中的過(guò)期節(jié)點(diǎn)。
可選的是,抓取網(wǎng)卡數(shù)據(jù)包,并解析出所述數(shù)據(jù)包中的cookie字段包括:
抓取網(wǎng)卡數(shù)據(jù)包,過(guò)濾出所述網(wǎng)卡數(shù)據(jù)包中的上行數(shù)據(jù),并解析出所述上行數(shù)據(jù)中的cookie字段。
在上述任一方案中可選的是,依據(jù)所述節(jié)點(diǎn)N和所述映射鏈表K,刪除所述映射鏈表K中的過(guò)期節(jié)點(diǎn)包括:
將所述節(jié)點(diǎn)N的時(shí)間戳和所述映射鏈表K中節(jié)點(diǎn)的時(shí)間戳進(jìn)行比對(duì),以刪除所述映射鏈表K中的過(guò)期節(jié)點(diǎn);
若所述映射鏈表K中節(jié)點(diǎn)不存在所述節(jié)點(diǎn)N中的值,則將所述節(jié)點(diǎn)N插入到所述映射鏈表K中。
在上述任一方案中可選的是,在讀取配置信息,根據(jù)所述配置信息構(gòu)建映射鏈表K之前,還包括:
構(gòu)建包含有預(yù)設(shè)cookie關(guān)鍵字段的配置信息。
在上述任一方案中可選的是,通過(guò)所述配置信息對(duì)所述cookie字段進(jìn)行過(guò)濾包括:
將所述cookie字段拆分為key-value字段,依據(jù)所述配置信息中的預(yù)設(shè)coolie關(guān)鍵字段對(duì)所述cookie字段進(jìn)行過(guò)濾,并將過(guò)濾結(jié)果保存至內(nèi)存中。
第二方面,本發(fā)明實(shí)施例還提供了一種cookie訪問(wèn)去重裝置,包括:
讀取模塊,用于讀取配置信息;
映射鏈表構(gòu)建模塊,用于根據(jù)所述配置信息構(gòu)建映射鏈表K;
解析模塊,用于抓取網(wǎng)卡數(shù)據(jù)包,并解析出所述網(wǎng)卡數(shù)據(jù)包中的cookie字段;
過(guò)濾模塊,用于通過(guò)所述配置信息對(duì)所述cookie字段進(jìn)行過(guò)濾,并生成節(jié)點(diǎn)N;
更新模塊,用于依據(jù)所述節(jié)點(diǎn)N和所述映射鏈表K,刪除所述映射鏈表K中的過(guò)期節(jié)點(diǎn)。
可選的是,所述解析模塊具體用于:
抓取網(wǎng)卡數(shù)據(jù)包,過(guò)濾出所述網(wǎng)卡數(shù)據(jù)包中的上行數(shù)據(jù),并解析出所述上行數(shù)據(jù)中的cookie字段。
在上述任一方案中可選的是,所述更新模塊具體用于:
將所述節(jié)點(diǎn)N的時(shí)間戳和所述映射鏈表K中節(jié)點(diǎn)的時(shí)間戳進(jìn)行比對(duì),以刪除所述映射鏈表K中的過(guò)期節(jié)點(diǎn);
若所述映射鏈表K中節(jié)點(diǎn)不存在所述節(jié)點(diǎn)N中的值,則將所述節(jié)點(diǎn)N插入到所述映射鏈表K中。
在上述任一方案中可選的是,還包括:
配置信息構(gòu)建模塊,用于構(gòu)建包含有預(yù)設(shè)cookie關(guān)鍵字段的配置信息。
在上述任一方案中可選的是,所述過(guò)濾模塊具體用于:
將所述cookie字段拆分為key-value字段,依據(jù)所述配置信息中的預(yù)設(shè)coolie關(guān)鍵字段對(duì)所述cookie字段進(jìn)行過(guò)濾,并將過(guò)濾結(jié)果保存至內(nèi)存中。
本發(fā)明通過(guò)讀取配置信息,根據(jù)所述配置信息構(gòu)建映射鏈表K,抓取網(wǎng)卡數(shù)據(jù)包,并解析出所述網(wǎng)卡數(shù)據(jù)包中的cookie字段,通過(guò)所述配置信息對(duì)所述cookie字段進(jìn)行過(guò)濾,并生成節(jié)點(diǎn)N,依據(jù)所述節(jié)點(diǎn)N和所述映射鏈表K,刪除所述映射鏈表K中的過(guò)期節(jié)點(diǎn),解決了在對(duì)訪問(wèn)的cookie進(jìn)行去重時(shí),主要采用對(duì)cookie中的字段進(jìn)行比較的方式導(dǎo)致的需要處理的無(wú)效數(shù)據(jù)較多,處理效率低下,效果不夠理想問(wèn)題,實(shí)現(xiàn)了對(duì)cookie訪問(wèn)的高效去重,同時(shí)去重效果較理想效果。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例一提供的cookie訪問(wèn)去重方法的流程圖;
圖2為本發(fā)明實(shí)施例二提供的cookie訪問(wèn)去重方法的流程圖;
圖3為本發(fā)明實(shí)施例三提供的cookie訪問(wèn)去重方法的流程圖;
圖4為本發(fā)明實(shí)施例四提供的cookie訪問(wèn)去重裝置的結(jié)構(gòu)圖;
圖5為本發(fā)明實(shí)施例五提供的cookie訪問(wèn)去重方法的流程圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明??梢岳斫獾氖牵颂幩枋龅木唧w實(shí)施例僅僅用于解釋本發(fā)明,而非對(duì)本發(fā)明的限定。另外還需要說(shuō)明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部結(jié)構(gòu)。
實(shí)施例一
圖1為本發(fā)明實(shí)施例一提供的cookie訪問(wèn)去重方法的流程圖,本實(shí)施例可適用于網(wǎng)站站點(diǎn)對(duì)用戶(hù)訪問(wèn)情況進(jìn)行統(tǒng)計(jì)的場(chǎng)景,該方法可以由計(jì)算設(shè)備如服務(wù)器來(lái)執(zhí)行,具體包括如下步驟:
步驟101、讀取配置信息,根據(jù)所述配置信息構(gòu)建映射鏈表K。
其中,該配置信息用來(lái)對(duì)web應(yīng)用的屬性進(jìn)行配置。示例性的,該配置信息可以是xml配置文件,可以包括如下內(nèi)容:環(huán)境參數(shù)初始化、Servlet配置、過(guò)濾器配置、監(jiān)聽(tīng)器配置、JNDI配置、Session配置、JSP網(wǎng)頁(yè)相關(guān)配置、MIME TYPE配置、welcome文件清單和錯(cuò)誤處理等。其中,該映射鏈表K主要用于后續(xù)的查詢(xún)操作,該映射鏈表K保存數(shù)據(jù)的原理可以是將key值做hash再取余,余數(shù)落在數(shù)組的不同索引中,利用數(shù)組的索引獲取元素,時(shí)間復(fù)雜度為O(1),該映射鏈表K的引入提高了后續(xù)cookie訪問(wèn)信息查詢(xún)?nèi)ブ氐男省J纠缘?,該映射鏈表K中的各個(gè)節(jié)點(diǎn)保存有cookie關(guān)鍵字段信息以及對(duì)應(yīng)的時(shí)間戳。
步驟102、抓取網(wǎng)卡數(shù)據(jù)包,并解析出所述網(wǎng)卡數(shù)據(jù)包中的cookie字段。
本步驟中,對(duì)網(wǎng)卡發(fā)送的數(shù)據(jù)包進(jìn)行抓取,并通過(guò)對(duì)數(shù)據(jù)包的分析確定出cookie的字段。示例性的,當(dāng)用戶(hù)訪問(wèn)站點(diǎn)瀏覽網(wǎng)頁(yè)時(shí),首先需要發(fā)送對(duì)網(wǎng)頁(yè)的請(qǐng)求至服務(wù)器,該請(qǐng)求可通過(guò)數(shù)據(jù)包的形式發(fā)送,此時(shí)cookie也將伴隨該請(qǐng)求被一起發(fā)送至服務(wù)器。
步驟103、通過(guò)所述配置信息對(duì)所述cookie字段進(jìn)行過(guò)濾,并生成節(jié)點(diǎn)N。
其中,該配置信息包含有預(yù)設(shè)cookie關(guān)鍵字段,該預(yù)設(shè)cookie關(guān)鍵字段可由不同的網(wǎng)站索引規(guī)則確定,當(dāng)通過(guò)所述配置信息對(duì)所述cookie字段進(jìn)行過(guò)濾后,僅保留下了需要比對(duì)查詢(xún)的字段,并相應(yīng)的生成節(jié)點(diǎn)N。本步驟中,可通過(guò)一份配置信息來(lái)滿(mǎn)足不同網(wǎng)站對(duì)cookie過(guò)濾的需求,解決了各個(gè)網(wǎng)站之間過(guò)濾規(guī)則不統(tǒng)一的問(wèn)題,具備良好的兼容性。
步驟104、依據(jù)所述節(jié)點(diǎn)N和所述映射鏈表K,刪除所述映射鏈表K中的過(guò)期節(jié)點(diǎn)。
本步驟中,將節(jié)點(diǎn)N和映射鏈表K中的節(jié)點(diǎn)進(jìn)行比對(duì)。示例性的,當(dāng)映射鏈表K中有節(jié)點(diǎn)M的值和節(jié)點(diǎn)N中對(duì)應(yīng)的值相等時(shí),則比較M節(jié)點(diǎn)的時(shí)間戳和N節(jié)點(diǎn)的時(shí)間戳,若M節(jié)點(diǎn)的時(shí)間戳早于N節(jié)點(diǎn)的時(shí)間戳,則相應(yīng)刪除過(guò)期的節(jié)點(diǎn)M,以此完成cookie訪問(wèn)的去重。相應(yīng)的,若映射鏈表K中的節(jié)點(diǎn)的值并不存在和節(jié)點(diǎn)N中值一致的情況,則將節(jié)點(diǎn)N插入到映射鏈表K中,并同時(shí)寫(xiě)入到cookie文件中。
本實(shí)施例的技術(shù)方案,通過(guò)讀取配置信息,根據(jù)所述配置信息構(gòu)建映射鏈表K,抓取網(wǎng)卡數(shù)據(jù)包,并解析出所述網(wǎng)卡數(shù)據(jù)包中的cookie字段,通過(guò)所述配置信息對(duì)所述cookie字段進(jìn)行過(guò)濾,并生成節(jié)點(diǎn)N,依據(jù)所述節(jié)點(diǎn)N和所述映射鏈表K,刪除所述映射鏈表K中的過(guò)期節(jié)點(diǎn),解決了在對(duì)訪問(wèn)的cookie進(jìn)行去重時(shí),主要采用對(duì)cookie中的字段進(jìn)行比較的方式導(dǎo)致的需要處理的無(wú)效數(shù)據(jù)較多,處理效率低下,效果不夠理想問(wèn)題,實(shí)現(xiàn)了對(duì)cookie訪問(wèn)的高效去重,同時(shí)去重效果較理想效果。
在上述技術(shù)方案的基礎(chǔ)上,抓取網(wǎng)卡數(shù)據(jù)包,并解析出所述數(shù)據(jù)包中的cookie字段包括:抓取網(wǎng)卡數(shù)據(jù)包,過(guò)濾出所述網(wǎng)卡數(shù)據(jù)包中的上行數(shù)據(jù),并解析出所述上行數(shù)據(jù)中的cookie字段。其中該上行數(shù)據(jù)指各個(gè)客戶(hù)端發(fā)送至服務(wù)器的數(shù)據(jù)。具體的,當(dāng)客戶(hù)端的瀏覽器訪問(wèn)了服務(wù)器站點(diǎn)的頁(yè)面時(shí),服務(wù)器站點(diǎn)則設(shè)置一cookie,并將這個(gè)cookie和頁(yè)面一起返回給客戶(hù)端瀏覽器,客戶(hù)端瀏覽器接到cookie之后對(duì)其進(jìn)行保存,當(dāng)客戶(hù)端瀏覽器再訪問(wèn)其他頁(yè)面時(shí)會(huì)同時(shí)帶上該cookie文件,服務(wù)器站點(diǎn)接到請(qǐng)求時(shí)則讀出cookie的值,根據(jù)cookie值的內(nèi)容就可以判斷和恢復(fù)一些用戶(hù)的信息狀態(tài)。
示例性的,cookie本身由名稱(chēng)、內(nèi)容、作用路徑、作用域、協(xié)議和生存周期等組成。本步驟中,在接收到網(wǎng)卡數(shù)據(jù)包時(shí),通過(guò)過(guò)濾出網(wǎng)卡的上行數(shù)據(jù)后解析出cookie字段可直接用于后續(xù)cookie的去重,提高了去重效率。
實(shí)施例二
圖2為本發(fā)明實(shí)施例二提供的cookie訪問(wèn)去重方法的流程圖,本實(shí)施例在實(shí)施例一的基礎(chǔ)上,給出了一種具體的依據(jù)節(jié)點(diǎn)N和映射鏈表K進(jìn)行去重的方式,具體包括如下:
步驟201、讀取配置信息,根據(jù)所述配置信息構(gòu)建映射鏈表K。
步驟202、抓取網(wǎng)卡數(shù)據(jù)包,并解析出所述網(wǎng)卡數(shù)據(jù)包中的cookie字段。
步驟203、通過(guò)所述配置信息對(duì)所述cookie字段進(jìn)行過(guò)濾,并生成節(jié)點(diǎn)N。
步驟204、判斷所述映射鏈表K中節(jié)點(diǎn)是否存在所述節(jié)點(diǎn)N中的值,若存在則執(zhí)行步驟205,否則執(zhí)行步驟206。
步驟205、將所述節(jié)點(diǎn)N的時(shí)間戳和所述映射鏈表K中節(jié)點(diǎn)的時(shí)間戳進(jìn)行比對(duì),以刪除所述映射鏈表K中的過(guò)期節(jié)點(diǎn)。其中,時(shí)間戳為一字符序列,可對(duì)某一時(shí)刻進(jìn)行唯一標(biāo)識(shí)。
步驟206、將所述節(jié)點(diǎn)N插入到所述映射鏈表K中。
本實(shí)施例的技術(shù)方案,通過(guò)讀取配置信息,根據(jù)所述配置信息構(gòu)建映射鏈表K,抓取網(wǎng)卡數(shù)據(jù)包,并解析出所述網(wǎng)卡數(shù)據(jù)包中的cookie字段,通過(guò)所述配置信息對(duì)所述cookie字段進(jìn)行過(guò)濾,并生成節(jié)點(diǎn)N,若所述映射鏈表K中節(jié)點(diǎn)存在所述節(jié)點(diǎn)N中的值,則將所述節(jié)點(diǎn)N的時(shí)間戳和所述映射鏈表K中節(jié)點(diǎn)的時(shí)間戳進(jìn)行比對(duì),以刪除所述映射鏈表K中的過(guò)期節(jié)點(diǎn),若所述映射鏈表K中節(jié)點(diǎn)不存在所述節(jié)點(diǎn)N中的值,則將所述節(jié)點(diǎn)N插入到所述映射鏈表K中,通過(guò)將節(jié)點(diǎn)N和映射鏈表K中的節(jié)點(diǎn)進(jìn)行比對(duì)以完成過(guò)期節(jié)點(diǎn)的刪除,提高了cookie的去重效率。
在上述技術(shù)方案的基礎(chǔ)上,在讀取配置信息,根據(jù)所述配置信息構(gòu)建映射鏈表K之前,還包括:構(gòu)建包含有預(yù)設(shè)cookie關(guān)鍵字段的配置信息。其中,不同門(mén)類(lèi)的網(wǎng)站如搜狐、新浪、百度等,其各自的cookie字段內(nèi)容的設(shè)置均不相同,本方案中,可根據(jù)不同門(mén)類(lèi)網(wǎng)站的cookie字段設(shè)置相應(yīng)的構(gòu)建包含預(yù)設(shè)cookie關(guān)鍵字段的配置信息,該預(yù)設(shè)關(guān)鍵字段即由不同門(mén)類(lèi)網(wǎng)站自身的設(shè)置規(guī)則確定。本方案中,可通過(guò)一份編碼的配置信息來(lái)解決不同門(mén)類(lèi)網(wǎng)站的cookie過(guò)濾去重,提高了cookie去重的適應(yīng)性及應(yīng)用范圍。
實(shí)施例三
圖3所示為本發(fā)明實(shí)施例三提供的cookie訪問(wèn)去重的流程圖,本實(shí)施例在上述各實(shí)施例的基礎(chǔ)上,給出了一種具體的通過(guò)配置信息對(duì)cookie字段進(jìn)行過(guò)濾的方式,具體包括如下:
步驟301、讀取配置信息,根據(jù)所述配置信息構(gòu)建映射鏈表K。
步驟302、抓取網(wǎng)卡數(shù)據(jù)包,并解析出所述網(wǎng)卡數(shù)據(jù)包中的cookie字段。
步驟303、將所述cookie字段拆分為key-value字段,依據(jù)所述配置信息中的預(yù)設(shè)cookie關(guān)鍵字段對(duì)所述cookie字段進(jìn)行過(guò)濾,并將過(guò)濾結(jié)果保存至內(nèi)存中,并生成節(jié)點(diǎn)N。
其中,key-value字段即為鍵-值字段,key代表主鍵,value為對(duì)應(yīng)該主鍵的值。本步驟中,在步驟302解析出cookie字段后直接進(jìn)行cookie字段的過(guò)濾,即解碼同時(shí)進(jìn)行過(guò)濾,減少了后續(xù)需要比對(duì)的字段數(shù)量,提高了cookie的去重效率。
步驟304、依據(jù)所述節(jié)點(diǎn)N和所述映射鏈表K,刪除所述映射鏈表K中的過(guò)期節(jié)點(diǎn)。
本實(shí)施例的技術(shù)方案,通過(guò)讀取配置信息,根據(jù)所述配置信息構(gòu)建映射鏈表K,抓取網(wǎng)卡數(shù)據(jù)包,并解析出所述網(wǎng)卡數(shù)據(jù)包中的cookie字段,將所述cookie字段拆分為key-value字段,依據(jù)所述配置信息中的預(yù)設(shè)cookie關(guān)鍵字段對(duì)所述cookie字段進(jìn)行過(guò)濾,并將過(guò)濾結(jié)果保存至內(nèi)存中,并生成節(jié)點(diǎn)N,依據(jù)所述節(jié)點(diǎn)N和所述映射鏈表K,刪除所述映射鏈表K中的過(guò)期節(jié)點(diǎn),減少了去重過(guò)程中的比對(duì)字段,極大的提高了cookie去重的效率,降低了內(nèi)存的使用率。
實(shí)施例四
圖4為本發(fā)明實(shí)施例四提供的cookie訪問(wèn)去重裝置的結(jié)構(gòu)圖,具體包括:
讀取模塊1,用于讀取配置信息;
映射鏈表構(gòu)建模塊2,用于根據(jù)所述配置信息構(gòu)建映射鏈表K;
解析模塊3,用于抓取網(wǎng)卡數(shù)據(jù)包,并解析出所述網(wǎng)卡數(shù)據(jù)包中的cookie字段;
過(guò)濾模塊4,用于通過(guò)所述配置信息對(duì)所述cookie字段進(jìn)行過(guò)濾,并生成節(jié)點(diǎn)N;
更新模塊5,用于依據(jù)所述節(jié)點(diǎn)N和所述映射鏈表K,刪除所述映射鏈表K中的過(guò)期節(jié)點(diǎn)。
本實(shí)施例的技術(shù)方案,通過(guò)讀取配置信息,根據(jù)所述配置信息構(gòu)建映射鏈表K,抓取網(wǎng)卡數(shù)據(jù)包,并解析出所述網(wǎng)卡數(shù)據(jù)包中的cookie字段,通過(guò)所述配置信息對(duì)所述cookie字段進(jìn)行過(guò)濾,并生成節(jié)點(diǎn)N,依據(jù)所述節(jié)點(diǎn)N和所述映射鏈表K,刪除所述映射鏈表K中的過(guò)期節(jié)點(diǎn),解決了在對(duì)訪問(wèn)的cookie進(jìn)行去重時(shí),主要采用對(duì)cookie中的字段進(jìn)行比較的方式導(dǎo)致的需要處理的無(wú)效數(shù)據(jù)較多,處理效率低下,效果不夠理想問(wèn)題,實(shí)現(xiàn)了對(duì)cookie訪問(wèn)的高效去重,同時(shí)去重效果較理想效果。
在上述技術(shù)方案的基礎(chǔ)上,所述解析模塊3具體用于:
抓取網(wǎng)卡數(shù)據(jù)包,過(guò)濾出所述網(wǎng)卡數(shù)據(jù)包中的上行數(shù)據(jù),并解析出所述上行數(shù)據(jù)中的cookie字段。
在上述技術(shù)方案的基礎(chǔ)上,所述更新模塊5具體用于:
將所述節(jié)點(diǎn)N的時(shí)間戳和所述映射鏈表K中節(jié)點(diǎn)的時(shí)間戳進(jìn)行比對(duì),以刪除所述映射鏈表K中的過(guò)期節(jié)點(diǎn);
若所述映射鏈表K中節(jié)點(diǎn)不存在所述節(jié)點(diǎn)N中的值,則將所述節(jié)點(diǎn)N插入到所述映射鏈表K中。
在上述技術(shù)方案的基礎(chǔ)上,還包括:
配置信息構(gòu)建模塊,用于構(gòu)建包含有預(yù)設(shè)cookie關(guān)鍵字段的配置信息。
在上述技術(shù)方案的基礎(chǔ)上,所述過(guò)濾模塊4具體用于:
將所述cookie字段拆分為key-value字段,依據(jù)所述配置信息中的預(yù)設(shè)coolie關(guān)鍵字段對(duì)所述cookie字段進(jìn)行過(guò)濾,并將過(guò)濾結(jié)果保存至內(nèi)存中。
上述產(chǎn)品可執(zhí)行本發(fā)明任意實(shí)施例所提供的方法,具備執(zhí)行方法相應(yīng)的功能模塊和有益效果。
實(shí)施例五
圖5為本發(fā)明實(shí)施例五提供的cookie訪問(wèn)去重方法的流程圖。本實(shí)施例可以以上述實(shí)施例為基礎(chǔ),提供了一種優(yōu)選實(shí)例,具體包括如下:
步驟501、啟動(dòng)程序,讀取xml配置信息,構(gòu)建map-list表K。
步驟502、抓取網(wǎng)卡數(shù)據(jù)包,過(guò)濾出http上行數(shù)據(jù),解析出其中的cookie字段。
步驟503、依據(jù)xml配置信息過(guò)濾cookie,若失敗則執(zhí)行步驟502,若成功則相應(yīng)生成節(jié)點(diǎn)N,執(zhí)行步驟504。
步驟504、在列表K中查詢(xún)節(jié)點(diǎn)N,若查找成功則執(zhí)行步驟505,查找失敗則執(zhí)行步驟506。
步驟505、將所述節(jié)點(diǎn)N中的時(shí)間戳和列表K中節(jié)點(diǎn)的時(shí)間戳進(jìn)行比對(duì),刪除過(guò)期節(jié)點(diǎn)。
步驟506、將所述節(jié)點(diǎn)N插入到列表K中,并寫(xiě)入cookie文件中。
本實(shí)施例的技術(shù)方案中,可通過(guò)配置的xml文件實(shí)現(xiàn)一份代碼對(duì)多個(gè)不同網(wǎng)站cookie的過(guò)濾,解碼同時(shí)進(jìn)行數(shù)據(jù)過(guò)濾,減少了cookie字段的比對(duì),提高了cookie的去重效率,降低了內(nèi)存占用率。
注意,上述僅為本發(fā)明的較佳實(shí)施例及所運(yùn)用技術(shù)原理。本領(lǐng)域技術(shù)人員會(huì)理解,本發(fā)明不限于這里所述的特定實(shí)施例,對(duì)本領(lǐng)域技術(shù)人員來(lái)說(shuō)能夠進(jìn)行各種明顯的變化、重新調(diào)整和替代而不會(huì)脫離本發(fā)明的保護(hù)范圍。因此,雖然通過(guò)以上實(shí)施例對(duì)本發(fā)明進(jìn)行了較為詳細(xì)的說(shuō)明,但是本發(fā)明不僅僅限于以上實(shí)施例,在不脫離本發(fā)明構(gòu)思的情況下,還可以包括更多其他等效實(shí)施例,而本發(fā)明的范圍由所附的權(quán)利要求范圍決定。