第一阶段(项目简述)
项目背景、功能组成、逻辑架构、技术架构
- 项目背景介绍
- 项目功能模块介绍
- 数据处理流程及逻辑架构设计
- 数据介绍
- 详细功能描述
- 系统架构介绍
1. 项目背景
看到项目背景,本项目做了哪些事情。
手机已经是人们生活中不可缺少的重要通信、咨询、娱乐的工具。手机在带来方便的同时也带来了烦恼,就是信号质量差手机上网速度慢等问题。针对这一问题,如何为用户提供更好的服务是各家运营商关注的问题。
本项目基于谋公司开发的手机测速软件采集的数据对用户的手机网速、上行下行流量,网络制式、信号强度等信息进行宏观分析。根据数据分析,能够计算出用户附近移动、联通、电信、哪家信号更好。或提示用户哪个方向自己使用的运营商信号好。这样用户就能够有选择性的选择信号好的方向、好的位置上网。
同时能够给各家运营商提供有力的参考数据,如同一地标三家运营商信号强度对比,这样信号强度较差的运营商便可以有选择的增加信号设备。
2. 系统功能
目标:了解本项目中含有哪些模块,以及每个模块的作用。
首页Dashboard |
首页用于展示企业领导关心的重要数据 1、网络质量总数、信号覆盖总数、数据链接总数实时统计 2、上行、下行速率各个网络制式统计 3、用户分布,热门APP、热门手机统计等 |
信号覆盖 |
1、信号强度分布图 2、典型地标信号强度跟踪 3、典型地标信号强度统计 |
网络质量 |
|
数据链接 |
|
热门APP |
|
热门手机 |
1、热门手机流量分布图 2、热门手机网络质量排名 3、热门手机流量排名 4、热门OS流量排名 5、热门手机分布图 6、手机OS分布图 |
连接点 |
|
个人用户 |
|
用户管理 |
用户的增删改查 |
3. 模块介绍
本项目总体分为四大流程,分别为数据导入、数据存储、数据计算、报表生成。
1、数据导入:
数据导入主要用于在传统关系型数据库与大数据平台之间进行数据传输。实时新数据首先进入mysql中,将mysql数据库内的同步到大数据平台中。除此之外,该平台数据导入模块还负责将历史已有数据导入。
2、数据存储:
数据存储主要用于存储历史积累下来的数据,和线上系统实时生成的实时数据。
历史数据用于实现离线的宏观的数据分析,实时数据用于实时计算业务。
3、数据处理:
数据处理模块主要用于对已经加载到大数平台的数据根据实际业务需求进行更深入的处理、分析、运算、加工(包括实时计算和离线计算)。
4、报表生成:
报表生成模块主要用于对已经被大数据平台处理过的数据进行图形化转化、界面化的展示。以便于领导比较简单的、直观的了解经处理后的数据所传递的信息。
4. 数据流程描述
项目的业务类型种类
每一类业务类型与数据处理模块的关系
每类业务类型的数据处理流程
离线计算
1、通过命令行或脚本将数据上传到HDFS
2、将上传的数据加载到数据仓库内
3、根据目标数据的格式在数据仓库中对数据进行计算
4、通过工作流将计算后的数据进一步加工最终写入结果表
实时计算
5、解析开启binlog 的mysql日志
6、将解析后的数据写入本地目录,flume收集目录新增的数据
7-1、Flume将收集到的数据实时发送到消息总线,用于实时计算。
7-2、Flume将收集到的数据发送到HDFS,用于离线计算。
8、读取kafak内实时数据,实时计算相关指标。
9、将最终的指标写入结果数据库
5. 逻辑架构设计 (项目的总体逻辑架构。数据处理的先后顺序)