从小白的视角理解广告系统
开篇
因为一些原因有幸接触了一些广告相关的工程技术,结合周末随便翻阅的计算广告学一书,写一篇博文沉淀一下。
文章主要从像我这样的小白用户视角,聚焦于广告相关的工程方向,当然文章当中绝对不会出现违规的内部信息,所以各位大佬们也可以放心了,文章主要会围绕计算广告学中提到的系统架构图进行说明。
其实广告真正核心的内容在于算法部分,工程只是脚手架,一些广告系统用到的软件基本上都是开源的系统,可以在文章末尾的公开课中看到,里面有一章讲解如何用开源软件搭建一个广告系统。
广告系统架构图
说明:
从上图可以看出,从在线和离线的角度来看广告可以区分为在线系统和离线系统。
- 离线系统:主要聚焦于算法模型的训练以及离线广告费用结算相关。
- 在线系统:在线系统主要解决广告投放和实时点击计费相关功能。
- 在线系统:包括广告投放引擎、广告索引、广告商家中心、计费中心。
- 投放引擎:主要负责在接受广告投放请求返回对应的广告商品。
- 广告索引:广告索引保存商家投放的广告商品信息。
- 广告商家中心:负责提供给商家购买广告的操作平台。
- 计费中心:实时对商家的广告消耗进行计费并实时实现广告商品的上下架功能。
- 结算中心:负责对广告的消耗进行离线的结算,对商家进行扣款等。
广告系统核心模块
广告商家中心
广告的商家中心作为商家购买广告的入口,给商家提供购买广告的入口,在这里商家可以为建立自己的推广计划,为自己热推的商品购买广告词,设置一些通用的信息类似点击费用、日推广上线等信息。
购买广告成功后会将商品的广告信息实时的进入到广告索引当中,当用户搜索商品的时候投放引擎就能从广告索引中检索到该广告商品。
广告索引
广告索引顾名思义就是用于保存广告商品的索引信息,便于投放引擎检索广告信息。在广告索引的选型上一般的公司都会选用比较成熟的elasticsearch作为广告索引的技术方案。
作为广告的索引引擎,elasticsearch很好的解决了分词和倒排等功能,当然elasticsearch开放的plugin接口能够提供可供扩展的打分排序的功能。毕竟elasticsearch都已经是一个上市公司了,功能还是比较强大的。
当然在建索引的时机选择上应该都会有一些通用的全量和增量实现方式,这些功能感觉各家之间应该也是大同小异的。
投放引擎
投放引擎作为整个广告系统的门面,主要是负责接受广告请求并返回对应的广告商品,主要是作为一个入口串联起后面的广告引擎等系统。
投放引擎在返回的广告商品信息中,不出意外的会携带一些广告的标识信息,包括商品本身信息和广告的一些计费信息,毕竟这些信息在用户点击广告后会通过日志流的形式传给后端系统用于在线计费和离线结算等。
计费中心
计费中心在这里主要是指实时的在线计费功能,也就是说用户在电商平台实时点击广告后回传一条实时日志给后台系统,后台的计费中心会消费该日志并对这个广告商品进行实时计费。
实时计费中心,很大一部分功能解决广告主也就是电商平台的商家对广告消耗的上限设定,类似于某商家规定一天消耗不超过500。实时结算中心一方面通过实时监控广告消耗解决了广告主投放广告产生消耗上限的需求,同时也让电商平台的广告收益最大化,下线达到上限的广告,让其他广告的曝光增加,增加收入。
当然计费中心内部肯定会包含一些通用的反作弊功能,避免恶意广告点击,这些都是比较通用的功能。
结算中心
结算中心一般对广告前一天的广告消耗进行扣费结算,这其中是一个非常复杂的离线处理系统,需要考虑各种情况。一般结算中心在实时性方面都是T+1,也就是在第二天对前一天广告的消耗进行离线计算并对广告主进行扣费。
广告系统中的开源软件
- 1、elasticsearch:广告索引
- 2、kafka:广告点击实时日志
- 3、redis:缓存反作弊
- 4、flume:日志采集系统
参考文章
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
大快搜索数据爬虫技术实例安装教学
Hadoop作为搭建大数据处理平台的重要“基石”,关于它的分析和讲解的文章已经有很多了。Hadoop本身是一分布式的系统,因此在安装的时候,需要多每一个节点进行组建的安装。并且由于是开源软件,其安装过程相对比较复杂。这也是很多人在搭建hadoop运行环境时总是不能一次性成功的主要原因。hadoop每个组建都要做很多的配置工作,如果手动去完成这个工作,工作量其实还是非常庞大。正是这一点我觉得很多做国产发行版hadoop软件开发的都没有大快的DKhadoop发行版做的好。我记得在之前写DKHadoop运行环境搭建流程的时候也提到过这个问题,DKH可以说是把易用性做的非常好了,无论是对于老手还是新入门者,上手速度要比其他的一些发行版快的多。针对hadoop每个组建都要配置的这种情况,DKH提供了自动化安装应用来部署Hadoop。这就大大缩短了Hadoop的安装时间,同时也简化了安装Hadoop的过程。如果你在安装之后想要拓展节点,其实也不用担心。因为DKH中提供了节点管理的功能。“节点”是集群中的服务器。DKH集群中的节点担任不同服务的不同角色,协同工作。我们可以在DKH管理界面添加节点。 ...
- 下一篇
CentOS7 上搭建多节点 Elasticsearch集群
本文内容脑图如下: 文章共 747字,阅读大约需要 2分钟 ! 概 述 最近学 Elasticsearch,既然学之,怎么能没有实际的集群来把玩呢,因此自己必须动手搭一个! 注: 本文首发于 My Personal Blog:CodeSheep·程序羊,欢迎光临 小站 环境准备 节点准备 本文准备搭建 双节点 Elasticsearch集群,因此这里准备了两台 Linux CentOS 7.4 64bit 机器: 节点1:192.168.31.8 节点2:192.168.31.9 Elasticsearch 安装包准备 这里下载的是截止到当前日期的最新版:6.4.2 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.2.tar.gz 安装目录准备 这里拟将 Elasticsearch安装在 /opt/elasticsearch 目录下: mkdir /opt/elasticsearch 将压缩包复制到该目录下并解压 Elasticsearch 集群配置 需要修改两个节点上的配置文件 e...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Hadoop3单机部署,实现最简伪集群
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS关闭SELinux安全模块
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2整合Thymeleaf,官方推荐html解决方案