OTT广告系统的设计与实现论文_陈华意

陈华意

广州珠江数码集团股份有限公司510220

摘要:在中国在线视频行业,用户对电视屏幕上的广告持更高的信任和认同,电视屏幕具备极高的广告变现价值。不同于传统直播频道的线性的广告路径,在OTT端,广告路径相对更立体化。这种立体化体现在两方面:一方面是路径分支多,另一方面是广告资源的归属多,集中当前智能电视终端的主流广告形式。因此一个高性能、高可用的OTT广告系统将对企业产生巨大的商业价值。

关键词:OTT广告系统;设计;实现

0引言

进入新世纪以来,我国正处于家庭互联网浪潮即将到来的时代,智能电视作为家庭互联网及客厅经济的中心,以其大屏震撼视听效果牢牢地抓住了用户的眼球。互联网电视改变了传统电视单一的线性排播,用户更愿意主动去选择观看自己喜爱的影片,互联网电视可以最大程度的满足人们自由观影的需求。同时,互联网电视提供的舒适的后仰式观影体验和较短的广告时间,使得广告投放效果最有效。OTT广告通过智能电视这块家中最大的交互屏幕,以优质的视频或图文形式呈现,提升用户的感官体验的同时增强了用户对产品的记忆度,广告投放价值被放大了数倍。

1“家庭围绕”战略,广告定制化

未来OTT会面向“家庭围绕”战略来展开,依托大数据分析,来满足每一个家庭的需求,让用户享受定制化的体验。OTT广告基于用户模型和内容模型,结合大数据技术架构,可针对用户进行精准广告投放。对于传统系统,每个用户接受到的内容是一致的,对于非实时性要求的内容,可采用CDN技术来缓解后端服务压力。对OTT个性化广告系统来说,在满足内容实时性、差异性要求的同时,使系统具备高性能、高可用是一个巨大的挑战。

2 OTT广告系统结构

广告系统架构如图一所示,主要由路由模块、检索模块、排序模块、DMP系统、计费系统、投放系统、长连接系统、转码系统、分发系统、监控模块、数据高速通道、终端系统等组成。下面几个小节将详细介绍重点模块的功能和使用到的关键技术。

图一:广告系统架构图

3大系统小做

广告系统在设计时坚持“大系统小做”的理念,将功能复杂的广告系统,化大为小,减少模块耦合,降低相关联性,用独立小系统或模块相互协作来实现整体功能。广告系统整体架构复杂,但各个小系统或模块独立运行和部署,使得广告系统故障更易排查,维护成本更低。广告系统各个子系统采用小团队敏捷方式运作,能快速适应需求变化,开发效率更高,为复杂广告系统提供了质量保证。

4关键技术说明

4.1多域名下发

为保证广告系统稳定、高可用,系统采用了多域名下发策略进行请求分流,同时降低域名劫持和CDN故障对系统性能的影响。电视机在开机时会向终端系统请求域名策略,终端系统识别用户后会下发域名A和域名B,电视机会依次检测域名可用性,在用户侧达到请求分流目的。采用多域名还可有效防止域名封杀、域名屏蔽等问题,提升系统可用性。为了防止域名劫持和CDN故障带来的服务不可用问题,每个域名又配置了多个CDN集群和服务集群,减小域名劫持和CDN故障可能带来的用户影响面。

4.2集装箱模型:广告服务高效运营

在系统设计过程中,集装箱模式是根据业务特征进行规模化扩容或部署而建立的基础资源模型。广告系统检索端采用集装箱模型进行设计,主要用于解决故障扩散、单点失效问题和应对用户及业务增加带来的服务压力,通过水平方向上的模块分组、数据分块实现请求分流,提升系统性能。

4.3防止故障扩散、损失最小化

系统检索端路由层根据一致性HASH算法对用户进行划分,不同的用户请求被路由到不同的SET单元。当SET-B中任何一个环节出现问题导致SET故障时,只会对这部分用户产生影响,其他SET中用户可正常请求广告,有效防止故障扩散。同时,当监控到某一个SET发生故障时,系统自动通过一致性HASH算法进行数据漂移,当该SET单元的数据全部漂移到其他SET单元后,在路由层摘除该SET,用户请求重新路由,做到损失最小化。

4.4动态扩容、缩容

集装箱模型的每一个单元SET具备全部业务服务能力,当SET数量不足以支撑业务压力时,可完全克隆一个SET单元分担业务压力,同时通过一致性HASH算法进行数据漂移,实现动态扩容,扩容以后,整个系统的业务能力提高了50%,实现节点和业务能力的线性增长。业务压力下降时,可通过下线部分SET单元进行动态缩容,节约运营成本。

4.5灰度发布和AB测试

在集装箱模式下,每个SET单元具有一定的独立性,系统具备灰度发布和AB测试的能力。当新功能需要灰度发布和进行AB测试时,可对部分SET单元进行升级,检测系统指标和用户反馈,系统功能升级更具可控性。

4.6柔性可用:服务优雅降级

在系统压力剧增的情况下,为防止系统雪崩和保证核心服务的正常运行,系统会根据当前流量和业务形态对服务进行优雅降级。

4.7两级内存缓存

为进一步提升广告检索端性能,系统采用了两级内存缓存数据,分别为实例内存高速缓存和REDIS高速缓存,如图4-5所示。广告索引树数据存储在检索节点的实例内存中,相比其他存储方式,基于内存的检索速度可到达毫秒级别。

4.8双层布尔检索:极速广告检索服务

在OTT精准广告投放中,复杂的定向条件对检索性能提出了很高的要求。广告检索的上下文关键词和用户标签比较丰富,广告查询词会较长长,利用基于倒排索引的搜索引擎技术,从性能和检索结果看,都不能达到广告检索的要求。

4.9长连接体系:广告信息的高速公路

广告系统采用长连接体系作为信息下发的高速公路,通过长连接通道下发开机、前贴片等广告策略,有效地解决了HTTP轮询带来的资源消耗和消息延迟。

4.10广播模式

在广播模式下,长连接系统会一次性对所有处于在线状态的电视机进行消息下发,做到消息的及时下达,最大程度降低消息延时。对于离线状态的电视机,长连接通过上下线模块监测,一旦电视机在消息有效期内切换到在线状态,会立即下发消息。

4.11渐进式模式

很多情况下,电视机收到后端消息后,需要向后端请求更多数据。同一时刻,全部在线状态的电视机接收消息并向后端请求数据时,会出现请求的“悬崖式峰值”。渐进式模式下,处于在线状态的电视机将分批次收到消息和向后端请求数据,在时间维度上分摊请求压力,后端请求趋势。

5安全防护

传统HTTP通信方式在通信链路上存在很多不安全环节,影响广告系统的稳定和性能。为解决该问题,采用了HTTPS双向认证来保证通信链路的安全,防止黑客攻击影响。同时在防护层加入攻击监测模块,实时监测异常流量。

6物理容灾

系统为了实现物理容灾,保证服务高可用,在异地多IDC部署容灾、传输通道容灾、模块热备容灾三个方面做了优化。

7传输通道容灾

为保证数据通道高效、高可用,系统采用传输通道容灾方案。广告投放素材与转码系统之间默认采用专线传输,当专线异常时,可切换到公网线路传输。广告投放元数据与各地索引中心之间默认采用消息队列传输,接口调用方式作为备用传输通道。广告索引与各地广告检索中心之间默认也采用消息队列传输,消息队列异常时,采用P2P方式传输数据。

8模块热备容灾

为进一步提升系统可用性,对每个SET单元里的模块进行了热备容灾,防止单点故障对SET单元稳定性的影响。在SET单元中,检索模块、分区模块、消息中间件模块、REDIS存储都做了热备容灾处理,使得每个SET单元的稳定性得到提升。

9结束语

互联网电视广告市场还属于前期探索阶段,一个高性能、高可用的OTT广告系统将对探索和推动OTT广告市场产生重要影响。本文分析了OTT广告具备的巨大商业价值,陈述了OTT广告生态圈尚不成熟的现状。据此提出了OTT高性能广告系统的设计方案,并从多方面详细阐述了实现细节。进一步将深入研究“家庭围绕”战略的精准广告投放和广告投放预测领域,探索OTT广告领域的新高度。

参考文献

[1]李志.互联网广告精准投放平台的研究[D].华中师范大学2013.

[2]何涵.基于移动互联网广告投放平台的设计与实现[D].北京交通大学2015.

[3]田雪松.基于协同过滤的移动互联网广告推荐方法的研究[D].西华大学2016.

论文作者:陈华意

论文发表刊物:《科技新时代》2019年2期

论文发表时间:2019/4/11

标签:;  ;  ;  ;  ;  ;  ;  ;  

OTT广告系统的设计与实现论文_陈华意
下载Doc文档

猜你喜欢