广告业务系统 之 业务串联 —— “ PDB - 广告投放【保量保价】”

news2024/11/26 14:37:30

文章目录

    • 广告业务系统 之 业务串联 —— “ PDB - 广告投放【保量保价】”
      • PDB - 广告投放[保量保价]
        • PDB 浅述
        • PDB 数据流图
          • 保量逻辑设计
            • 订单曝光拆分
          • 凌晨停量
          • 补量

广告业务系统 之 业务串联 —— “ PDB - 广告投放【保量保价】”

PDB - 广告投放[保量保价]

常规的 ADX 系统,会支持 PD、PDB、RTB…等多种广告售卖模式。 针对不同的售卖模式,系统之间各服务之间的逻辑及交互方式是不同的,下面将以 PDB 模式讲解详细数据流。

前面几章都是以模块粒度去描绘 ADX 系统链路,这次以 业务角度 去串联 ,希望大家有所获益。

PDB 浅述

PDB ,这种广告无需参与竞价,以 合同方式 进行约定 流量及展现规模 并 结算。其中交易流量完全由 广告主决定,且投放优先级在 全部广告模式中 最高。【详细含义可见后续文章】

由于 PDB 售卖模式的特殊性,在 ADX 系统中有独特的设计。在下面的阐述中,将会全面概述数据、逻辑链路部分。

PDB 数据流图

PDB 数据流的源头来自 BP 平台,流入 ADX 系统,最终将由 投放引擎 消耗掉。

在这里插入图片描述
注:全链路流程图可参看 暨 广告、推荐、搜索 三大顶级复杂业务之 “广告业务系统详叙”

  • BP 平台将 CRM 合同数据的 PDB 计划,下发给 消息中心消息中心将对数据进行筛选,并落地至 Redis;投放引擎在进行广告投放时,会优先去 Redis 中判定是否存在 PDB 计划;

  • BP 平台将 CRM 合同数据的 流量圈定部分,也就是规则【广告面向群里划分:男/女,北京市/天津市/,汽车类…】,下发给 索引服务索引服务将对具体规则建立对应的索引;投放引擎 将当前流量特征下发给索引服务,并进行匹配,筛选出符合的规则,并于获取的 PDB 计划进行映射,获取到最终需要进行投放到 PDB 计划。

  • 投放引擎 获取到 当前流量投放到 PDB 计划之后,将去 离线脚本 拉取对应的实时数据【主要为订单曝光数据】,进行流量保量及平滑的控制。

  • 离线脚本的数据源为 日志中心的数据实时监控采集。

上述数据流涉及到了ADX 系统中 六个模块,数据链路比较长,且各个模块之间数据存在相互作用,缺一不可。

保量逻辑设计

在 PDB 介绍中聊到,我们需要对 PDB 订单进行保量。如果最终没有完成预定曝光量,需要对广告主进行赔付。

在这里插入图片描述
投放引擎进行投放时,将以 “当天剩余曝光量” 为核心判定指标。

  • 当核心指标存在余量,则下方流量至 DSP 侧 进行广告候选的投放;当无余量时,将触发 “当天计划曝光已完成” 的消息,并知会给消息中心进行天维度的计划下线。
  • 若无此核心指标,投放引擎将不再进行流量下发,终止 PDB 流程,将流量下发给 其他模式的 DSP。

我们将如何动态地设置核心指标,当天剩余曝光量呢?

订单曝光拆分

在这里插入图片描述
如上图示,在创建 PDB 计划时,将会拆分成天粒度的存储数据。为了更细粒度、更平滑的控制流量规模,我们将指标细分为,计划曝光、计划之前曝光、实际之前曝光、实际需曝光、剩余曝光..等等多个指标。

指标统计规则如图所示,这里不再赘述,细节问题可留言。

通过每天定量的流量下发,可确保流量不会超量。但当投放计划最后一天时,无法达到预期规模时,就需要对 PDB 计划进行补量。

凌晨停量

由于 PDB 订单采用真实曝光结算,真实曝光结算数据在全链路中会有延迟,因此在 22:00-22:30 期间会暂停投放;如果曝光量还未完成当天的曝光量,则会在 22:30-24:00 之间继续补量。

注:具体时段,视具体场景而定

补量

补量的逻辑,其实有很多做法,最常见的方式就是 运营/产品在内部系统中再补一单。

独特的产品模式,造就了特异的功能逻辑。通过架构、组件之间的灵活交互、数据流转 完成产品价值的交付,这也是作为研发人员毕生的宿命。

通过 PDB 模式的讲解,将业务模式与技术架构做贴合,更深层次的、提升对 广告业务/ ADX 系统 的了解、学习。


见后续文章!

推荐阅读:
暨 广告、推荐、搜索 三大顶级复杂业务之 “广告业务系统详叙”
广告业务系统 之 承前启后 —— “消息中心”
广告业务系统 之 数据中转站 —— “日志中心-实时服务监控”
广告业务系统 之 数据桥梁 —— “日志中心-曝光数据流转结算”
广告业务系统 之 核心通道 —— “日志中心-s2s监测上报”
广告业务系统 之 辅助决策 —— “ AB 实验平台”
广告业务系统 之 框架沉淀 —— “数据消费型服务框架”
广告业务系统 之 智能保险丝 —— “智能流控”
广告业务系统 之 敏捷交付 —— “基于 Docker 容器同机部署”


三行代码搞定 —— 反转链表…
Kafka 高吞吐、高性能核心技术及最佳应用场景…
HTTPS 如何保证数据传输安全 —— TLS 协议…
五分钟搭建基于 Prometheus + Grafana 实时监控系统…

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/167231.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C语言练习】 二进制中1的个数

目录题目详情:思路一:思路二:思路三:题目详情: 思路一: 拿到二进制的每一位,看它是否等于 111,再定义一个计数器变量,如果等于 111,计数器变量就加 111。最终…

rancher的k3s证书过期

文章目录现象rancher报错日志分析解决思路解决现象 web上rancher不能访问,服务上看443端口没了,6443端口仍然在。 rancher报错日志 rancher | time"2023-01-05T01:56:07.241615176Z" levelinfo msg"Waiting for master node start…

代码随想录--数组相关题目整理

LeetCode数组相关题目整理 1. LeetCode704 二分查找 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 解题思路&#xf…

亚马逊云科技助力游戏上云学习心得-运行篇

云服务已经是大势所趋了,通过购置传统服务器来进行应用开发,无法与现代化敏捷的开发方法相结合,对于系统运维的难度也大大增加,而云服务的弹性伸缩、动态计费可以很好地帮助中小企业实现快速应用开发,使得产品的价值最…

一文吃透python面向对象基础+进阶

目录基本理论面向过程与面向对象面向过程面向对象基本概念面向对象基本语法定义类创建对象属性属性和变量区别对象属性类属性限制对象属性添加方法实例方法类方法静态方法私有属性只读属性私有方法魔法方法字符串表示可调用索引操作切片操作比较操作布尔判断遍历操作面向对象三…

字节青训营Go语言学习第一天--基础语言+实战案例

文章目录走进Go语言基础语言2.2基础语言-变量2.3基础语法- if else2.4基础语法-循环基础语法-switch基础语法-数组基础语法-切片基础语法-map基础语法-range基础语法-函数基础语法-指针基础语法-结构体基础语法-结构体方法基础语法-错误处理基础语法-字符串操作基础语法-字符串…

通讯录升级--可增容(动态增长空间)

通讯录成员的改变 之前我们定义了date[100]的数组用来存放100个人的信息,但是当需要存储的人数超过100时,内存不够,存储人数较少时,又有些浪费,并且数组空间在创建时就已经确立,无法随需求改变&#xff0c…

rabbitmq+netcore6 【6】RPC:远程过程调用

文章目录1)前言2)Client interface 客户接口3)Callback queue回调队列4)Correlation Id 关联Id5)Summary总结6)综合以上代码准备工作服务端客户端结果验证官网参考链接: https://www.rabbitmq.c…

372. 超级次方

372. 超级次方题目算法设计:迭代算法设计:递归题目 传送门:https://leetcode.cn/problems/super-pow/ 题目不难懂,问题在于 b 是一个非常非常大的数,会溢出。 迭代和递归,各有解决方法,记录在…

Elasticsearch入门——kibanna和postman操作Elasticsearch索引示例

目录一、使用kibanna操作Elasticsearch索引示例二、使用postman操作Elasticsearch索引示例三、kibanna和postman操作Elasticsearch的总结一、使用kibanna操作Elasticsearch索引示例 启动Elasticsearch和kibanna服务,浏览器访问http://localhost:5601/,进入Dev Tools…

week11

T1汤姆斯的天堂梦 题目描述 汤姆斯生活在一个等级为 000 的星球上。那里的环境极其恶劣,每天 121212 小时的工作和成堆的垃圾让人忍无可忍。他向往着等级为 NNN 的星球上天堂般的生活。 有一些航班将人从低等级的星球送上高一级的星球,有时需要向驾驶…

【C语言】数据结构基础(每日小细节025),有三数之和哦

算法好题初阶(一共14回已经更新完毕),从今天开始就是基础的数据结构题目 1.只出现一次的数字 如果不额外开辟任何空间的话一定要想到位运算符 异或^ :两个整数异或,遵循相同为0,相异为1的二进制位运算规则 &#x…

【Nginx 基础】

Nginx 的安装 Nginx 的静态网站部署 理解 Nginx 的反向代理与负载均衡,能够配置反向代理与负载均衡 一、 Nginx 概述 Nginx 是一款高性能的 HTTP 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,由俄罗斯的程序工程师伊戈…

spring学习系列

Spring_三种方式的依赖注入1.第一种,set方式,property2.构造器注入(构造方法)3.p命名空间注入4、注入各种数据类型//老师类 public class Teacher {private String name;private int age; }//课程类 public class Course {private…

云原生技术学习笔记(基础版)

一、容器基本概念容器运行时,多种虚拟化技术,runC、kata、gVisor等。containerd -shim不是个lib,是个守护进程,管理容器生命周期,可被containerd动态接管。(可以从containerd中脱离出来,插件化管理&#xf…

jvm系列(1)--JVM和Java体系架构

目录Java-跨平台的语言JVM-跨语言的平台多语言混合编程虚拟机虚拟机概念Java虚拟机JVM的位置JVM的整体结构Java代码执行流程JVM的架构模型基于栈的指令集架构基于寄存器的指令级架构两种架构的举例JVM架构总结JVM的生命周期虚拟机的启动虚拟机的执行虚拟机的退出Java-跨平台的语…

VTK-vtkSelectPolyDataFilter

前言:本博文主要记录vtkSelectPolyDataFilter接口的应用,实现原理,以及与其近似的vtkClipPolyData&vtkImplicitSelectionLoop的应用相比较,帮助小伙伴理解vtkSelectPolyDataFilter接口的实现原理,并且与其它接口进…

2023新生个人训练赛第08场解题报告

问题 A: Candies 题目描述 We have a 2N grid. We will denote the square at the i-th row and j-th column (1≤i≤2, 1≤j≤N) as (i,j). You are initially in the top-left square, (1,1). You will travel to the bottom-right square, (2,N), by repeatedly moving ri…

鉴源论坛 · 观通丨轨交系统安全性设计

作者 | 刘艳青 上海控安安全测评中心安全测评部测试经理 版块 | 鉴源论坛 观通 引语:第一篇对轨交信号系统从铁路系统分类和组成、城市轨交系统分类和组成、城市轨交系统功能、城市轨交系统发展方面做了介绍,第二篇从信号基础出发,讲述了信…

【蓝桥杯算法 1】AcWing166.飞行员兄弟

本文已收录专栏 🌲《蓝桥杯周训练》🌲 “飞行员兄弟”这个游戏,需要玩家顺利的打开一个拥有 16 个把手的冰箱。 已知每个把手可以处于以下两种状态之一:打开或关闭。 只有当所有把手都打开时,冰箱才会打开。 把手可…