竞价引擎
核心拍卖算法,系统最关键的组件
瀑布流竞价(Waterfall)
按优先级依次向各渠道发起竞价请求,首个成功者返回。配置简单,适合中小流量场景。
并行竞价(Parallel Bidding)
同时向所有渠道发起竞价,在超时窗口内收集全部出价,选 eCPM 最高者返回。适合高流量场景。
第二价拍卖
渠道/DSP 胜出时按第二高出价 +1 分结算,降低采购成本。算法符合 GSP 拍卖理论。
差价套利
自有广告主第一价拍卖,开发者按渠道市场价结算。差价 = 广告主出价 − 渠道最高出价,归平台所有。
实时预算扣减
Redis 原子操作扣减日预算和总预算,超预算自动暂停。广告主扣费采用事务包裹确保一致性。
熔断保护
连续 3 次调用失败自动熔断该渠道 30 秒,半开探测恢复,避免雪崩。状态跨 PHP-FPM 请求保持。
S2S 竞价渠道 核心
服务端对接各大广告平台,统一拍卖
内置 4 大渠道适配器
穿山甲(Csj)、优量汇(Ylh)、快手(Kuaishou)、百度(Baidu) 各有一个独立适配器类,实现 loadAd/healthCheck 标准接口。每个适配器包含:竞价请求构建(BuildRequest)、竞价响应解析(ParseResponse)、HMAC-SHA256 签名、熔断保护。只需在管理后台填写渠道分配的 app_id/app_secret/endpoint 即可接入,无需修改代码。
适配器注册中心 + 白名单安全机制
AdapterRegistry 统一管理所有适配器的实例化、缓存、熔断状态。5 个适配器类名白名单校验,防止任意类实例化。支持按广告位查找、按优先级排序、健康检查汇总。
4 个渠道 S2S 回调处理器
BaseCallback 基类统一处理回调签名验证、收益字段解析、去重写入 jh_revenue_raw 表。子类只需实现 channelKey / validateSign / parseRevenueFields 三个方法。支持 GET/POST/JSON Body 多种参数格式,按 app_key 匹配归属,slot_code 跨 app 校验,有收益必带 request_id 去重。
实时报表 ClickHouse
列式数据库驱动,海量竞价数据毫秒级查询
RTB 竞价报表
7 指标卡(竞价请求/胜出率/eCPM/延迟/P50/P90/超时率)+ 渠道对比表 + 广告位排名 + 24h 竞价趋势柱状图 + 素材类型分析。
竞价日志
每条竞价请求的详细记录:渠道/出价/eCPM/延迟/胜负/底价。支持按渠道、日期、胜负筛选。数据先写入 ClickHouse,降级写入 MySQL。
DSP 排名(SPO)
各渠道近 7 天的竞价数据对比:总请求/胜出次数/胜率/平均 eCPM/平均延迟/超时率。供运营方优化渠道权重。
延迟监控
ClickHouse quantile 函数计算 P50/P90/P99 延迟分布,快速定位性能瓶颈。可按日期查询历史数据。
数据可靠性
3 路日志写入:MySQL(bid_log 表)+ ClickHouse(rtb_auction_log)+ Redis(缓存队列)。任一失败不影响其他。
广告主投放 核心
自有广告主注册、投放、数据追踪的完整闭环
自助注册与审核
广告主填写公司名称/用户名/密码/联系方式提交注册,管理员在后台审核通过后即可投放。
广告计划管理
支持 CPM/CPC 两种出价模式。设置日出价预算和总预算,自动控费。定向投放支持地域/设备/网络类型/时段四维过滤。
素材管理
支持图片和视频两种素材类型。上传后进入审核队列,管理员审核通过后可参与竞价。批量审核功能。
数据报表
今日曝光/点击/CTR/eCPM/消耗 5 指标卡片。近 7 天趋势图(曝光/点击/消耗/CTR 四模式切换)。按投放计划拆分报表,可展开查看每个素材的投放效果。
财务管理
消费流水明细(关联投放计划名称和出价)。充值记录查询。流量包购买。发票申请。
账户余额
实时显示可用余额。消费后实时扣款,事务包裹确保不超扣。3,976 条历史台账记录可查。
开发者 SDK SDK
两套接入模式,覆盖不同开发需求
聚合 SDK(客户端竞价)现有
完整 Android SDK(Java),包含激励视频/插屏/开屏/横幅/信息流 5 种广告类型。支持瀑布流和并行竞价两种模式。AB 测试分流(50/50 两组对比)。展示前可视校验(ViewabilityChecker:50% 可见面积 + 1s 停留)。点击防刷(ClickGuard)。设备指纹采集。预加载机制(秒开广告)。收益追踪器(RevenueTracker)。
S2S SDK(服务端竞价)新增
轻量 HTTP SDK(约 500KB),不需要嵌入渠道原生 SDK。SDK 只负责调服务端 API 和渲染广告素材。渠道聚合、竞价排名全部在服务端完成。适用于不想集成多款 SDK 或注重 App 体积的开发团队。
App 级 SDK 模式选择
开发者创建应用时选择聚合 SDK 或 S2S SDK,一个 App 只能选一种。管理后台可随时切换模式(需二次确认)。两种模式互斥:聚合 App 调 /sdk/init 获取客户端竞价配置,S2S App 调 /sdk/v2/auction 走服务端竞价,调错接口直接 400 拒绝。
OpenRTB 合作接入 出站
开放 OpenRTB 2.6 生态,外部 ADX 可拉取宸赢自有广告
自助注册与审核
外部 ADX/SSP 平台在 OpenRTB 门户注册 → 管理员在后台审核 → 自动分配 app_id/app_secret。
OpenRTB 2.6 竞价端点
POST /openrtb/bid 接收标准 OpenRTB BidRequest,返回 BidResponse。HMAC-SHA256 签名认证。QPS 限制保护。
OpenRTB 自助报表
今日竞价量/胜出率/eCPM/消耗 6 指标卡片。近 7 天趋势图。数据来源 ClickHouse rtb_auction_log。
API 密钥管理
OpenRTB 伙伴登录后在「账户密钥」页面查看 app_id/app_secret + 接入文档。支持显示/隐藏密钥。
管理后台对账
5 个 DSP × 31 天共 155 条模拟对账数据。渠道汇总表(花费/展示/点击/差异天数/eCPM/CTR)。账单导入/确认功能。
结算对账与风控
完整的财务闭环和反作弊体系
多层级抽成规则
支持平台全局默认抽成率 + 开发者独立抽成率 + 历史抽成率变更记录三层优先级。按各开发者实际抽成比例逐行计算佣金。
自动结算
按开发者/渠道/广告位/日期维度自动聚合。结算批次防重复。余额流水记录(金额/交易前余额/交易后余额)。
提现审核流程
5 步流转:提交申请 → 风控检查 → 管理员审核 → 标记打款 → 确认完成。全程操作日志记录。11 条模拟提现数据。
联盟账单对账
支持导入渠道联盟账单(展示量/点击量/花费)。自动对比平台数据和渠道数据,标记差异。支持确认对账消除差异。
风控规则引擎
设备信用评分(0-100 制)。IP 黑名单 + 设备黑名单。实时风控命中记录。异常设备自动标记观察/限制/封禁。预警通知。
登录限流
管理员/开发者/广告主/OpenRTB 伙伴四通道独立的登录限流。文件滑动窗口实现,超过阈锁定时长可配置。成功登录后自动清除记录。
源码交付清单
买家获得完整的可运行系统
| 模块 | 内容 | 规模 |
|---|---|---|
| PHP 后端 | 38 个控制器 + 6 个 Service + 6 个 Adapter + 5 个 Command + 8 个 Filter + 30 个 Model | 15,000+ 行 |
| 管理后台 (Vue3) | 7 个功能模块组,52 个 Vue 组件,含仪表盘/开发者管理/广告主/渠道/竞价/OpenRTB/结算/风控/系统设置 | 63 个 JS chunk |
| 开发者门户 (Vue3) | 32 个 Vue 组件,含首页/应用/广告位/渠道/收益/提现/账户/SDK/帮助 | 38 个 JS chunk |
| 广告主门户 (Vue3) | 18 个 Vue 组件,含首页/计划/素材/报表/财务/账户 | 18 个 JS chunk |
| OpenRTB 合作门户 (Vue3) | 8 个 Vue 组件,含首页/报表/财务/密钥/登录/注册 | 8 个 JS chunk |
| Android SDK | 完整 Java 项目,5 种广告类型 + 预加载 + 防刷 + 设备指纹 + 可视校验 + Demo App | 426 个文件 |
| ClickHouse 引擎 | 3 张时序表 + 1 个物化视图 + ClickHouseService 完整封装 | 67,728 条演示数据 |
| MySQL 数据库 | 57 张业务表,含完整索引和模拟数据 | ~15,000 条演示数据 |
| 使用文档 | 10 份完整使用说明和运维文档 | 3,600+ 行 |
| 竞拍引擎 | AuctionEngine 核心类,含并行询价/广告主匹配/定向过滤/混合拍卖/差价套利/三路日志写入 | 765 行 |
| Docker 部署 | Dockerfile + docker-compose.yml + Nginx + PHP-FPM + Supervisor | 一键启动 |
演示账号
管理后台:admin / admin888 | 开发者:yuedong / Test123456 | 广告主:gameworks / Test123456 | OpenRTB伙伴:自行注册