新四季網

一種cookie訪問去重方法和裝置與流程

2023-05-30 09:52:22


本發明實施例涉及計算機技術,尤其涉及一種cookie訪問去重方法和裝置。



背景技術:

cookie指網站為了辨別用戶身份而存儲在用戶本地終端上的數據。通常,cookie由Web站點保存在用戶瀏覽器上,它包含有用戶的相關信息,無論何時當用戶通過客戶端的瀏覽器連結到伺服器時,Web站點都可以訪問cookie信息。

當web站點需要進行流量的分析統計時,需要對cookie的訪問進行去重,以此避免同一用戶多次訪問該站點而被誤統計為不同用戶造成統計結果的不準確。現有技術中,在對訪問的cookie進行去重時,主要採用對cookie中的欄位逐一進行比較的方式,由於不同會話中cookie只有部分關鍵欄位是一致的,且不同網站的cookie關鍵欄位可能不同,由此導致了該處理方式的無效數據較多,處理效率低下,效果不夠理想。



技術實現要素:

本發明提供一種cookie訪問去重方法和裝置,以實現對cookie訪問的高效去重,同時去重效果較理想。

第一方面,本發明實施例提供了一種cookie訪問去重方法,包括:

讀取配置信息,根據所述配置信息構建映射鍊表K;

抓取網卡數據包,並解析出所述網卡數據包中的cookie欄位;

通過所述配置信息對所述cookie欄位進行過濾,並生成節點N;

依據所述節點N和所述映射鍊表K,刪除所述映射鍊表K中的過期節點。

可選的是,抓取網卡數據包,並解析出所述數據包中的cookie欄位包括:

抓取網卡數據包,過濾出所述網卡數據包中的上行數據,並解析出所述上行數據中的cookie欄位。

在上述任一方案中可選的是,依據所述節點N和所述映射鍊表K,刪除所述映射鍊表K中的過期節點包括:

將所述節點N的時間戳和所述映射鍊表K中節點的時間戳進行比對,以刪除所述映射鍊表K中的過期節點;

若所述映射鍊表K中節點不存在所述節點N中的值,則將所述節點N插入到所述映射鍊表K中。

在上述任一方案中可選的是,在讀取配置信息,根據所述配置信息構建映射鍊表K之前,還包括:

構建包含有預設cookie關鍵欄位的配置信息。

在上述任一方案中可選的是,通過所述配置信息對所述cookie欄位進行過濾包括:

將所述cookie欄位拆分為key-value欄位,依據所述配置信息中的預設coolie關鍵欄位對所述cookie欄位進行過濾,並將過濾結果保存至內存中。

第二方面,本發明實施例還提供了一種cookie訪問去重裝置,包括:

讀取模塊,用於讀取配置信息;

映射鍊表構建模塊,用於根據所述配置信息構建映射鍊表K;

解析模塊,用於抓取網卡數據包,並解析出所述網卡數據包中的cookie欄位;

過濾模塊,用於通過所述配置信息對所述cookie欄位進行過濾,並生成節點N;

更新模塊,用於依據所述節點N和所述映射鍊表K,刪除所述映射鍊表K中的過期節點。

可選的是,所述解析模塊具體用於:

抓取網卡數據包,過濾出所述網卡數據包中的上行數據,並解析出所述上行數據中的cookie欄位。

在上述任一方案中可選的是,所述更新模塊具體用於:

將所述節點N的時間戳和所述映射鍊表K中節點的時間戳進行比對,以刪除所述映射鍊表K中的過期節點;

若所述映射鍊表K中節點不存在所述節點N中的值,則將所述節點N插入到所述映射鍊表K中。

在上述任一方案中可選的是,還包括:

配置信息構建模塊,用於構建包含有預設cookie關鍵欄位的配置信息。

在上述任一方案中可選的是,所述過濾模塊具體用於:

將所述cookie欄位拆分為key-value欄位,依據所述配置信息中的預設coolie關鍵欄位對所述cookie欄位進行過濾,並將過濾結果保存至內存中。

本發明通過讀取配置信息,根據所述配置信息構建映射鍊表K,抓取網卡數據包,並解析出所述網卡數據包中的cookie欄位,通過所述配置信息對所述cookie欄位進行過濾,並生成節點N,依據所述節點N和所述映射鍊表K,刪除所述映射鍊表K中的過期節點,解決了在對訪問的cookie進行去重時,主要採用對cookie中的欄位進行比較的方式導致的需要處理的無效數據較多,處理效率低下,效果不夠理想問題,實現了對cookie訪問的高效去重,同時去重效果較理想效果。

附圖說明

圖1為本發明實施例一提供的cookie訪問去重方法的流程圖;

圖2為本發明實施例二提供的cookie訪問去重方法的流程圖;

圖3為本發明實施例三提供的cookie訪問去重方法的流程圖;

圖4為本發明實施例四提供的cookie訪問去重裝置的結構圖;

圖5為本發明實施例五提供的cookie訪問去重方法的流程圖。

具體實施方式

下面結合附圖和實施例對本發明作進一步的詳細說明。可以理解的是,此處所描述的具體實施例僅僅用於解釋本發明,而非對本發明的限定。另外還需要說明的是,為了便於描述,附圖中僅示出了與本發明相關的部分而非全部結構。

實施例一

圖1為本發明實施例一提供的cookie訪問去重方法的流程圖,本實施例可適用於網站站點對用戶訪問情況進行統計的場景,該方法可以由計算設備如伺服器來執行,具體包括如下步驟:

步驟101、讀取配置信息,根據所述配置信息構建映射鍊表K。

其中,該配置信息用來對web應用的屬性進行配置。示例性的,該配置信息可以是xml配置文件,可以包括如下內容:環境參數初始化、Servlet配置、過濾器配置、監聽器配置、JNDI配置、Session配置、JSP網頁相關配置、MIME TYPE配置、welcome文件清單和錯誤處理等。其中,該映射鍊表K主要用於後續的查詢操作,該映射鍊表K保存數據的原理可以是將key值做hash再取餘,餘數落在數組的不同索引中,利用數組的索引獲取元素,時間複雜度為O(1),該映射鍊表K的引入提高了後續cookie訪問信息查詢去重的效率。示例性的,該映射鍊表K中的各個節點保存有cookie關鍵欄位信息以及對應的時間戳。

步驟102、抓取網卡數據包,並解析出所述網卡數據包中的cookie欄位。

本步驟中,對網卡發送的數據包進行抓取,並通過對數據包的分析確定出cookie的欄位。示例性的,當用戶訪問站點瀏覽網頁時,首先需要發送對網頁的請求至伺服器,該請求可通過數據包的形式發送,此時cookie也將伴隨該請求被一起發送至伺服器。

步驟103、通過所述配置信息對所述cookie欄位進行過濾,並生成節點N。

其中,該配置信息包含有預設cookie關鍵欄位,該預設cookie關鍵欄位可由不同的網站索引規則確定,當通過所述配置信息對所述cookie欄位進行過濾後,僅保留下了需要比對查詢的欄位,並相應的生成節點N。本步驟中,可通過一份配置信息來滿足不同網站對cookie過濾的需求,解決了各個網站之間過濾規則不統一的問題,具備良好的兼容性。

步驟104、依據所述節點N和所述映射鍊表K,刪除所述映射鍊表K中的過期節點。

本步驟中,將節點N和映射鍊表K中的節點進行比對。示例性的,當映射鍊表K中有節點M的值和節點N中對應的值相等時,則比較M節點的時間戳和N節點的時間戳,若M節點的時間戳早於N節點的時間戳,則相應刪除過期的節點M,以此完成cookie訪問的去重。相應的,若映射鍊表K中的節點的值並不存在和節點N中值一致的情況,則將節點N插入到映射鍊表K中,並同時寫入到cookie文件中。

本實施例的技術方案,通過讀取配置信息,根據所述配置信息構建映射鍊表K,抓取網卡數據包,並解析出所述網卡數據包中的cookie欄位,通過所述配置信息對所述cookie欄位進行過濾,並生成節點N,依據所述節點N和所述映射鍊表K,刪除所述映射鍊表K中的過期節點,解決了在對訪問的cookie進行去重時,主要採用對cookie中的欄位進行比較的方式導致的需要處理的無效數據較多,處理效率低下,效果不夠理想問題,實現了對cookie訪問的高效去重,同時去重效果較理想效果。

在上述技術方案的基礎上,抓取網卡數據包,並解析出所述數據包中的cookie欄位包括:抓取網卡數據包,過濾出所述網卡數據包中的上行數據,並解析出所述上行數據中的cookie欄位。其中該上行數據指各個客戶端發送至伺服器的數據。具體的,當客戶端的瀏覽器訪問了伺服器站點的頁面時,伺服器站點則設置一cookie,並將這個cookie和頁面一起返回給客戶端瀏覽器,客戶端瀏覽器接到cookie之後對其進行保存,當客戶端瀏覽器再訪問其他頁面時會同時帶上該cookie文件,伺服器站點接到請求時則讀出cookie的值,根據cookie值的內容就可以判斷和恢復一些用戶的信息狀態。

示例性的,cookie本身由名稱、內容、作用路徑、作用域、協議和生存周期等組成。本步驟中,在接收到網卡數據包時,通過過濾出網卡的上行數據後解析出cookie欄位可直接用於後續cookie的去重,提高了去重效率。

實施例二

圖2為本發明實施例二提供的cookie訪問去重方法的流程圖,本實施例在實施例一的基礎上,給出了一種具體的依據節點N和映射鍊表K進行去重的方式,具體包括如下:

步驟201、讀取配置信息,根據所述配置信息構建映射鍊表K。

步驟202、抓取網卡數據包,並解析出所述網卡數據包中的cookie欄位。

步驟203、通過所述配置信息對所述cookie欄位進行過濾,並生成節點N。

步驟204、判斷所述映射鍊表K中節點是否存在所述節點N中的值,若存在則執行步驟205,否則執行步驟206。

步驟205、將所述節點N的時間戳和所述映射鍊表K中節點的時間戳進行比對,以刪除所述映射鍊表K中的過期節點。其中,時間戳為一字符序列,可對某一時刻進行唯一標識。

步驟206、將所述節點N插入到所述映射鍊表K中。

本實施例的技術方案,通過讀取配置信息,根據所述配置信息構建映射鍊表K,抓取網卡數據包,並解析出所述網卡數據包中的cookie欄位,通過所述配置信息對所述cookie欄位進行過濾,並生成節點N,若所述映射鍊表K中節點存在所述節點N中的值,則將所述節點N的時間戳和所述映射鍊表K中節點的時間戳進行比對,以刪除所述映射鍊表K中的過期節點,若所述映射鍊表K中節點不存在所述節點N中的值,則將所述節點N插入到所述映射鍊表K中,通過將節點N和映射鍊表K中的節點進行比對以完成過期節點的刪除,提高了cookie的去重效率。

在上述技術方案的基礎上,在讀取配置信息,根據所述配置信息構建映射鍊表K之前,還包括:構建包含有預設cookie關鍵欄位的配置信息。其中,不同門類的網站如搜狐、新浪、百度等,其各自的cookie欄位內容的設置均不相同,本方案中,可根據不同門類網站的cookie欄位設置相應的構建包含預設cookie關鍵欄位的配置信息,該預設關鍵欄位即由不同門類網站自身的設置規則確定。本方案中,可通過一份編碼的配置信息來解決不同門類網站的cookie過濾去重,提高了cookie去重的適應性及應用範圍。

實施例三

圖3所示為本發明實施例三提供的cookie訪問去重的流程圖,本實施例在上述各實施例的基礎上,給出了一種具體的通過配置信息對cookie欄位進行過濾的方式,具體包括如下:

步驟301、讀取配置信息,根據所述配置信息構建映射鍊表K。

步驟302、抓取網卡數據包,並解析出所述網卡數據包中的cookie欄位。

步驟303、將所述cookie欄位拆分為key-value欄位,依據所述配置信息中的預設cookie關鍵欄位對所述cookie欄位進行過濾,並將過濾結果保存至內存中,並生成節點N。

其中,key-value欄位即為鍵-值欄位,key代表主鍵,value為對應該主鍵的值。本步驟中,在步驟302解析出cookie欄位後直接進行cookie欄位的過濾,即解碼同時進行過濾,減少了後續需要比對的欄位數量,提高了cookie的去重效率。

步驟304、依據所述節點N和所述映射鍊表K,刪除所述映射鍊表K中的過期節點。

本實施例的技術方案,通過讀取配置信息,根據所述配置信息構建映射鍊表K,抓取網卡數據包,並解析出所述網卡數據包中的cookie欄位,將所述cookie欄位拆分為key-value欄位,依據所述配置信息中的預設cookie關鍵欄位對所述cookie欄位進行過濾,並將過濾結果保存至內存中,並生成節點N,依據所述節點N和所述映射鍊表K,刪除所述映射鍊表K中的過期節點,減少了去重過程中的比對欄位,極大的提高了cookie去重的效率,降低了內存的使用率。

實施例四

圖4為本發明實施例四提供的cookie訪問去重裝置的結構圖,具體包括:

讀取模塊1,用於讀取配置信息;

映射鍊表構建模塊2,用於根據所述配置信息構建映射鍊表K;

解析模塊3,用於抓取網卡數據包,並解析出所述網卡數據包中的cookie欄位;

過濾模塊4,用於通過所述配置信息對所述cookie欄位進行過濾,並生成節點N;

更新模塊5,用於依據所述節點N和所述映射鍊表K,刪除所述映射鍊表K中的過期節點。

本實施例的技術方案,通過讀取配置信息,根據所述配置信息構建映射鍊表K,抓取網卡數據包,並解析出所述網卡數據包中的cookie欄位,通過所述配置信息對所述cookie欄位進行過濾,並生成節點N,依據所述節點N和所述映射鍊表K,刪除所述映射鍊表K中的過期節點,解決了在對訪問的cookie進行去重時,主要採用對cookie中的欄位進行比較的方式導致的需要處理的無效數據較多,處理效率低下,效果不夠理想問題,實現了對cookie訪問的高效去重,同時去重效果較理想效果。

在上述技術方案的基礎上,所述解析模塊3具體用於:

抓取網卡數據包,過濾出所述網卡數據包中的上行數據,並解析出所述上行數據中的cookie欄位。

在上述技術方案的基礎上,所述更新模塊5具體用於:

將所述節點N的時間戳和所述映射鍊表K中節點的時間戳進行比對,以刪除所述映射鍊表K中的過期節點;

若所述映射鍊表K中節點不存在所述節點N中的值,則將所述節點N插入到所述映射鍊表K中。

在上述技術方案的基礎上,還包括:

配置信息構建模塊,用於構建包含有預設cookie關鍵欄位的配置信息。

在上述技術方案的基礎上,所述過濾模塊4具體用於:

將所述cookie欄位拆分為key-value欄位,依據所述配置信息中的預設coolie關鍵欄位對所述cookie欄位進行過濾,並將過濾結果保存至內存中。

上述產品可執行本發明任意實施例所提供的方法,具備執行方法相應的功能模塊和有益效果。

實施例五

圖5為本發明實施例五提供的cookie訪問去重方法的流程圖。本實施例可以以上述實施例為基礎,提供了一種優選實例,具體包括如下:

步驟501、啟動程序,讀取xml配置信息,構建map-list表K。

步驟502、抓取網卡數據包,過濾出http上行數據,解析出其中的cookie欄位。

步驟503、依據xml配置信息過濾cookie,若失敗則執行步驟502,若成功則相應生成節點N,執行步驟504。

步驟504、在列表K中查詢節點N,若查找成功則執行步驟505,查找失敗則執行步驟506。

步驟505、將所述節點N中的時間戳和列表K中節點的時間戳進行比對,刪除過期節點。

步驟506、將所述節點N插入到列表K中,並寫入cookie文件中。

本實施例的技術方案中,可通過配置的xml文件實現一份代碼對多個不同網站cookie的過濾,解碼同時進行數據過濾,減少了cookie欄位的比對,提高了cookie的去重效率,降低了內存佔用率。

注意,上述僅為本發明的較佳實施例及所運用技術原理。本領域技術人員會理解,本發明不限於這裡所述的特定實施例,對本領域技術人員來說能夠進行各種明顯的變化、重新調整和替代而不會脫離本發明的保護範圍。因此,雖然通過以上實施例對本發明進行了較為詳細的說明,但是本發明不僅僅限於以上實施例,在不脫離本發明構思的情況下,還可以包括更多其他等效實施例,而本發明的範圍由所附的權利要求範圍決定。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀