2基于云计算的系统总体设计方案

2.1系统总体技术架构

本文设计的移动互联网用户行为分析引擎通过云计算技术实现分布式并发的大规模计算能力,构建移动互联网端到端的大数据挖掘分析系统,实现对DPI和应用平台用户上网行为的偏好分析,提供个性化推荐服务,打通从数据采集、分析到服务提供、营销执行的全过程。

系统通过FTP服务器获取数据,在接口层采用分布式计算与批量处理相结合的方式,将大数据存入Hbase数据库中,支持海量数据和非结构化数据的存储,数据入库之后利用Hive进行整合层和汇总层的ETL处理,再基于MapReduce计算框架设计大数据分析模型,最后通过Hive数据库将结果导入前端展现数据库。在数据处理层,利用Hbase , Hive的优势进行海量数据的存储和处理,考虑到前端展现要求的灵活性,采用关系型数据库MySQL作为前端展现。系统总体技术架构如图1所示。

用户行为服务系统架构调研----电信用户行为分析系统架构_数据

用户行为服务系统架构调研----电信用户行为分析系统架构_服务器_02

2.2系统总体拓扑和功能分布

系统的总体拓扑如图2所示,系统由一台服务器作为Hadoop平台和Hbase的主节点服务器,其他服务器为Hadoop平台和Hbase、的从节点服务器,从节点服务器的数量可根据系统处理需求动态扩展。主节点服务器主要负责从节点服务器任务和流量的分配,并对从节点服务器的执行状态进行监控,多台从节点服务器在主节点服务器的控制下执行具体的任务。

主节点服务器的软件功能架构如图3所示,各模块具体介绍如下。

用户行为服务系统架构调研----电信用户行为分析系统架构_数据_03


(1)任务管理与调度模块

集中式的任务调度控制台,提供任务的创建、调整和删除等功能,通过业务类型选择、执行周期设置等,定义应用的处理逻辑;自动控制数据抽取、数据整理到数据建模、模型运行、结果输出等过程,根据任务设置的激活处理条件,自动加载任务运行,系统提供任务的暂停、恢复以及优先级管理功能。

(2)大数据入库与预处理组件

将DPI用户的上网行为、应用平台的用户行为和内容信息等大数据,及时导入用户行为分析引擎系统,作为数据分析和模型挖掘的数据源。

(3)大数据用户行为分析模型组件

基于汇聚到系统中的海量移动互联网用户行为数据,利用MapReduce计算框架构建用户行为分析模型资源池,快速分析用户的偏好、社会关系信息,且支持多类业务实现精准的内容推荐。

从节点服务器的软件结构与主节点服务器基本相同,区别主要在于从节点服务器不需要部署任务管理和调度模块。

3大数据入库组件设计
移动互联网用户行为分析引擎的数据来源主要有两类:应用平台数据和DPI数据。两类数据源的特点不同:应用平台的数据主要集中在一个访问行为表上,每天一个文件,每个文件的大小为GB级;而DPI数据的特点是大量的小文件,每个文件大小在10MB以内,但文件来源频率快,一般2min就有好几个文件,一个省份累计1天的数据量可达1TB。针对上述不同的数据源特点,系统采用不同的技术方案,具体介绍如下。
(1)应用平台数据入库
应用平台采用每天批量入库一次的方式,文件大小为GB级。大文件的入库,适合Hadoop平台的使用场景,考虑到使用MapReduce分布式处理的Hbase、入库方式效率不高,系统对该方式进行了优化,采用MapReduce分布式处理结合批量入库的方式。
由于Hadoop通常使用的TextInputFormat类,在map中读取到的是文件的一行记录。因此,系统使用NLineInputFormat类实现在MapReduce中的批量入库。通过使用NLineInputFormat类,每个分片有N行记录,通过参数的配置,每次可读取文件的N行记录,那么可以在map中直接执行批量入库的操作,效率相对较高。
(2)DPI数据入库
由于DPI的行为数据是大量来源频率很快的小文件.

在Hadoop平台下处理小文件采取的措施通常如下。
·利用SequenceFile、将小文件打包上传,可从源头避免小文件产生,但无论是Hadoop shell还是MapReduce,都不能进行灵活读取。
·使用HAR将HDFS中的小文件打包归档(从HDFS),可减少既有HDFS中的小文件数量,但HAR文件读取性能差。
·Hadoop append可直接追加数据到相同文件中,但每个小文件的大小不同,同时考虑每天的DPI日志有峰值和低谷,对文件数量的控制和处理来说有一定的麻烦。
·Flume , FlumeNG , Scribe,可通过中间层汇聚数据的办法减少小文件数量,但FlumeNG和Scribe都不能很好地传输压缩文件。
通过以上分析可以看到,上述4种方式均存在一定的缺点,因此针对DPI数据的特征,采用Hadoop平台的CombineFileInputFormat类方式,即通过继承CombineFile InputFormat,实现CreateRecordReader,同时设置数据分片的大小,通过这种方式实现DPI大数据的入库。

4大数据用户行为分析模型组件设计

大数据用户行为分析模型组件提供多个在Hadoop分布式平台上运行的分析模型,其功能结构及其与其他组件的关系如图4所示

用户行为服务系统架构调研----电信用户行为分析系统架构_电信_04


本组件主要由以下几个模块组成。

·模型参数调整:提供对模型算法中的变量设定、参数调整、样本空间规模设置等功能。

·模型评估:提供创建模型校验任务,将实际数据与模型计算结果进行比对.输出模型校验指标.进行模型校验和模型有效性评价。

·多业务数据关联分析模型:对用户的互联网行为和爱游戏业务平台的行为进行关联分析,判断DPI用户上网行为偏好与在应用平台上的行为偏好是否存在关联关系,采用关联算法找出其中存在的规则,并将规则固化到系统中,从而有助于交叉营销。

·个性化推荐模型:以协同过滤技术和内容推荐技术为主,采用混合推荐技术,综合考虑来自产品内容和用户两个维度的影响,按照综合相似度向用户推荐相应的信息,实现用户动态推荐算法

·文木挖掘模型:对文木内容(如网页)通过预处理去除噪声(如网页导航栏、页首、页尾、广告等小相关内容),提取出文木主体部分,根据文木(网页)分类标准构造标注语料库,通过分类训练算法进行模型训练和机器学习,建立文木(网页)人工智能分类模型。

· DPI访问偏好模型:基于网页内容分类,通过用户访问网页分析,计算用户WeI)访问兴趣偏好

·DPI应用偏好模型:基于DPI采集数据,通过应用知识库识别应用,计算用户应用兴趣偏好

·应用平台用户偏好模型:依据用户在应用平台上的各种操作行为,找出用户对应用平台各种内容的偏好规律。

·社交关系挖掘模型:社交关系挖掘包括用户社交图谱和兴趣图谱的构建。社交图谱通过用户的位置轨迹进行挖掘分析,建立用户之间的好友等社交关系;兴趣图谱基于用户偏好模型,计算用户偏好的相似度,得到与用户兴趣最相近的邻居集合,建立用户之间的相同兴趣爱好关系。

以上模型的建模过程中很多用到了MapReduce计算框架。在MapReduce计算框架中,每个MapReduce作业主要分为两个阶段:map阶段和reduce阶段,分别用map函数和reduce函数实现。map函数对一个