自有广告系统设计与实践

多场景私有化 AdTech 平台全链路建设

在母婴健康与医疗公卫领域,流量的精准性、合规性、私有化 是商业化变现的核心前提。平台依托APP(C 端 4700 万家长用户)、门诊系统(B 端留观屏广告)、接种老师交流培训平台(疾控 / 接种老师用户) 三大自有流量场景,从 0 到 1 搭建一套私有化、全链路、高可用的广告系统,实现 C 端、B 端、专业端多场景广告统一管理、智能投放、数据闭环与合规运营。

本文完整呈现系统架构图、五层架构设计、全栈技术栈、核心数据流、业务落地实践


一、业务背景与建设目标

平台覆盖家庭育儿、门诊留观、疾控公卫三类高价值垂直流量,用户画像清晰、场景强相关,但长期面临三大问题:

  • 广告位分散、管理成本高,无法统一调度与定价
  • 依赖外部广告平台,数据不可控、合规风险高
  • 缺乏实时竞价、智能出价、转化归因能力,流量价值未最大化

为此,我们确定广告系统建设目标:

  1. 私有化部署:数据不出域,满足医疗健康行业隐私合规
  2. 全链路闭环:投放、竞价、曝光、点击、转化、归因、优化一体化
  3. 多场景统一 :C端 APP、门诊屏、交流培训平台广告位统一接入
  4. 高可用低延迟:支撑百万级日曝光,不影响主业务稳定性
  5. 合规可追溯:医疗广告审核、数据脱敏、操作留痕全程可控

二、核心专业名词(统一理解口径)

  • AdTech :Advertising Technology,广告技术,广告投放、交易、优化全栈技术体系
  • DSP :Demand Side Platform,需求方平台,面向广告主,负责投放管理、出价、定向
  • SSP :Supply Side Platform,供给方平台,面向媒体方,负责广告位管理、流量售卖
  • ADX :Ad Exchange,广告交易平台,流量撮合中心,匹配买方与卖方
  • OpenRTB :Open Real-Time Bidding,开放式实时竞价协议,行业标准通信规范
  • MP :Media Platform,媒体管理平台,媒体、广告位、权限、数据统一管控
  • oCPM :Optimized Cost Per Mille,优化千次曝光成本,按曝光智能优化转化
  • oCPC :Optimized Cost Per Click,优化点击成本,按点击智能优化转化
  • ETL :Extract Transform Load,数据抽取 - 转换 - 加载,数据清洗与标准化处理

三、广告系统完整架构图

复制代码
┌─────────────────────────────────────────────────────────────────────────────┐
│                              终端层(角色端)                                │
│  ┌───────────────┐  ┌───────────────┐  ┌───────────────┐  ┌───────────────┐ │
│  │  广告主终端    │  │  优化师终端    │  │ 媒体运营终端   │  │    用户终端     │ │
│  │(投放设置)    │  │(策略调整)    │  │(广告位管理)  │  │APP/小程序/门诊屏│ │
│  └───────────────┘  └───────────────┘  └───────────────┘  └───────────────┘ │
└─────────────────────────────────────────────────────────────────────────────┘
                                      ↓
┌─────────────────────────────────────────────────────────────────────────────┐
│                              接入层(高可用入口)                            │
│  ┌───────────────┐  ┌───────────────┐  ┌───────────────┐  ┌───────────────┐ │
│  │  负载均衡器    │  │   API网关     │  │  限流熔断组件  │  │   反向代理     │ │
│  │ Nginx/LVS     │  │  路由转发      │  │   Sentinel    │  │   安全防护     │ │
│  └───────────────┘  └───────────────┘  └───────────────┘  └───────────────┘ │
└─────────────────────────────────────────────────────────────────────────────┘
                                      ↓
┌─────────────────────────────────────────────────────────────────────────────┐
│                       核心业务层(AdTech 广告技术核心系统)                   │
│  ┌───────────────┐  ┌───────────────┐  ┌───────────────┐  ┌───────────────┐ │
│  │ DSP需求方平台  │  │ SSP供给方平台  │  │  MP媒体平台   │  │    归因系统    │ │
│  │-需求管理       │  │-供给管理       │  │-媒体管理       │  │-多维度归因     │ │
│  │-实时竞价       │  │-广告位封装     │  │-数据监控       │  │-转化事件追踪   │ │
│  │-oCPM/oCPC出价  │  │-填充率优化     │  │-权限管控       │  │-效果结算/反作弊│ │
│  └───────────────┘  └───────────────┘  └───────────────┘  └───────────────┘ │
│  ┌──────────────────────────┐  ┌─────────────────────┐                        │
│  │ADX广告交易平台(撮合市场)  │  │   创意管理平台       │                        │
│  │-OpenRTB协议竞价撮合       │  │-素材审核/合规校验    │                        │
│  │-订单匹配/流量调度          │  │-投放渲染/预览管理    │                        │
│  └──────────────────────────┘  └─────────────────────┘                        │
└─────────────────────────────────────────────────────────────────────────────┘
        ↓(业务日志/事件数据输出)                ↓(归因/业务数据输出)
┌─────────────────────────────────────────────────────────────────────────────┐
│                       数据层(日志/ETL/数仓/实时计算)                       │
│  ┌───────────────┐  ┌───────────────┐  ┌───────────────┐  ┌───────────────┐ │
│  │ 日志采集组件   │  │ ETL数据处理    │  │  数据仓库(DW)   │  │  实时计算引擎   │ │
│  │Filebeat/Flume │  │ Flink/Spark    │  │- ODS 原始数据  │  │     Flink      │ │
│  │-行为/业务/错误  │  │-清洗/去重/脱敏 │  │- DWD 明细数据  │  │-实时竞价/归因   │ │
│  └───────────────┘  └───────────────┘  │- DWS 汇总数据  │  │-实时监控指标    │ │
│                                      │- ADS 应用数据  │  └───────────────┘ │
│  ┌───────────────┐  ┌───────────────┐  └───────────────┐                     │
│  │  时序数据库     │  │ 关系型数据库   │  │   缓存数据库     │                     │
│  │  InfluxDB      │  │  MySQL/PG      │  │     Redis      │                     │
│  │-监控/时序日志   │  │-业务/用户数据   │  │-竞价缓存/热点   │                     │
│  └───────────────┘  └───────────────┘  └───────────────┘                     │
└─────────────────────────────────────────────────────────────────────────────┘
        ↓(数据回流/监控告警)
┌─────────────────────────────────────────────────────────────────────────────┐
│                        运维高可用层(保障系统稳定)                          │
│  ┌───────────────┐  ┌───────────────┐  ┌───────────────┐  ┌───────────────┐ │
│  │  监控告警系统   │  │  容灾备份系统   │  │   容器编排      │  │  日志分析平台   │ │
│  │Prometheus+Grafana│  │主从备份/异地容灾 │  │      K8s       │  │   ELK Stack    │ │
│  │-系统监控/指标告警 │  │-数据备份/故障恢复 │  │-弹性伸缩/调度   │  │-日志检索/排查  │ │
│  └───────────────┘  └───────────────┘  └───────────────┘  └───────────────┘ │
└─────────────────────────────────────────────────────────────────────────────┘

四、五层架构设计与设计思路

1. 终端层:角色与入口设计

面向全角色提供操作入口,覆盖广告全生命周期参与方:

  • 广告主终端:投放计划创建、预算设置、素材管理、定向配置
  • 优化师终端:出价策略调整、效果监控、数据复盘
  • 媒体运营终端:广告位配置、上下刊管理、权限控制
  • 用户终端 : APP、小程序、门诊留观屏设计思路:统一入口、分角色权限,满足多场景、多角色协同运营。

2. 接入层:高可用流量入口设计

作为系统统一流量网关,保障稳定性与安全性:

  • 负载均衡:Nginx+LVS,流量分发、削峰填谷
  • API 网关:请求路由、统一鉴权、协议转换
  • 限流熔断:Sentinel,防止流量冲击导致系统雪崩
  • 反向代理 :安全防护、隐藏内部服务结构设计思路:高并发、高可用、可防护,支撑百万日活稳定接入。

3. 核心业务层:广告系统核心能力设计

平台核心引擎,覆盖投放 --- 调度 --- 展示 --- 结算全能力:

  • DSP(需求方平台) :广告需求管理、实时竞价、oCPM/oCPC 双智能出价模型、人群定向
  • SSP(供给方平台):多端广告位统一管理、流量封装、填充率优化
  • ADX(广告交易平台) :基于OpenRTB协议实现实时竞价撮合、流量调度
  • MP(媒体管理平台):媒体信息管理、数据监控、权限与结算管理
  • 创意管理平台:素材审核、医疗合规校验、预览与投放控制
  • 归因系统 :支持末次 / 首次 / 线性多维度归因 、转化追踪、反作弊、效果结算设计思路:模块化、低耦合、标准化协议,支持多系统广告统一投放与管理。

4. 数据层:数据治理与计算设计

全链路数据采集、处理、存储、计算底座:

  • 日志采集:Filebeat+Flume,采集曝光 / 点击 / 转化 / 业务全链路日志
  • ETL 处理:Flink+Spark,数据清洗、去重、脱敏、格式标准化
  • 数据仓库:ODS→DWD→DWS→ADS 分层建模,保障数据质量
  • 实时计算:Flink,支撑实时竞价、实时归因、实时指标计算
  • 存储:MySQL/PostgreSQL(业务)、Redis(缓存)、InfluxDB(监控)
  • 设计思路:数据可采集、可清洗、可计算、可追溯,为出价优化与归因提供支撑。

5. 运维高可用层:稳定性保障设计

保障 7×24 小时可靠运行:

  • 监控告警:Prometheus+Grafana,系统状态与业务指标监控
  • 容灾备份:主从备份、异地容灾,确保数据不丢失
  • 容器编排:K8s,弹性伸缩、负载调度、服务自愈
  • 日志分析:ELK Stack,快速问题定位、异常排查
  • 设计思路:全方位可观测、可容错、可扩展,支撑千万级用户场景稳定运行。

五、全栈技术栈

架构层级 核心技术组件
接入层 Nginx、LVS、Spring Cloud Gateway、Sentinel
核心业务 Spring Cloud、OpenRTB、Quartz
数据采集 Filebeat、Flume
数据处理 Flink、Spark、ETL
数据仓库 Hive、HDFS、ODS/DWD/DWS/ADS
数据存储 MySQL、PostgreSQL、Redis、InfluxDB
运维监控 Prometheus、Grafana、ELK、K8s

六、核心数据流与链路设计思路

系统采用AdTech 标准私有化流转链路,结合医疗行业合规要求进行设计,确保流程高效、数据闭环、可优化。

1. 广告需求管理链路

广告主在DSP 创建投放计划,配置定向、预算、转化目标,选择oCPM/oCPC 出价方式,素材经创意平台审核后进入投放池。设计目的:标准化投放流程,支持多广告主、多计划统一管理。

2. 实时竞价与调度链路

DSP 按照OpenRTB 协议向ADX 发起竞价请求;SSP 上报小豆苗、小程序、门诊屏广告位;ADX 完成人群匹配、出价排序、合规校验,毫秒级确定胜出广告。设计目的:统一流量调度,实现最优变现,保证多端广告位公平竞价。

3. 广告下发与展示链路

竞价结果通过SSP 下发至对应媒体终端,广告 SDK 完成渲染曝光,同时埋点上报行为日志。设计目的:多场景统一接入、一键下发、降低对接成本,保证曝光数据一致性。

4. 归因与数据回流链路

用户产生点击 / 转化后,日志进入数据层;归因系统末次 / 首次 / 线性 策略判定转化归属,过滤作弊流量;数据经ETL 后回流DSP/SSP/MP ,用于出价优化、填充率提升、结算对账。设计目的:形成数据闭环,提升投放精准度与效果可解释性。

5. 实时计算与监控链路

Flink 实时处理竞价、归因数据,生成指标流入监控系统,触发策略调整与异常告警。设计目的:低延迟驱动策略迭代,保障系统稳定与效果持续优化。


七、关键技术亮点与设计价值

  1. 多系统广告统一投放管理 一套平台支撑APP**、交流培训平台、门诊 SaaS**多端广告位管理,大幅提升运营效率。

  2. OpenRTB 标准化实时竞价遵循行业通用协议,兼容扩展能力强,私有化部署保证数据安全。

  3. oCPM+oCPC 双智能出价支持按曝光 / 点击双维度智能优化,适配不同转化目标,提升投放效率。

  4. 多维度归因体系 支持末次、首次、线性归因,满足不同广告主核算需求,提升效果精准度。

  5. 高可用架构支撑百万日活限流熔断、弹性伸缩、容灾备份、全链路监控,保障千万级用户场景稳定运行。

  6. 医疗合规与数据安全素材审核、数据脱敏、权限分级、操作留痕,满足医疗健康行业合规要求。


八、系统落地成果

  1. 完成广告投放平台 0-1 搭建,实现多端流量统一商业化变现
  2. 支撑千万级用户、百万日活广告业务稳定运行
  3. 覆盖广告需求管理、广告位管理、广告下发、归因系统全模块落地
  4. 实现OpenRTB 协议对接、oCPM/oCPC 智能出价、多维度归因能力
  5. 转化归因准确、反作弊有效,流量变现效率显著提升

九、总结

广告系统以私有化、全链路、高可用、合规化 为核心设计理念,完整实现多平台广告投放与管理能力,从架构设计到全流程落地,均围绕业务价值与技术稳定性展开。系统可支撑大规模用户流量场景,为垂直行业流量变现提供可复用的设计方案与实践经验。

相关推荐
自小吃多2 小时前
AI本地部署快速步骤
人工智能
漫游的渔夫2 小时前
前端开发者做 AI 工程:别停在脚本阶段,用 2 个 API 把 Agent 交给前端调用
前端·人工智能·typescript
AustinXu3 小时前
构建 AI Agent 系统:从复杂 Agent Skills到企业级 AI Agent
人工智能
ZGi.ai3 小时前
业务负责人的AI焦虑:花了钱、用了工具,但什么都没留下来
人工智能·chatgpt·企业ai·ai焦虑·ai资产
RuoyiOffice3 小时前
低代码平台荣耀不再:AI 浪潮下,企业系统为什么重新回到原生代码
人工智能·spring boot·低代码·ai·vue·uniapp·ruoyioffice
Ehtan_Zheng3 小时前
Prompt Engineering 提示词技术核心
人工智能
XovH3 小时前
AI skills研究:入门到精通
人工智能
香蕉鼠片3 小时前
模型,模型训练,模型微调
人工智能·机器学习
DaMu3 小时前
基于后天九宫八卦阵驱动的AI具身智能体联合协同指挥防御系统:架构与实现
人工智能·算法·架构