论文部分内容阅读
DSP (Demand-Side Platform,需求方平台)是互联网广告中一套新兴的体系,在这个体系中,各个参与者会经常涉及到流量和物料的交互,其中广告数据质量的保证是整个业务中非常重要的一环。审核系统的实现提供了广告数据属性的标注入口,并通过自动审核和人工审核相结合的方式,在保证广告数据质量的同时大大节省了人力成本。除此之外,系统通过提供多维度的查询接口,让公司内部人员能够实时的查看所有的业务数据。公司内部已经存在一版审核系统,专为传统的联盟广告设计,可以支持的数据量有限。所以新的审核系统需要提供DSP业务特有的功能和更大的数据吞吐量。本文根据现有的业务状况对系统进行了详细的需求分析,包括功能点的划分和非功能性需求分析;在此基础上,从系统架构,系统拓扑和系统构建三个角度进行了概要设计,详细说明了系统本身的三层架构和对其他服务的依赖情况以及线上的服务器部署情况。然后针对各个功能模块进行详细设计,对其中重要的模块做了流程说明和类设计,并明确了各个功能点在实现中方法的调用关系。考虑到DSP业务引入造成了巨大的数据增长,针对这块业务,系统从MVC三个层次的性能优化,以及对于常见的XSS(又叫CSS攻击,Cross Site Script)网络攻击的防御措施。为了提供更好的灵活性和可维护性,采用了商业系统传统的B/S架构,使用J2EE开发。数据库使用了基于MySQL的DDB分布式数据库,前端使用了Velocity模板减少了前端的开发量。为了提高查询效率,系统大量的使用了游标,缓存和集合等方式做性能优化,对于一些大数据功能使用Lucene全文索引。最终完成了整个审核系统的开发,为后续的投放等系统提供了重要的数据支持。本人在项目中完成了从需求分析到设计开发再到部署上线的全过程,其中主要工作包括审核任务分配、任务查询,广告信息查询,人工审核、自动审核,审核情况统计和审核系统管理各个模块的功能设计、开发,以及性能优化和安全防御的部分。从DSP业务引进至今,审核系统采用敏捷开发的方式,已经开发并上线了八个版本,审核系统的所有功能及优化策略均已经上线。在这八个版本中除了功能的增加,性能方面也逐步的提高,最新版本目前已经稳定运行了近两个月。从数据角度来看,通过审核系统这个入口,DSP广告数据已经全部标注了品类和风险类型等属性,从根本上解决了高仿、虚假广告数据可能会带来的问题。