Aerospike在实时竞价广告中的应用

简介: Aerospike在实时竞价广告中的应用

首先要介绍的是,什么是实时竞价广告?如图11-9所示


微信图片_20220121165114.jpg

图11-9 实时竞价广告模式


与广告业务相关的术语

首先介绍几个与广告业务相关的术语:

  • RTB(RealTime Bidding)实时竞价:一种利用第三方技术在数以百万计的网站上针对每一个用户展示行为进行评估以及出价的竞价技术。与大量购买投放频次不同,实时竞价规避了无效的受众到达,针对有意义的用户进行购买。它的核心是DSP平台(需求方平台),RTB对于媒体来说,可以带来更多的广告销量、实现销售过程自动化及减低各项费用的支出。而对于广告商和代理公司来说,最直接的好处就是提高了效果与投资回报率。
  • DSP(需求方平台):需求方平台允许广告客户和广告机构更方便地访问,以及更有效地购买广告库存,因为该平台汇集了各种广告交易平台,广告网络,供应方平台,甚至媒体的库存。有了这一平台,就不需要再出现另一个繁琐的购买步骤——购买请求。
  • Ad Exchange(广告交易平台):一个开放的、能够将媒体主和广告商联系在一起的在线广告市场(类似于股票交易所)。交易平台里的广告存货并不一定都是溢价库存,只要媒体主想要提供的,都可以在里面找到。
  • DMP(Data-Management Platform):数据管理平台能够帮助所有涉及广告库存购买和出售的各方来管理数据、更方便地使用第三方数据、增强他们对所有这些数据的理解、传回数据或将定制数据传入某一平台,以进行更好地定位。
  • SSP(Sell-SidePlatform,供应方平台):供应方平台能够让出版商也介入广告交易,从而使它们的库存广告可用。通过这一平台,出版商希望他们的库存广告可以获得最高的有效每千次展示费用,而不必以低价销售出去。供应方平台,是站长服务平台。站长们可以在SSP上管理自己的广告位,控制广告的展现等。
  • UserProfile(用户画像):用户画像就是把人的属性(用户的属性)数字化,变成机器可理解的方式。用户画像是根据用户的社会属性,生活习惯和消费行为等信息而抽象出的一个标签化的用户模型。构建用户画像的核心工作既是给用户打上合适的标签,而标签是通过对用户信息分析得来的高度精炼的特征标识。


接下来我们进行具体介绍:


当用户浏览一个加入SSP(供应方平台)的站点时,SSP会把此次请求发送到AD EXCHANGE(广告交易平台),然后ADX会把这次请求发送给多家DSP,DSP(需求方平台)根据自身的DMP(数据管理平台),通过对次用户的了解程度进行竞价,最终竞价胜出的DSP获得展现广告的机会。


DSP竞价(RTB:实时竞价)胜出的关键是DMP能够根据用户的历史浏览等数据分析和定位用户属性,其中实时竞价广告中非常重要的一个环节就是UserProfile(用户画像)。类似于图11-10实时决策流程。


微信图片_20220121165144.jpg


图11-10 实时决策流程图


分别通过HDFS和HBASE对日志进行离线和实时的分析,然后把用户画像的标签结果存入高性能的Nosql数据库Aerospike中,同时把数据备份到异地数据中心。前端广告投放请求通过决策引擎(投放引擎)向用户画像数据库中读取相应的用户画像数据,然后根据竞价算法出价进行竞价。竞价成功之后就可以展现广告了。而在竞价成功之后,具体给用户展现什么样的广告,就是有上面说的个性化推荐广告来完成的。


在用户画像系统中,缓存主要用来存储用户(设备)的标签属性,根据不同的定向规则,定义的缓存数据格式不同,如图11-11所示。


微信图片_20220121165211.jpg


图11-11 缓存数据格式


根据上图可知,用户数据统一存储在缓存库UPF中,然后根据用户ID的加密类型(加密方式有MD5、SHA1、明文)分不同的缓存表,同时也会为每一个第三方adx请求过来的数据建立一个缓存库,主要的作用是为了多方数据的打通和相互利用。


接下来主要是根据数据和运营的具体情况,根据不同的定向条件筛选用户人群,比如对用户的兴趣,用户的消费能力,性别,是否有转化等等多个维度进行描述。同时,也会对不同的行业比如金融,游戏,电商等划分不同的定向条件。


而缓存的具体应用架构,见图11-12


微信图片_20220121165230.jpg


图11-12 用户画像架构


此应用架构包含实时标签引擎和离线标签引擎两个主要部分,这样设计的原因主要是出于系统投入的成本来考虑。


离线标签引擎通过基于HDFS的HIVE/SPARK对设备的APP安装情况,以及广告投放的效果数据,根据规则和算法,然后把标签数据缓存中ASCACHE中,这里的AS就是Aerospike。然后提供给广告引擎做精准广告投放的判断依据。


通过离线计算的数据和日志主要都是数据量大,而且实时要求并不是特别高,比方说广告请求日志,竞价日志等等;而实时标签引擎则主要处理效果数据等,对实时性要求较高的数据,比方广告的展现,点击,转化数据等。


对于ADX渠道而言,由于对接的渠道数据各有各的特点,需要区别对待。从设备标识来讲,有些渠道的设备标识是明文,而有些是通过MD5或者SHA1加密,比方像BAT这样的流量渠道把用户的设备ID通过加密的方式传给DSP,为了尽量把这些数据都利用起来,则需要把这些数据分别存放在不同的缓存库中,如SHA1USER和MD5USER用来存储通过SHA1和MD5加密的渠道设备数据。如果渠道设备ID是明文,则要通过加密后分别保存到SHA1USER和MD5USER中,以供各渠道之间进行用户数据的共享,终极的目标离不开完善人群库,提高广告的精致度。



相关文章
|
存储 安全 Java
【Linux】安装Tomcat以yum方式安装
启动tomcat并设置开机自启
788 0
【Linux】安装Tomcat以yum方式安装
|
SQL 存储 数据处理
别让你的CPU打盹儿:Apache Doris并行执行原理大揭秘!
别让你的CPU打盹儿:Apache Doris并行执行原理大揭秘!
588 1
别让你的CPU打盹儿:Apache Doris并行执行原理大揭秘!
|
7月前
|
存储 人工智能 自然语言处理
AI-Compass GraphRAG技术生态:集成微软GraphRAG、蚂蚁KAG等主流框架,融合知识图谱与大语言模型实现智能检索生成
AI-Compass GraphRAG技术生态:集成微软GraphRAG、蚂蚁KAG等主流框架,融合知识图谱与大语言模型实现智能检索生成
|
搜索推荐 应用服务中间件 nginx
Nginx系列教程(05) - 虚拟主机配置
Nginx系列教程(05) - 虚拟主机配置
1131 0
|
机器学习/深度学习 搜索推荐 算法
深度学习推荐模型-DIN
Deep Interest Network(DIN)是盖坤大神领导的阿里妈妈的精准定向检索及基础算法团队,在2017年6月提出的。 它针对电子商务领域(e-commerce industry)的CTR预估,重点在于充分利用/挖掘用户历史行为数据中的信息。
1408 1
深度学习推荐模型-DIN
|
安全 JavaScript 前端开发
C++一分钟之-C++17特性:结构化绑定
【6月更文挑战第26天】C++17引入了结构化绑定,简化了从聚合类型如`std::tuple`、`std::array`和自定义结构体中解构数据。它允许直接将复合数据类型的元素绑定到单独变量,提高代码可读性。例如,可以从`std::tuple`中直接解构并绑定到变量,无需`std::get`。结构化绑定适用于处理`std::tuple`、`std::pair`,自定义结构体,甚至在范围for循环中解构容器元素。注意,绑定顺序必须与元素顺序匹配,考虑是否使用`const`和`&`,以及谨慎处理匿名类型。通过实例展示了如何解构嵌套结构体和元组,结构化绑定提升了代码的简洁性和效率。
380 5
|
XML Java C++
【Spring系列】Sping VS Sping Boot区别与联系
【4月更文挑战第2天】Spring系列第一课:Spring Boot 能力介绍及简单实践
557 0
【Spring系列】Sping VS Sping Boot区别与联系
|
Docker 容器
Docker安装ClickHouse
Docker安装ClickHouse
|
运维 安全 数据安全/隐私保护
网工记背配置基本命令(5)----SNMP配置
网工记背配置基本命令(5)----SNMP配置
608 0
|
存储 SQL 人工智能
知乎基于 Apache Doris 的 DMP 平台架构建设实践|万字长文详解
知乎基于业务需求搭建了 DMP 平台,本文详细的介绍了 DMP 的工作原理及架构演进过程,同时介绍了 Apache Doris 在 DMP 平台的应用实践,本文对大家了解 DMP 工作方式很有帮助,欢迎阅读。 作者|用户理解 & 数据赋能研发 Leader 侯容
1466 0