电商平台下用户画像的设计与分析培训资料_第1页
电商平台下用户画像的设计与分析培训资料_第2页
电商平台下用户画像的设计与分析培训资料_第3页
电商平台下用户画像的设计与分析培训资料_第4页
电商平台下用户画像的设计与分析培训资料_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、电商平台下用户画像的设计与实现The design and implementation of user pro e-commerce platform专 业: 计算机科学与技术姓 名: 史维君指 导 教 师:申请学位级别: 学 士论文提交日期: 2016年6月1日学位授予单位: 天津科技大学IV摘 要大数据是数量非常巨大的复杂的半结构化或者非结构化的数据集。随着时代的发展,越来越多的数据产生,用传统的数据库管理方式,无论是从数据的储存,获取,或者查找等方面都已经无法满足要求了。随着大数据的来临,人们有了解决大量数据的处理,储存等能力后,人们为了将数据细化,将数据分行业,类型的分了好多种类。在

2、这里我们所研究的是其中的一个种类:用户画像。用户画像核心价值在于了解用户,猜测用户对产品的需求或者潜在需求,精细化的定位人群特征,挖掘潜在的用户群体,为媒体网站、广告主、企业及广告公司充分认知群体用户的差异化特征,根据族群的差异化特征,帮助客户找到营销机会、运营方向,全面提高客户的核心影响力。在电商行业中。用户画像可以分析客户的使用习惯、喜好、一系列的购买行为,以及周边的人群的身份、属性、年龄等,它对我们的商务行为、对营销的判断会有一定的借鉴。本文通过使用Hadoop技术,结合Hive,Java,JSP和HTML等编程语言,设计并完成了一个具有简单的电商平台下的用户画像。本设计依赖Easyui

3、,Echarts,JfreeChar框架设计出了简洁漂亮的前端界面,使用Hive 进行数据分析与产生研究结果。本系统主要包括,系统管理:分别从用户管理,角色管理,菜单管理等方面对整个系统进行权限管理。用户行为:分别从跳出率,忠诚度,活跃度判断用户在某一天或者某一段时间的整体状况。访客分析:分别从地域分布,速度分布,客户端环境等对某个地区的整体环境和地区消费情况进行产品销售。关键词:用户画像; Hadoop; HiveABSTRACTBig data is a very large number of complex semi structured or unstructured data se

4、ts.With the development of the times, more and more data are produced, with the traditional database management, whether it is from the data storage, access, or find and so on have been unable to meet the requirements of the. With the advent of big data, people have to deal with a large number of da

5、ta processing, storage and other capabilities, people in order to refine the data, the data points industry, a lot of types of points. What we are studying here is one of the categories: the user portrait.User portrait core value is to understand the user, users of the product demand or potential de

6、mand forecast, fine positioning population characteristics, mining the potential user groups, web media, advertisers, and advertising companies fully cognitive differentiation characteristics of the user groups, according to the features of the ethnic differences to help customers find opportunities

7、 for marketing, operations, and comprehensively improve the customers core impact. In the electricity business industry. User portrait can analyze customer use habits, preferences, a series of purchase behavior, and peripheral populations of identity, attributes, age, it to our business behavior, th

8、e judgment of the marketing will have a certain reference.This article through the use of Hadoop technology, combined with Hive, Java, JSP and HTML programming languages, designed and completed a simple business platform with a user portrait. The design of Easyui, Echarts, JfreeChar framework design

9、ed a simple and beautiful front interface, using Hive for data analysis and research results. The system mainly includes the system management: from the user management, role management, menu management and other aspects of the entire system to carry out the rights management. User behavior: respect

10、ively, from the jump out rate, loyalty, activity to judge the overall situation of the user in a day or a certain period of time. Visitor analysis: from the geographical distribution, speed distribution, client environment, such as the overall environment of a region and regional consumer sales.Key

11、words:User Pro; Hive目 录 TOC o 1-3 h z u HYPERLINK l _Toc452556154 第一章 引言 引言 随着互联网时代的来临,人们越来越重视对数据的利用与处理,在海量数据中提取有效信息,进行数据分析与挖掘发现商业价值1。用户是时代发展的最重要的因素,利用大数据来分析用户的行为与消费习惯,可以预测商品的发展的趋势,提高产品质量,同时提高用户满意度2。本文基于大数据与Hadoop技术进行电商用户画像的开发与设计,论文将从国内外研究,需求分析,系统概要设计,系统详细设计,系统的实现等方面进行整个项目的描述。 用户画像的背景及意义 随着大数据兴起与不断发

12、展,数据量越来越来,人们想着从这些数据中挖掘出自己想要的信息。所以有了各种各样的数据挖掘方式或者种类并将其抽象到各个行业。再次我们讨论的是其中的一个种类,用户画像。 在“用户中心论”理论支持下,很多行业意识到用户的重要性,在整个社会发展的过程中用户是主导因素3。所以有很多行业从原来以产品和服务为中心的思维方式转换到以用户为主导,开始研究用户的需求,反馈和用户满意度等信息4。互联网行业也是如此,互联网企业开始加深对用户的了解。为了使生产或销售的产品能够吸引更多的新用户,同时留住老用户,提高企业的利润,基于用户的研究越来越重要了5。 在很多传统行业中,商家为了提高用户量,经常会分析用户的生命周期和

13、价值,用户的忠诚度,地域等信息来进行商业决策6。比如电商行业,商家会对用户的年龄分布,地区,性别,星座,消费能力,家庭收入的方面对用户进行分析,判断用户将来会给商家带来的利润,来进行商业决策7。再者分析用户的整体消费情况可以了解用户的消费偏好,进行商品的推送服务,例如:短信推送,邮件推送等。这样就形成了比较成熟的用户行为与消费习惯分析体系,为商家如何长远的获得利益与吸引新用户打下坚实的基础。 随着互联网行业的不断发展,人们对网上消费人群的分析越来越重要。例如很多大型互联网企业都推出了自己的分析体系,例如:百度,谷歌,阿里和京东等。京东将在电子商务全过程中的所有用户的数据都添加到用户画像的建模当

14、中,而且对用户进行全方位的精确定位,描绘用户的特征。目前京东的用户画像中运用大约三百多个标签来描述客户,涵盖了用户的基本属性,购买能力,偏好等各个方面,利用分析的结果来推荐产品,广告等,同时也更加智能的设置搜索提示功能,更好的服务于用户,来提高用户的满意度8。 系统所用的开发技术及工具简介一、 开发技术简介 Java与JavaEE简介Java是一种与C+相似的面向对象编程语言,但它比C+功能更强大、学起来更为简单,而且它具有简单、安全、高性能、面向对象、高可移植性以及跨平台性等优点,因而受到了广大编程人员的追捧。同时由于其具有其强大的平台无关性,所以用Java开发的应用程序可以在各个系统平台上

15、运行,这使得Java成为目前应用范围最广的编程语言9。JavaEE是一套用于开发Java企业级应用程序的规范标准,功能十分强大,目前有许多网站的服务端代码都由它完成编写,使用JavaEE可以开发出类似电子商务网站和企业资源评估系统这一类伸缩性与灵活性强,且容易维护的分布式企业级网络应用程序10。JavaEE的API结构如图1-1所示。图1- SEQ Figure * ARABIC 1 JavaEE的结构图分布式框架Hadoop Hadoop本质上来说是一个开源的分布式框架。在Google的三大论文发表之后,有Apache基金会负责开发的大数据的开发工具。Hadoop的核心内容是HDFS和Map

16、reduce算法11。Hadoop有以下三个特点:1.可靠性,因为Hadoop在数据处理是会维护多个数据副本,使得即使在某一节点上计算失败还能重新继续分布处理,而不对数据造成不可恢复性错误。2.高扩展性,Hadoop在集群处理上,可以特别方便的扩展节点数量。3.低成本,因为Hadoop是开源的,所以可以降低好多软件开发成本。数据仓库HiveHive是一款基于Hadoop的数据仓库基础架构,他可以方便的将一个结构化的数据文件映射成数据库里面的一张表,还提供sql查询,学习成本低等优点12。Hive还可以将sql查询语句转为Mapreduce算法运行,特别适合大型数据的开发与分析。目前想Faceb

17、ook,淘宝等大型公司都是用Hive进行数据仓库建模和数据分析。easyui简介easyui是一个轻量级的前端UI开发框架,easyui是一套的前端开发库,提供了很多常用的各种CSS和JavaScript合集,内置了非常多的漂亮样式,简洁灵活,而且easyui是可扩展的,我们可以根据自己需求在他原始的基础上加以扩展来达到我们个性化功能的开发,除此之外easyui还对一下常用的jQuery方法进行了分装可以很简单的时候web项目开发过程中前后要的交互。二、 开发工具与环境介绍CentOS操作系统CentOS全成Community ENTerprise Operating System,又被很多人

18、成为“社区企业操作系统”,是linux的发行版之一。CentOS是Redhat企业版产品RHEL的克隆版,但是CentOS是不收费的,CentOS具有以下四个特点:1环境比较稳定2有稳定的开发团队提供长久的免费的更新支持3具有保守性4. 性能比较好,就算是大规模的系统也能保持良好的性能Eclipse工具Eclipse是一款开源的Java开发工具,Eclipse系列里面有很多版本,比如说支持PHP,andriod等开发的专门的Eclipse版本。而且Eclipse可扩展能力比较强,可以给里面做各种插件,比如说我们熟知的SSH插件,在这Eclipse具有很好的提示和查找功能,给我们的开发带来了很多

19、的便利之处。当前Eclipse也有收费的不开源,但是提供了很多插件的开发工具myEclipse。 系统环境搭建基础环境搭建本系统的开发运行环境都是基于虚拟机安装的CentOS系统,安装JDK和配置环境变量1 解压jdk首先在user目录下创建一个Java文件夹,然后将执行tar -zxvf jdk-7u55-linux-i586.tar.gz -C /usr/Java/ 语句将jdk安装到Java目录下2 将Java添加到环境变量中执行vim /etc/profile 命令打开配置文件在文件最后加入以下两句话配置环境export JAVA_HOME=/usr/Java/jdk1.7.0_55e

20、xport PATH=$PATH:$JAVA_HOME/bin然后执行source /etc/profile 刷新环境配置Hadoop集群搭建1配置hadoop,搭建Hadoop伪分布式,需要修改一下五个配置文件内容:第一个:hadoop-env.sh,配置jdk路径,Hadoop开发依赖于jdk vim hadoop-env.sh export JAVA_HOME=/usr/Java/jdk1.7.0_65第二个:core-site.xml 配置HDFS中NameNode的地址 fs.defaultFShdfs:/hadoop01:9000hadoop.tmp.dir/itcast/hado

21、op-2.4.1/tmp 第三个:hdfs-site.xml配置HDFS数据存储是,备份副本的数量dfs.replication1 第四个:mapred-site.xml 指定mr运行在yarn上yarn 第五个:yarn-site.xml,配置yarn的管理者ResourceManager的地址yarn.resourcemanager.hostnameitcast01 yarn.nodemanager.aux-servicesmapreduce_shuffle 2将hadoop添加到环境变量vim /etc/proflieexport JAVA_HOME=/usr/Java/jdk1.7.0

22、_65export HADOOP_HOME=/soft/hadoop-2.4.1export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbinsource /etc/profile3格式化namenode(是对namenode进行初始化)hdfs namenode -format (hadoop namenode -format)4.配置ssh免登陆首先生成ssh免登陆密钥然后到我的home目录cd /.sshssh-keygen -t rsa (四个回车)执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa

23、.pub(公钥)将公钥拷贝到要免登陆的机器上ssh-copy-id localhostHbase安装与配置HBase安装完成后修改一下配置文件:1修改hbase-env.shexport JAVA_HOME=/usr/Java/jdk1.7.0_55告诉hbase使用外部的zookeeper export HBASE_MANAGES_ZK=false2 vim hbase-site.xml hbase.rootdir hdfs:/ns1/hbase hbase.cluster.distributed true hbase.zookeeper.quorum hadoop01:2181, hado

24、op02:2181 Hive安装与配置1.安装和配置Hive查询以前安装的mysql相关包rpm -qa | grep mysql暴力删除这个包r pm -e mysql-libs-5.1.66-2.el6_3.i686 -nodepsrpm -ivh MySQL-server-5.1.73-1.glibc23.i386.rpm rpm -ivh MySQL-client-5.1.73-1.glibc23.i386.rpm执行命令设置mysql/usr/bin/mysql_secure_installation执行一下语句,将Hive添加到环境变量当中GRANT ALL PRIVILEGES

25、ON Hive.* TO root% IDENTIFIED BY 123 WITH GRANT OPTION;2. 利用sqoop将mysq当中的数据直接导入到Hive当中sqoop import -connect jdbc:mysql:/0:3306/test -username root -password root -table user_info -Hive-import -Hive-overwrite -Hive-table user_info -fields-terminated-by t 论文整体设计结构一、 系统设计思想本项目通过JavaEE+Hadoop+Hive技术,设计并

26、实现一个简单的用户画像的web界面系统,系统通过后台数据操作得出的结果,将其以界面形式反映到前台,决策者可以根据系统提供的图表等信息对整个平台下客户的忠诚度,所属区域,访客的跳出率等几个方面对客户进行初次的总结归纳,最后知道企业的整体营销措施。二、 论文结构安排第一章主要介绍了本设计的选题背景、选题意义、然后再介绍开发所使用的语言与软件工具,再者介绍个整个系统的环境搭建,最后介绍本论文的整体结构安排。第二章主要介绍了系统整体的需求分析,然后根据需求写出初步的概要设计。首先对系统进行简单的需求分析、可行性研究分析,然后接着介绍本网站总体结构、功能模块设计,最后对界面进行简单描述。第三章主要介绍介

27、绍了用户画像的详细实现过程,在需求分析和概要设计之上更加详细的设计和实现部分系统功能,其次进行功能模块流程图设计,并对一些关键的地方进行代码的说明,最后对整个系统的界面做一下简单的说明与介绍。第四章主要介绍了系统测试的方法与步骤。首先简单介绍了系统测试的目的、意义及步骤,然后根据系统测试要求对本系统进行某些模块的测试。第五章是总结与展望。对本系统开发与设计过程中遇到的问题和难点,还有自己所收获到的东西进行总结,并对自己以后的职业生涯和努力方向加以重定向、或者进行阶段性的计划。 系统需求分析与概要设计在这一章里面我们对用户画像这整个系统进行进行需求分析,可行性研究,还有系统的总体结构介绍和和分模

28、块介绍,最后对部分页面进行简单的介绍。 用户画像的需求分析本系统大的范围划分总共分为两块:1. 后台数据处理与分析采用Hadoop+Hive进行数据分析与数据仓库的建模,系统分析元数据来源于mysql数据库2. 前台显示运用了JavaEE+JfreeChar+Echarts技术,对后台分析数据进行前台展示。本系统利用这样的总体结构对整个用户画像进行开发与设计,使之能够初步实现对电商客户的初步分析以及对领导者决策进行帮助。首先我们从系统的后台数据处理进行分析,我们利用Hive进行数据分析,将整个平台的与客户相关的数据分为了以下的七张表进行数据分析与数据结构化存储:客户消费订单表根据客户的消费情况

29、提取用户标签用于了解用户的消费总体情况,以根据用户的消费习惯和消费能力来进行营销行为。数据来源于mysql数据库中的:订单表,退货表,购物车表,用户表。 客户购买类目表根据客户购买类目的情况来提取用户标签用于了解购买人群情况和某一类目的营销策略数据来源于mysql数据库中的:订单表,类目维表,购物车表。客户购买商店表根据客户购买商店来提取用户标签用于了解商店及品牌的购买人群情况常用来用作某一商店或者某一品牌的营销数据来源于mysql数据库中的:订单表,退货表,购物车表,商店表。客户基本属性表根据用户所填写的属性标签与推算出来的属性用于了解用户的人口属性的基本属性和按属性统计按人口属性进行营销,

30、例如金牛座的优惠和生日优惠数据来源于mysql数据库中的:用户表,用户调查表,孕归模型表,马甲模型表,用户价值模型表。客户营销信息表将用户营销相关的常用标签放到一张表中,方便使用数据来源于mysql数据库中的:用户表,订单表,用户价值模型表,购物车表,客户品类分群模型表,活动表。客户活动信息表根据客户参与的活动的情况提取的客户标签用户了解用户的对活动的参与情况,以进行活动的策划或者根据对活动不同敏感度的人群做营销数据来源于mysql数据库中的:订单表,活动表,活动订单表,用户表。客户访问信息表根据客户访问的情况提取的客户标签用户了解用户的访问总体情况,以根据用户浏览的习惯做营销数据来源于mys

31、ql数据库中的:PC端PV表,PC端view表,APP端PV表,APP端view表。然后进行前台显示界面功能的分析,在前端我们要用图表加数据的模式展示给用户或者决策者,主要以一下几个方面进行展示:系统管理模块在这个模块里面我们就主要对用户画像前端系统的一个管理和配置,主要包括,菜单管理,系统用户管理,和角色管理,当然在这个里面也对整个系统的权限进行管理。用户行为分析在这个模块里面我们就针对用户的一些行为进行分析,然后得到具体的数据,主要从用户的跳出率,忠诚度,活跃度等几个方面对用户进行分析。客户分析在这个模块里面我们就根据访客所在的地域信息,访客使用的终端环境,还有访客访问速度等几个方面进行分

32、析。 可行性分析每个软件的开发过程中都会受到各种条件限制,比如说资源,时间,技术,资金等制约因素。所以在每个软件开发之间我们都要对这个软件各个方面进行调查出一份比较权威的可行性分析研究报告,看这个软件开发各个方面条件是否满足,对于商业软件来说主要还是这个软件的开发是否盈利,是否成本大于盈利等等各个方面进行权衡。在软件开发之前进行可行性的研究可以避免软件开发风险,避免人力,资源等方面的浪费。下面我们就这几个方面进行简要的可行性分析。技术可行性本系统在后台服务方面利用了CentOS和Hadoop+Hive 因为现在是大数据时代,我为了提高自身能力所以自学了大数据方面知识,其中就包括Hadoop+H

33、ive ,而且对于linux操作系统我们在大学课程里面学了操作这门可能讲的linux操作系统所以在后台服务方面技术上是可行的。本系统的前台展示页面使用的JavaEE技术,在大学课程里面我们既学习了JavaSE也学习了JavaEE并且本人从事Java开发行业也一年多了所以在这方面还是比较有经验的所以技术上也是可行的。对于easyui前端显示框架和Echarts图表插件而言,他们两都是轻量级的,并且在官网上都有所对应的案例,所以学习起来也比较容易,再者在前面公司做项目是也用到了这两个框架,所以整理而言在技术方面也是可行的。再者UML图,我们在大学阶段开设过软件工程这门课学的就是uml图的制作和整个

34、软件开发流程,在上课时我们也学会了利用visio等工具画uml图,所以在技术上也是可行的。综上所述,我们可得出结论本系统的开发在技术上是可行的。经济可行性本系统开发使用的IDE,环境还有开发语言都是开源的,所以在整个开发成本上节约了很多资源。法律可行性由于本系统开发过程中使用的开发语言,开发环境这些都是采用开源项目,所以不涉及版权问题,而且本系统不会用于商业用途,当然也不会泄露企业内部信息,所以软件整体而言在法律上是可行的。操作可行性本系统后台数据不需要用户进行操作,用户或者决策者所能接触到的只是前台的数据分析成果展示,所以在操作上没有什么难度,主要是需要用户操作的地方和专业名词都有相应的备注

35、。用户只需要有一台电脑,能够联网就可以对系统进行操作,所以系统整体而言操作简单符合操作可行性。 系统总体结构设计本系统是由JavaEE和Hadoop开发,其中数据分析采用Hadoop,在数据分析时需要计算出用户的各种行为等,比如说用户的跳出率的计算,用户忠诚度的分析方法,还有用户对商品打折促销等电商进行的促销活动的敏感度,用户价值的潜力等各个方面的计算与分析,在系统前端用JavaEE做的前台展示效果,侧重于整个系统权限的管理还有对用户行为,地域等信息进行分析。本系统达到的效果是使电商更加了解客户,理解客户的真正需求,然后分种类,分地域,分人群进行产品的推销,已达到客户满意度最高,也可以使电商获

36、得最大利润。系统的整体框架图如图2-1所示。图2-1 用户画像整体框架图本系统分为后台数据分析和前台分析结果展示,后台数据分析主要是为了数据挖掘工程师用来研究和统计,建模用的,前台是展示给一般系统用户看的,这个主要是提供给企业内部,领导者,或者公司内部做营销等专家作分析,并在分析的基础上领导企业的发展方向和以后生产产品定向。系统后台全是数据的分析和算法,基本上是供程序员使用的,后台通过Hive简历的七张表对整个企业客户的消费行为,购买能力等方面进行分析,统计生成数据。而统计数据来源于企业以前系统用来储存数据的数据库mysql中的表。整个后台的整个功能就是数据仓库建模,根据一定的算法模型计算出客

37、户消费订单表,客户购买类目表,客户购买商店表,客户基本属性表,客户营销信息表,客户活动表,客户访问信息表七张表。这七张表分别从不同的方向统计了用户在购买能力,区域分布,忠诚度,敏感指数等方面的值,对用户潜在价值进行挖掘与分析。同时后台还进行很多算法模型的设置和分析例如:潜在汽车消费模型现在大多数电商网站都具有汽车频道,对用户的汽车模型也很关心,如表2-1所示。表2-1 汽车消费模型表用户是否有车0:未识别1:是根据用户是否购买汽车相关的产品来判断用户是否有车潜在汽车用户0:未识别1:是用户浏览或者搜索汽车相关的产品进行判断用户价值模型体现用户对网站的价值,对于提高用户留存率非常重要使用FRM实

38、现用户价值模型参考指标最近一次消费时间或者最后一次消费至今时间消费频率消费金额用户忠诚度模型忠诚度越高的用户越多,对网站的发展有利,如表2-2所示表2-2 用户忠诚度模型表用户忠诚度忠诚型用户偶尔型用户投资型用户浏览型用户未识别浏览型用户:只浏览没购买购买天数大于一定天数的直接判断为忠诚用户购买天数小于一定天数的大部分有优惠才购买的其他类型根据购买天数,购买最后一次距今时间,购买金额进行聚类客户活跃状态模型注册未购买(只注册没购买,多是第三方登录)活跃(可以分为高频,中频,低频,或者直接最近六十天有购买者)沉睡(近九十天购买了,近六十天没有购买)流失(近九十天无购买,曾经购买过)疑似马甲模型马

39、甲是指一个用户注册多个账号多次访问ip地址想的用户账号是同一个人所有同一台手机登录多次的用户账号是一个人所有收货手机号相同的账号是同一个所有以上几个模型是其中比较典型的几个分析模型,我们的整个数据分析都是在这些模型的基础上生成的和操作的。本系统前台主要功能有菜单管理,用户管理,角色管理,跳出率,忠诚度,活跃度,访客流失度,地域分析,速度分析,客户端分析等,如表2-3所示。表2-3 系统功能表用户管理实现对新添用户,给用户赋予角色,和编辑用户基本信息,删除用户等功能。菜单管理对系统的左侧菜单进行管理,实现增删改查等功能。角色管理一个系统可以具有多个角色,而每个角色又具有不同的权限,在这个模块里面

40、实现了对角色的增删改查的功能,除此之外,还有给角色赋予权限和修改权限等功能。跳出率利用折线图对客户跳出率进行展现,同时在图表下面配有查询的数据集做图表作为支持。忠诚度利用饼状图对用户忠诚度进行展现,同时在图表下面配有查询的数据集做图表作为支持。活跃度利用折现图对用户活跃度进行展现,同时在图表下面配有查询的数据集做图表作为支持。在这个模块里面还统计了用户流失率的统计,同时也有相应的数据作为对图表的支持。地域分析利用饼状图对用户所在地域等信息进行展现,同时在图表下面配有查询的数据集做图表作为支持。速度分析利用地图对每个地方用户的访问速度进行分析,同时在地图下面配有查询的数据集做图表作为支持。客户端

41、分析利用饼状图对用户访问所使用的浏览器和操作系统进行分析。同时在图表下面配有查询的数据集做图表作为支持。 系统功能模块设计系统用例图分析用例图是在整个软件或系统开发的分析阶段,常用来描述整个网站的或系统的整体功能,是软件开发中的一种可视化的建模语言。用例图由三部分组成,分别是参与者,用例,以及参与者与用例之间关系的线或箭头。参与者,是指系统以外的操作系统或者与系统发生交互的人。用例,是指整个系统的功能模块。在画用例图时一般小人表示参与者,椭圆形图标表示用例。用例图只是展示整个系统功能模块和操作人的关系,并不是介绍代码。本系统利用用例图展示系统前台的功能模块和操作者的关系。超级管理员可以操作:菜

42、单管理,用户管理,角色管理,用户行为分析,用户访客分析等整个功能,而普通用户或者一般决策者只能使用用户行为分析,用户访客行为等非系统管理功能模块。本系统的总体用例图 如下图2-2:图2-2 系统总体用例图系统功能模块分析 根据前面的对本系统的需求分析,我们可将整个系统分为三块,系统管理,用户行为,访客分析。以下对每个模块进行介绍:系统管理系统管理,管理的是整个系统的配置信息,比如说权限管理,系统菜单管理,用户管理等等。(1) 用户管理:由于本系统是公司或企业内部系统,所以不存在注册等信息,本系统的用户管理包括:新用户的添加(只有超级管理员才有权限),用户角色的分配,还有用户基本信息的修改,例如

43、修改密码等等功能。(2) 用户登陆:系统里面已经存在的用户,可以根据自己的账号和密码,同时输入系统自动生成的验证码,当这些信息都对的时候才能登录系统。进入系统后系统会根据用户的不同角色显示不同的菜单和数据,同时支持登录用户修改自己密码的功能。(3) 角色管理:此功能只有超级管理员才能用,在这块里面用户可以建立不同的角色,比如说超级管理员,一般用户等等信息,除此之外还可以对角色信息分条件查看,删除,修改等功能,在这个里面最重要的就是给不同的角色授予不同的权限。 (4) 菜单管理:这个模块只有在建系统或者系统功能变更或者系统新添加或去除功能的时候才会用到,因为这个涉及到写代码,建立后台处理了。当然

44、我们在本系统中对此功能也是进行了添加修改,删除,查看等功能。用户行为模块用户行为模块主要包括对用户的行为分析,包括用的使用网站的跳出率,用户忠诚度,用户的活跃度等信息。注: 跳出率:跳出者是指访问量只有一页(即PV(page view)是1)访问者。此类访问者所占的比例越高,说明网站的对他们没有太高的吸引力。跳出率是指单页访问次数(即访问者从进入页面离开网站的访问次数)所占的百分比。跳出率是衡量访问质量的指标,跳出率较高通常表示网站进入页(目标网页)与访问者相关性不强。我们可以针对每个关键字和我们投放的广告来调整目标网页,从而最大程度地降低跳出率。目标网页应提供广告中承诺的信息和服务。 忠诚度

45、:回访次数,距离上次访问超过12小时的再次访问,被记录为一次回头。 该功能有助于站长了解站点粘性和用户忠诚度。忠诚的访问者通常对我们的品牌有较高的兴趣,大量的重复访问表示客户为优质客户并且网站有较好的访问者保持力。新访问者量大表示对访问者有强烈的吸引力。(1) 跳出率:根据后台Hive数据统计的数据建立用户的跳出率菜单,该功能在界面上显示功能主要包括,根据时间查询一个时间段内的访客量和跳出访客量,然后做成折线图进行展示,并提供相应的数据支持。(2) 忠诚度:根据后台Hive数据统计的数据建立用户的忠诚度菜单,该功能在界面上显示功能主要包括,根据时间查询一个时间段内的访问次数和比例,然后制成饼状

46、图进行显示,并提供相应的数据支持。(3) 活跃度:根据后台Hive数据统计的数据建立用户的活跃度菜单,该功能在界面上显示功能主要包括,根据时间查询一个时间段内的活跃访客量,当然在这个模块里面我们也添加了查看流失访客的数量,然后做成折线图进行展示,并提供相应的数据支持。访客分析该模块里面主要是针对客户地理位置,访客浏览速度,和访客所使用客户端类型等几个方面从客观角度,对客户进行分析。(1)地域分布:根据后台Hive数据统计的数据建立用户的地域分布菜单,可以使决策者直观的看出我们现在的客户主要来自哪里,等地域分布情况。根据用户自己设定的时间查询不用地区客户的访问量和占总访问量的百分比等信息,将统计

47、结果利用饼状图显示,并提供的相应的数据支持。(2) 速度分布:根据后台Hive数据统计的数据建立用户的速度分布菜单,查询每个地方的访客访问速度等信息,最终在前台用一张地图作为图表,显示不同地区访问速度等数据,直观大方同时提供相应的数据支持。(3) 客户端分析:根据后台Hive数据统计的数据建立用户的客户端分析菜单,查询并统计用于使用的不同客户端信息,如浏览器版本,不同浏览器,操作系统等,然后将统计数据制作成饼状图进行显示,提供相应的数据支持。(4) 移动端分析:根据后台Hive数据统计的数据建立用户的移动端分析菜单,查询并统计用于使用的不同移动端信息,如移动版版本,手机型号等,然后将统计数据制

48、作成饼状图进行显示,提供相应的数据支持。 系统的详细设计与实现本章主要介绍了详细实现过程,在上一章需求分析与概要设计的基础之上首先进行数据仓库建模,其次进行功能模块流程图设计,再次对功能模块的实现过程与代码进行详细说明,最后对本网站的大体结构进行简单介绍。 数据仓库建模数据仓库概述数据仓库从本质上来讲是一种工具或者整个企业内数据集成环境。它是操作系统过渡到决策者为了决策而用的支持系统14。在这个过程中它还解决了好多数据流相关的问题。这些问题主要包括以下几类:如何从原来的操作系统中提取数据。如何把不同数据统一化,并且能够提高性能等。二、 数据仓库表的概念结构设计不管是数据库建库还是利用数据仓库建

49、模,建表,其实其最重要和最本质的东西或者原型就是实体15。一个实体应包含名称和属性等各个属性。一个实体一般有其所特定的概念模型。概念模型的表示方法有很多,目前最常用的是实体-联系(E-R)模型设计方法,实体-联系模型一般使用E-R图来表示,它使用不同形状来分别表示实体、属性、和联系,其中实体用方框表示,代表用户体中客观存在的事务;属性使用椭圆来表示,描述了每个实体所有的特性;而实体间的联系用菱形来表示16。根据上一章对系统的需求分析以及概要设计,建立部分实体的ER图,如图3-1所示。 图3-1 系统管理E-R图三、 数据库逻辑结构设计数据仓库逻辑结构设计,这个阶段是将上个阶段完成的数据库实体-

50、属性图转换成在Hive数据表里面可以建表的属性和字段类型,属性名等信息17。在实际应用时,应先建立实体的物理模型,将模型关系和应该包含的字段确定下来之后进行数据仓库表的建模。 (1) 系统用户表,存放所有的系统用户信息,表结构如表3-1所示。表3-1 普通用户表(sys_user)字段名称类型字节数描述Idint10用户编号(主键)(自增)usernamestring32用户名(非空)passwordstring32密码(非空)emailstring64邮箱(非空)stateint4状态(非空)addressstring64地址(可为空)sexstring6性别(可为空)phoneint20联

51、系电话(可为空)roleIdint4用户角色(非空)userTypeint4用户类型(非空)Remarkstring500备注(可为空)(2) 系统菜单表,存放所有的系统菜单信息,表结构如表3-2所示。表3-2 系统菜单表(auth)字段名称类型字节数描述cidint10菜单id(主键)(自增)authNamestring32菜单名(非空)authpathstring20对应路径(非空)parentIdint10父级菜单Id(可为空)iconstring50菜单图标(可为空)stateint4菜单状态remarkstring500备注(可为空)(3) 系统角色表,存放所有的角色信息,表结构如表

52、3-3所示。表3-3 系统角色表(role)字段名称类型字节数描述roleIdint10角色id(主键)(非空)roleNamestring32角色名称(非空)authIdstring32菜单Id(非空)remarkstring500备注(可为空)(4)客户消费订单表,存放所有的客户消费订单的分析结果数据,表结构如表3-4所示。表3-4 客户消费订单表(user_portrait_order)字段名称类型字节数描述user_idbigint20客户IDfirst_order_timetimestamp第一次消费时间last_order_timetimestamp最近一次消费时间first_or

53、der_agobigint20首单距今时间last_order_agobigint20尾单距今时间month1_hg_order_cntbigint20近三十天的购买次数month1_hg_order_amtdouble近三十天的购买金额month2_hg_order_cntbigint20近六十天的购买次数month2_hg_order_amtdouble近六十天的购买金额month3_hg_order_cntbigint20近六十天的购买次数month3_hg_order_amtdouble近九十天的购买金额max_order_amtdouble最大消费金额min_order_amtdou

54、ble最小消费金额total_order_cntbigint20累计消费次数total_order_amtdouble累计消费金额total_coupondouble累计使用代金卷金额common_addressstring200常用收货地区common_paytypestring200常用支付方式forenoon_order_cntbigint上午下单总数afternoon_order_cntbigint20下午下单总数night_order_cntbigint20晚上下单总数(5)客户购买类目表,存放所有客户购买类目的分析数据,表结构如表3-5所示。表3-5 客户购买类目表(user_po

55、rtrait_cat)字段名称类型字节数描述user_Idbigint20客户Idfirst_catbigint20一级分类IDfirst_cat_namestring20一级分类名称second_catbigint20二级分类IDsecond_cat_namestring20二级分类名称third_catbigint20三级分类IDthird_cat_namestring20三级分类名称month1_cat_cntbigint20近三十天购买类目次数month1_cat_amtdouble近三十天购买类目金额month2_cat_cntbigint20近六十天购买类目次数month2_cat

56、_amtdouble近六十天购买类目金额month3_cat_cntbigint20近九十天购买类目次数month3_cat_amtdouble近九十天购买类目金额total_cat_cntbigint20累计购买类目次数total_cat_amtdouble累计购买类目金额last_cat_timetimestamp最后一次购买类目时间 (6) 客户购买商店表,存放商店近期的所有分析数据信息,表结构如表3-6所示。表3-6 客户购买商店表(user_portrait_shop)字段名称类型字节数描述user_idbigint20客户Idshop_idbigint20商店IDshop_name

57、string50商店名称brand_idbigint20品牌Idbrand_namestring20品牌名称Month1_cart_cntbigint20最近三十天购物车次数Month1_cart_goods_cntbigint20最近三十天购物车商品件数Month1_cart_submit_goods_cntbigint20最近三十天商品提交件数Month1_cart_ratebigint20最近三十天的交易成功率Month1_cart_cancel_cntbigint20最近三十天的购物车取消商品数last_cart_timetimestamp最后一次购物车时间Month3_valid_g

58、oods_cntbigint20最近九十天排除退据商品件数Month3_valid_goods_amtdouble最近九十天排除退据商品金额Month3_sales_cntbigint20最近九十天购买订单数Month3_cod_cntbigint20最近九十货到付款订单数Month3_return_goods_cntbigint20最近九十天的退货数Month3_return_goods_amtdouble最近九十天的退货金额Last_return_timetimestamp最后一次退货时间(7) 客户属性信息表,存放所有客户属性信息,表结构如表3-7所示。表3-7 客户属性信息表(user

59、_portrait_basic)字段名称类型字节数描述user_idint10客户IdUser_namestring100客户登录名Sexstring10性别birthdaystring20生日Ageint4年龄constellationstring10星座big_area_namestring32大区域provincestring50省份Citystring50城市City_levelstring50城市等级Hex_mailstring50邮箱Hex_phonestring50加密手机Fore_phonestring50手机前几位Op_phonestring50手机运营商Add_timest

60、ring50注册时间Login_ipstring50登录IP地址Login_sourcestring200登陆来源Request_userstring50邀请人Total_markbigint20会员积分Used_markbigint20已使用积分Level_namestring20会员等级名称Blacklistbigint20客户黑名单Is_marriedbigint20婚姻状况Educationstring50学历Monthly_incomedouble月收入Professionstring50职业Sex_modelbigint20性别模型Is_pregnant_womanbigint20

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论