日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

58同城推薦系統(tǒng)架構(gòu)設(shè)計與實現(xiàn)

 wuhancar 2019-04-12

一、推薦系統(tǒng)架構(gòu)介紹

推薦系統(tǒng)是一個微龐大的工程、算法與業(yè)務(wù)綜合的系統(tǒng),其主要分為三大子系統(tǒng):

1)線下推薦子系統(tǒng);

2)線上推薦子系統(tǒng);

3)效果評估子系統(tǒng);

后文將重點討論以上三大子系統(tǒng)的設(shè)計與實現(xiàn)。

二、線下推薦子系統(tǒng)

線下推薦子系統(tǒng)又主要分為線下挖掘模塊、數(shù)據(jù)管理工具兩大部分。

線下挖掘模塊

線下挖掘模塊,是各類線下挖掘算法實施的核心,它讀取各種數(shù)據(jù)源,運用各種算法實施線下數(shù)據(jù)挖掘,產(chǎn)出初步的挖掘結(jié)果,并將挖掘結(jié)果以一定格式保存下來。典型的,實施這些挖掘策略的是一些跑在hadoop平臺上的job,并行實施策略,并將挖掘結(jié)果保存到hadoop上。

數(shù)據(jù)管理工具

數(shù)據(jù)管理工具,即DataMgrTools,它是一個工具(或者服務(wù)),它能夠接受一些管理命令,讀取某些特定格式的線下數(shù)據(jù),將這些數(shù)據(jù)實時或者周期性的打到線上的redis或者內(nèi)存中,供線上服務(wù)讀取。

數(shù)據(jù)管理工具是一個與業(yè)務(wù)無關(guān)的通用工具,它需要支持多種特定格式數(shù)據(jù)的上傳,因為線下挖掘模塊產(chǎn)出的數(shù)據(jù)可能存儲在文件里,HDFS上,數(shù)據(jù)庫里,甚至是特定二進制數(shù)據(jù)。

該工具的實現(xiàn)要點是:定義好線下數(shù)據(jù)格式,線上數(shù)據(jù)格式,通過上下游API做數(shù)據(jù)的遷移和轉(zhuǎn)換。

三、線上推薦子系統(tǒng)

線上推薦子系統(tǒng)主要分為展示服務(wù)、分流服務(wù)、推薦內(nèi)核、策略module服務(wù)等幾個部分。

展示服務(wù)

展示服務(wù),或者說是接入服務(wù),它是整個推薦系統(tǒng)線上部分的入口,即整個推薦系統(tǒng)的接入層,它向上游提供接口,供上游業(yè)務(wù)方調(diào)用。

展示服務(wù)是無狀態(tài)的服務(wù)(線上子系統(tǒng)各個服務(wù)都是無狀態(tài)的服務(wù)),可以任意水平擴展,該服務(wù)的實現(xiàn)要點是:定義好通用的接口格式。

分流服務(wù)

分流服務(wù),它是推薦系統(tǒng)中一個非常有特色也非常重要的一個服務(wù),它的作用是將上游過來的請求,按照不同的策略,以不同的比例,分流到不同的推薦算法實驗平臺(也就是下游的推薦內(nèi)核)中去。

分流服務(wù)如何判斷上游過來的一個請求分配到那個推薦算法實驗平臺呢?答案是通過策略和配置。從架構(gòu)圖中可以看到,幾乎所有的服務(wù)都需要讀取數(shù)據(jù)(data)和配置(conf),這些data可能是在線的動態(tài)變化的數(shù)據(jù)(例如:從redis中讀取的數(shù)據(jù)),亦可能是相對靜態(tài)的數(shù)據(jù)(例如:城市列表),conf比較好理解,即一些配置(例如:所有請求80%流量必須走A算法實驗平臺)。通過這些策略和配置,配合請求帶過來的參數(shù),分流服務(wù)計算出流量分配到哪個實驗平臺。

該服務(wù)的實現(xiàn)要點是:實現(xiàn)通用的支持與或非關(guān)系的可配置的分流規(guī)則,與下游實驗平臺定義好通用的接口以實現(xiàn)將流量按需打往不同的實驗平臺。

推薦內(nèi)核

推薦內(nèi)核,是各類線上推薦算法實施的核心,它其實只是一個通用的實驗平臺容器,每個推薦服務(wù)內(nèi)部可能跑的是不同類型的推薦算法。

雖然推薦服務(wù)中跑著不同的推薦算法,但每個算法的實施步驟都是相同的,都需要經(jīng)過:

(1)預(yù)處理;

(2)預(yù)分析;

(3)去重過濾;

(4)排序;

(5)推薦解釋;

等五個步驟,每個步驟都可能存在多種不同的算法,不同的模型,各個步驟中的一種算法組合起來,完成一個完整的流程,構(gòu)成一個“推薦算法實驗平臺”。

對于上述每個不同步驟中的不同模型,可能需要訪問不同的外部module服務(wù),例如:

推薦解釋步驟,可能有兩個模型,第一個模型在推薦解釋階段可能需要訪問“解釋-module1-服務(wù)”,第二個模型在推薦解釋階段可能需要訪問“解釋-module2-服務(wù)”,這些不同模型訪問不同業(yè)務(wù)的需求,在架構(gòu)層面都需要支持。

該服務(wù)的實現(xiàn)要點是:在一個推薦服務(wù)框架中跑多種策略,支持多個算法工程師在一個框架內(nèi)并行開發(fā)/實驗多個推薦算法,配合分流服務(wù)實現(xiàn)推薦算法實驗平臺。

策略服務(wù)

策略服務(wù),又叫策略module服務(wù),它實現(xiàn)了一個個推薦內(nèi)核下游的推薦module。在推薦內(nèi)核執(zhí)行各個推薦步驟時,每個步驟中都可能存在不同的算法/策略,這些算法/和策略可能需要調(diào)用一些和策略綁定比較緊密的module服務(wù),它們并不是通用服務(wù),而是相對專有的服務(wù)。

例如:排序module服務(wù),需要有一套方便,高效,可擴展的排序服務(wù)。

該服務(wù)的實現(xiàn)要點是:實現(xiàn)一個通用的服務(wù)框架,讓算法人員能夠快速的生成module服務(wù),并將自己的需求在module中實現(xiàn),且能夠在算法實驗平臺方便的進行module服務(wù)的調(diào)用。

四、效果評估子系統(tǒng)

效果評估子系統(tǒng)又分為推薦服務(wù)調(diào)用端、瀏覽器上報端、實施效果分析端

推薦服務(wù)調(diào)用端

調(diào)用推薦系統(tǒng)接口的58同城業(yè)務(wù)線,例如招聘業(yè)務(wù)線。

瀏覽器上報端

瀏覽器端js,調(diào)用招聘服務(wù)時,能夠在頁面展現(xiàn)出推薦系統(tǒng)中推薦出來的結(jié)果,并且能夠知道哪些推薦結(jié)果被點擊了,且會將這些被展示的與被點擊的信息進行上報。

實時效果分析端

瀏覽器js將被展示的推薦結(jié)果,與被點擊的推薦結(jié)果進行上報后,有一個實時效果觀察的平臺,第一時間得知上線后推薦算法/推薦策略的效果。

五、總體架構(gòu)圖

綜合前面章節(jié)所述,58同城推薦系統(tǒng)總體架構(gòu)圖如上。

推薦系統(tǒng)是一個工程、算法和業(yè)務(wù)的綜合性系統(tǒng),上線了推薦系統(tǒng),從此58同城正式進入了智能數(shù)據(jù)推薦的時代。

關(guān)于-58同城推薦業(yè)務(wù)

58同城是一個用戶與商戶共依的平臺,信息的推薦對58同城而言至關(guān)重要。以58同城的招聘業(yè)務(wù)線為例:在招聘用戶端,為用戶推薦更多很好的相關(guān)職位,能夠增強用戶的體驗,也增加了58同城的PV;在招聘商家端,為商戶推薦更多更好的相關(guān)簡歷,能夠增強商家的體驗,促進簡歷的下載量,從而增加58同城的收入。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多