Show Menu
主題×

雜湊碰撞

描述雜湊碰撞為何及其出現方式。
Adobe 會預設將 prop 及 eVar 值視為字串,即便數值為數字亦無不同。有時這些字串長達數百字元,有時則較短。為節省空間、改善效能,並將所有物件維持相同大小,則這些字串不應直接使用於處理中的表格。相反的,每個值都會計算 32 位元或 64 位元的雜湊。所有報表都會執行這些雜湊值,直到資料存在,資料中的每個雜湊則會被原來的文字取代。若不經此壓縮過程,報表須費時數分鐘才能執行。
在多數欄位中,字串內容會先轉換為小寫 (減少獨特值)。數值會每月轉換為雜湊 (數值於每月首次出現時轉換)。每月如此轉換,偶爾也可能將兩個獨特變數值轉換為相同的雜湊值。這種現象稱為​ 雜湊碰撞
雜湊碰撞可於以下情形出現於報表:
  • 若您正在追蹤數值的趨勢,且在某月時出現困難,這很可能是因為該變數其他數值雜湊的數值與您在正觀察的數值相同。
  • 特定數值的區段也可能發生同樣的情形。
雜湊碰撞範例
雜湊碰撞發生的可能性會隨維度 (eVar) 中的獨特數值數目增加。例如,當月較晚輸入的數值可能與較早的數值有相同的雜湊值。以下範例將說明此情形如何導致區段結果變更。假設 eVar62 於 2 月 18 日接收「數值 100」。Analytics 會將表格維持為此形式:
eVar62 串數值 雜湊
數值 99
111
數值 100
123
數值 101
222
若您建立一個尋找造訪的區段,其中 eVar62=「數值 500」,則 Analytics 會判斷「數值 500」是否含有雜湊。由於「數值 500」並不存在,Analytics 會回報訪客數為 0。之後,在 2 月 23 日,eVar62 接收「數值 500」,其雜湊亦為 123。表格內容如下:
eVar62 串數值 雜湊
數值 99
111
數值 100
123
數值 101
222
數值 500
123
相同區段再次執行時,會尋找「數值 500」的雜湊值,結果找到 123,報表便回報雜湊值為 123 的所有造訪。於是,結果也會納入 2 月 18 日的造訪。
此情形可能在使用 Analytics 時造成困擾。Adobe 會持續研究,以減少將來發生此類雜湊碰撞的可能性。要避免此情形,可以設法在變數之間散佈獨特值,處理規則時移除非必要的數值,或減少每個變數的數值數。