论文部分内容阅读
移动视频用户全景视图(用户特征库),是从各种不同角度来看客户.针对一个客户自然属性,行为属性,客户价值等不同维度对客户进行画像,它是客户细分的基础,为精细化营销奠定基础。它的实现是通过对移动用户大量的自然属性,行为属性,推导出大量的隐含属性——标签属性。本文旨在提供一种高效灵活处理标签属性的解决方案。整个解决方案是基于数据仓库设计的,除了标签计算采用定义规则,调用引擎计算外,还采用了任务调度平台工具进行任务调度,实现了可视化监控和异常短信报警。本文将用户指标需求抽象为两大类:基础指标和标签指标。基础指标的实现基于传统的成熟解决方案,数据仓库模型来实现。基于访问,使用,订购,费用,客户,渠道,产品七大主题进行水平设计,基于数据处理的不同阶段,分接口层,明细层,中间汇总层,汇总层进行垂直设计。通过规范化与反规范化,分区与位图索引,并行处理等技术手段实现了对海量数据的高效处理。标签指标的实现基于规则配置。从Oracle数据库读取源数据,然后将数据分发到多个Slave节点进行规则计算。Slave节点接收源数据,并对源数据格式化后输入规则引擎,执行规则计算,并将计算好的结果写回Oracle目标表。本文所有的ETL作业调度,包括FTP文件下载,数据装载,ETL作业,供数接口均采用调度平台来集中管理和调度,运维人员可以方便的监控任务执行进度,可以根据需要暂停,启动或终止任务调度。调度平台的引入,减少了维护工作量,提升了工作效率。本文研究了数据仓库的基础理论和实现原理,对数据仓库的架构,设计,实现和优化进行了系统的学习和实践,将数据仓库架构在Oracle商业数据库上进行了实战和技术积累,受益匪浅。本文研究了规则引擎的实现原理,利用开源的Flex/Bison编码实现了一个解释器,对规则进行解析和执行,其间运用了哈希算法快速查找关键字(变量名,函数名),运用哈希算法进行引擎内外快速数据交换,提升数据处理的效率。另外,作为整个系统的一部分,为了降低不必要的开发工作量,对大量开源软件进行了深入的研究和应用,比方说Flex词法分析器,Bison语法分析器,负责将数据结构序列化进行网络传输的Tpl组件,这些组件都提供了开源的代码,而且可以根据实际需要,进行扩展,来满足应用功能需求。在系统实现后,运用相关测试方法和测试工具,对系统进行了功能验证、数据正确性验证和性能验证,达到了系统实现的目标。