日韩欧美综合-国产色影院-黄色欧美大片-奶茶视频黄色-无码粉嫩虎白一线天在线观看-亚洲天堂手机在线-亚洲欧美日本在线-日本特级黄色-亚洲tv在线-婷婷激情综合-亚洲精品无-成人免费黄色-亚洲色图久久久-色噜噜狠狠狠综合曰曰曰-精品久久久精品-蜜臀av在线播放-国产美女高潮流白浆视频

<b>基于hash計算的多層實驗流量切分的實現(xiàn)</b>

作者:Lgo100 來源:未知 2012-07-13 23:33:05 閱讀 我要評論 直達(dá)商品

  1. 背景介紹

  站點新功能或者是站內(nèi)新策略開發(fā)完畢之后,在全流量上線之前要評估新功能或者新策略的優(yōu)劣,常用的評估方法是A-B測試,做法是在全量中抽樣出兩份小流量,分別走新策略分支和舊策略分支,通過對比這兩份流量下的各指標(biāo)的差異,我們可以評估出新策略的優(yōu)劣,進(jìn)而決定新策略是否全流量。

  上文中提到的抽樣是指按照某種確定的隨機(jī)化方法,對線上流量進(jìn)行劃分。抽樣可以指這種劃分的方法,也可以指劃分得到的一個流量子集。抽樣是一種特殊的小流量,要求對流量的劃分必須保證均勻性和隨機(jī)性,并且可以根據(jù)需求過濾掉不符合規(guī)范的部分,我們把抽樣的過程分為流量切分和流量篩選兩個步驟,流量切分是指把全流量進(jìn)行均勻的打散,提取出其中固定的流量比例,流量篩選是對流量切分的輔助,篩選過程就是從切分好的流量中過濾掉不符合規(guī)范的部分,本文主要涉及的是流量切分的實現(xiàn)。

  2. 單層流量切分架構(gòu)

  做到流量切分的常用的方法是單層流量切分,流量切分需要以某種方式進(jìn)行,即流量切分的打散依據(jù),例如,我們可以依據(jù)流量中的cookie打散,或者是隨機(jī)打散等,打散的方式不同,切分的對象全集也就不同了,如果我們依據(jù)cookie打散,那么我們的切分對象全集就是所有的cookie,如果是隨機(jī)打散,那么我們的切分對象全集就是該站點的所有的流量。

  

 

  圖1.1 單層流量切分架構(gòu)示意圖

  有了上面的想法,我們?nèi)绾螌崿F(xiàn)單層流量切分呢?如圖1.1所示,我們按照指定的流量切分方式,將所需要的輸入?yún)?shù)先經(jīng)過一次hash計算,產(chǎn)生結(jié)果的均勻性和隨機(jī)性由hash算法來保證,有了hash產(chǎn)生的結(jié)果,流量切分的過程還沒有結(jié)束,我們還需要將hash結(jié)果對應(yīng)到切分對象的全集上面,實現(xiàn)方法是將切分對象全集看作是一個區(qū)間段,然后將hash結(jié)果對應(yīng)到區(qū)間段上面,區(qū)間的大小是切分的最小粒度決定的,例如,如果需要最小切分粒度為0.01%,則我們選取的區(qū)間段為[0,9999],有了區(qū)間段的定義,我們可以將hash結(jié)果對一個數(shù)值取模,這個數(shù)值等于區(qū)間段最大值加1,取模之后的結(jié)果可以唯一的對應(yīng)到切分對象全集區(qū)間上面,這樣我們就將所有的流量打到了流量切分對象全集上面。

  最后,我們再將區(qū)間段按照實驗需求細(xì)分,劃分成若干子區(qū)間,用作于實驗對比,例如下圖所示,將整個100%的區(qū)間分為多個子區(qū)間,每個子區(qū)間使用唯一的編號——sid,作為區(qū)間的唯一的標(biāo)識,sid=1的子區(qū)間對應(yīng)的流量為1%,那么它的子區(qū)間就是[0,99],同理,sid=2的第二個1%的子區(qū)間對應(yīng)的區(qū)間值為[100,199],這樣我們就將一個100%的完整區(qū)間劃分成了若干個子區(qū)間,兩個比例相同的子區(qū)間就可以用作于實驗策略對比。

  

 

  圖1.2 流量子區(qū)間的劃分

  3. 可復(fù)用流量的多層流量切分架構(gòu)

  這種單層流量切分方式是一種獨占式的流量切分方式,一個子區(qū)間只能供給一個實驗使用,一個請求只能命中一個實驗,優(yōu)點是實驗之間解藕,不相互影響,缺點是資源有限,流量分配完畢之后,后續(xù)的需求將處于長期的等待與饑餓狀態(tài),這種獨占式的流量切分方式,顯然在實驗需求不斷增加的情況下是完全不能滿足的,為了解決獨占的問題,我們可以采用多層流量切分方式。

  多層流量切分的思想是將單層結(jié)構(gòu)擴(kuò)展為多層結(jié)構(gòu),如下圖所示,多層之間必須滿足正交性,這里多層之間的正交性是指某一層的任何一個子區(qū)間可以隨機(jī)的、均勻的對應(yīng)到其他層上面,這樣我們就把一個子區(qū)間對其他層的影響均勻的分散到整個層上面。

  多層流量切分架構(gòu)可以將實驗流量從100%擴(kuò)展到100%*n,也就說每層中的流量我們都可以用做于實驗對比,一次請求可以同時命中多個實驗,實驗流量是復(fù)用的,多層流量是滿足不同層的實驗之間的影響都是均勻、可預(yù)估的,開展多層實驗的前提是保證這種實驗間的影響是可接受的,有一些實驗是不允許任何復(fù)用,例如,展現(xiàn)類的實驗,如果兩個實驗各自指定了一套展現(xiàn)樣式模板,而從展現(xiàn)模塊的角度來講一次請求只能展現(xiàn)一種樣式模板,因此,這里不兼容的實驗只能位于同一層中。

  

 

  圖1.3 多層流量切分架構(gòu)示意圖

  多層流量切分的另一個優(yōu)勢是每一層我們可以使用不同的切分方式進(jìn)行,這樣也極大的豐富了流量切分的多樣性,那么,還有另一個問題,每一個流量層中只能采用一種流量切分方式,如果同一層中有多種切分方式的需求又如何解決呢?答案是通過層的嵌套來實現(xiàn),層的嵌套是指在一個層中可以包含其他的層,如下圖所示,矩形表示層,圓形表示切分出來的實驗流量,其中,1號層包含了2、3、4三個層,4號層又包含9、10、11三個層,為了達(dá)到同一層內(nèi)多種流量切分方式的目的,我們需要將該層切分成多個區(qū)間,例如,下圖中的2號層就被分成了5、6兩個層,但是這兩個層也必須采用相同的切分方式,因為這兩個層相當(dāng)于把其父層的流量分成了兩部分,因而這兩部分的產(chǎn)生方式應(yīng)該是一致的,最后,在5、6層中,我們又可以建立其他的層,這兩個層就可以采用不同的流量切分方式了。

  

 

  圖1.4 流量切分多層嵌套示意圖

  理論上,多層流量切分架構(gòu)的可切分層數(shù)是無限的,可以支持任意多的流量層,但是,從實現(xiàn)的角度來講,層數(shù)做到無限是很難實現(xiàn)的,因為,為了保證層和層之間的正交性,我們必須要為每一層實現(xiàn)一套hash算法,保證每種hash算法的結(jié)果是正交的,要實現(xiàn)層數(shù)的無限,則需要實現(xiàn)無限多個保證正交的hash算法,hash算法的增多勢必會導(dǎo)致正交性的下降,我們可以實現(xiàn)有限個正交的hash算法,hash算法的數(shù)目是要求可以滿足所有的實驗需求的。下面我們介紹一種多層流量切分架構(gòu)的實現(xiàn)方法。


  推薦閱讀

  做SEO流量的三個真理:有限+專用+長期

大家好,我是虛子雨。大家如果每天都有學(xué)習(xí)知識的習(xí)慣可能看到最近一篇比較不錯的文章,是創(chuàng)新工場的汪華寫的一篇關(guān)于網(wǎng)站流量的文章《互聯(lián)網(wǎng)為什么要做流量以及如何做流量》,里面談到了很多做流量的經(jīng)驗,這里我來>>>詳細(xì)閱讀


本文標(biāo)題:<b>基于hash計算的多層實驗流量切分的實現(xiàn)</b>

地址:http://www.sh-jijian.com/a/34/20120713/75756.html

樂購科技部分新聞及文章轉(zhuǎn)載自互聯(lián)網(wǎng),供讀者交流和學(xué)習(xí),若有涉及作者版權(quán)等問題請及時與我們聯(lián)系,以便更正、刪除或按規(guī)定辦理。感謝所有提供資訊的網(wǎng)站,歡迎各類媒體與樂購科技進(jìn)行文章共享合作。

網(wǎng)友點評
我的評論: 人參與評論
驗證碼: 匿名回答
網(wǎng)友評論(點擊查看更多條評論)
友情提示: 登錄后發(fā)表評論,可以直接從評論中的用戶名進(jìn)入您的個人空間,讓更多網(wǎng)友認(rèn)識您。
淮南市| 松原市| 卓资县| 嘉定区| 石棉县| 石狮市| 稻城县| 彩票| 长岛县| 轮台县| 新田县| 建平县| 惠来县| 开远市| 五家渠市| 姜堰市| 天津市| 太谷县| 建阳市| 竹山县| 白玉县| 井研县| 屯昌县| 华池县| 张北县| 华安县| 三门县| 肇东市| 吉水县| 厦门市| 富锦市| 乡宁县| 青冈县| 克什克腾旗| 社旗县| 鹿邑县| 新和县| 屯门区| 福贡县| 辰溪县| 舟山市|