广告引擎的整体架构和工作过程

简介: 广告引擎核心是匹配用户与广告。通过用户标签、广告位信息及广告主定向条件,构建倒排索引,实现高效召回与排序,0.1秒内完成广告返回,并实时监测展现、点击与计费,确保精准投放与预算控制。

首先,我们来了解两个基本概念。

互联网广告分为搜索广告和展示广告两大类。简单来说,搜索广告就是用户主动输入关键词以后,搜索引擎在返回结果中展示出的相关广告。而展示广告,则是在搜索引擎之外的网站或 App 中,用户在浏览页面的情况下,被动看到的广告。比如说,在打开一些 App 时出现的开屏广告,以及朋友圈中的广告等等。

尽管这两种广告的业务形态不太一样,但是它们后台的广告引擎本质上都是相似的,主要的区别是约束条件上的不同。

在搜索广告中,因为它和搜索词有很强的相关性,所以,我们需要针对搜索词进行一系列的分析,这和我们上一讲说过的查询分析过程类似,这里我就不多讲了。而展示广告没有搜索词的约束条件,展示能力也就更灵活。因此,今天我们主要以展示广告为例,来说一说从用户打开网站到看到广告,广告系统是如何工作的。

为了方便你理解,我梳理了一张广告引擎的核心功能架构图。接下来,我就依据这个架构图,从 用户浏览 和 广告主投放广告 这两个方面,来为你详讲解一下广告引擎的工作过程。

一方面,当用户浏览网页时,网页会向服务端发起一个广告请求。服务端接到广告请求后,会先进行请求解析,也就是通过用户在系统中的唯一 ID、网站地址以及广告位 ID,去后台查询相关的广告请求的扩展信息。

那怎么查询呢?一般来说,通过系统之前对用户的长期行为收集和分析,我们就能知道该用户的喜好,比如喜欢看篮球、喜欢购物等。根据得到的结果,我们会为用户打上相应的标签。同理,对于各种网页和广告位,我们也会分析好网页分类等信息。然后,我们会提前将这些分析好的结果保存在 Key-value 数据库中,以支持快速查询。这样一来,广告请求解析就可以通过查询 Key-value 数据库,得到相关信息了。

另一方面,广告主在投放广告时,为了保证广告的后续效果,往往会进行广告设置,也就是给广告投放加上一些定向投放的条件。比如说,只投放给北京的用户,年龄段在 20 岁以上,对篮球感兴趣,使用某一型号的手机等。这些限制条件,我们都可以用标签的形式来表示。因此,一个广告设置,抽象出来就是一系列标签的组合。

所以我们说,广告引擎处理一个广告请求的过程,本质上就是根据用户的广告请求信息,找出标签匹配的广告设置,并将广告进行排序返回的过程。这一点非常重要,我们后面讲的内容都是围绕它来展开的,我希望你能记住它。

返回广告以后,我们还需要收集广告的后续监测数据,比如说是否展现给了用户,以及是否被用户点击等后续行为。那有些后续行为还涉及广告计费,比如,如果广告是按点击付费的话,那么只要有用户点击了广告,就会产生对应的费用。这时广告系统不仅需要进行相应的计费,还需要快速修改系统中的广告数据,使得系统能在广告主的预算花完之后就立即停止投放。

好了,以上就是广告引擎的工作过程。你会发现,尽管广告引擎在业务形态和流程上都有自己的特点,但是,它的核心检索流程和搜索引擎是类似的,也分为了索引构建、检索召回候选集和排序返回这三个部分。不过,和搜索引擎相比,由于广告引擎没有明确的关键词限制,因此在如何构造倒排索引上,广告引擎会有更大的灵活度。

接下来,我们就一起来看看,广告引擎是怎么结合自己的业务特点,来进行高性能的检索设计,从而能在 0.1 秒内返回合适的广告。

相关文章
|
网络协议 Java 编译器
Thrift在C++中的使用
Thrift在C++中的使用
Thrift在C++中的使用
|
开发工具 git
git基于tag创建分支
git基于tag创建分支
|
机器学习/深度学习 存储 算法
使用Python从零实现多分类SVM
本文将首先简要概述支持向量机及其训练和推理方程,然后将其转换为代码以开发支持向量机模型。之后然后将其扩展成多分类的场景,并通过使用Sci-kit Learn测试我们的模型来结束。
613 0
|
1月前
|
人工智能 大数据
推荐核心思路:一个承载时代精神的文化IP
“启灵”是融合麒麟仁信精神与AI科技的原创文化IP:以Q版麒麟为形,寓意“开启智慧、赋予灵性”,呼应九紫离火运下的科技文明与精神觉醒,打造可信、可爱、有温度的中国数字文化名片。(239字)
|
3月前
|
存储 缓存 编解码
阿里云高配置云服务器解析:4 核 16G、8 核 16G、8 核 32G 实例特性与价格说明
阿里云高配置云服务器以 4 核 16G、8 核 16G、8 核 32G 为核心规格,覆盖通用型、计算型、通用平衡增强型等多类实例,适配企业高并发服务、大数据处理、复杂应用部署等核心场景。不同实例通过差异化硬件架构与性能优化,满足从个人开发者到大型企业的多元需求,同时依托优惠政策降低高性能算力的获取成本。本文结合实例特性、价格体系及适用场景,为用户提供客观选型参考。
|
4月前
|
算法 搜索推荐 索引
签检索:合理使用标签过滤和划分索引空间
广告引擎通过标签优化索引设计:高区分度标签用于倒排索引,低区分度的加入过滤列表,高覆盖维度则用于索引分片。结合树形结构分流、倒排检索与结果过滤,有效缩小检索空间,提升匹配效率。(239字)
|
4月前
|
NoSQL 索引
SSTable 的分层管理设计
SSTable分层管理通过将文件按层组织,控制每层容量并逐层归并,避免大规模合并带来的高IO开销。Level 0层来自Immutable MemTable,最多4个文件;后续各层容量逐层翻倍,并限制跨层合并的文件数不超过10个,确保查询与Compaction效率。
|
4月前
|
机器学习/深度学习 搜索推荐 算法
19 | 广告系统:广告引擎如何做到在 0.1s 内返回广告信息?
广告系统是互联网核心营收支柱,支撑Google、Facebook等巨头超80%收入。本文详解其高性能引擎架构:通过标签过滤、树形分片、向量检索与非精准打分等技术,在0.1秒内完成百万级广告实时召回与排序,实现千人千面精准投放。
|
供应链 算法 BI
StarRocks 助力首汽约车精细化运营
本文由首汽约车大数据负责人任智红在StarRocks年度峰会上的演讲整理而成,分享了StarRocks在企业内部的应用实践。文章详细介绍了StarRocks如何助力首汽约车实现精细化运营,涵盖运效诊断、供需平衡联动及自助多维分析等核心业务场景。通过引入StarRocks,公司实现了秒级数据处理与查询性能提升,大幅降低了开发和维护成本,推动了数据驱动的业务发展。未来,首汽约车计划进一步整合系统、拓展应用场景,并优化存算分离与资源隔离策略,持续提升数据处理效率与业务稳定性。
|
Web App开发 Go C语言
ptmalloc、tcmalloc与jemalloc对比分析(二)
ptmalloc、tcmalloc与jemalloc对比分析(二)
563 0