第9章 计算广告技术概览
对在线广告产品的介绍到上一章就告一段落了。读者可能会有一种感受,在计算广告中,无论我们讨论的是产品还是策略,都与技术的关系十分密切。这是因为这个市场本质上是计算驱动的,而计算背后的能源正是大规模的数据。从这一章开始,我们将从系统架构和数据处理算法的角度重新审视各种广告产品,希望能对需要在实际工作中具体搭建流量变现或数据变现系统的读者有所帮助。
有很多大数据驱动的产品,就其技术架构而言往往都落地成个性化系统,即根据用户、上下文的一些信息动态决定返回什么内容的系统。计算广告也是一个典型的个性化系统。不过由于复杂的市场交易结构、多样的数据来源以及预算带来的约束,计算广告是目前工业界遇到的个性化系统中比较复杂的,也是相对成熟的。因此,无论您在从事什么类型的大数据业务,我们都建议您从计算广告系统中了解一些关键技术挑战,并掌握相应的基本设计原则。
个性化系统与搜索系统都是互联网时代具有挑战性的大规模计算问题。由于数据规模的要求,它们一般都采用检索(retrieval)加排序(ranking)这样类搜索的系统架构,因而这两种系统有非常多的相似之处。个性化系统与搜索系统的主要差别在于大量的用户特征的使用。由于需要对每一个用户进行刻画,这一过程需要用到大规模的分布式数据处理平台,如 Hadoop;另外,由于个性化特征的效果与其生成的实时性关系很大,为了尽可能实时地利用线上数据,我们还会用到流计算平台来加工短时的个性化特征。将离线的分布式计算平台和在线的流计算平台相结合已经成为这样的系统生成个性化特征的常用方案。
虽然计算广告系统是一种典型的个性化系统,不过由于其业务的特殊性,在具体模块设置上会比一般的个性化系统更加复杂。为了方便后面各广告产品的系统架构和算法介绍,本章会给出一个示意性的广告系统统一架构。虽然这一架构中的模块在不同的广告产品中有取舍和变形,它仍然对于从宏观上把握广告系统的全貌以及各种产品在技术方面的内在联系有一定的价值。后面章节有关各种广告产品的架构讨论都会在这个统一架构的基础上进行。
在互联网时代,搭建这样一个五脏俱全的广告系统实际上并没有看起来那么复杂。这里最关键的方法是要充分利用开源社区的成熟工具快速搭建系统框架,把底层通信、资源分配、集群管理、跨语言调度等与核心业务逻辑无关、但又有较高技术难度的部分用成熟方案来解决,这样广告系统的开发者就可以重点关注业务逻辑和核心算法了。在本章中,我们也将对选择哪些成熟的开源工具快速搭建广告系统框架做一些介绍。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论