偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

超級APP手機百度怎么做云端架構(gòu)設(shè)計和個性化?

云計算
2015 年 6 月 28 日下午,百度與 InfoQ 攜手舉辦了手機百度“云和端技術(shù)實踐”沙龍活動。這是手機百度首次公開超級 App 背后的技術(shù)知識?;顒臃衷贫撕涂蛻舳思夹g(shù)兩個會場同時舉辦,吸引了眾多技術(shù)愛好者前來學(xué)習(xí)交流。現(xiàn)場人數(shù)爆滿,氣氛熱烈。

2015 年 6 月 28 日下午,百度與 InfoQ 攜手舉辦了手機百度“云和端技術(shù)實踐”沙龍活動。這是手機百度首次公開超級 App 背后的技術(shù)知識?;顒臃衷贫撕涂蛻舳思夹g(shù)兩個會場同時舉辦,吸引了眾多技術(shù)愛好者前來學(xué)習(xí)交流?,F(xiàn)場人數(shù)爆滿,氣氛熱烈。

  手機百度產(chǎn)品總經(jīng)理,百度副總監(jiān)黎科峰出席會議并簡要介紹了手機百度的業(yè)務(wù)狀況和講師團隊成員。他談到,手機百度作為百度在移動互聯(lián)網(wǎng)時代的億級用戶流量入口,不僅支撐著百度內(nèi)部產(chǎn)品,更希望打造一個開放平臺,支撐眾多第三方行業(yè)及應(yīng)用的發(fā)展,從連接人與信息拓展到連接人與服務(wù)。比如打開手機百度就可以看到9塊9 上門推拿服務(wù)。手機百度的未來應(yīng)用前景擁有很大的想象空間,在云端和移動客戶端技術(shù)業(yè)務(wù)的實現(xiàn)上也積累了很多寶貴經(jīng)驗和創(chuàng)新實踐!

  下面是此次技術(shù)沙龍活動云端分會場的主題演講概要總結(jié):

  主題一:個性化在手機百度中的實踐(蘭田)

  手機百度是一個超級 app , 不僅為用戶提供搜索服務(wù),而是覆蓋了用戶生活的各個方面。挑戰(zhàn)是非常多的,首先用戶獲取信息成本不斷增高,在時間和流量有限的情況下,如何能夠滿足使用各種垂類信息(小說,視頻),各種團購,各種app, 各種O2O服務(wù)。然后是用戶多種多樣,需要對不同的用戶進行場景化和個性化的運營和推送。主題先介紹了個性化任務(wù)在手百上的愿景:希望每個用戶的手機百度都是獨一無二的,用戶可以最快捷,最有效的發(fā)現(xiàn)此時此刻最適合自己的信息和服務(wù)。主題從移動用戶的畫像(Profile)談起,進而介紹了傳統(tǒng)的推薦算法,然后探討了移動端給推薦帶來的機會,之后以百度生活頻道采用的推薦作為案例講解,最后展望了手百個性化系統(tǒng)的未來。

  手百個性化在設(shè)計的時候就考慮了精準(zhǔn)豐富的用戶標(biāo)簽,包括用戶本身的信息,如性別、年齡、職業(yè)、教育與消費等,還有用戶的目的如興趣、關(guān)注、需求。豐富的標(biāo)簽在手百的實際使用中起到很重要的作用,可以進行卡片推薦,幫助個性化解決冷啟動問題,幫助產(chǎn)品更加了解用戶的需求,幫助運營選擇特定興趣用戶并進一步推薦相關(guān)運營活動。蘭田給出了對95后用戶行為分析的例子,展現(xiàn)了95后用戶對游戲和動漫更感興趣,而95前用戶則對購物和美食等話題更感興趣。

  主題接下來介紹了傳統(tǒng)的推薦系統(tǒng),從用戶行為出發(fā),根據(jù)用戶和用戶,item和item之間的各種關(guān)聯(lián)為用戶做出推薦,主要有兩種形式,一個是相關(guān)推薦,另一個是列表推薦,目前在手百上的應(yīng)用主要是視頻和小說兩個垂直應(yīng)用。特別地,蘭田講解了相似性這一推薦系統(tǒng)的基石,從亞馬遜2003年提出的協(xié)同過濾入手,簡要介紹了空間中相距近的點具有相同性質(zhì)這一樸素概念,并給出了概率解釋。隨后他介紹了常用的相似度量,分析了優(yōu)缺點。如基于用戶的計算量大,但可以帶來新穎的推薦,基于item的計算量相對小,是大多數(shù)推薦系統(tǒng)采用的度量方式,而基于內(nèi)容的可解決冷啟動問題,但需要專家知識。目前手百采用的是item+內(nèi)容相結(jié)合的度量方式。

  主題接下來給出了手百推薦系統(tǒng)的現(xiàn)有架構(gòu)如下圖:

  從圖中可以看出整個架構(gòu)非常靈巧松散,模塊之間都是通過API連接,可以進行比較靈活的配置。底層機器學(xué)習(xí)和數(shù)據(jù)挖掘相關(guān)方法構(gòu)建在Hadoop之上,輸入有統(tǒng)計和行為數(shù)據(jù),而輸出則通過推薦算法的計算由推薦API給出。

  手百推薦系統(tǒng)有兩大難點,一是用戶數(shù)量極大,離線訓(xùn)練模型規(guī)模大,一周有千萬數(shù)量級。二是需要整合多個資源方的內(nèi)容,需要在數(shù)據(jù)合并和清洗上做大量工作,保證資源的質(zhì)量。但與此同時,手百具有相當(dāng)大的兩個優(yōu)勢,一是百度內(nèi)部機器學(xué)習(xí)資源豐富,有易用的并行框架。處理過億的三元組,可以在10分鐘內(nèi)搞定。二是百度有大量的用戶搜索數(shù)據(jù)和用戶畫像數(shù)據(jù),可以幫助用戶更好的進行冷啟動。

  與傳統(tǒng)的pc端相比,移動端對推薦系統(tǒng)的需求更大,比如由于屏幕小,顯示空間有限等原因,就需要更精準(zhǔn)的推薦。另外,用戶信息更容易收集,因為無需登錄,且使用頻率很高,各方面數(shù)據(jù)的反饋都更加及時。以及,移動端固有的特點可以為推薦系統(tǒng)引入更多的緯度,如時間地點和使用場景等。

  主題隨后介紹了推薦系統(tǒng)的演變,從單純的評分到排序,到頁面優(yōu)化最后到基于上下文的推薦,越來越多地引入更多的特征,以尋求更加精準(zhǔn)的推薦結(jié)果。主題還進一步介紹了一些推薦算法,如Point-wise、Pairwise 等排序?qū)W習(xí)的算法。

  接下來,主題給出了一個推薦系統(tǒng)在O2O領(lǐng)域的嘗試,試圖通過手百建立人和服務(wù)的連接,所采用的資源來自糯米,地圖和直達(dá)號等多個第三方服務(wù),給出的實例框架圖如下:

  針對在推薦系統(tǒng)中使用場景的問題,主題給出了人工匹配規(guī)則,修正然后作為特征加入學(xué)習(xí)算法的技術(shù)方案。具體來講,人工配置規(guī)則 (專家知識),由 PM和運營人工配置了近百條規(guī)則,由規(guī)則引擎根據(jù)場景和用戶畫像進行匹配。人工規(guī)則作為先驗概率,和熱門推薦點擊率相當(dāng),用戶實際點擊和常識并不一樣。然后利用用戶實際點擊情況修正規(guī)則。將用戶實際點擊修正先驗概率,效果比人工配置提高 0.5% 左右。最后將場景作為特征,融入到機器學(xué)習(xí)算法中。機器學(xué)習(xí)算法還涉及到一個特征選擇問題,目前手百所用的特征包括但不限于用戶、物料和場景等特征,而采用的算法除了常用的邏輯回歸以外,還有最近業(yè)界尤其是圖像領(lǐng)域常用的深度學(xué)習(xí)網(wǎng)絡(luò)模型。根據(jù)模型輸出的概率值對推薦結(jié)果進行重新排序,在融入場景特征后,發(fā)現(xiàn)效果提升了 2%。

  主題接下來探討了從推薦向個性化發(fā)展的問題。推薦只是個性化的一種形式,不是所有的個性化都是推薦(買電影票的時候,幫助我選擇我經(jīng)常訂的位置 )?,F(xiàn)有推薦系統(tǒng)大多是幫助用戶發(fā)現(xiàn)某種商品/服務(wù),個性化有更廣泛的產(chǎn)品含義,可以具體到背景皮膚的選擇,產(chǎn)品 tag 的位置。這方面手百以個性化卡片為入口做了一些嘗試,產(chǎn)品目的是豐富手機百度首屏的內(nèi)容,將用戶日常關(guān)注的內(nèi)容用卡片的形式展現(xiàn)出來。通過個性化的推薦引導(dǎo)用戶添加。和傳統(tǒng)的推薦不同,卡片數(shù)目少,且興趣點基本上是熱點興趣(傳統(tǒng)推薦是頭部+長尾)??ㄆg關(guān)聯(lián)關(guān)系弱,無法進行協(xié)同過濾。會根據(jù)PM 和運營需求,隨時添加卡片,需要把這個卡片推送給最合適的用戶。需要不斷的挖掘用戶新的特征。需要挖掘用戶的興趣,最近的意圖,人生階段等各個方面。因此需要通過用戶畫像和產(chǎn)品屬性進行規(guī)則匹配。

  主題最后對手百推薦和個性化的未來做了展望,更完善的推薦系統(tǒng)框架。及時反饋,更迅速的響應(yīng)用戶的行為。做出最及時的推薦。更好的推薦效果展示和算法控制平臺。進一步研究場景在推薦系統(tǒng)中的作用。引入更多的機器學(xué)習(xí) model,研究深度學(xué)習(xí)在推薦系統(tǒng)中的應(yīng)用。甚至提到了更遠(yuǎn)的類似 Google Now 的個人生活助手產(chǎn)品。

  主題二:手機百度云端架構(gòu)設(shè)計與實踐(韓超 & 黎博)

  主題主要介紹了手百云端在實際開發(fā)過程中一些工程化的運用,尤其是涉及傳統(tǒng)PHP工程師做web網(wǎng)站和超級APP的技術(shù)轉(zhuǎn)型和深化的過程。

  主題首先分析了目前手百云端所面對的問題,鑒于手百非純粹客戶端,而是瀏覽器和CS模式混合的產(chǎn)品,所面對的主要可分為三個問題:軟件高并發(fā)、大容量,需要高靈活性和可靠性,然后還需要解決由于定制化程度高而帶來的兼容性問題。對此,主題給出了一個多層解決方案,底層包含資源的云端聚合、不同功能的Cache和多種DB。中間層包含動態(tài)界面展示、用戶賬戶狀態(tài)承載、多協(xié)議多平臺支持和信息主動送達(dá)。上層則包括配置和運營,H5和NA并存支持以及客戶端的動態(tài)更新。傳統(tǒng)的Web網(wǎng)站的構(gòu)建中,LAMP架構(gòu)中的PHP+MySql+緩存已經(jīng)有了成熟理論和實踐。作為超級APP的服務(wù)器工程師,需要繼承Web網(wǎng)站的技術(shù)底蘊,并針對自身特性做出改進。這種改進主要來自三方面:性能優(yōu)化、兼容擴展性和云端控制性。

  主題開始講解了性能優(yōu)化的部分,性能是任何服務(wù)器設(shè)計必須考慮的問題,面對超級APP帶來的高QPS、峰值的高并發(fā)、不確定的寫請求,系統(tǒng)不可能無限制地擴容,軟件設(shè)計要先行。Web網(wǎng)站性能優(yōu)化的N種武器,要換一種方式用起來。需要考慮兩方面的因素,一是服務(wù)器的容量,服務(wù)器端有限的CPU、 IO和內(nèi)存會面對無限的客戶端,壓力會傳遞給數(shù)據(jù)存儲、緩存、后端服務(wù),云端的每一個環(huán)節(jié)都有可能被壓垮。二是用戶體驗,從前做Web網(wǎng)站,現(xiàn)在做 Native客戶端。Native并非天然就比Web網(wǎng)站快,因為瀏覽器和服務(wù)器的優(yōu)化手段已經(jīng)很成熟。性能優(yōu)化部分本主題講的比較深入,主要涉及了 Page緩存、緩存協(xié)商和請求合并等,具體讀者可參考幻燈片。

  主題接下來分享了兼容和擴展性方面的內(nèi)容,一個超級APP的服務(wù)器,它所面臨開發(fā)模型并不是一個點對點的開發(fā),而是一個基于時間軸的矩陣,這就涉及兩方面內(nèi)容,一個方面客戶端本身在升級,因此服務(wù)器在升級的時候,需要兼容歷史所有的客戶端,并且還要向未來進行展望。更復(fù)雜的是客戶端本地還有豐富的存儲,升級過程中也需要考慮,里面包含了一些不可控的因素,尤其是這種多版本多平臺的情況下。手百在這方面有幾個策略,首先服務(wù)端被動兼容的條件是客戶端的特性可知,通過客戶端自身的信息進行兼容,例如:操作系統(tǒng)、版本號、渠道等。然后是代碼分支方式,把穩(wěn)定基礎(chǔ)性功能分成不同的模塊,找到邏輯上需要區(qū)分的地方,由上層代碼對基礎(chǔ)功能組合調(diào)用。再有資源獲取,調(diào)整后端請求、持久化存儲、緩存的獲取順序,便于排列組合和再處理。還有特制化邏輯,了解客戶端的現(xiàn)實分布和業(yè)務(wù)情況,利用參數(shù)預(yù)處理篩選功能,對結(jié)果通過用個性化參數(shù)進行調(diào)整、過濾和合并。最后是緩存策略,提高Cache的命中率和Cache使用效率;

  主題最后一部分討論了云端可控性的問題。由于客戶端APP的固有特點,不可強制要求用戶手中的客戶端版本,從超級APP的功能上,要突破此瓶頸,在客戶端不升級的情況下,實現(xiàn)云端可控的特性。主要包括三方面,一是動態(tài)展示,根據(jù)需要將最新的數(shù)據(jù)、樣式、界面送達(dá)給用戶。二是動態(tài)事件和行為,服務(wù)端產(chǎn)生的事件可送達(dá)客戶端(客戶端拉取或服務(wù)端推送),可控制客戶端的各種行為。三是動態(tài)的配置和策略,服務(wù)器上具有動態(tài)配置和策略,客戶端通過獲得之后,根據(jù)自身的情況進行實施。

  主題給出了手百云端的技術(shù)架構(gòu)如下圖,主要解決了幾個業(yè)務(wù)特性帶來的挑戰(zhàn)。一個是軟件生命周期較長。二是高并發(fā)且流量不均。三是資源鏈接眾多且不穩(wěn)定。四是需求比較復(fù)雜。更多關(guān)于云端開發(fā)調(diào)試的手段和技巧可參見后續(xù)視頻與幻燈片資料。

  主題三:手機百度前端探索之路(夏藝天)

  主題主要分享了手百的前端探索之路,從開發(fā)到工程,再到發(fā)布的整個過程。典型的小團隊開發(fā),利用Zepto、OpenJs等類庫,在合理的組織下,撐起了手百的前端開發(fā)。

  第一部分是開發(fā)環(huán)節(jié)。主要介紹了SASS框架,講解了手百如何針對SASS進行改造和定制,并開發(fā)了模擬客戶端的環(huán)境。在基礎(chǔ)類庫方面,Zepto是用的比較多的構(gòu)件?;A(chǔ)部分還包括了基于EMD模塊的實現(xiàn),以及模塊間、事件和跨域通信等。其他類目包括UI組件、監(jiān)控、統(tǒng)計和運營等等。在此基礎(chǔ)上,手百前端團隊對一些常見的東西給出了解決方案,一個是前端的模板,二是本地緩存方案,三是SPA(單頁面應(yīng)用解決方案)。

  第二部分是工程化。所謂的工程化,一開始前端可能做的功能化是類似于手動的去壓縮代碼,現(xiàn)在有了很多工程化的解決方案,手機百度工程化是用公司統(tǒng)一的FIS集成方案,同時對FIS的插件進行改造,通過這些東西可以完成以上的全部的工作,以及更多的比如依賴分析、代碼檢測,按需加載,代碼檢測代碼的規(guī)范,還有緩存、壓縮、合并最后達(dá)到整個模板編印的效果。整個構(gòu)建化流程,有一個線下的系統(tǒng),線下構(gòu)建去完成前端代碼的壓縮以及拼接,完成這部分功能后,首先會把其它資源打個包,然后在發(fā)布的時候這個靜態(tài)資源會發(fā)布到CDN服務(wù)器上,同時線下的構(gòu)建工具會去生成一個類似于資源地圖的東西,記載每一個模塊每一個JS文件的依賴,它大概是一個表,編輯整個文件去生成記錄所有模塊與模塊依賴的一個表。然后在訪問的時候,template根據(jù)頁面所需要的模塊,在資源地圖,完成拼接過程,交給用戶,這就是整個工程化構(gòu)建的流程。

  第三部分是發(fā)布。主要是利用Tiny快速搭建平臺,通過上線系統(tǒng)進行配置管理,然后通過模塊化的接口提供API,并利用MDP設(shè)備畫像平臺進行監(jiān)控統(tǒng)計。

  主題還對前端發(fā)展的未來進行了展望,即更加的混合模式的開發(fā)。例如,不在利用網(wǎng)絡(luò)來請求前端代碼,而是直接預(yù)裝到APP,以及React Native模式等。

責(zé)任編輯:鳶瑋 來源: itbear
相關(guān)推薦

2011-06-30 12:37:42

百度廣告管家

2011-06-21 16:11:44

SEO

2024-11-01 12:45:28

2021-06-07 05:46:20

前端架構(gòu)前端架構(gòu)

2012-03-28 14:58:37

手機推送移動應(yīng)用

2022-11-01 07:19:45

推薦系統(tǒng)非個性化

2013-09-11 10:17:10

百度云騰訊云阿里云

2013-07-29 11:10:08

HTML5移動應(yīng)用Web App

2012-05-28 22:51:53

百度

2020-06-28 07:00:00

推薦系統(tǒng)智能商務(wù)服務(wù)平臺

2018-10-19 10:05:14

區(qū)塊鏈百度百度搜索

2020-12-03 06:13:46

iOS

2024-11-13 14:52:58

2019-09-06 08:29:33

Netflix架構(gòu)推薦系統(tǒng)

2011-06-01 17:40:29

百度收錄

2015-05-14 16:19:40

2013-07-31 09:28:10

AppWeb百度

2016-03-25 11:18:23

中華網(wǎng)

2011-08-08 09:09:03

云計算云端架構(gòu)

2017-07-24 09:18:29

大數(shù)據(jù)設(shè)計UX
點贊
收藏

51CTO技術(shù)棧公眾號