作者:閑魚技術-劍辛
問題定義
在網際網路行業,唯一不變的就是一直在變化。作為技術同學,我們經常會碰到以下幾種需求:
當使用者收藏的商品降價後及時通知使用者,促進雙方交易達成;新使用者或90天内未成交的使用者浏覽多個商品後引導使用者主動和賣家聊天、也可以給使用者發個紅包促進使用者首單的達成;
這些需求本質上是這樣的邏輯:實時采集分析使用者行為,通過規則計算,對符合條件的使用者進行精準觸達。普通開發模式很難比較好的承接這類需求,為此我們專門研發了omega系統解決這類問題。omega系統分為三個子系統:
我們在之前文章已經詳細說明前兩部分,本次我們将着重闡述使用者觸達系統是如何設計和實作政策靈活配置和精準觸達的。
系統設計
2.1、邏輯架構

為了友善讀者了解,我們簡單回顧omega系統的邏輯架構。omega系統基于高内舉低耦合的原則進行拆分,每個部分本身是獨立完整的系統,也可以組裝後提供服務。
- 第一層是使用者行為采集中心,通過采集端上請求的MTOP(應用網關)接口和端上使用者行為埋點,将資料清洗為規整的使用者行為資料;
- 第二層是CEP規則計算中心,通過解析DSL生成Blink(Flink)流計算任務,輸出滿足規則的使用者;
- 第三層為使用者觸達中心,定義觸達政策和通道,将政策實時觸達給使用者。
三層環環相扣,既可單獨對外提供服務,也可聯合對外承接業務,目前已經在承接使用者增長、玩法和安全相關業務。
以使用者增長業務舉例,當使用者在體驗的過程中,營運通過合理政策組合,引導使用者完成交易行為,到達産品形态上的“啊哈”時刻。這些政策在端内可能是權益透出、POP和實時Push,在端外是Push、短信和外呼等手段。Omega系統通過整合端内/端外的主動/被動觸達管道,以使用者的實時狀态為核心,實作了一套滿足長周期營運的政策編排技術方案體系。
2.2、觸達流程
觸達流程本身比較明确,我們将流程拆分為多個小的節點,每個節點之間通過配置化方式組合,保證每個節點是可插拔、可替換的實作。整體使用者觸達系統處理流程如下:
- 接收CEP規則計算結果,包括規則名和滿足規則的使用者;
- Action路由層根據規則名查詢所有訂閱此規則的Action清單;
- Action過濾層根據一定政策過濾有效Action清單,過濾政策包括黑/白名單,灰階、人群和疲勞度政策;
- Action下發層會根據政策配置執行,可以是通用的觸達,比如發push、短信;也可以是調用其他業務系統,比如調用安全系統處罰;也可以将Action下發到端上執行;
- Action執行後将相關資訊按照通用協定埋點,友善後續資料統計;
使用者觸達是omega系統流程的最後一環,需要封裝足夠多的通用觸達能力,保證觸達的實時性、有效性,不然對使用者體驗會有傷害,接下來通過詳細設計看下使用者觸達系統如何保證觸達政策可組裝、可插拔的靈活配置和觸達實時性等特性。
2.3、詳細設計
注:metaq是阿裡内部使用的MQ架構;HSF是RPC架構。
使用者觸達中心的目标是可以單獨提供服務,支援靈活可插拔配置和政策精準觸達,是以在設計上着重減少對外部依賴,對外通過MQ方式減少對外部系統直接依賴和耦合;對内明确各子子產品的功能邊界,通過配置化方式組合子子產品。
使用者觸達中心的主要作用是維護觸達政策和封裝标準觸達能力,整體分為以下部分:
- 輸入資料源:使用者觸達中心可以接收上層規則中心計算結果,也可以由外部業務系統主動觸發;
- 觸達物料包括文案、圖檔等維護在雲投放系統(閑魚素材管理系統),後續會接入離線資料補充更細粒度的基礎資訊,包括使用者畫像、商品資料等。
- Action路由層維護Action與規則之間的訂閱關系,包括訂閱的有效時間、優先級等要素;
- Action過濾層采用責任鍊模式設計,各filter互相獨立,可動态插拔和靈活配置;
- Action實作層封裝了各種通用觸達能力實作,目前主要是雲端和用戶端兩種,後續可通過faas模式提供Action靈活快速上線能力。為了保證在用戶端執行Action的實時性,我們專門維護了與用戶端的長連通道,通過針對性優化,提升通道的資料傳輸速度和到達率,對端上觸達進行了重點保證。
- Action觸達後會按照統一埋點協定記錄,後續會整理埋點上報和資料開發流程,減少資料開發成本,友善業務方檢視Action實驗效果和實驗歸因。
線上效果
使用者觸達中心上線後已經通過配置化方式承接多個業務,包括閑魚金鱗雙十一玩法、使用者增長、租房、租賃等多個業務場景,通過營運靈活配置政策和權益的實時精準觸達,拿到以下資料結果:
對目标人群觸達準确率大幅提升;
金鱗玩法延遲在1s内;
授人以魚不如授人以漁,提供營運工具,徹底解放開發資源;
其中雙十一項目對實時性要求高而且QPS比較高,對Omega系統尤其是使用者觸達中心的性能和實時觸達能力進行充分驗證。最終浏覽商品降價場景Push點選率較離線有大幅提升。
總結展望
Omega系統是針對實時性要求高、營運主導、快速實驗這類場景解法的高度抽象。秉承這個理念,使用者觸達中心封裝多種通用觸達能力,支援靈活可插拔的filter配置和設計标準埋點協定以支援業務快速實驗和資料歸因分析。後續我們将支援離線畫像資料标準接入和資料回流分析标準化,打通業務上下遊資料,在功能上實作流程閉環。也歡迎讀者交流讨論。