一个实时精准触达系统的自我修养

简介: 授人以鱼不如授人以渔~

作者:闲鱼技术-剑辛

问题定义

在互联网行业,唯一不变的就是一直在变化。作为技术同学,我们经常会碰到以下几种需求:
当用户收藏的商品降价后及时通知用户,促进双方交易达成;新用户或90天内未成交的用户浏览多个商品后引导用户主动和卖家聊天、也可以给用户发个红包促进用户首单的达成;

这些需求本质上是这样的逻辑:实时采集分析用户行为,通过规则计算,对符合条件的用户进行精准触达。普通开发模式很难比较好的承接这类需求,为此我们专门研发了omega系统解决这类问题。omega系统分为三个子系统:

我们在之前文章已经详细说明前两部分,本次我们将着重阐述用户触达系统是如何设计和实现策略灵活配置和精准触达的。

系统设计

2.1、逻辑架构

undefined
为了方便读者理解,我们简单回顾omega系统的逻辑架构。omega系统基于高内举低耦合的原则进行拆分,每个部分本身是独立完整的系统,也可以组装后提供服务。

  • 第一层是用户行为采集中心,通过采集端上请求的MTOP(应用网关)接口和端上用户行为埋点,将数据清洗为规整的用户行为数据;
  • 第二层是CEP规则计算中心,通过解析DSL生成Blink(Flink)流计算任务,输出满足规则的用户;
  • 第三层为用户触达中心,定义触达策略和通道,将策略实时触达给用户。

三层环环相扣,既可单独对外提供服务,也可联合对外承接业务,目前已经在承接用户增长、玩法和安全相关业务。

以用户增长业务举例,当用户在体验的过程中,运营通过合理策略组合,引导用户完成交易行为,到达产品形态上的“啊哈”时刻。这些策略在端内可能是权益透出、POP和实时Push,在端外是Push、短信和外呼等手段。Omega系统通过整合端内/端外的主动/被动触达渠道,以用户的实时状态为核心,实现了一套满足长周期运营的策略编排技术方案体系。

2.2、触达流程

undefined
触达流程本身比较明确,我们将流程拆分为多个小的节点,每个节点之间通过配置化方式组合,保证每个节点是可插拔、可替换的实现。整体用户触达系统处理流程如下:

  • 接收CEP规则计算结果,包括规则名和满足规则的用户;
  • Action路由层根据规则名查询所有订阅此规则的Action列表;
  • Action过滤层根据一定策略过滤有效Action列表,过滤策略包括黑/白名单,灰度、人群和疲劳度策略;
  • Action下发层会根据策略配置执行,可以是通用的触达,比如发push、短信;也可以是调用其他业务系统,比如调用安全系统处罚;也可以将Action下发到端上执行;
  • Action执行后将相关信息按照通用协议埋点,方便后续数据统计;

用户触达是omega系统流程的最后一环,需要封装足够多的通用触达能力,保证触达的实时性、有效性,不然对用户体验会有伤害,接下来通过详细设计看下用户触达系统如何保证触达策略可组装、可插拔的灵活配置和触达实时性等特性。

2.3、详细设计

undefined

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

用户触达中心的目标是可以单独提供服务,支持灵活可插拔配置和策略精准触达,所以在设计上着重减少对外部依赖,对外通过MQ方式减少对外部系统直接依赖和耦合;对内明确各子模块的功能边界,通过配置化方式组合子模块。

用户触达中心的主要作用是维护触达策略和封装标准触达能力,整体分为以下部分:

  • 输入数据源:用户触达中心可以接收上层规则中心计算结果,也可以由外部业务系统主动触发;
  • 触达物料包括文案、图片等维护在云投放系统(闲鱼素材管理系统),后续会接入离线数据补充更细粒度的基础信息,包括用户画像、商品数据等。
  • Action路由层维护Action与规则之间的订阅关系,包括订阅的有效时间、优先级等要素;
  • Action过滤层采用责任链模式设计,各filter相互独立,可动态插拔和灵活配置;
  • Action实现层封装了各种通用触达能力实现,目前主要是云端和客户端两种,后续可通过faas模式提供Action灵活快速上线能力。为了保证在客户端执行Action的实时性,我们专门维护了与客户端的长连通道,通过针对性优化,提升通道的数据传输速度和到达率,对端上触达进行了重点保证。
  • Action触达后会按照统一埋点协议记录,后续会整理埋点上报和数据开发流程,减少数据开发成本,方便业务方查看Action实验效果和实验归因。

线上效果

用户触达中心上线后已经通过配置化方式承接多个业务,包括闲鱼金鳞双十一玩法、用户增长、租房、租赁等多个业务场景,通过运营灵活配置策略和权益的实时精准触达,拿到以下数据结果:
对目标人群触达准确率大幅提升;

金鳞玩法延迟在1s内;

授人以鱼不如授人以渔,提供运营工具,彻底解放开发资源;

其中双十一项目对实时性要求高而且QPS比较高,对Omega系统尤其是用户触达中心的性能和实时触达能力进行充分验证。最终浏览商品降价场景Push点击率较离线有大幅提升。

总结展望

Omega系统是针对实时性要求高、运营主导、快速实验这类场景解法的高度抽象。秉承这个理念,用户触达中心封装多种通用触达能力,支持灵活可插拔的filter配置和设计标准埋点协议以支持业务快速实验和数据归因分析。后续我们将支持离线画像数据标准接入和数据回流分析标准化,打通业务上下游数据,在功能上实现流程闭环。也欢迎读者交流讨论。

相关文章
|
人工智能 自然语言处理 安全
新浪微博AIGC业务应用探索-AIGC应用平台助力业务提效实践
本次分享围绕AIGC技术在新浪微博的应用展开,涵盖四个部分。首先分析AIGC为微博带来的机遇与挑战,特别是在内容安全和模型幻觉等问题上的应对策略;其次介绍通过工程架构快速实现AIGC技术落地的方法,包括统一部署模型和服务编排;接着展示AIGC在微博的具体应用场景,如评论互动、视频总结和智能客服等;最后展望未来,探讨大模型的发展趋势及其在多模态和特定业务场景中的应用前景。
|
7月前
|
JSON 前端开发 Java
Spring MVC 核心组件与请求处理机制详解
本文解析了 Spring MVC 的核心组件及请求流程,核心组件包括 DispatcherServlet(中央调度)、HandlerMapping(URL 匹配处理器)、HandlerAdapter(执行处理器)、Handler(业务方法)、ViewResolver(视图解析),其中仅 Handler 需开发者实现。 详细描述了请求执行的 7 步流程:请求到达 DispatcherServlet 后,经映射器、适配器找到并执行处理器,再通过视图解析器渲染视图(前后端分离下视图解析可省略)。 介绍了拦截器的使用(实现 HandlerInterceptor 接口 + 配置类)及与过滤器的区别
663 0
|
语音技术 信息无障碍
直播源码搭建平台技术知识:实时语音识别字幕呈现功能
回到我们的直播源码平台开发上来,对于直播源码平台来说实时语音识别字幕呈现功能也是重要的功能之一,好了,正式进入我们今天的主题内容:直播源码搭建平台技术知识:实时语音识别字幕呈现功能!
直播源码搭建平台技术知识:实时语音识别字幕呈现功能
|
监控 供应链 新能源
万界星空科技/免费开源MES系统/免费自动排产管理
万界星空科技MES系统通过快速合理安排有限产能计划,计划更优化,实现最优生产计划排程,提高生产效率和设备利用率,达到对生产现场进行有效指导。
669 0
万界星空科技/免费开源MES系统/免费自动排产管理
|
缓存 前端开发 JavaScript
2023年最新前端面试题汇总大全二(含答案超详细,Vue,TypeScript,React,微信小程序,Webpack 汇总篇)-- 持续更新 5
2023年最新前端面试题汇总大全二(含答案超详细,Vue,TypeScript,React,微信小程序,Webpack 汇总篇)-- 持续更新
389 1
|
Web App开发 JSON 监控
Chrome浏览器扩展开发之自动化操作页面
Chrome浏览器扩展开发之自动化操作页面
938 0
|
SQL cobar 算法
分库分表中间件介绍
分库分表中间件介绍
|
存储 运维 安全
如何做好统一身份认证账号管理及集成
传统统一身份认证系统的建设存在众多的问题,使设计实现复杂化,管理复杂化,集成复杂化。我们今天将详细讨论下统一身份认证账号设计的几个相关问题
3155 1
如何做好统一身份认证账号管理及集成
LeetCode 225. Implement Stack using Queues
使用队列实现栈的下列操作: push(x) -- 元素 x 入栈; pop() -- 移除栈顶元素; top() -- 获取栈顶元素; empty() -- 返回栈是否为空
164 0
LeetCode 225. Implement Stack using Queues
|
SQL Java 关系型数据库
《我要进大厂》- Spring事务 夺命连环8问,你能坚持到第几问?(Spring事务篇)(三)
《我要进大厂》- Spring事务 夺命连环8问,你能坚持到第几问?(Spring事务篇
《我要进大厂》- Spring事务 夺命连环8问,你能坚持到第几问?(Spring事务篇)(三)