本文是根据[QCON高可用性架构组]中Fu 的共享内容编写的。请指示转发的来源。目前在 工作的Fu 担任技术总监,负责开发移动本机广告平台引擎和数据挖掘。他于2006年毕业于兰州大学,并在阿里巴巴集团旺旺()工作,从事主机面板和云计算的基础开发;然后加入Yima ,参与编程购买互联网广告,负责RTB竞标交付系统和大数据平台。对系统体系结构设计和技术团队建设感兴趣,我们关注高电流实时系统和大量数据处理。大家好,谢谢主人。我今天在说的是DSP广告系统的架构和关键技术。在过去几年中,我将在制造DSP广告系统的过程中分享一些经验。如果您想在将来制作广告系统,则应该能够进行一些参考。如果您将来有任何疑问,您也可以在共享结束后私下与您沟通。我今天将开始分享。广告和在线游戏是互联网公司的主要利润模型。广告是一种商业行为,广告商通过媒体以最低的成本与用户联系。也就是说,根据一定的市场意图与相应的人群联系,影响潜在用户,增加选择广告商产品或与广告商品牌认同的机会,并通过长期影响逐渐形成用户转换为品牌。良好的DSP系统需要满足:具有强大的RTB(实时)基础架构和功能。
使用高级用户定位()技术。首先,DSP对其数据计算技术和速度有很高的要求。从普通用户在浏览器中的地址栏中输入网站的URL到查看页面上的内容和广告的事实,需要进行几次网络圆旅行的信息交换。 AD首先,您必须向DSP发送竞标()请求,以告知DSP这次暴露的属性,例如材料的大小,广告位置的URL和类别以及用户的ID;收到竞标请求后,DSP还必须决定是否在几十毫秒内竞标这种暴露。如果您决定竞标,要提供什么价格,然后将竞标响应发送回广告。如果AD确定DSP赢得了出价,则有必要在很短的时间内快速将DSP代表的广告商的广告传递给用户的浏览器。如果整个过程较慢,广告将认为DSP超时并且不接受DSP竞标响应,并且广告商的广告交付将是不可能的。其次,基于数据的以用户为导向的技术是DSP的另一个重要核心功能。从本质上讲,广告商最终不想购买媒体,而是想与潜在客户交流和服务广告,即通过媒体成为目标群体。
DSP为广告商或广告商服务代理需要根据有关此暴露的相关数据来确定招标策略。这些数据包括在曝光所在的网站和页面上的信息,以及对这种曝光更为重要的受众属性。面向人群的分析的分析直接决定了DSP的招标策略。在整个过程中,DSP使用自己的人群定位技术来分析,获得的分析结果将直接影响广告商的广告交付效果。这种共享主要关注以下方面,描述DSP广告系统体系结构和关键技术:广告系统概念简介广告系统业务流程DSP系统体系结构RTB竞标引擎结构点击速率预测DMP数据处理架构目标受众目标受众群体用户肖像和广告系统反策划的部门
编程购买的特征下图显示了DSP生成之前和之后广告行业中两个最常见的工业连锁店。
传统广告交付模型的工业链是广告商通过广告网站通过广告代理商和广告网络/代理商在媒体网站上展示广告的过程,作为实现吸引观众的目的的渠道。该模型的优点是,媒体网站可以通过包装或CPS模型销售自己的广告空间,但是这种类型的销售量是广泛的。相同类型的长期广告将导致视觉疲劳,点击率将降低,转化率也将减少。为了获得更多的利润,媒体必须通过差异化的销售来细分其广告空间和受众。实际上,广告领域初始目标交付的最初动机是分开流量以获得更高的收入。在一个好的地理位置上,通常会通过包装段短缺供应,但是对于长尾流量,没有人会感兴趣。即使在大型媒体中出现相同的潜在客户,也会有一个广告客户购买的购买细分市场,但是如果有一个小型网站,也没有人会购买。实际上,在潜在客户出现的地方,他们是广告客户的同一个人。如果他们可以显示匹配或接近客户需求的广告,则可能会产生转换。在出售高质量的广告空间套餐之后,如果您对用户有足够的了解并且有足够的不同类型的广告客户,则可以将流量分为单个显示粒度,可以根据不同的受众目标找到每个广告商的合适人员和流量。程序化购买颠覆了原始的广告产业链,并形成了新的工业链。鉴于小组中的许多人不是广告系统,以便更容易理解随后的介绍过程中引入的内容,因此这里是广告行业中的一些常见概念。
DSP(侧)是一个广告需求端平台。 DSP为广告商提供跨媒体,跨平台和跨终端广告交付平台。通过数据集成和分析,它根据受众实现精确的交付,并不断优化实时监视。 RTB(实时)实时投标是DSP,广告交易平台等在线广告中使用的主要销售表。它将通过在极端时间内(通常在50-100毫秒内)向目标受众竞标来显示广告的展示。 RTB的购买方法可以在PC和移动设备上实现。根据广告商定义的预期受众的程序化购买(),该系统可帮助他们找到首选媒体购买受众,提出了最佳的广告客户购买计划,通过程序化购买进行执行,并根据预期的周期进行监视结果,并优化了后续交付。包括但不限于RTB购买。 DSP行业中最常见的供应和需求业务流量是广告商是需求者,潜在客户是最终的受众,散布在代理商,DSP,SSP和供应商中,即媒体。
下图是DSP平台的广告交付过程。广告受众,媒体网站,ADX和DSP参与了交付过程,并且在广告交付的每个阶段发生的事件分别标记。仅允许在步骤1到7之间延迟100ms,否则广告受众会认为网页加载速度太慢,选择离开。
在线广告的核心问题
在指定的上下文中,有必要在特定用户中找到最合适的广告,尽可能多地服务并生成转换。在线广告的挑战是大规模的数百万页,十亿个尺度的用户,需要通过严格的延迟要求进行分析和处理,并以高的在线交付(每天处理100亿个广告交易请求)(通常需要在100ms内完成竞标时间))。用户的定位动态更改。用户的担忧和购物兴趣将更加频繁。用户需要能够及时更新其图像。上下文条件经常发生变化,上下文多样性环境用于广告候选搜索DSP系统体系结构。
上图是主模块的流程图。涉及的角色包括广告商网站,媒体网站,广告网络和DSP,以及DSP中的相关模块,例如:RTB引擎,业务平台,日志收集系统,DMP,CM和反荡系统。在交付之前,DSP将要求代码在广告商的网站上分发,同时在DSP的业务平台中输入广告交付需求,例如交付金额,交付时间表,交付目标(例如地区,利息,年龄等)和最高价格限制。当访客(即潜在的消费者)开始从左上角访问广告商的网站时,将收集广告客户网站上的访问者的行为,并且将与ADX和SSP一起进行DSP,形成处理的日志,形成与返回相关的行为数据标签。当访问者完成对广告商网站的访问权限并转到其他媒体网站以供访问时,相应的媒体广告空间会根据先前嵌入式的广告代码向广告网络启动广告请求。广告网络将将广告请求封装在HTTP标头PB主体的格式中,以启动向多个DSP的招标请求。当DSP收到投标请求时,它将根据与广告网络一致的PB格式打开包装,拆卸相关字段以匹配相关的字段,并根据相关媒体积累的点击率和点击率预测模型预测出价。找出广告商的创造力,他们可以最大限度地提高平台在平台中的兴趣并交付。返回广告网络竞标和广告代码广告网络将在特定时间内以第二名(通常为50〜100毫秒)以更高的价格获得DSP的最高竞标DSP胜利。根据多个DSP的竞标,最高的投标DSP以第二名而获胜,并更换显示宏的宏,并在广告代码中单击宏(将根据公共密钥对与DSP提前一致的公共密钥进行加密,以防止第三方预防第三方,以防止替换码的码头。 展示。在显示和单击期间,AD网络的显示代码和获奖DSP将接一个地触发。接收显示请求时,广告网络和DSP将向相应的显示(它们将在月底彼此核对)。 DSP将根据收集的显示和单击对相应的报告收费,并将收集浏览,显示和点击的记录收集并形成日志。 ETL之后,将通过DMP提取和分析它们,以形成媒体数据,用户标签,数据和重复用户标签数据。这些数据将在交付过程中用作RTB竞标的参考。
实际上,在整个交付过程中还会出现其他一些模块,例如反作用,动态创造力和网站分析系统。但是,这些系统未在主干过程中分别描述和分析。为了确保交付,DSP系统已经意识到了多计算机房间部署的结构,以及分别在和的北部和南计算机房间部署RTB发动机,点击率预测和相关显示的点击收集节点。与输送活动相关的数据通过REDIS缓存,并且多计算机室是实时同步的。媒体显示点击数据通过KAFKA队列推动,并执行消耗统计信息,最后通过媒体数据分发群集分配给多个计算机室以供使用。 RTB递送引擎的体系结构
RTB引擎是DSP系统的核心,是实现高并发实时反馈的关键。 RTB以HTTP服务形式公开接口。当触发媒体上的JS时,ADX/SSP会将请求封装到HTTP标头PB主体(,定义的序列化数据交换格式)中,在接收JS请求时,作为客户端连接到RTB。 RTB根据先前的协议解开HTTP消息,并依赖于内部计算的相关数据,并最终将PB或JSON格式的投标和广告代码返回到广告交易平台。 RTB需要支持高并发性(每天100亿个请求)和低延迟(需要在50ms之内需要反馈)。当时,我们的RTB是使用Linux C开发的,并通过适配器层适合不同的SSP/ADX。算法池分为五层,五层是正交的。算法模块允许热交换。可以根据配置文件中的更改实时加载和卸载编译的动态链接库,从而使多个算法链可以并行分组流量以进行A/B测试。在交通处理过程中,通过不同算法链流动的流量上将标记不同的算法标签,然后在此标签上将在此标签上携带显示和分析后续效果的显示。以下是RTB架构设计过程中涉及的一些技巧:
由于DSP需要达到尽可能多的流量,并且用户为了找到符合广告商目标的目标受众,因此DSP必须与大量ADX和SSP建立联系才能获得尽可能多的流量。设计适配器层的目的是消除适配器层上不同ADX之间的流量格式差异,以平均处理系统的流量处理,从而简化了RTB系统的复杂性。 RTB系统在设计开始时考虑了AB测试链接,因此可以水平比较算法的效果,从而使算法更容易优化。 RTB本身是无状态的,也就是说,它只能依靠外部辅助系统提供的信息,例如由模块提供的数据,例如点击率预测,人群方向和反欺骗,以获得同事的快速反馈和正确反馈。 DMP将在随后的问题和讨论中进一步分析RTB的设计。让我们谈谈DSP系统中的另一个核心:DMP首先需要定义广告交付过程中的一些关键数据:
DMP数据处理的架构广告系统
它与大多数与数据相关的大多数系统非常相似,基本上无法逃避这些事情,风暴,redis等:数据处理零件结合了离线计算,Spark Batch处理和风暴流计算。 HBASE和MYSQL用于前端查询的最终结果实现。有一个准真实的时间索引,用于实时查询详细数据和时间序列历史记录回溯统计信息。 Spark的内置机器学习算法库MLLIB主要使用分类,聚类,协作过滤,决策树和逻辑回归。由于Wang @和Wang Jin @kugou Music谈到了很多有关Storm实时处理和小组中的大数据架构的内容,因此两个都是大数据大师,所以我不会在这里炫耀。我将简要提及在广告行业的完成情况。基本上是一样的,每个人都使用相同的东西。对于广告交付的目标,在DMP中实施它是为了找到相应的受众目标。以下是对几种类型的受众目标的简要分析:
上图是基于受众方向的广告有效性模型的定性评估表。水平方向是定向技术在广告信息接受过程中起作用的阶段,而垂直方向是近似效应评估(效应从底部到顶部又增加)。根据计算框架,这些受众方向可以分为三类:用户标签t(u),即基于时间序列中用户历史行为放置在用户上的标签。上下文标签t(c),即当前用户在当前访问行为中接触上下文的即时标签。广告商的自定义标签t(a,u)是根据基于特定广告客户在其网站上提供的特定用户组的访问行为来获得的。其中:区域取向的方向方法,渠道方向和上下文取向属于t(c);人口属性取向和行为取向的方向方法属于t(u);重定向和外观类似于t(a,u)的方向方法。当商人销售目标仅限于特定地区时,区域取向主要使用;人口属性主要包括年龄,性别,收入,教育等;渠道取向主要根据媒体端特征将相应的受众划分;上下文取向主要根据当前网页的内容上下文推出相关的广告;行为方向是根据用户历史访问行为了解用户偏好,然后推动相关广告;精确的位置定向是根据精确地理位置将广告放置在移动设备上,并收集具有强大区域性的当地生活广告商;重定向是将广告向访问者提供给特定广告客户的一段时间,以改善效果,人口规模由广告商固有的用户量和媒体重叠确定。新的客户建议是将重定向用户用作种子,当重定向量表太小而无法满足广告客户与用户联系的需求,并找到广告客户的目标条件,以基于广告平台的数据积累来表现类似的行为。接下来,基于上述受众积累定位方法的用户肖像方法。
我们可以看到,用户肖像实际上是用户特征的提取,涉及人口,设备,操作员,位置,用户浏览,点击和购买。用户肖像是以下形式的用户肖像标签:[用户ID:用户标签:标签权重]通过提取用户特征。在广告交付过程中,广告客户会根据几个标签进行反向筛选,这些标签具有较高的用户权重,与提取的流量相对应,以查找适合流量特征的创意者。广告客户使用用户标签来选择受众,而权重用于在大量用户标签中选择关键标签进行交付。同时,有必要注意随着时间的流逝会减弱用户的肖像。在用户的肖像过程中需要考虑用户肖像的及时性,因为用户的爱好和习惯会随着时间的流逝而改变。同时,数据的及时性也决定了用户肖像的准确性,这反过来又影响了广告的交付。实际上,广告平台中收集的最多数据是用户的浏览数据。如果您获得了如此多的浏览数据,则要分析用户的爱好,兴趣和需求,则需要分析和提取网页的内容。以下是用户肖像中非常重要的行为标记结构:
用户将在浏览一系列网站的过程中浏览一些目的。即使他们没有明确的目的,他们也会有一些个人喜好。通过这些目的和偏好,它将进一步缩短在推广广告期间选择用户定位的困难。上图显示了在上下文方向提取Web关键字的子系统的体系结构。 [上下文方向]您可以提取Web关键字并创建缓存,并基于URL创建相应的标签。当广告请求到达时,HIT URL将返回缓存点击内容。如果未缓存URL,它将返回空收集。同时,URL将添加到背景爬行队列中。 URL被爬行,标记并存储在高速缓存中。为缓存设置TTL。当很长一段时间内无法访问它时,将清楚记录URL。热内容URL的关键字始终被缓存。跑步很长时间后,大多数热URL将被缓存。爬行内容后,需要开采网页的内容。在采矿过程中,可以选择以下解决方案:
网页文本的内容扩展了上下文,并引入了更多用于采矿的文本;使用语义分类树;并建立一个主题模型。我们上面提到,在线广告的核心问题实际上是在上下文,用户和广告之间找到最合适的匹配。在显示广告中更重要的核心评估点是点击率,因此点击率预测模块是DSP非常重要的一部分
CTR估计涉及三个角色:受众用户,媒体和广告商估计旨在为特定受众用户和给定的媒体环境找到最合适的广告,以最大程度地提高媒体的收入,也就是说,根据ECPM分类的基本原理进行分类。最简单的CTR预测模型使用历史日志来计算三个维度的CTR控制关系。在预测过程中,当用户访问特定URL时,如果有CTR,则查询字典将返回最高CTR的广告。如果不存在,它将随机返回AD以累积后续数据。问题:根据统计数据,旧广告的效果还可以,但是冷启动广告没有预测能力。实际上,我们使用用于在线进行点击率预测模型的算法,以及未来可能会考虑的AD点击率预测方法包括:机器学习方法:功能模型融合方案协作过滤方法:将其视为推荐系统,以基于预测结果处理分类模型。广告排序模型有几种类型:重点:成为一个分类问题或用于处理排序的回归模型(配对):比较两个广告中的哪个具有更高的优先级,并且不对列进行分类(列表中的):学习整个广告候选人集的分类模型。
在作弊的背后,必须有一群或一群人跟随人群赚钱,例如,那些从垃圾站从广告中获利的人总是很拥挤。如果您捕获了一个流量异常并使用工具来刷额的网站,那么绝对不仅仅是使用此模式来刷本金额的网站;如果一个人有多个网站,如果一个网站正在刷额,则他的其他网站也应检查它。在广告上进行反策划的过程中,为了找出谁在垃圾站后面的刷牙量和哪些网站在那里,域名注册电子邮件地址被重复地用于80%的DSP平台流量,并且域名注册电子邮件地址是通过WHOIS信息查询的,以及哪些域名属于哪些域名,以及哪些注册电子邮件地址分类了。如果发现其中一卷,则严格研究了同一电子邮件地址下的其他域名。
上图显示了反协作广告的一些主要思想。广告作弊有成本。有些人作弊,或者背后有兴趣驱动程序。找到兴趣链是反击的关键。以下是我们在反协作广告工作的过程中遇到的几个示例:P2P交通相互刷牙和作弊。代表性软件是:流量宝藏和交通精灵都通过客户端软件向服务器提交交互式刷牙任务请求。客户端收到服务器分发的相互刷牙任务后,客户端执行隐藏的浏览任务,每天可以达到数千个IP访问。 IP布局分散,UA是随机生成的。很难通过浏览记录找到作弊的痕迹。现在,唯一有效的抗作品方法需要通过宿主进行跟踪和分析。以下是我们用于P2P笔刷卷的蜜罐主机结构的描述:
其中,虚线的盒子是我们的蜜罐系统,虚线盒外的灰色部分是我们正在寻找的作弊目标。如果对信息安全性有一定的了解的人必须熟悉蜜罐系统,也就是说,他们故意在系统设计中抛出了一些缺陷,以便攻击者可以自己跳出来,并通过观察攻击者的行为来找到破解攻击的想法。由于诸如交通宝藏和流量小精灵之类的刷牙工具主要集中在平台上,因此安装VM并将系统代理指向Nginx反向代理,并通过刷牙工具提交刷子任务。提交刷新任务的网站没有任何实际流量。只要IP访问该站点基本上是通过刷新工具流量的流量,IP就可以阻止RTB引擎中的相关IP端,并且不再使用。 NGINX反向代理通过收集和解析和可视化将详细的日志删除到索引,并将IP计数最大的刷新,域名和URL地址,可以用作后续模式识别的模型输入。收集相关证据,域名可以反馈到ADX禁止媒体,同时,可以根据过滤的刷子量在DSP交付过程中减少域名,以避免其自身的损失。 CPS流量作弊我们遇到的另一种作弊方法对DSP交付的影响有很大的影响是:CPS流量作弊和流量作弊可以帮助流量流量网站“改善” CPC和“改善” CPS。但这不会给广告商带来实际的有效流量。
There are three types of at : cheat (no over the media ) cheat with media (with over the media ) cheat with media , that is, in the where DSP has , a 302 jump to the CPS link was into the where DSP has .尽管DSP花了钱从ADX购买流量并放置了广告,但此页面上仍然有大量的CPS和解链接可以跳转。如果广告客户既是互联网联盟和DSP中的人,则任何观看此类页面的人都可能会被劫持。在整个过程中,用户不知道有一个“广告商”。但是,相应的“广告商”会认为特定的CPS链接单击了,并且应以相应的CPS合作伙伴的名义记录后续CPS。问答AQ1:Fu Zong DMP数据存储在哪里? hbase?数据以不同的形式存在。原始日志存储在硬盘上,在ETL之后写入HDF,并存储在蜂巢表中进行查询。计算数据并导出到文件中。它存储在Tair中以用于RTB查询。用户行为数据存储在HDFS中。图像之后,将数据存储在REDIS中以进行RTB查询。用完的统计报告存储在MySQL中,用于报告系统调用。 CM的某些相应数据也存储在HBASE,HBASE和共享HDF中,因此查询速度也将受群集资源数量的影响。
Q2:如何实现RTB算法模块的热插入?我上面提到的是,RTB系统是使用开发的。如果您熟悉Linux C,则应该知道,在Linux下,您可以动态加载动态链接库。 The main use is: Open the load dlsym: Get the : Close the These three can load the link when the is . In order to the goal of quasi-real-time hot of , we also use Linux, which is a file , such as file and , which can be by the user. We with the to the file the RTB . When the file is , we the to the file Q3: Is it an map or a real-time map? What is the of the data after map? What keys do maps map? There are two types: and . , there will be the . The first type of cm will be . After the 's is on the 's , when the guest the 's , the type of JS will be to each . the , when the bid of the dsp will be with it, the code will also the cm code. When the bid is than other dsp, the code will be spit on the media , and the third type of cm will be . When the on the adx a level, Tanx will a of dsp to dsp every day to the ratio. For other users' cm , dsp will also cm to other adxes. In , the of using data is . The is that the 's data comes from the DPI of the , which the user's adsl . The will find out who have names by dsp a of time. , the cm code will be on all pages below this name. The dsp can be found the http . The found will have the adsl , and the with dsp can be the . This type of cm is .
Q4: How to the same user? , or are there other ? User on PC is based on this type of user, but its life cycle is short and be cross-/cross-. It is also easy to be up by /, so it is easy to see user with hard-to-draw , and this ID will never again in two days. On the PC side, flash will also be used to , flash is in the same block and can be . Of , there is also a " of flash". Those who are can learn about the of this , id, mac IMSI and IMEI, while iOS is IDFA. Since the SDK can be in the app on the , and the app may have on the side. The logo will also be , so it will the issue of of user IDs. Of , the user ID on the side will be much than that on the PC side, and the user will be more after . This is by Qiu . The is and by and Chen Gang. Many other have also to this . can for "" or long press the below to the "High " to view more and gain on the road to . the "High ()" when .
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。


客服1