一個實時精準觸達系統的自我修養

問題定義

在互聯網行業,唯一不變的是變化。作爲技術同學,我們經常會碰到以下幾種需求:當用戶收藏的商品降價後及時通知用戶,促進雙方交易達成;新用戶或近期內未成交的用戶瀏覽多個商品後引導用戶主動和賣家聊天、也可以給用戶發個紅包促進用戶首單的達成;

這類需求本質上是這樣的邏輯:實時採集分析用戶行爲,通過規則計算,對符合條件的用戶進行精準觸達。普通開發模式很難敏捷的實現承接這類需求,爲此我們專門研發了Omega系統解決這類問題。Omega系統分爲三個子系統:

我們在之前文章已經詳細說明前兩部分,本次我們將着重闡述用戶觸達系統是如何設計和實現策略靈活配置和精準觸達的。

系統設計

邏輯架構

爲了方便讀者理解,我們簡單回顧Omega系統的邏輯架構。Omega系統基於高內聚低耦合的原則進行拆分,每個部分本身是獨立完整的系統,也可以組裝後提供服務。

  • 第一層是用戶行爲採集中心,通過採集端上請求的MTOP(應用網關)接口和端上用戶行爲埋點,將數據清洗爲規整的用戶行爲數據;

  • 第二層是EPL(閒魚基於CEP設計)規則計算中心,通過解析DSL生成Blink(Flink,開源流計算框架)流計算任務,輸出滿足規則的用戶;

  • 第三層爲用戶觸達中心,定義觸達策略和通道,將策略實時觸達給用戶。

三層環環相扣,既可單獨對外提供服務,也可聯合對外承接業務,目前已經在承接用戶增長、玩法和安全相關業務。

以用戶增長業務舉例,當用戶在體驗的過程中,運營通過合理策略組合,引導用戶完成交易行爲,到達產品形態上的“啊哈”時刻。這些策略在端內可能是權益透出、POP和實時Push,在端外是Push、短信和外呼等手段。Omega系統通過整合端內/端外的主動/被動觸達渠道,以用戶的實時狀態爲核心,實現了一套滿足長週期運營的策略編排技術方案體系。

觸達流程

觸達流程本身比較明確,我們將流程拆分爲多個小的節點,每個節點之間通過配置化方式組合,保證每個節點是可插拔、可替換的實現。整體用戶觸達系統處理流程如下:

  • 接收CEP規則計算結果,包括規則名和滿足規則的用戶;

  • Action路由層根據規則名查詢所有訂閱此規則的Action列表;

  • Action過濾層根據一定策略過濾有效Action列表,過濾策略包括黑/白名單,灰度、人羣和疲勞度策略;

  • Action下發層會根據策略配置執行,可以是通用的觸達,比如發Push、短信;也可以是調用其他業務系統,比如調用安全系統處罰;也可以將Action下發到端上執行;

  • Action執行後將相關信息按照通用協議埋點,方便後續數據統計;

用戶觸達是Omega系統流程的最後一環,需要封裝足夠多的通用觸達能力,保證觸達的實時性、有效性,不然對用戶體驗會有傷害,接下來通過詳細設計看下用戶觸達系統如何保證觸達策略可組裝、可插拔的靈活配置和觸達實時性等特性。

詳細設計

注:metaq是阿里內部使用的MQ框架;HSF是RPC框架。

用戶觸達中心的目標是可以單獨提供服務,支持靈活可插拔配置和策略精準觸達,所以在設計上着重減少對外部依賴,對外通過MQ方式減少對外部系統直接依賴和耦合;對內明確各子模塊的功能邊界,通過配置化方式組合子模塊。

用戶觸達中心的主要作用是維護觸達策略和封裝標準觸達能力,整體分爲以下部分:

  • 輸入數據源:用戶觸達中心可以接收上層規則中心計算結果,也可以由外部業務系統主動觸發;

  • 觸達物料包括文案、圖片等維護在雲投放系統(閒魚素材管理系統);

  • Action路由層維護Action與規則之間的訂閱關係;

  • Action過濾層採用責任鏈模式設計,各filter相互獨立,可動態插拔和靈活配置;

  • Action實現層封裝了各種通用觸達能力實現,目前主要是雲端和客戶端兩種;

  • Action觸達後會按照統一埋點協議記錄,後續會整理埋點上報和數據開發流程,減少數據開發成本,方便業務方查看Action實驗效果和實驗歸因。

Action過濾層提供多種過濾器實現,通過責任鏈組合形成業務校驗過濾鏈。

Action實現層後續可通過faas模式提供Action靈活快速上線能力。爲了保證在客戶端執行Action的實時性,我們專門維護了與客戶端的長連通道,通過針對性優化,提升通道的數據傳輸速度和到達率,對端上觸達進行了重點保證。

效果驗證

用戶觸達中心上線後已經通過配置化方式承接多個業務,包括閒魚金鱗雙十一玩法、用戶增長、租房、租賃等多個業務場景,通過運營靈活配置策略和權益的實時精準觸達,拿到以下數據結果:

  • 對目標人羣觸達準確率大幅提升;

  • 金鱗玩法延遲在1s內;

  • 授人以魚不如授人以漁,提供運營工具,徹底解放開發資源;

其中雙十一項目對實時性要求高而且QPS比較高,對Omega系統尤其是用戶觸達中心的性能和實時觸達能力進行充分驗證。最終瀏覽商品價場景Push點擊率較線有大幅提升

後續計劃

Omega系統是針對實時性要求高、運營主導、快速實驗這類場景解法的高度抽象。秉承這個理念,用戶觸達中心封裝多種通用觸達能力,支持靈活可插拔的filter配置和設計標準埋點協議以支持業務快速實驗和數據歸因分析。後續我們將支持離線畫像數據標準接入和數據迴流分析標準化,打通業務上下游數據,在功能上實現流程閉環。也歡迎讀者交流討論。

閒魚團隊是Flutter+Dart FaaS前後端一體化新技術的行業領軍者,就是現在!客戶端/服務端java/架構/前端/質量工程師面向社會招聘,base杭州阿里巴巴西溪園區,一起做有創想空間的社區產品、做深度頂級的開源項目,一起拓展技術邊界成就極致!

*投餵簡歷給小閒魚→[email protected]

開源項目、峯會直擊、關鍵洞察、深度解讀

請認準閒魚技術

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章