咨詢客服

7×24小時服務(wù)在線

>>舊平臺入口

首頁 > 軟文發(fā)布 > 關(guān)于新浪微博推薦系統(tǒng)架構(gòu)演進過程

關(guān)于新浪微博推薦系統(tǒng)架構(gòu)演進過程

發(fā)布者:編輯部   發(fā)布時間:2019-04-17 18:05:03  來源:文芳閣軟文發(fā)布平臺  閱讀量:2800

本篇文章4416字,閱讀大概需要6分鐘

  
  微博是一個廣播社交網(wǎng)絡(luò)平臺,通過有趣的機制共享短期信息。微博用戶注重訂閱內(nèi)容。在這種情況下,推薦系統(tǒng)可以很好地與訂閱分發(fā)系統(tǒng)集成并相互促進。微博的兩個關(guān)鍵基礎(chǔ):第一,建立用戶關(guān)系,第二,內(nèi)容溝通微博致力于優(yōu)化這兩點,促進微博的發(fā)展。
 
  微博推薦開發(fā)過程改變了系統(tǒng)的方向,業(yè)務(wù)不斷變化,目標重置,產(chǎn)品理念,架構(gòu)和算法發(fā)生變化。本白皮書主要描述了推薦架構(gòu)在此過程中的演變,并希望通過此機會探索業(yè)務(wù)與技術(shù)之間的關(guān)系,同時在產(chǎn)品目標,算法需求和技術(shù)開發(fā)方面為讀者提供完整的開發(fā)環(huán)境。
  通常,架構(gòu)是在團隊和業(yè)務(wù)環(huán)境中創(chuàng)建的,努力基于環(huán)境因素解決環(huán)境問題,結(jié)構(gòu)由強大的功能組成,并且創(chuàng)建面向?qū)崿F(xiàn)的效果。本白皮書詳細介紹了微博建議的三個階段,包括環(huán)境因素,架構(gòu)配置和特性以及實施影響。
  1獨立1.0
  1.1環(huán)境
  影響結(jié)構(gòu)形成的環(huán)境因素可分為內(nèi)部環(huán)境因素和外部環(huán)境因素。內(nèi)部因素主要與團隊和成員有關(guān),但外部因素主要在外部部門,整個公司或整個行業(yè)。
  這個項目有很多項目,當時平均每個團隊有5個并行開發(fā)項目。當然,最重要的因素是微博產(chǎn)品是快速生成器,微博需要在很多地方提供支持。同時,由于項目周期很短,調(diào)度緊急,很難有時間進行清理和抽象。典型產(chǎn)品包括微棒,微小組,微分布,微結(jié)構(gòu),用戶和內(nèi)容對齊。
  基于以上原因,當我們面對單個項目時,我們使用熟悉的技術(shù)堆棧通過建立我們自己的理解來逐個構(gòu)建我們的流程。
  雖然開發(fā)過程中存在許多缺點,但我們已為后續(xù)架構(gòu)優(yōu)化奠定了基礎(chǔ)。結(jié)果如下。
  在微博快速發(fā)展的過程中,微博滿足了微博對推薦業(yè)務(wù)支持的要求,完成了20多個獨立項目。
  吳的框架誕生了,內(nèi)部的高效計算框架誕生于此。
  Web應(yīng)用程序?qū)拥某掷m(xù)需求摘要,推薦的通用應(yīng)用程序框架配置2樓2.0
  我們介紹了一個獨立的1.0。根據(jù)架構(gòu)開發(fā)的方式,我們?nèi)チ艘粋€分支路口,一個是流行的LAMP架構(gòu),另一個是與廣告和搜索相匹配的CELL架構(gòu)。 LAMP架構(gòu)數(shù)據(jù)策略是獨立的,腳本語言是業(yè)務(wù)開發(fā)的主要語言,該項目是快速開發(fā)和迭代的首選。 CELL架構(gòu)強調(diào)本地流程處理,數(shù)據(jù)和業(yè)務(wù)組合,自行開發(fā)的服務(wù)以及適用于高性能應(yīng)用程序的數(shù)據(jù)庫。畢竟,我們選擇與兩者兼容,并且我們傾向于擁有業(yè)務(wù)架構(gòu)。為什么會這樣?我們來看看當時的環(huán)境。
  2.1環(huán)境
  微博推薦2.0期間為2013年3月至2014年底。此期間的內(nèi)部環(huán)境因素為:
  今天,團隊成員已經(jīng)合作了很長時間,并就技術(shù)選擇達成了一些共識。
  團隊產(chǎn)品專注于內(nèi)容/用戶/垂直課程推薦,場景分為源主頁,正文頁面和PC主頁。這種集中不僅有助于統(tǒng)一建筑,還有助于獲得技能。
  外部因素包括:
  該公司明確定位建議,提高關(guān)系績效和內(nèi)容溝通效率,并為推薦廣告的技術(shù)探索,場景干預(yù)和用戶體驗提供基礎(chǔ)。
  在推薦的字段中,每個公司都有自己的架構(gòu)輸出,這是微博建議的重要指南。
  2.2架構(gòu)配置和功能
  隨著團隊實施核心業(yè)務(wù)實施,工具和框架不斷發(fā)展,2.0部署的目標正在變?yōu)楝F(xiàn)實。
  1.技術(shù)目標
  與1.0不同,僅僅實現(xiàn)業(yè)務(wù)需求不再是2.0的技術(shù)目標。要獲得完整的推薦流程,您需要:
  第一步是實施完整的推薦流程,包括候選人,調(diào)整,策略,演示,反饋和評估。
  數(shù)據(jù)是第一個提取數(shù)據(jù)架構(gòu)的數(shù)據(jù)。為了實現(xiàn)數(shù)據(jù)比較,效果是基于數(shù)據(jù)的,實現(xiàn)數(shù)據(jù)通道,反映反饋,實現(xiàn)數(shù)據(jù)著陸和執(zhí)行業(yè)務(wù)需求。
  提供一種方便干預(yù)算法的方法。
  這不僅可以確??焖俚蜆I(yè)務(wù)開發(fā),還可以支持高效計算。
  2.建筑
  微博推薦2.0架構(gòu)如圖5所示。它不再是一個獨立的系統(tǒng),開發(fā)人員也無法使用類似的技術(shù)來解決類似的問題。該架構(gòu)圖主要包括以下部分:
  應(yīng)用層:主要負責推薦的策略和演示,其特點是充分利用腳本語言的特性來響應(yīng)重復(fù)的要求。您可以在對齊后顯示大多數(shù)推薦的內(nèi)容,但必須在技術(shù)級別完成此IO密集型層,因為您需要合并,刪除和重新定位前端產(chǎn)品策略。在技術(shù)選擇框架中,開發(fā)最初基于Apache + mod_python并且創(chuàng)建了common_recom_frame。該框架面向能夠成功實施推薦業(yè)務(wù)流程的二級開發(fā)人員。該框架的核心思想是提取項目,任務(wù)和數(shù)據(jù)的三層接口。該項目適用于每個推薦項目,每個推薦項目的推薦任務(wù)不同,一種管理的訪問方法。兩個規(guī)格同時設(shè)置。一種是集成推薦的接口,無論用戶,內(nèi)容或行業(yè)如何,另一種是通過保護不同協(xié)議數(shù)據(jù)庫的訪問方法來顯著提高開發(fā)效率。 common_recom_frame框架的誕生基本上解決了產(chǎn)品的各種推薦策略要求,并走在了產(chǎn)品的前面。圖5微博推薦2.0架構(gòu)的示意圖
  計算層:主要消耗CPU,該層為算法提供干預(yù)方法,并執(zhí)行支持算法模型迭代的推薦排序計算。在這個技術(shù)選擇層,我們繼承了原始的WOO協(xié)議框架,這是一個基于c/c ++開發(fā)的內(nèi)部高效通信框架。當然,我已經(jīng)做了很多擴展,并且我借用了上面提到的common_recom_frame思想來實現(xiàn)基于WOO框架的項目/工作/數(shù)據(jù)管理,為二級開發(fā)人員提供了更高效的開發(fā)工具。在您團隊的開源項目中包含此工具:https://github.com/wbrecom/lab_common_so
  數(shù)據(jù)層:主要負責推薦的數(shù)據(jù)流和存儲。數(shù)據(jù)層的任務(wù)主要是解決數(shù)據(jù)的IN/OUT/STORE問題。 IN數(shù)據(jù)輸入到系統(tǒng),OUT是數(shù)據(jù)訪問方法,STORE是數(shù)據(jù)存儲方法。在進行數(shù)據(jù)層規(guī)劃時,分析了微博推薦的數(shù)據(jù)特征,該屬性可以分為靜態(tài)和動態(tài)兩大類。靜態(tài)數(shù)據(jù)的定義如下:更新需要大量低頻率和低并發(fā)性的數(shù)據(jù),動態(tài)數(shù)據(jù)定義為:增量數(shù)據(jù)同時以高頻率動態(tài)更新。因此,在靜態(tài)和動態(tài)數(shù)據(jù),RIN/R9接口,徑向/流明,tmproxy /呼吸機或工具框架生成期間,唯一的IN/OUT/SOTRE的通用方向。下面說說擴展,RIN數(shù)據(jù)訪問動態(tài)數(shù)據(jù),支持通過Web服務(wù)接收數(shù)據(jù),后端隊列管理,消費者集群得到多服務(wù)框架ckestrel的補充,用戶需要執(zhí)行自己的業(yè)務(wù)開發(fā)您可以在線快速使用動態(tài)數(shù)據(jù)。 R9接口處理器訪問靜態(tài)數(shù)據(jù)推薦行為針對R9接口框架的Hadoop集群靜態(tài)計算[MR Hive SQL和SPARK行為]通知管理和數(shù)據(jù)加載,解決了多個靜態(tài)數(shù)據(jù)。動態(tài)數(shù)據(jù)使用許多redis群集,靜態(tài)數(shù)據(jù)使用lushan群集來存儲推薦數(shù)據(jù)。對于lushan,這個工具也包含在團隊開源項目中:https://github.com/wbrecom/lushan。 tmproxy/ventilation為了解決OUT數(shù)據(jù)的問題,再加上通風訪問中間件代理來處理靜態(tài)和動態(tài)數(shù)據(jù)的推薦請求,后端數(shù)據(jù)減少了業(yè)務(wù)變化的影響?;痉?wù):推薦系統(tǒng)的基本服務(wù)主要包括監(jiān)控,報警和評估系統(tǒng),數(shù)據(jù)監(jiān)控系統(tǒng)分為性能和影響監(jiān)控兩類,評估系統(tǒng)主要用于下級評估。在去之前有一定的期望和影響。
  3.特點
  優(yōu)點是:
  數(shù)據(jù)的集成方法,以提供完整的推薦流程支持
  在快速實現(xiàn)業(yè)務(wù)功能的過程中,效果技術(shù)不斷深化。
  該算法得到了很好的支持。
  首次使用您的數(shù)據(jù)的想法將幫助您全面比較您的影響并繼續(xù)提高您的推薦效果。
  密封系統(tǒng)易于放置,質(zhì)量保證包含在測試中。
  缺陷如下。
  與推薦的核心有一定距離,并且與建議不完全一致。
  推薦的策略算法完全傳遞給開發(fā)人員,不適合一般使用。
  算法培訓不包括在內(nèi),只是在線交付系統(tǒng),因此構(gòu)建完整的推薦系統(tǒng)是不夠的。
  2.3結(jié)果
  微博推薦2.0的誕生產(chǎn)生了良好的效果。
  微博的核心業(yè)務(wù)是通過諸如機構(gòu)推薦,趨勢用戶推薦,趨勢內(nèi)容推薦,各種場景中的用戶推薦,粉絲經(jīng)濟學,賬戶推薦等系統(tǒng)完成的。
  為lab_common_so創(chuàng)建一個基本框架并執(zhí)行開源
  一個靜態(tài)存儲集群解決方案,lushan,誕生了。
  聯(lián)陣框架的誕生極大地提高了企業(yè)生產(chǎn)的效率,也為開放社區(qū)做出了貢獻。
  3平臺類型3.0
  在前一節(jié)的2.0描述中提到的一個主要缺點是“與推薦的核心存在一定距離,并且與推薦不完全一致”。我們希望在建議3.0中修復(fù)它。為什么在滿足業(yè)務(wù)需求時推薦的架構(gòu)會繼續(xù)發(fā)展?我們將向您展示微博推薦的平臺風格3.0設(shè)計。讓我們來看看環(huán)境。
  3.1環(huán)境
  從2014年底到現(xiàn)在的當前內(nèi)部環(huán)境因素如下,微博建議3.0。
  推薦產(chǎn)品沒有擴展,它們更重要,并且重點從業(yè)務(wù)開發(fā)和迭代轉(zhuǎn)向針對性能的技術(shù)迭代。
  如果您以迭代方式提出新項目或業(yè)務(wù),則會有許多重復(fù)性任務(wù),重復(fù)任務(wù),因為架構(gòu)未得到解決。
  外部因素包括:
  該公司還從業(yè)務(wù)擴展轉(zhuǎn)向效率優(yōu)先,以改善用戶體驗和內(nèi)容質(zhì)量。
  微博建議在推薦的技術(shù)鏈接的距離區(qū)域中存在一定距離,并且存在追趕狀況。
  3.2架構(gòu)配置和功能
  當前環(huán)境也可以反映3.0的技術(shù)目標。
  1.技術(shù)目標
  與2.0不同,全范圍推薦過程不是3.0的目標。目標是:摘要在推薦過程中候選/對齊/訓練/反饋的一般方法。
  推薦算法,需要建立推薦系統(tǒng)算法的角度數(shù)據(jù)問題,接近算法策略
  2.建筑
  如圖7所示,建議基于此開發(fā)2.0找到微博3.0體系結(jié)構(gòu),因為運行當前體系結(jié)構(gòu)系統(tǒng),我們維護了一個實際在框架2.0中使用的大型分層系統(tǒng)和工具。以下是一些要點:
  兩個標準:應(yīng)用層的一個總體輸出框架,所有這些都是在一個應(yīng)用層中包含標準輸入和輸出參數(shù)的接口規(guī)范,與動態(tài)輸入精益相關(guān)并且離線計算,這可以確定我們的結(jié)構(gòu)因此,輸入層工具R9接口規(guī)范是相互依賴的***不需要為分割級別的標準設(shè)置設(shè)置線串,例如數(shù)據(jù)/記錄。
  通過標準生成候選者的方法增加計算層:Artemis候選內(nèi)容模塊,項目候選用戶模塊,......應(yīng)該只選擇此方法來生成項目開發(fā)的候選者。
  添加了一個名為EROS的戰(zhàn)略平臺來解決算法模型的問題。 EROS的主要特點是1)訓練模型2)特征選擇3)在線比較測試。
  R9界面層和生成在線和離線候選精益增長的數(shù)據(jù)推薦了產(chǎn)生結(jié)果的一般策略。
  圖7微博推薦3.0的示意圖
  3.特點
  它主要解釋了它的優(yōu)點:
  它繼承了原有的2.0特性并保持其優(yōu)點。深入理解這些建議,并結(jié)合推薦的候選/對齊/訓練算法的最重要解決方案
  3.3結(jié)果
  微博推薦3.0的誕生,結(jié)果如下:
  微博推薦的核心業(yè)務(wù)逐步遷移到系統(tǒng),算法數(shù)據(jù)作為提高效率的驅(qū)動因素。
  技術(shù)來自業(yè)務(wù)并改善業(yè)務(wù)發(fā)展。業(yè)務(wù)發(fā)展是技術(shù)發(fā)展和相互影響的關(guān)系背后的驅(qū)動力。隨著業(yè)務(wù)發(fā)展的技術(shù)還活著。
  技術(shù)架構(gòu)選擇建議是目前找到最短路徑然后迭代優(yōu)化。將所有東西放在一起是不現(xiàn)實和不合理的。
  推廣框架和工具的最佳方式不是行政命令或待遇,但每個人都是參與者。與開源項目一樣,每個人都是所有者,因此每個人都得到維護和使用。
 

上一篇:關(guān)于2019年微信公眾號服務(wù)推廣最新解讀

下一篇 :網(wǎng)絡(luò)軟性廣告對營銷有什么不一樣的錯誤思想呢


軟文發(fā)布

特別聲明:本站的所有文章版權(quán)均屬于文芳閣軟文發(fā)布平臺,未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用上述作品。已經(jīng)本網(wǎng)授權(quán)的文章,應(yīng)在授權(quán)領(lǐng)域內(nèi)應(yīng)用,并注明來源為:文芳閣。違背上述聲明者,我們將追究其相干法律責任。

標題:關(guān)于新浪微博推薦系統(tǒng)架構(gòu)演進過程    

地址:http://wenfangge.cn/index.php?app=xinwen_front&act=one_xinwen&&id=4671