系統(tǒng)架構(gòu)
廣點(diǎn)通的系統(tǒng)架構(gòu)與常見的廣告架構(gòu)并無明顯差別邓梅。
廣告主側(cè)
在廣告庫這一層蚀之,廣點(diǎn)通做了容災(zāi)升級(jí),部署了天津翅睛、上海声搁、深圳三地的數(shù)據(jù)中心。
檢索系統(tǒng)的設(shè)計(jì)是用業(yè)界通用的倒排表捕发,將廣告質(zhì)量的數(shù)據(jù)關(guān)聯(lián)到廣告級(jí)別疏旨,生成索引文件。
流量側(cè)
Mixer將流量端用戶標(biāo)識(shí)擴(kuò)展出用戶畫像后扎酷,請(qǐng)求檢索系統(tǒng)檐涝,在Sunfish模塊里把用戶畫像和廣告數(shù)據(jù)關(guān)聯(lián)起來運(yùn)算。
檢索系統(tǒng)
在大規(guī)模任務(wù)中法挨,廣告系統(tǒng)通常由模型谁榜、索引和檢索算法三大組件組成。模型計(jì)算單個(gè)用戶-廣告的偏好概率凡纳,索引將所有商品有序地組織在一起窃植,檢索算法根據(jù)模型的輸出在索引中召回最終的推薦結(jié)果。三者共同決定了召回質(zhì)量且存在內(nèi)在聯(lián)系荐糜。
Sunfish是檢索核心巷怜,向上對(duì)接廣告數(shù)據(jù),向下對(duì)接用戶標(biāo)簽暴氏,最終決定給用戶展示哪些廣告丛版。
第一代檢索服務(wù)
傳統(tǒng)的倒排表,是把條件進(jìn)行組合偏序,再做過濾的邏輯页畦,復(fù)雜度是M x N。
第二代檢索服務(wù)
將定向接口抽象成一棵四層的邏輯樹研儒。核心思想就是面向接口編程豫缨,這樣增加定向就不用改代碼了独令。索引和定向接口標(biāo)準(zhǔn)化,減少了溝通成本好芭。
存在的問題:索引和排序之間的挑戰(zhàn)燃箭,檢索和排序之間的問題。它們是通過數(shù)據(jù)來耦合舍败,在需求變動(dòng)的時(shí)候頻繁的修改這個(gè)接口招狸。
第三代檢索服務(wù)
有更強(qiáng)的定向能力,不是四層書邻薯,而是遞歸多叉樹裙戏,把排序接口標(biāo)準(zhǔn)化,通過接口來開發(fā)和溝通厕诡,優(yōu)化思想與第二代的優(yōu)化類似累榜。
第三代系統(tǒng)能夠融合各種用戶標(biāo)識(shí),騰訊內(nèi)部有很多用戶標(biāo)識(shí)灵嫌,例如QQ號(hào)壹罚、騰訊號(hào),還有IMEI寿羞、瀏覽器也有自己的標(biāo)識(shí)猖凛。我理解這個(gè)應(yīng)該是屬于DMP領(lǐng)域的功能,類似于提供一個(gè)全局ONE ID的功能绪穆。
檢索系統(tǒng)要解決的核心問題
用戶特征和廣告定向要求能夠匹配
流量要求與廣告特征的匹配
廣告的定向要求是一個(gè)邏輯表達(dá)式形病,在這里是遞歸定義的多叉樹。例如一個(gè)用戶畫像霞幅,男性,27歲量瓜,廣州司恳。把邏輯運(yùn)算問題轉(zhuǎn)換成了一個(gè)計(jì)數(shù)和查找的問題。
把所有遞歸多叉樹都轉(zhuǎn)置存儲(chǔ)下來绍傲,就形成了索引文件扔傅。索引的key為用戶特征,value為匹配的廣告烫饼。
檢索系統(tǒng)氛圍全量和增量數(shù)據(jù)流猎塞,這樣可以滿足數(shù)據(jù)的準(zhǔn)確性和及時(shí)性兩種需求。