为提升公司广告投放效率而开发的数据分析平台,通过分析投放数据输出不同投放计划的效益,进而对公司广告投放决策提供数据支撑。
主要功能有数据采集,数据构建,数据校验,任务管理,数据预警,构建报表数据。我主要负责有数据采集,数据构建,任务管理,数据预警这几个模块。
数据采集是收集 SDK 上报日志并对日志进行处理然后保存至 ES。
数据构建模块是设计数据构建通用流程,所有构建任务根据流程使用原始数据构建出报表所需数据并针对构建的数据进行校验保证数据的正确性。
任务管理模块是自定义线程池管理所有构建任务,提供任务管理页面配置所有任务执行时间及频率。
数据预警模块是设计预警任务通用流程,查询出需要预警数据并与设置的阈值进行比对,数据出现异常则发送预警消息
项目共有四个人参加,我在其中负责数据采集,数据构建,任务管理,数据预警这几个模块的开发。遇到的技术难点有长时间段查询数据会导致mysql出现慢查询,从而影响系统性能。解决方法是将查询结果单独保存至一个结果表,查询时直接从结果表查询,并且将长的时间段拆分为多个小的时间段去查询数据,然后将多个小时间段的结果在程序中进行计算得出最终的结果。