论文部分内容阅读
百度凤巢是百度推出的全新广告拍卖系统,其以每天数以亿计的网页搜索量为强大后盾,为推广商户带来巨大经济效益的同时也为百度带来了巨大的经济收入,截至2010年第三季度末,来自凤巢的营收已占百度总营收的20%以上。然而从线上运行以及用户反馈情况来看,凤巢在广告质量度计算、展现以及广告优化等功能方面仍存在较多问题,这些问题不仅会给用户带来经济损失还会为凤巢造成负面影响。为此,本论文针对凤巢的重要业务点,设计并实现了基于Hadoop的海量广告日志分析系统,旨在从海量的广告日志中分析挖掘出异常数据,并从不同维度对异常数据进行统计以及可视化展示,以帮助凤巢有效发现潜在的问题,对异常产生的内因进行深入分析研究,找出问题来源以提出有效的解决方案。首先,本文基于凤巢的业务功能确定了日志分析系统的实际需求;然后针对该需求,设计了本海量日志分析系统的功能结构,分为日志解析模块、日志分析挖掘模块以及Web展示模块。日志解析模块完成原始日志的数据预处理操作。日志分析挖掘模块作为系统的核心部分,为不同的业务监控项建立计算规则模型,从经过预处理的海量日志数据中分析挖掘出各个业务点的异常数据,然后对异常数据进行多维度的过滤统计,该模块主要包括广告质量度、广告审核以及广告优化建议三个业务专题。Web展现模块通过动态趋势图以及表格等形式在网页上对分析统计结果进行可视化展现。在系统的实现技术上,日志解析和日志分析挖掘模块充分利用了Hadoop在处理海量数据方面的优势,将海量的原始日志及分析结果存储于HDFS(HadoopDistributed File System)中,基于Hadoop的MapReduce算法建立不同的MapReduce计算程序集来实现数据的处理。 Web展现模块使用LAMP(Linux+Apache+MySQL+PHP)技术,采用较流行的Web应用程序开源框架CakePHP实现。最后,系统从功能和非功能上进行了测试并得到验证。从商用效果来看,通过本系统及时发现了潜在问题,有效减少了凤巢的线上错误率,为决策发展提供了有效依据。