电信客户分析项目解决方案说明书.docx
《电信客户分析项目解决方案说明书.docx》由会员分享,可在线阅读,更多相关《电信客户分析项目解决方案说明书.docx(7页珍藏版)》请在冰豆网上搜索。
![电信客户分析项目解决方案说明书.docx](https://file1.bdocx.com/fileroot1/2022-12/11/8aee5540-c2c7-41a6-8f58-73dfd0140e12/8aee5540-c2c7-41a6-8f58-73dfd0140e121.gif)
电信客户分析项目解决方案说明书
客户分析项目解决方案说明书
XX科技股份编制
一、项目存在问题及需解决问题
1.存在问题
1.很难获得用户操作行为完整日志。
现阶段数据分析以统计为主,如用户量、使用时间点时长和使用频率等。
一是需要识别用户,二是记录行为容易引起程序运行速度,三是开发成本较高。
2.产品缺乏核心指标。
这需要分析人员足够的了解产品,产品有了核心指标,拆分用户操作任务和目的,分析才会有目的,否则拿到一堆数据不知如何下手。
3.短期内可能难以发挥作用。
数据分析需要不断的试错,很难在短期内证明方法的性,可能难以获得其他角色的支持。
2.需解决问题
●通话记录数据混乱
●冗余数据难以清洗,影响数据分析结果
●数据维度过多,不利于精准发现数据价值
●数据量较大,普通数据库存储难度大
●传统数据库数据查询时效性低
二、客户分析项目解决方案
电话通话记录分析平台将互联网应用和大数据应用整合起来,构建成一个完整的系统,将客户数据经过清洗后存储到数据仓库中,使数据可以实现更大规模的关联计算,挖掘出数据更大的价值;进而实现数据驱动业务,通过数据统计发现业务规律;利用这个规律对未来的数据进行分类和预测,使系统呈现出智能的特性。
1.解决方案架构
系统开发平台使用Hadoop大数据开发平台。
Hadoop是一个高度可扩展的存储平台,可以存储和分发横跨数百个并行操作的廉价的服务器数据集群。
能扩展到处理大量的数据,能提供成百上千TB的数据节点上运行的应用程序。
Hadoop能够的在几分钟内处理TB级的数据。
相比关系型数据库管理系统有优势。
它适用于任何规模的非结构化数据持续增长的企业,将帮助运营商持续提高用户体验。
系统采用面向对象的软件设计方法,把整个系统看作是多个离散对象的组合。
系统设计时,首先把业务流程分解成功能模块及其业务实体对象,然后根据业务流程分析对于这些业务实体对象的操作方法,形成业务处理对象,把各个功能模块关联起来,形成系统。
软件设计是一个将需求转变为软件的过程,系统通过逐步求精使得设计陈述逐渐接近于源代码。
系统程序采用MVC的设计思想,将展现逻辑、控制逻辑、业务处理逻辑分离。
系统采用参数化的设计思想,定义和管理系统的实体及配置,调整实体以适应外部变化。
系统采用J2EE技术保证程序逻辑实现的平台无关性,并便于安装部署。
系统采用AJAX技术,提高客户操作的交互性,保证实际使用的易用性。
系统采用echarts可视化框架实现数据展示。
2.关键技术
(1)Hadoop
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
用户可以在不了解分布式底层细节的情况下,开发分布式程序。
充分利用集群的威力进行高速运算和存储。
(2)SpringMVC
SpringMVC:
属于SpringFreWork的后续产品,已经结合在SpringWebFlow里面。
Spring框架提供了构建Web应用程序的全功能MVC模块。
(3)MyBatis
MYBatis:
是支持普通SQL查询,存储过程和映射的持久层框架。
MyBatis了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。
MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(PlainOldJavaObjects,普通的Java对象)映射成数据库中的记录。
(4)Echarts
ECharts是一款基于Javascript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。
(5)MySQL
MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,属于Oracle旗下产品。
MySQL是的关系型数据库管理系统之一,在WEB应用方面,MySQL是的RDBMS(RelationalDatabasenagementSystem,关系数据库管理系统)应用软件之一。
MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活。
MySQL所使用的SQL语言是用于访问数据库的标准化语言。
MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开源源码这一特点,一般中小型的开发都选择MySQL作为数据库。
(6)Hive
hive是基于Hadoop构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop分布式文件系统中的数据:
可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能;可以将SQL语句转换为pReduce任务运行,通过自己的SQL查询分析需要的内容,这套SQL简称HiveSQL,使不熟悉preduce的用户可以很方便地利用SQL语言查询、汇总和分析数据。
而preduce开发人员可以把自己写的pper和reducer作为插件来支持hive做更复杂的数据分析。
它与关系型数据库的SQL略有不同,但支持了绝大多数的语句如DDL、DML以及常见的聚合函数、连接查询、条件查询。
它还提供了一系列的:
具进行数据提取转化加载,用来存储、查询和分析存储在Hadoop中的大规模数据集,并支持UDF(User-DefinedFunction)、UDAF(User-DefnesAggregateFunction)和UDTF(User-DefinedTable-GeneratingFunction),也可以实现对p和reduce函数的定制,为数据操作提供了良好的伸缩性和可扩展性。
(7)HBASE
HBase–HadoopDatabase,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PCServer上搭建起大规模结构化存储集群。
(8)Zookeeper
ZooKeeper是一个分布式的,开源源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。
它是一个为分布式应用提供一致性服务的软件,提供的功能包括:
配置维护、域名服务、分布式同步、组服务等。
(9)Flume
Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。
三、开发范围
1.数据生产
对于该模块的业务,即数据生产过程,一般并不会让你来进行操作,数据生产是一套完整且严密的体系,这样可以保证数据的安全性。
但是如果涉及到项目的一体化方案的设计(数据的产生、存储、分析、展示),则清楚每一个环节是如何处理的,包括其中每个环境可能隐藏的问题;数据结构,数据内容可能出现的问题。
2.数据采集/消费
数据采集模块(消费),在企业中你要清楚流式数据采集框架flume和kafka的定位是什么。
我们在此需要将实时数据通过flume采集到kafka然后供给给hbase消费。
flume:
cloudera公司研发
适合下游数据消费者不多的情况;
适合数据安全性要求不高的操作;
适合与Hadoop生态圈对接的操作。
kafka:
linkedin公司研发
适合数据下游消费众多的情况;
适合数据安全性要求较高的操作(支持replication);
因此我们常用的一种模型是:
线上数据-->flume-->kafka-->flume(根据情景增删该流程)-->HDFS
线上数据-->flume-->kafka-->sparkstreing实时流式处理
消费存储模块流程图:
3.数据分析
我们的数据已经完整的采集到了HBase集群中,这次我们需要对采集到的数据进行分析,统计出我们想要的结果。
注意,在分析的过程中,我们不一定会采取一个业务指标对应一个preduce-job的方式,如果情景允许,我们会采取一个preduce分析多个业务指标的方式来进行任务。
分析模块流程图:
业务指标:
a)用户每天主叫通话个数统计,通话时间统计。
b)用户每月通话记录统计,通话时间统计。
c)用户流量使用情况,近两月使用统计。
d)用户使用情况。
e)收入来源分配。
4.数据展示
数据展示模块流程图: