深入浅出计算广告系统架构
来源:互联网 发布:江苏语音网络系统注册 编辑:程序博客网 时间:2024/06/02 06:49
1. 广告投放引擎
投放引擎采用类搜索的架构,即检索加排序两阶段决策过程,还有一个功能就是从全局优化的角度对整体收益进行管理。主要模块有:
广告投放机
接受广告前端Web服务器发来的请求,完成广告投放决策并返回最后页面片段的主逻辑。一般采用类搜索的投放机架构,即先通过倒排索引从大量的广告候选中得到少量符合条件的或相关的候选,再在这个小的候选集上应用复杂而精确的排序方法找到综合收益最高的若干个广告。主要指标有QPS和广告决策延迟。
广告检索
在线时根据用户标签和页面标签从广告索引中查找符合条件的广告候选。广告检索模块得到的候选将被送入广告排序模块。
广告排序
在线高效地计算广告的eCPM,并进行排序的模块。
收益管理
在各种广告系统中将局部广告排序的结果进一步调整,以全局收益最优为目的做调整的功能。
广告请求接口
广告请求来至Web服务器的HTTP请求、移动App的SDK,或者其他类型的API接口。
定制化用户划分
根据广告主的逻辑来划分用户群,这部分是指从广告主处收集用户信息的产品接口,而收集到的数据需要较复杂的加工,也将经过数据高速公路导入受众定向模块来完成。
2. 数据高速公路
将在线投放的数据准实时传输到离线分布式计算平台与流计算平台上,供后续处理和建模使用,由于受众定向需要使用到广告系统外的其他用户产品日志或者第三方提供的数据,因此,数据高速公路也担负这收集这些数据源的任务。
3. 离线数据处理
离线数据处理有两个目标:一是统计日志得到报表、dashboard等,供决策人进行决策时作为参考;而是利用数据挖掘、机器学习技术进行受众定向、点击率预估、分配策略规划等,为在线机器决策提供支持。离线数据处理主要包括:
用户会话日志生成
从各个渠道收集的日志需要先整理成以用户ID为键的统一存储格式(用户会话日志),这样整理的目的是为了让后续的受众定向过程更加简单高效。
行为定向
完成挖掘用户日志,根据日志中的行为给用户打上结构化标签库中的某些标签,并将结果存储在用户标签的在线缓存中,供广告投放机使用。
上下文定向
包括半在线页面抓取和上下文页面标签的缓存,与行为定向互相配合,负责给上下文页面打上标签,用于在线的广告投放中。
点击率建模
在分布式计算平台上训练得到点击率的模型参数和相应特征,加载到缓存中供线上投放系统决策时使用。
分配规划
根据广告系统全局优化的具体需求,利用离线日志数据进行规划,得到适合线上执行的分配方案。
商业智能
实际广告运营不可能完全通过机器的决策来进行,期间必然 需要有经验的运营者根据数据反馈对一些系统设置进行调整。
广告管理系统
这部分是广告操作人与广告系统的接口,一般来说只有这部分是面向用户的产品。
4. 在线数据处理
满足广告系统对实时数据反馈的要求,解决那些离线分布式计算平台无法快速响应的计算问题。在线数据处理主要包括
在线反作弊
是所有后续模块的前置模块,实时判断流量来源是否是作弊流量,并且将这部分流量从后续的计价和统计中去除掉,是广告业务非常重要的部分。
计费
那些经过扣费预算耗尽的广告,系统必须马上通知广告索引系统将其下线。是计算广告关键的业务功能之一。
在线行为反馈
包括实时受众定向和实时点击反馈。这部分将短时间内发生的用户行为和广告日志及时地加工成实时用户标签以及实时点击率模型特征,在很多情形下,把系统信息反馈调整做得更快比模型预测更准要效果好。
实时索引
接受广告投放数据,建立倒排索引。由于广告索引涉及到预算调整等商业环节,因此必须在投放管理者调整以后快速在线上广告索引中生效。
附1 涉及到的主要技术
- 特征提取,对(a,u,c)打标签方便后续建模和市场售卖的问题,是计算广告中非常核心的受众定向问题
- 计算广告主要靠eCPM估计,特别是点击率预测来完成每一次展示时的局部优化。
- 在线分配问题。
- 为全面采样整个(a,u,c)的空间以便更准确滴估计点击率,需要用到强化学习中的探索与利用方法。
- 个性化推荐技术也被广泛使用在效果类DSP的个性化重定向中。
- 实时索引技术服务于广告候选的检索。
- 需要用NoSQL数据库为投放时提供用户、上下文标签和其他特征。
- 使用Hadoop进行大规模数据挖掘和建模,也用流计算平台实现短时用户行为和点击反馈。
- 在广告交易市场中实现高并发、快速响应的实时竞价接口。
附2 各类广告系统的优化目标
参考资料
《计算广告》,刘鹏
- 深入浅出计算广告系统架构
- 搜索广告系统架构
- 程序化广告系统架构
- 计算广告-系统结构组成
- 精准广告系统架构图
- 精准广告系统架构调研
- 大型广告系统架构概述
- 在线广告系统架构变迁
- 大型广告系统架构概述
- 大型广告系统架构概述
- 计算广告学习笔记 4.3竞价广告系统-广告检索
- 计算广告学习笔记 4.3竞价广告系统-广告检索
- 互联网广告系统综述五系统架构
- 互联网广告系统综述五系统架构
- 计算广告学习笔记2.4 合约广告系统-Hadoop
- 计算广告学习笔记 4.4竞价广告系统-流量预测
- 计算广告学习笔记 4.5竞价广告系统-zookeeper介绍
- 计算广告学习笔记 4.8竞价广告系统-动态特征
- 使用mybatis分页插件PageHelper5.1.2遇到的问题
- 怎样用django创建项目和应用
- Django系列教程(2)-- 模型的创建
- IntelliJ IDEA(2017)最新版安装和破解
- 事务管理概述
- 深入浅出计算广告系统架构
- java-regex(正则)
- xtrabackup全量+增量备份手记
- lombok简介
- 学习jvm一
- SAP表格维护生成器生成数据表维护视图程序
- unity3d 实时影子shadowCascades 4倍抗锯齿 动态设置之坑
- C++ builder 管道的应用 实例 红色字体
- Python实现Pat 1023. Have Fun with Numbers (20)