从小白的视角理解广告系统

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: 开篇 因为一些原因有幸接触了一些广告相关的工程技术,结合周末随便翻阅的计算广告学一书,写一篇博文沉淀一下。 文章主要从像我这样的小白用户视角,聚焦于广告相关的工程方向,当然文章当中绝对不会出现违规的内部信息,所以各位大佬们也可以放心了,文章主要会围绕计算广告学中提到的系统架构图进行说明。

开篇

 因为一些原因有幸接触了一些广告相关的工程技术,结合周末随便翻阅的计算广告学一书,写一篇博文沉淀一下。

 文章主要从像我这样的小白用户视角,聚焦于广告相关的工程方向,当然文章当中绝对不会出现违规的内部信息,所以各位大佬们也可以放心了,文章主要会围绕计算广告学中提到的系统架构图进行说明。

 其实广告真正核心的内容在于算法部分,工程只是脚手架,一些广告系统用到的软件基本上都是开源的系统,可以在文章末尾的公开课中看到,里面有一章讲解如何用开源软件搭建一个广告系统。


广告系统架构图

img_22a606fb7de5e43a03d089b670c218e4.png
广告系统架构

说明:
从上图可以看出,从在线和离线的角度来看广告可以区分为在线系统和离线系统。

  • 离线系统:主要聚焦于算法模型的训练以及离线广告费用结算相关。
  • 在线系统:在线系统主要解决广告投放和实时点击计费相关功能。
  • 在线系统:包括广告投放引擎、广告索引、广告商家中心、计费中心。
  • 投放引擎:主要负责在接受广告投放请求返回对应的广告商品。
  • 广告索引:广告索引保存商家投放的广告商品信息。
  • 广告商家中心:负责提供给商家购买广告的操作平台。
  • 计费中心:实时对商家的广告消耗进行计费并实时实现广告商品的上下架功能。
  • 结算中心:负责对广告的消耗进行离线的结算,对商家进行扣款等。


广告系统核心模块

广告商家中心

 广告的商家中心作为商家购买广告的入口,给商家提供购买广告的入口,在这里商家可以为建立自己的推广计划,为自己热推的商品购买广告词,设置一些通用的信息类似点击费用、日推广上线等信息。

 购买广告成功后会将商品的广告信息实时的进入到广告索引当中,当用户搜索商品的时候投放引擎就能从广告索引中检索到该广告商品。

广告索引

 广告索引顾名思义就是用于保存广告商品的索引信息,便于投放引擎检索广告信息。在广告索引的选型上一般的公司都会选用比较成熟的elasticsearch作为广告索引的技术方案。

 作为广告的索引引擎,elasticsearch很好的解决了分词和倒排等功能,当然elasticsearch开放的plugin接口能够提供可供扩展的打分排序的功能。毕竟elasticsearch都已经是一个上市公司了,功能还是比较强大的。

 当然在建索引的时机选择上应该都会有一些通用的全量和增量实现方式,这些功能感觉各家之间应该也是大同小异的。

投放引擎

 投放引擎作为整个广告系统的门面,主要是负责接受广告请求并返回对应的广告商品,主要是作为一个入口串联起后面的广告引擎等系统。

 投放引擎在返回的广告商品信息中,不出意外的会携带一些广告的标识信息,包括商品本身信息和广告的一些计费信息,毕竟这些信息在用户点击广告后会通过日志流的形式传给后端系统用于在线计费和离线结算等。

计费中心

 计费中心在这里主要是指实时的在线计费功能,也就是说用户在电商平台实时点击广告后回传一条实时日志给后台系统,后台的计费中心会消费该日志并对这个广告商品进行实时计费。

 实时计费中心,很大一部分功能解决广告主也就是电商平台的商家对广告消耗的上限设定,类似于某商家规定一天消耗不超过500。实时结算中心一方面通过实时监控广告消耗解决了广告主投放广告产生消耗上限的需求,同时也让电商平台的广告收益最大化,下线达到上限的广告,让其他广告的曝光增加,增加收入。

 当然计费中心内部肯定会包含一些通用的反作弊功能,避免恶意广告点击,这些都是比较通用的功能。

结算中心

 结算中心一般对广告前一天的广告消耗进行扣费结算,这其中是一个非常复杂的离线处理系统,需要考虑各种情况。一般结算中心在实时性方面都是T+1,也就是在第二天对前一天广告的消耗进行离线计算并对广告主进行扣费。


广告系统中的开源软件

  • 1、elasticsearch:广告索引
  • 2、kafka:广告点击实时日志
  • 3、redis:缓存反作弊
  • 4、flume:日志采集系统


参考文章

计算广告学-网易云课堂
计算广告学

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
存储 编解码 视频直播
相亲app开发,从哪些角度入手提升音视频体验
相亲app开发,从哪些角度入手提升音视频体验
|
存储 缓存 JavaScript
上帝视角:秒杀系统全貌 阅读10分钟
上帝视角:秒杀系统全貌 阅读10分钟
|
机器学习/深度学习 算法 搜索推荐
怎样设计一个广告系统
怎样设计一个广告系统
391 0
怎样设计一个广告系统
《程序化广告实战》一 导读
对于相关从业者来说,他们迫切希望学习到与程序化广告相关的知识,但可惜的是,这些内容大多都分布在网上,内容零散,且很难收集全面,所以他们希望能有一本书可以系统地介绍相关知识,降低学习成本。 在众多同学的强烈要求下,我撰写了本书。
2000 0
|
1月前
|
JSON 前端开发 搜索推荐
惊!这些前端技术竟然能让你的网站实现个性化推荐功能!
【10月更文挑战第30天】随着互联网技术的发展,个性化推荐已成为提升用户体验的重要手段。前端技术如JavaScript通过捕获用户行为数据、实时更新推荐结果等方式,在实现个性化推荐中扮演关键角色。本文将深入解析这些技术,并通过示例代码展示其实际应用。
79 4
|
大数据
《程序化广告实战》一 1.2 程序化广告的概念及发展历程
本节书摘来自华章出版社《程序化广告实战》一 书中的第1章,第1.2节,作者:吴俊,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
3903 0
|
大数据
《程序化广告实战》一 1.3 业内主要玩家
本节书摘来自华章出版社《程序化广告实战》一 书中的第1章,第1.3节,作者:吴俊,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1601 0

热门文章

最新文章