标题 | 基于大数据的电信用户行为分析系统的设计与实现 |
范文 | 宋曼
摘 要:本文基于电信大数据设计了一个移动互联网用户行为分析系统。该系统具备数据处理、数据统计分析、数据可视化和数据管理等多个功能,为用户提供一站式移动互联网用户行为分析服务。系统提供用户流量分群分析和用户行为特征分析两个场景,对用户上网时段分布、流量特征、服务和应用偏好进行分析研究,满足移动互联网用户行为数据挖掘的需要。 关键词:移动互联网;用户行为分析;电信大数据 1. 引言 移动互联网用户上网过程中每分每秒都产生着大量的数据,电信运营商为用户提供管道服务的同时也收集了移动用户位置、上网情况、话务记录等海量数据。通过大数据技术从海量数据中分析移动互联网用户上网的共性和个性特征,发现用户流量特征、内容偏好、上网时段分布等行为习惯规律,无论是对于电信运营商有效进行网络资源配置调优,还是对于各行各业商家实现精细化运营、提高用户体验,都具有十分重要的意义和价值。 2. 用户行为分析系统需求分析 2.1 系统的总体需求 系统总体需求分以下五个步骤,数据通过处理后可以得到有价值的分析结果。具体流程如图1所示。 2.2 系统功能需求 系统的功能需求包括用户分群分析、用户行为特征分析、数据挖掘计算和数据源管理四大功能模块,系统功能结构如图2所示。 3. 用户行为分析系统的设计与实现 3.1 系统总体设计 系统总体采用SSH框架进行设计。底层采用HDFS+Spark组成的分布式集群,通过SSH框架处理用户交互逻辑并对结果进行可视化展示。系统采用视图层、控制层、服务层和数据层的分层设计模式。 1. 视图层 视图层通过前端界面接受用户请求操作,将请求发往控制层。视图层通过调用Echarts插件将结果等以柱状图、折线图、饼图等进行可视化展示。 2. 控制层 控制层负责接受来自视图层的数据清洗、数据上传等请求。控制层包括用户特征分析控制模块、用户分群分析控制模块、数据管理控制模块、数据挖掘计算控制模块。 3. 服务层 服务层负责响应控制层的请求,对请求进行处理,根据请求对相应的数据模型进行操作。服务层通过远程调用Hadoop和Spark分布式集群的计算能力,使处理异步化。 4. 数据层 数据层负责特征数据、业务数据和数据源的存储。特征数据和业务数据存储在MySQL数据库中,数据源存储在HDFS中。业务数据库负责存储数据任务、脚本等系统控制信息。 3.2 数据库设计 1. 特征数据库设计 特征数据库负责数据源的分布式模型、分布特征和计算结果等特征数据的存储。主要对数据多维度多级别特征进行存储,提高查询效率。 2. 业务数据库设计 业务数据库负责用户信息、任务状态信息、日志信息、脚本信息等和系统控制相关数据的存储,包含数据挖掘算法信息表、数据源信息表、挖掘任务表、参数表和数据知识流信息表。 3.3 系统核心模块的实现 系统的核心模块的实现主要是任务调度管理过程的实现。系统设计了任务状态管理模块和任务脚本管理模块进行任务调度管理。类的设计如下: (1)ScriptInfo:分为SparkScript和HadoopScript两个子类。是所有分布式计算任务脚本的父类。存储各项任务的方法以及相关的信息。 (2)SparkScript:存储的具体信息包括集群master节点IP地址、脚本路径、脚本类型、执行脚本的命令行等信息,是Spark脚本类,ScriptInfo类的子类。 (3)HadoopScript:该类负责实现数据在HDFS上的上传、下载、删除,以及获取数据信息,是Hadoop脚本类,ScriptInfo类的子类。 (4)ScriptManage:提供对脚本信息进行增删改查等管理,出现新的脚本时,将新的脚本信息注册到业务数据库中,并修改SparkScript脚本信息,是脚本管理类。 (5)JobInfo:任务类,动态存储脚本的相关信息。当发起以该脚本为基础的任务请求时,产生任务的概念,任务类继承ScriptInfo中的脚本信息,包括任务的提交用户、提交时间和完成时间、任务状态、日志和任务结果。是ScriptInfo的子类。 (6)JobManage:任务管理类主要负责任务管理,主要是将执行的任务线程放置在Job队列中进行管理,使任务在对应的平台上执行。 (7)Runner:任务执行类的父类,实现Runnable方法,由该类负责创建线程执行对应任务,提供init(args)和run()两个虚函数,实现任务执行的方法初始化和执行。 (8)FunctionRunner:Runner类的子类,是HadoopScript对应的任务执行类,执行target指向的函数,并将执行结果返回。 (9)RomoteRunner:Runner类的子类,是SparkScript对应的任务执行类,根据SparkScript中的脚本信息,通过远程Shell命令执行对应脚本,并获取标准输出。 (10)ResultHandler:根据SparkScript中的Schema信息对标准输出进行解析,将执行状态返回,并将结果存储到特征数据库中。被RomoteRunner调用,对远程Shell命令的标准输出进行处理。 4. 总结 本文主要描述了移动互联网用户行为分析系统的设计与实现。首先从系统总体架构和系统动态流程两个方面对本系统总体设计进行分解,描述了系统的分层结构以及功能实现的处理流程;然后,详细对系统数据库设计进行了介绍,详细描述了特征數据库和业务数据库表的逻辑结构;最后,详细描述了系统核心模块的主要类的功能。 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。