基于SpringBoot的联通积分商城数据运营系统设计与实现

news/2024/5/14 4:08:25

目 录

摘 要 I
Abstract II
引 言 1
1 研究背景 3
1.1 项目背景及意义 3
1.2 国内外现状 3
1.3本章小节 4
2 系统分析 5
2.1 需求分析 5
2.2 主要功能模块 5
2.3 数据库设计 6
2.4 本章小节 10
3 关键技术 11
3.1 开发语言 11
3.2 SpringBoot框架 12
3.3 开发模式 14
3.4 本章小节 14
4 详细设计与实现 15
4.1 开发工具及环境 15
4.1.1 开发工具 15
4.1.2 开发环境 15
4.2 详细设计与实现 15
4.2.1 热力图分析 15
4.2.2 转化率分析 18
4.2.3 流量分析 19
4.2.3 用户分析 21
4.2.4 商品分析 26
4.2.5 活动分析 29
4.3 本章小节 30
5 系统测试 31
5.1 数据接口测试 31
5.1.1热力图分析接口 31
5.1.2接口测试总览 32
5.2 功能性测试 33
5.2.1测试环境 33
5.2.2测试结果 33
5.3 本章小节 34
结 论 35
致 谢 36
参考文献 37

摘 要

随着电商平台快速发展,如今电商成为互联网变现的主要方式,联通积分商城便是联通公司的电商平台,其不仅仅具有普通电商的特点,更具有联通用户积分联动的特色,用户通过话费充值或参与活动可获得积分,而积分可在积分商城内消费,这种独特的电商模式具有互联网产品的用户主导性,所以需要对用户进行运营。而数据运营将在运营策略中起到主导地位,所以为此需要提供独特的数据运营系统。
首先,本文旨在通过SpringBoot技术,通过处理积分商城日志数据,将数据可视化展示,从而得到应用价值。并结合联通积分商城运营数据的特点,研究如何搭建出联通积分商城数据运营系统,
其次,本文综述了SpringBoot技术框架技术的发展。并通过该框架开发出一套通过数据库存储数据,后端运算数据,前端展示数据的一个联通积分商城数据运营系统。以此系统辅助运营人员调整运营策略,为积分商城事业部达到创收目的。
最后本文所开发的联通积分商城数据运营系统,现已投入使用,经实践表明能够满足联通积分商城事业部的业务需求,验证本系统设计的思路,并为其他类似系统提供了借鉴。
关键词:联通积分商城; SpringBoot; 数据运营

Abstract

With the rapid development of e-commerce platforms, e-commerce has become the main way to monetize the Internet. Unicom Points Mall is the e-commerce platform of Unicom. Features, users can get points through recharge or participation in activities, and points can be consumed in the points mall. This unique e-commerce model has the user-dominant nature of Internet products, so users need to be operated. The data operation will play a leading role in the operation strategy, so it is necessary to provide a unique data operation system.
First of all, this article aims to obtain the application value by processing the log data of the points mall through SpringBoot technology and displaying the data visually. Combined with the characteristics of Unicom Points Mall’s operating data, it studies how to build a Unicom Points Mall data operation system.
Secondly, this article summarizes the development of SpringBoot technology framework technology. And through this framework, a set of Unicom points mall data operation system that stores data through the database, calculates data on the back end, and displays data on the front end is developed. With this system, the operating personnel are assisted to adjust their operating strategies and achieve revenue-generating goals for the points mall business unit.
Finally, the Unicom Points Mall data operation system developed in this article is now in use. It has been shown in practice that it can meet the business needs of the Unicom Points Mall business department, verify the design ideas of this system, and provide reference for other similar systems.
Keywords: Unicom points mall; Springboot; data operation

引 言

随着联通积分商城的不断发展日志数据的急剧膨胀[1],积分商城的日志获取不仅仅满足于数量的增加,而需要从海量数据中提取具有价值的信息[2]。通过对数据的分析,可以获取出积分商城的精准,有效的产品状态,验证商城发展的实际状况 。同时更多重要数据的展示,有助于未来运营策略的调整,以此对积分商城进行优化提高产品竞争力[3]。故而需要开发一套符合联通积分商场需求的数据运营系统[4]。
目前市面上数据运营系统主要以神策,诸葛IO等产品化系统为主,这类产品设计思想过于产品化主要以通用化功能为主。且价格成本,数据安全性等方面有不确定性因素。其不具备对联通积分商城数据的针对性。所以不能满足联通积分商城的需求[5]。
为了达到数据运营的效果,能够更加直观地展示联通积分商城用户的行为变化显得尤为重要,因此开发出一套针对联通积分商城数据特点以SpringBoot技术为核心,通过数据库存储数据,后端运算数据,前端展示数据的一个联通积分商城数据运营系统。以此系统辅助运营人员调整运营策略,为积分商城达到创收目的。
根据对联通积分商城数据运营系统的分析,为达到说明本系统的目的,本文的共分为六个章来阐述,主要内容如下:
第一章:研究背景
说明联通积分商城数据运营系统项目背景及意义,分析国内外发展研究现状[6]。
第二章:系统分析
根据需要进行系统设计、将系统功能模块划分成热力图分析,用户行为,转化率分析等,并根据功能模块设计数据库[7]。列举用户权限表,热力图表等具有代表性的数据库表。
第三章:关键技术
介绍所选择的开发语言及其原因,简述所用框架和开发模式,包括Java语言,SpringBoot框架等。
第四章:详细设计与实现
简介开发工具及开发环境,按照功能模块对数据交互流程进行描述,说明各个功能模块代码所在包和类。
第五章:系统测试
对联通积分商场数据运营系统统进行测试,包括接口测试和功能测试。达到预期结果,完成系统开发。
第六章:结论
本章对全文进行了概述,提出本文的贡献,对联通积分商城的设计与实现进行了总结。

1 研究背景

1.1 项目背景及意义
随着电商平台快速发展,如今电商成为互联网变现的主要方式,联通积分商城便是联通公司的电商平台,其不仅仅具有普通电商的特点,更具有联通用户积分联动的特色,用户通过话费充值或参与活动可获得积分,而积分可在积分商城内消费,形成独特的商业模式。
联通积分商城具有电商平台具有海量数据量的特点,传统方式手动提取数据,建立表格再进行分析的流程过于繁琐。且人工成本过高,任何一步出现失误都会对分析结果产生巨大影响。所以开发一套联通积分商城运营系统使数据分析到数据展示规范化和现代化。
计算机技术的发展是时代的福音,对海量数据的分析已经不仅仅停留在数据获取阶段,而是通过对数据的分析,提取更有价值的信息。提供用户画像,流量分析等关键数据,以此系统辅助运营人员调整运营策略,为积分商城事业部达到创收目的。
1.2 国内外现状
目前国内较为成熟的数据运营产品有神策,诸葛io等。其中神策最为知名,用户量最大,数据模型以漏斗,回访为主。但需要数据仓库支持,非结果性存储,随着时间的累计日志将格外繁多。其 SaaS版本是根据数据量收费,数据安全不得以保证。而私有部署版是按照机群规模收费将产生较高的费用,也不适用于积分商城。神策虽然支持自定义事件和埋点,但不可以自定义展示方式。综上国内研究的现状是数据运营系统更注重对于产品化和透明度的体现,发展偏向于通用化和产品化,缺少针对性,并且存储成本较高。目前仅有移动和联通两家具有运营商积分商城平台,对于联通积分商城,该商城具有三大运营商电商平台的独特特点不仅仅是电商平台还具有积分概念,是一种独特的商业模式,所以目前国内产品无法满足积分商城全部需求。
如今国外较为主流此类产品有GrowingIO、Ptmind Ptengine、Google Analytics等。其中GrowingIO产品只支持SaaS部署,所以数据安全性得不到有效保障。Ptengine的产品具有较好的交互体验,其产品的特色是热力图功能。Ptengine的热力图的强大之处在于功能丰富实用,而且表现直观。但Ptengine热力图的响应速度存在问题。且其在部分情况下的数据准确度可能出现问题。国外不具有国内的运营商环境,更不具有国内特色的互联网电商平台。综上所属国外虽然目前具有较好的产品表现能力。但目前已知产品还无法满足联通积分商城的全部需求。
综合国内外研究现状和发展趋势,对于数据运营系统的技术储备较为充足,但符合联通积分商城需求的数据运营系统暂未出现。故而需要开发本套联通积分商城数据运营系统。
1.3本章小节
本章介绍了联通积分商城数据运营系统的项目背景延伸出了项目意义,并对现阶段国内外数据运营系统的发展作出了分析。通过分析国内外研究现状和发展趋势,为解决积分商城实际需求开发出本系统。

2 系统分析

2.1 需求分析
全面准确地分析用户的需求,理解用户的目地是开发出一款优秀的软件的重要因素[8]。数据运营作为产品运营的重要组成部分,数据运营的效果大大决定了产品的成果[9],运营离不开产品。所以数据运营是服务于产品进行的。
故而数据运营具有以下目标:
1)提产品现状评价的准确性:每个产品都存在不同的产品定位和运营目标,不能用统一的指标来衡量,选取提炼自身重要的结果数据作为运营指标,根据这些指标的好坏来判断当前产品的状态。
2)立体化产品指标:对产品的的认识不能仅仅停留于当前状态,对关键结果数据的分析不仅仅停留在在结果,还需要对造成结果的因素进行分析得出结论。并以此为根据调成运营策略[10]。
3)提高运营效率:通过运营数据的表现寻找获取产品状态、发现产品问题,以此产生开发需求,降低开发和需求的沟通成本,提高产品优化的效率,使产品质量更加优异。
为达到以上目的,所以需要开发一套联通积分商城数据运营系统。通过对数据的分析,提取更有价值的信息。提取用户和商品信息等关键数据。辅助运营人员调整运营策略,为积分商城事业部达到创收目的。
2.2 主要功能模块
本系统主要满足联通积分商城数据运营系统需求。为此整个系统的功能都围绕联通积分商城的核心功能进行设计,帮助运营人员更加专业,高效地展开工作。本系统的主要功能包括热力图分析、转化率分析、流量分析、用户分析、活动分析、商品分析。如图2.1所示。
在这里插入图片描述

图2.1 主要功能模块
热力图分析:手厅用户作为了商城的主要用户来源,根据积分商城事业部需求形成手厅热力图,为联通积分商城手厅首页面的优化与改进提供可靠数据支持。
转化率分析:从进入商城到下单的关键步骤进行数据分析统计,得出每一步的转化率,通过对转化率的分析为商城下单流程进行优化调整。
流量分析:统计移动端和PC端全部商城用户流量。从Page View(PV),Unique Visitor(UV),Visit View(VV)的数据得到商城的实际流量状态,提高产品现状评价的准确性。
用户分析:本功能模块从用户角度统计数据,统计分析商城现有用户数据。为用户运营策略的调整提供数据支持。
商品分析、活动分析:分别从商品角度、活动角度统计数据,用以调节商城商品构成和获取各类活动效果地反馈。
通过上述功能模块基本达到联通积分商城数据运营系统的需求。
2.3 数据库设计
整个数据运营系统由多个功能模块和子功能组成,采用分功能结果化存储方式,不存在实际意义上的实体关系所以无法绘制ER图,且各个功能都有为之支持的数据库表,所以这里无法列举所有数据库设计,在本章节中将列举部分表。
员工表,如表2.1所示。表中有10个字段,staff_id字段是主键,为自增长字段。staff_code字段是唯一键。本表主要用于记录用户登录名,密码等信息。为了确保安全性,密码采用MD5加密不存储明码。
表2.1 t_statistics_staff员工表
字段名 字段类型 是否主键 默认值 备注
staff_id int(8) 是 自增长 员工ID
staff_code varchar(30) 唯一键 员工登录名
staff_name varchar(50) 否 员工姓名
passwd varchar(100) 否 员工登录密码
staff_status char(1) 否 1 员工状态 : 0-锁定(即被删除) ; 1-正常
link_phone varchar(50) 否 NULL 联系电话
email varchar(256) 否 NULL 邮箱
update_staff int(8) 否 NULL 更新员工
update_time datetime 否 NULL 员工最后更新时间

续表2.1 t_statistics_staff员工表
字段名 字段类型 是否主键 默认值 备注
channel_code varchar(30) 否 1 员工所属渠道ID
channel_type varchar(10) 否 0 员工所属渠道类型 : 0-自有;1-第三方
init_passwd_tag char(1) 否 1 员工初始密码标记 : 1-初始密码 ; 0-非初始密码
province_code varchar(4) 否 99 员工所属省份 : 99-代表全国(参照ec_b_province)
app_level varchar(10) 否 0 员工应用级别 : 0-全国 ; 1-省份
partners_id int(8) 否 合作商编码
partners_name varchar(100) 否 合作商名称
create_staff int(8) 否 创建员工
last_login_time datetime 否 最后登录时间
cost_unit int(8) 否
purchaser_id varchar(20) 否
category varchar(2) 否 0 人员类别
角色表,如表2.2所示。表中有8个字段,4个整型类型,4个为字符串类型,id字段是主键,为自增长字段。
表2.2 t_statistics_role角色表
字段名 字段类型 是否主键 默认值 备注
id int(11) 是 自增长
role_name varchar(50) 否 NULL 角色英文名
role_name_cn varchar(50) 否 NULL 角色中文名
category varchar(10) 否 NULL 管理范畴
department varchar(10) 否 NULL 部门
groupId int(2) 否 NULL 所属组别
role_level int(2) 否 NULL 权限级别
province_code int(5) 否 0 省份标记
角色组表,如表2.3所示。表中有2个字段,1个整型类型,1个字符串类型。group_id字段是主键,为自增长字段。
表2.3 t_statistics_role_group角色组表
字段名 字段类型 是否主键 默认值 备注
group_id int(11) 是 自增长 角色组ID
group_name varchar(255) 否 NULL 角色组名
员工与角色对应表,如表2.4所示。表中有3个字段,3个都是整型类型。id字段是主键,为自增长字段。
表2.4 t_statistics_role_staff员工与角色对应表
字段名 字段类型 是否主键 默认值 备注
id int(11) 是 自增长
staff_id int(11) 否 NULL 员工ID
role_id int(11) 否 NULL 角色ID
左侧菜单权限表,如表2.5所示,表中有6个字段,4个是整型类型,2个是字符串类型。id字段是主键,为自增长字段。
表2.5 t_statistics_permission左侧菜单权限表
字段名 字段类型 是否主键 默认值 备注
id int(11) 是 自增长
permissionName varchar(50) 否 NULL 功能名称
parentId int(11) 否 NULL 省份ID
orderNumber int(11) 否 支持字段
path varchar(20) 否 所属功能
childrenType int(11) 否 子ID
角色与权限对应表,如表2.6所示。表中有3个字段,3个是整型类型,id字段是主键,为自增长字段。
表2.6 t_statistics_permission_role角色与权限对应表
字段名 字段类型 是否主键 默认值 备注
id int(11) 是 自增长
permissionId int(11) 否 NULL 权限ID
roleId int(11) 否 NULL 角色ID
热力图信息表,如表2.7所示。表中有15个字段,id字段是主键,为自增长字段。relation_id字段是逻辑外键,与t_subpage_relation(热力图外联表)的id字段关联。
表2.7 t_subpage_info热力图信息表
字段名 字段类型 是否主键 默认值 备注
id int(11) 是 自增长
subpage_mark varchar(1000) 否 NULL 坑位标识
uv int(255) 否 NULL 坑位uv
pv int(255) 否 NULL 坑位pv
click_num int(11) 否 NULL 点击量
order_num int(11) 否 NULL 订单量
ctr_num double(11,4) 否 NULL 点击率
br_num double(11,4) 否 NULL 跳出率
ovr_num double(11,4) 否 NULL 订单量占比
cvr_num double(11,4) 否 NULL 转化率(订单/点击用户数)
cr_num double(11,4) 否 NULL 点击量占比
续表2.7 t_subpage_info热力图信息表
字段名 字段类型 是否主键 默认值 备注
create_time date 否 NULL 日期
url archar(1000) 否 NULL
relation_id int(11) 否 NULL t_subpage_relation的id
click_uv int(11) 否 NULL 点击用户数
热力图外链表,如表2.8所示。表中有2个字段,1个是整型类型,1个是字符串类型。id字段是主键,为自增长字段。
表2.8 t_subpage_relation 热力图外链表
字段名 字段类型 是否主键 默认值 备注
id int(11) 是 自增长
subpage_url varchar(1000) 否 NULL 坑位外链url
热力图坑位信息表,如表2.9所示。表中有5个字段,id字段是主键,为自增长字段。为节省数据库空间,将其中两个字段设为tinyint类型。
表2.9 t_subpage_attribute热力图坑位信息表
字段名 字段类型 是否主键 默认值 备注
id int(11) 是 自增长
att_name varchar(50) 否 热力图坑位名称
att_type tinyint(4) 否 0 0:能跳转的点击;1:不能跳转的点击;2:“更多”选项
order_number tinyint(4) 否 NULL 排序标识
str_id int(11) 否 NULL 关联t_subpage_structure表
热力图日期表,如表2.11所示。表中有3个字段,1个整型类型,1个字符串类型,1个日期类型。
表2.10 t_subpage_version热力图版本更新表
字段名 字段类型 是否主键 默认值 备注
id int(11) 是 自增长
version_date date 否 NULL 版本日期
remark varchar(255) 否 NULL 标记
热力图结构表,如表2.10所示。表中有6个字段,2个整型类型,3个字符串类型,1个日期类型。id字段是主键,为自增长字段。本表主要用来确定热力图结构。
表2.11 t_subpage_structure热力图结构表
字段名 字段类型 是否主键 默认值 备注
id int(11) 是 自增长
str_name varchar(10) 否 NULL 坑位中文名
续表2.11 t_subpage_structure热力图结构表
字段名 字段类型 是否主键 默认值 备注
order int(2) 否 NULL 排序标识
structure varchar(50) 否 NULL 结构
version_date date 否 NULL 版本日期
str_mark varchar(50) 否 NULL 英文标识
用户忠诚度分类表,如表2.12所示,表中有9个字段,8个整型类型,1个实际类型,tul_id字段是主键,为自增长字段。
表2.12 t_user_label用户忠诚度分类表
字段名 字段类型 是否主键 默认值 备注
tul_id int(11) 是 自增长
otul_silence_num int(11) 否 NULL 0沉默
tul_new_add_num int(11) 否 NULL 1新增
tul_active_num int(11) 否 NULL 7活跃
tul_exchange_num int(11) 否 NULL 2兑换
tul_loyal_num int(11) 否 NULL 3忠诚
tul_awaken_num int(11) 否 NULL 4唤醒
tul_high_risk_num int(11) 否 NULL 5高危
tul_create_time date 否 NULL 日期
2.4 本章小节
本章主要进行了对联通积分商城数据运营系统的需求分析,根据需求分析设计了主要功能模块[11],包括热力图分析、转化率分析、流量分析、用户分析、活动分析、商品分析。并简述了数据库设计。

3 关键技术

3.1 开发语言
本系统主要采用Java语言开发。Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称[12]。由James Gosling和同事们共同研发,并在1995年正式推出[13]。具有面向对象,分布式,多线程等特点。本系统选择采用Java语言进行开发,原因如下:
1.Java语言开发的程序具有可移植性,一次编译多处运行,在编译一次得到字节码后即可在所有符合要求的JVM中运行[14]。JVM内存模型如图3.1所示。
在这里插入图片描述

图3.1 JVM内存模型
2.联通积分商城数据运行系统作为联通积分商城的子系统应存在技术上的内在联系,联通积分商城采用Java语言开发,所以子系统自然使用Java语言。
3.Java具有较好的“环境”,为以后系统扩展留下空间。拥有较为丰富的开源组件和较为成熟的开源社区。为未来系统的扩展留打好基础,所以本系统采用Java语言进行开发。
3.2 SpringBoot框架
本系统后端采用SpringBoot框架,SpringBoot是Spring社区的一个开源项目[15]。
JavaWeb技术从最早的Servlet开始,到如今以Spring为核心形成了一套完成生态的开源组件。Spring作为其核心功能强大、使用便捷是现在大部分主流框架的首选。
Spring框架的核心是IOC(Inversion of Control控制反转)、AOP(Aspect Oriented Programming 面向切面编程)[16]。Spring模块如图3.2所示。
在这里插入图片描述

图3.2 Spring模块
Spring使得程序员从繁重的EJB(Enterprise Java Bean)中解脱出来[17]。IOC控制反转,将创建对象通过反射技术交给Spring框架解决,使程序员不需要自己创建对象,降低了程序的耦合性,提高了代码的可维护性。AOP通过预编译方式和动态代理实现程序功能的统一维护从而简化编程减少代码量[18]。Spring框架一直比较稳定,是主流开发框架,大部分JavaWeb项目的开发都以此作为首选,但随着互联网的发展,项目业务的复杂和深入,Spring需要做大量繁重的配置工作,大量的XML文件和个性化的注解使开发工作重点仿佛不在业务而是配置。大大增加了维护难度,影响了开发效率。所以需要更加轻量级更加高效的开发框架。
SpringBoot框架是由Pivot团队设计并研发[19],SpringBoot为了将开发人员从繁重的配置中解脱出来,采用Maven的“约定大于配置”的思想[17],为大多数配置按照过去的预定值提供默认值。并可以使用Properties文件或yaml文件进行个性化配置。内置Tomcat服务器,无需本地发布即可本地运营。并且支持jar/war包两种发布方式,实施人员无需模版化的重复操作,不会产生多余的代码量,无需XML书写配置。并内置SpringMVC,无需自行整合。SpringMVC流程如图3.3所示。
在这里插入图片描述

图3.3 SpringMVC流程
SpringBoot提供了更高的开发效率,使程序员专注于业务的编写,所以得到了广泛的使用。
3.3 开发模式
本系统采用前后端分离的开发模式,在传统前后端不分离的开发模式中,前端页面所看到的效果由后端控制,也就是由后端渲染或重定向[20]。后端前端开发同步进行。具有代表性的是JSP技术。这种开发模式前后端耦合性较高,增加了大量的沟通成本,调试成本等,而且前后端的开发进度相互影响,大大降低了开发效率[21]。所以需要一种新的开发模式——前后端分离[22]。
前后端分离的开发模式,前端与后端的偶尔度较低,可以单独调试开发,后端负责提供数据,前端通过访问后端接口对数据进行操作。在开发阶段,前后端工程师约定好数据交互接口,实现并行开发和测试[23];前后端之前使用HTTP/HTTPS或者其他协议进行交互请求[24]。这种开发模式可以大大提高开发效率,增加代码可维护性,降低调试难度[25]。前后端分析开发模式流程如图3.2所示。
在这里插入图片描述

图3.2 前后端开发流程图
3.4 本章小节
本章介绍了完成本系统主要需要的相关技术,首先文章从开发语言上介绍了Java并说明了选择Java的原因,其次介绍了后端开发框架SpringBoot的发展,最后介绍了前后端相分离的开发模式。

4 详细设计与实现

4.1 开发工具及环境
4.1.1 开发工具
本系统选用用Intellij IDEA作为后端开发IDE、WebStorm作为前端开发IDE,前端采用开发VUE作为开发框架,Echarts技术作为数据可视化工具。后端采用SpringBoot作为主题开发框架,MyBatis插件作为数据库和后端的链接工具。即开发工具如下:
IDE:Intellij IDEA、WebStorm;
前端开发框架:VUE、Echarts;
后端开发框架:SpringBoot、MyBatis。
4.1.2 开发环境
本系统于MacBook Pro开发,其操作系统是macOS Catalina 10.15.3,该系统的系统位数为64位。处理器为2.6GHz Intel Core i7、内存16GB、数据库服务器采用MySQL5.7。即开发环境如下:
操作系统:macOS Catalina 10.15.3
处理器:2.6GHz Intel Core i7
内存:16GB
数据库服务器:MySQL5.7
4.2 详细设计与实现
4.2.1 热力图分析
积分商城运营人员通过热力图分析,可以直观清楚地看见各个坑位的数据信息,可按日、月、周查看点击量、订单量、转化率3种数据,并可以通过同比、环比功能查看各个坑位在运营手段调整之后数据是否按照预期方向改变。导出功能可以将数据形成Excel下载到本地,通过下钻热力图可以看到不同Banner在同一坑位的数据表现情况。本功能位于subPageInfo包内主要包括的类如表4.1所示。
表4.1 热力图功能模块主要类
层名 类名
业务逻辑层 SubPageService
SubPageServiceImpl
封装对象类 exportBean、SubpageAttribute
SubpageStructure、SubmitBea
续表4.1 热力图功能模块主要类
层名 类名
数据持久层 SubPageInfoMapper
控制层类 SubPageInfoController
本功能分为分析类型、分析时间、对比周期等选项,共计11个功能点如图4.1所示。
在这里插入图片描述

图4.1 热力图功能设计
运营人员的操作,通过Ajax技术以json数据格式发送给Controller,调用searchData方法。通过业务逻辑层调用Mapper层,通过SubPageInfoMapper访问数据库得到数据后,将数据处理后返回给浏览器,浏览器获取数据后渲染页面展示热力图如图4.2所示。
在这里插入图片描述

图4.2 热力图功能模块展示
4.2.2 转化率分析
本功能通过漏斗图和折线图两种可视化方式为积分商城运营人员提供可视化数据支持,通过漏斗图展示从首页访客数到详情页访问数到下单量到成交量到支付量的总转化率和每一过程的转化率。通过折线图对转化率每天的变化趋势进行展示。通过这两种可视化方式可以直观地表现出过程是否存在问题,关键步骤中现转化率过低,提醒运营人员该步骤可能出现问题。导出功能可以将数据形成Excel下载到本地。本功能共计7个功能点。如图4.3所示。
在这里插入图片描述

图4.3 转户率功能设计
本功能位于funnelPolt包内,主要包括的类如表4.2所示。
表4.2 转化率功能模块主要类
层名 类名
业务逻辑层 FunnelPlotService
FunnelPlotServiceImpl
数据持久层 FunnelPlotMapper
控制层类 FunnelPlotController
运营人员的操作,通过Ajax技术以json数据格式发送给FunnelPlotController,漏斗图调用searchData方法,折线图调用lineChart方法。通过业务逻辑层调用Mapper层,通过FunnelPlotMapper访问数据库得到数据,将数据处理后返回给浏览器,浏览器获取数据后渲染页面展示漏斗图和折线图如图4.4所示。
在这里插入图片描述

图4.4 热力图功能模块展示
4.2.3 流量分析
⑴ 生成推广URL
商城活动推广通过不同的曝光渠道、页面等进行推广,每个新的推广活动前在本页面填写活动名称、活动链接、渠道类型等信息后通过本页面生成URL。本功能位于serving包内,主要包括的类如表4.3所示。
表4.3 生成推广URL功能模块主要类
层名 类名
业务逻辑层 ServingService
ServingServiceImpl
封装对象类 ServingDataEnum
ServingGoods
ServingPlace
SubmitBean
数据持久层 ServingMapper
控制层类 ServingController
填写好推广互动信息后点击获取URL,请求被ServingController捕获执行getUrl方法,调用servingService的getUrl方法,通过Mapper层向数据库添加数据。本功能页面如图4.5所示。
在这里插入图片描述

图4.5 生成推广URL功能模块展示
⑵ 推广列表
统计推广活动的uv、点击量、订单量等数据信息。形成列表同组人员和管理员可以查看、删除的统计信息展示列表。此部分代码如下:
// 1.根据id判断角色
List loginRoleList =
servingMapper.selectRoleByStaffId(loginStaffId);
// 判断是否是管理员,roleId = 1
// 是管理员全部显示
if (loginRoleList.contains(1)) {
getAllAny(paramMap,resultMap,submitBean);
return resultMap;
}else {
// 1.不是管理员
// 2.根据登陆者ID,查该登陆者同组有哪些Id
List sameGroupStaffIdList = servingMapper.selectSameGroupStaffIdByStaffId(loginStaffId);
// 3.根据同组Id,查这些人发布过的信息 getAllAny(paramMap,resultMap,submitBean,sameGroupStaffIdList);
return resultMap;
}
且每一个活动具有单独的数据统计展示。本功能同“生成推广URL”共在serving包内,和生成URL功能的类相同,但调用的方法不同。本功能实现采用设计模式中的工厂模式,ServingDataService接口拥有多个不同实现类,各个实现类声明代码如下:
public class ServingDataClickServiceImpl implements ServingDataService、
public class ServingDataIntegralServiceImpl implements ServingDataService、
ServingDataOrderServiceImpl implements ServingDataService、
public class ServingDataPvChildrenServiceImpl implements ServingDataService。
以此方式解决过多的if/else分支问题。本页面展示如图4.6所示。
在这里插入图片描述

图4.6 推广列表功能模块展示
4.2.3 用户分析
⑴ 用户画像
本功能根据用户信息生成用户画像,从性别分布、星座分布、地域分布、积分分布、渠道分布、商品分布等纬度多方面多角度以可视化技术展示,使数据运营人员直观的得知所选时间段内用户的偏好信息。导出功能可以将数据形成Excel下载到本地。本功能位于user包内,主要包括的类如表4.4所示。
表4.4 用户画像功能模块主要类
层名 类名
业务逻辑层 UserNatureService
UserNatureServiceImpl
封装对象类 UserNatureOverview
SubmitBean
UserLivenessChange
UserLivenessInfo
UserNatureOverview
数据持久层 UserNatureMapper
控制层类 UserNatureController
点击用户画像被控制层overview捕获,调用UserNatureService的getOverview方法,通过UserNatureMapper获取数据库数据,将数据处理后返回浏览器,获取数据后浏览器渲染页面展示,如图4.7所示。
在这里插入图片描述
图4.7 用户画像功能模块展示
⑵ 用户价值
根据RFM模型以柱状图、表格、气泡图形式表现用户价值分析,表格展示用户级别划分规则,柱状图展示各级别数量,气泡图展示分布情况。本功能位于rfm包内,主要包括的类如表4.5所示。
表4.5 用户价值功能模块主要类
层名 类名
业务逻辑层 RMFService
RMFServiceImpl
封装对象类 RMFTableBean
RMFBarBean
RFMBubbleBean
数据持久层 RFMMapper
控制层类 RFMController
点击本页面,表格被控制层rfmTable方法捕获,柱状图被控制层rfmBar方法捕获,气泡图被rfmBubble方法捕获。分别调用RMFService的GetRFMTable、GetRFMBar、GetRFMBubble方法,代码如下:
// 表格
map.put(“data”,rmfService.GetRFMTable(submitBean));
// 柱状图
map.put(“data”,rmfService.GetRFMBar(submitBean));
// 气泡图
map.put(“data”,rmfService.GetRFMBubble(submitBean));
通过业务逻辑层调用Mapper层RFMMapper访问数据库得到数据。调用Mapper层代码如下:
// 表格
List listRmfTableBeans = rfmMapper.listTableSelect(submitBean);
// 柱状图
List rmfBarBeanList = rfmMapper.listBarSelect(submitBean);
// 气泡图
List rfmBubbleBeans = rfmMapper.listBubbleSelect(submitBean);
将处理数据,返回给浏览器,浏览器渲染页面展示如图4.8所示。
在这里插入图片描述

图4.8 用户价值功能模块展示
⑶ 用户路径
根据用户从首页到下单的行为从各个页面统计用户的行为,形成用户行为轨迹,得出用户在哪个页面停留时间长,哪个页面跳出率高,为运营人员提供可视化展示,有助于针对性优化页面。本功能位于user包内,主要包括的类如表4.6所示。
表4.6 用户路径功能模块主要类
层名 类名
业务逻辑名 VisitPageService
VisitPageServiceImpl
封装对象类 VisitSubBean
数据持久层 VisitInfoMapper
VisitInfoNotLoginMapper
控制层类 UserVisitController
页面停留通过在可视化展示,每点击一级页面弹出下一级别,并现实关机数据信息。数据获取通过UserVisitController捕获,通过业务逻辑层和Mapper层向数据库请求数据,得到数据后对数据处理的部分代码如下:
for (int i = 0; i < childInfoList.size(); i++) {
// 单个子节点信息
HashMap<String, Object> chirldMap = new HashMap<>();
chirldMap.put(“id”, childInfoList.get(i).getId());
chirldMap.put(“name”, childInfoList.get(i).getPageName());
int childPv = childInfoList.get(i).getPv();
chirldMap.put(“pv”, childPv);
chirldMap.put(“stayTime”, childInfoList.get(i).getStayTime());
// 跳出率
Double jumpRation = getJumpRatio(childPv, pv);
chirldMap.put(“jumpRatio”, jumpRation);
jumpRationList.add(jumpRation);
pageLevel = childInfoList.get(i).getPageLevel();
chirldMap.put(“page_level”, pageLevel);
int pageType = childInfoList.get(i).getPageType();
if (childPv == 0){
pageType = 1;
}
//该页面是否还有后续 0:有后续;1:没后
// 当前节点是否是虚0.虚 1.实
chirldMap.put(“page_type”, pageType); chirldMap.put(“isFictitious”, 1);
allChildInfoList.add(chirldMap);
}
HashMap<Object, Object> leaveMap = new HashMap<>();//跳出率
leaveMap.put(“jumpRatio”, getLeave(jumpRationList));
leaveMap.put(“name”, “离开页面”);
leaveMap.put(“page_level”, pageLevel);
leaveMap.put(“page_type”, “1”); //0:有后续;1:没后续
allChildInfoList.add(leaveMap);
map.put(“jumpRatio”, getLeave(jumpRationList));
map.put(“children”, allChildInfoList);
处理完的数据返回浏览器,浏览器获取数据渲染展示如图4.9所示。
在这里插入图片描述

图4.9 用户路径功能模块展示
4.2.4 商品分析
根据销量、转化率、利润等多个参数分析商品,按照3个参数划分商品,通过柱状图、表格、气泡图的方式可视化展示。是商城商品选择运营的重要依据。本功能位于scp包内,具有较多的封装对象,主要包括的类如表4.7所示。
表4.7 商品价值功能模块主要类
层名 类名
业务逻辑层 SCPService
SCPServiceImpl
封装对象类 SCPBarBean、SCPChartBean
SCPKindName、SCPReBarBean
SCPTableBean
SCPTableTopBean
SCPTopBean
数据持久层 SCPMapper
控制层类 SCPController
商品价值分析,同用户价值分析相似,比用户价值分析多出Top柱状图排序功能。柱状图封装好公用代码使业务代码简洁明了。
封装代码如下:
private void setSCPReBarBean(List list,Integer i,Integer count, Integer conversionMark,Integer orderMark,Integer profitMark,Integer isOrderNum){
list.get(i).setNum(count);
list.get(i).setConversionMark(conversionMark);
list.get(i).setOrderMark(orderMark);
list.get(i).setProfitMark(profitMark);
list.get(i).setIsOrderNum(isOrderNum);
}
业务代码如下:
int k = 0;
// l小于,g大于
setSCPReBarBean(list,k++,gggCount,1,1,1,1);
setSCPReBarBean(list,k++,gglCount,1,1,0,1);
setSCPReBarBean(list,k++,glgCount,1,0,1,1);
setSCPReBarBean(list,k++,lggCount,0,1,1,1);
setSCPReBarBean(list,k++,gllCount,1,0,0,1);
setSCPReBarBean(list,k++,lglCount,0,1,0,1);
setSCPReBarBean(list,k++,llgCount,0,0,1,1);
setSCPReBarBean(list,k++,lllCount,0,0,0,1);
setSCPReBarBean(list,k++,scpMapper.listBarZeroSelect(submitBean),0,0,0,0);
return list;
Top图业务代码如下:
List listScpTop = new LinkedList<>();
// 判断排序字段
if (submitBean.getSortKind().equals(“conversionNum”)){
submitBean.setSortKind(“a.tpa_percent_conversion”);
}
if(submitBean.getIsOrderNum() > 0){
listScpTop = scpMapper.listTopSelect(submitBean);
}else {
listScpTop = scpMapper.listZeroTopSelect(submitBean);
}
return listScpTop;
商品价值分析页面如图4.10所示。
在这里插入图片描述

图4.10 商品价值功能模块展示
4.2.5 活动分析
根据每个活动的产生的数据,按照日、月、年统计数据,并可以查看每个活动的单独的具体数据。本功能位于action包内,主要包括的类如表4.8所示。
表4.8 活动分析功能模块主要类
层名 类名
业务逻辑 ActionDataService
ActionService
ActionDataBuyServiceImpl
ActionDataBuyUserServiceImpl
ActionDataCashServiceImpl
ActionDataClickServiceImpl
ActionDataIntegralServiceImpl
ActionDataOrderServiceImpl
ActionDataPvServiceImpl
ActionDataSellServiceImpl
ActionDataUvServiceImpl
ActionDataVvServiceImpl
ActionServiceImpl
封装对象类 ActionAuditFlow
ActionGoods
ActionInfo
ActionInfoNew
ActionPage
ActionSpread
数据持久层 ActionInfoMapper
控制层类 ActionController
本功能实现采用工厂模式来替代多if/else的分支形式。ActionDataService 接口具有多个实现类,各个实现类声明代码如下:
public class ActionDataBuyServiceImpl implements ActionDataService 、
public class ActionDataCashServiceImpl implements ActionDataService、
public class ActionDataClickServiceImpl implements ActionDataService、
public class ActionDataSellServiceImpl implements ActionDataService、
public class ActionDataPvServiceImpl implements ActionDataService。
public class ActionDataOrderServiceImpl implements ActionDataService。
public class ActionDataVvServiceImpl implements ActionDataService。
这种设计方式增强了代码可读性和为后续的代码维护做好基础工作。活动分析页面如图4.11所示。
在这里插入图片描述

图4.11 活动分析功能模块展示
4.3 本章小节
本章在需求分析和主要功能设计的基础上,对本系统在功能和技术上进行了详细设计,并对这些模块进行了更加详细的划分和设计,列举了开发中各个功能代码所在包和主要其涉及的类。并对部分页面进行了展示。

5 系统测试

5.1 数据接口测试
5.1.1热力图分析接口
1)URL:subpage/searchData
2)输入参数如表5.1所示。
表5.1 热力图接口输入参数
参数名 类型 说明
searchType Integer 分析类型
rateType Integer 对比周期
beginDate String 开始时间
endDate String 结束时间
compareTyp Integer 同环比标记
3)接口测试如图5.1所示。
在这里插入图片描述

图5.1 热力接口测试
5.1.2接口测试总览
本系统采用前后端分离的开发方式,具有较低的耦合度。所以各个功能都有独立接口,由于篇幅原因无法一一分点列举,所以采用表格方式表示如表5.2所示。
表5.2 接口测试总览
测试接口 测试接口 预期结果 测试结果
热力图数据获取接口 subpage/searchData 获取热力图数据 与预期结果一致
热力图下钻数据获取接口 subpage/searchSecondData 获取热力图下钻数据 与预期结果一致
转化率漏斗图数据获取接口 funnelPolt/searchData 获取漏斗图数据 与预期结果一致
转化率折线图数据获取接口 funnelPolt/lineChart 获取折线图数据 与预期结果一致
推广列表获取所有活动数据接口 serving/getAll 获取所有活动数据 与预期结果一致
推广列表获取活动详情数据接口 serving/detail 获取详细活动数据 与预期结果一致
推广列表获取单个活动下的商品信息数据接口 serving/goods 获取详细数据 与预期结果一致
推广列表获取单个商品趋势图数据接口 serving/oneGoods 获取趋势图数据 与预期结果一致
推广列表获取转化趋势图数据接口 serving/conversion 获取趋势图数据 与预期结果一致
用户生命周期数据获取接口 user/liveness/overview 获取生命周期数据信息 与预期结果一致
用户画像数据获取接口 user/liveness/overviewPro 获取用户画像数据 与预期结果一致
用户路径获取数据接口 uservisit/visits 获取用户路径数据 与预期结果一致
用户价值表格数据获取接口 rfm/rfmTable 获取RFM表格数据 与预期结果一致
用户价值柱状图数据获取接口 rfm/rfmBar 获取RFM柱状图的数据 与预期结果一致
用户价值气泡图数据获取接口 rfm/rfmBubble 获取RFM气泡图的数据 与预期结果一致
用户价值用户画像数据获取接口 rfm/rfmOverview 获取RFM用户画像数据 与预期结果一致

续表5.2 接口测试总览
测试接口 测试接口 预期结果 测试结果
活动分析获取某个活动的商品数据接口 action/goods 获取某个活动的商品数据 与预期结果一致
活动分析获取某个单独活动商品的数据接口 action/oneGoods 获取商品数据 与预期结果一致
商品价值三级分类数据获取接口 goodsType/getAllGoodsType 获取三级分类 与预期结果一致
推广列表删除活动接口 serving/deleteCommon 更改数据库中活动是否删除标识 与预期结果一致
商品价值柱状图数据获取接口 scp/scpBar 获取SCP柱状图数据 与预期结果一致
活动数据获取接口 action/getAll 获取活动数据 与预期结果一致
活动分析获取某个活动的漏斗图数据接口 action/overview 获取漏斗图数据 与预期结果一致
活动分析获取某个活动详情数据接口 action/detail 获取详细数据 与预期结果一致
商品价值Top图数据获取接口 scp/scpTop 获取SCPTop图数据 与预期结果一致
商品价值气泡图数据获取接口 scp/scpChart 获取SCP气泡图数据 与预期结果一致
推广列表获取漏斗图数据接口 serving/overview 获取漏斗图数据 与预期结果一致
5.2 功能性测试
5.2.1测试环境
服务端环境采用和生产环境一致的CentOS 7系统,为控制成本采用学生版服务器,性能为1核2GB。PC环境采用Mac笔记本电脑,操作系统为macOS Catalina 10.15.3、系统位数是64位、处理器为2.6GHz Intel Core i7、内存16GB 、浏览器使用Google Chrome。
5.2.2测试结果
本系统部署于联通积分商城私有服务器,通过IP白名单放行访问,从根本上杜绝外界安全问题。所以主要以黑盒的方式进行功能型测试,不管前后端代码的实现逻辑,只需从用户页面对各个功能进行测试。本系统的主要功能有:登录功能,热力图分析,转化率分析,流量分析,用户分析,活动分析,商品分析。测试结果如表5.3所示。
表5.3 功能测试
测试功能模块 测试方式 测试结果
登录功能模块 输入用户名、密码点击登录按钮 成功登录,未出现错误
热力图分析功能模块 浏览器点击热力图功能 正常渲染页面展示热力图,未出现错误,通过测试
转户率分析功能模块 浏览器点击转户率功能 正常渲染页面展示转化率漏斗图和折线图未出现错误,展示转化 通过测试
流量分析功能模块 浏览器点击流量分析功能的各个子功能 各个子功能正常渲染页面未出现错误,通过测试
用户分析功能模块 浏览器点击用户分析功能的各个子功能 各个子功能正常渲染页面未出现错误,通过测试
商品分析功能模块 浏览器点击商品分析功能的各个子功能 子功能正常渲染页面未出现错误,通过测试
5.3 本章小节
本章主要对联通积分商城进行了系统测试,测试分为接口测试和功能性测试,验证了系统数据接口和功能的正确性,基本实现了系统的预期成果,满足了联通积分商城事业部的需求。

结 论

本文主要介绍了联通积分商城数据运营系统的设计与实现,介绍了系统的研究背景、需求分析、数据库设计、关键技术、详细设计与实现、系统测试等内容。
本文所设计的联通积分商城数据运营系统是一个符合联通积分商城事业部需求的系统。包括登录功能,热力图分析,转化率分析,流量分析,用户分析,活动分析,商品分析。其中热力图分析对调整商城手厅首页提供重要数据支持,用户分析从用户角度高效准确的反馈了用户运营的效果,商品分析为联通积分商城内的商品的调整提供了基本数据支持。能够有效地帮助商城运营人员直观高效直接地获取数据信息,从而调整运营策略。提高产品质量,达到积分商城创收的目的。
本系统中,采用前后端分离的开发模式,各个模块耦合度低,后端采用目前流行的SpringBoot框架,保证了平台的正常运行。

致 谢

大学的时间转瞬即逝,转眼间,四年时间就过去了,在这四年的学习中,每天都过的很充实,在教室的学习时间时光中,学到了很多知识,既有偏重理论方面的知识也有偏重工程的技术,最重要的是在这段学习的时光中,养成了独立思考的好习惯。遇到不懂得地方,懂得善于去查找第一手资料,也乐于向师兄师姐们虚心请教学习。这这里我想感谢身边的老师、实验室的同门师兄师姐和朋友,因为有他们在生活和学习中的关照,我的研究生的学习时光中才能过的这么丰富多彩。
感谢我的导师朱元华和刘建生老师。非常感谢老师在繁忙之中,还能对我的学习给予指导。在我的论文撰写中,也给与了强有力的指导帮助,一次一次的审阅我的论文,然后给予详细的修改意见。老师自身治学严谨、朴素和平易近人,在很值得我学习。感谢大学四年学习的中所有帮助过我的老师们。
感谢同专业的所有同门师兄弟们,谢谢你们在这四年的陪伴,一起学习共同进步。
感谢我的家人和朋友,是你们在我的求学的道路上给予了莫大的支持和帮助,正因为有你们作为我强大的后盾,我才能在安心的在学校学习。
感谢参加论文评审、答辩的老师。感谢老师们在繁忙的工作之余还参加论文评审和答辩,指出论文的不足并且给予了宝贵的修改意见。

参考文献

[1] 杨旋. 国内电商平台视频营销策略及模式探究[D].中国青年政治学院,2017
[2] Zhang Lijun. Type and Security Analysis of Computer Network Operating System Based on Improved Data Structure[C]. Institute of Management Science and Industrial Engineering.Proceedings of 2019 7th International Conference on Machinery,Materials and Computing Technology(ICMMCT 2019).Institute of Management Science and Industrial Engineering:计算机科学与电子技术国际学会(Computer Science and Electronic Technology International Society),2019:588-592
[3] 段清. 基于GIS的电力通信资源管理系统的设计与实现[D].华北电力大学(北京),2017
[4]陈庆祯,曾金元,肖春日.基于SCADA系统的通用型商业化运营系统[J].电力自动化设备,1999(05):53-54
[5] 董天. 辽宁联通统一运营系统的设计与实现[D].吉林大学,2016
[6] 周世杰. 内蒙古联通运营支撑系统改进研究[D].北京邮电大学,2012
[7] 覃玉玲. 基于J2EE的高校教务管理系统的分析与设计[D].厦门大学,2014
[8] 徐健. 基于互联网的数据运营支撑系统的实现[D].江西农业大学,2013
[9] 王智明,刘镝.电信云业务运营平台安全研究[J].信息通信技术,2017,11(03):20-24
[10] 周宇琴. 中小企业网上积分商城模块设计研究[D].北京邮电大学,2017
[11] 朱波. 重庆市轨道交通1号线综合监控系统设计与实现[D].重庆交通大学,2013
[12] 赵博远. 高校实验室教学管理系统的设计与实现[D].东北大学,2016
[13] 葛汉强. 基于Java EE的轻量级Web应用框架研究与实现[D].武汉科技大学,2008
[14] 段尊敬.Java项目从Windows开发平台到Linux服务器的移植[J].电脑知识与技术,2020,16(07):85-87
[15] 王晓洁,秦冰峰.基于Spring Boot2.0框架的信息管理系统的设计与实现[J].电子元器件与信息技术,2018(12):29-31
[16] Siswo,Chung Weon Yun,Susi Abdiyani. Distribution of tree species around springs and trees-springs interplay possibility in the springs area of Soloraya, Central Java, Indonesia[J]. Forest Science and Technology,2019,15(3)
[17] Tjahyo Nugroho Adji,Eko Haryono,Hendy Fatchurohman,Roza Oktama. Diffuse flow characteristics and their relation to hydrochemistry conditions in the Petoyan Spring, Gunungsewu Karst, Java, Indonesia[J]. Geosciences Journal,2016,20(3)
[18] 温立辉.Java语言反射机制原理探析[J].福建电脑,2017,33(03):99+125
[19] Shufan Liu. Design and Implementation of Communication Base Station Survey System based on Springboot[C]. 香港新世纪文化出版社(Hongkong New Century Cultural Publishing House).2018年智慧教育与人工智能发展学术会议论文集(第一部分).香港新世纪文化出版社(Hongkong New Century Cultural Publishing House):香港新世纪文化出版社有限公司,2018:34-36
[20] 邓志强,邓林强.Maven在Java项目开发中的应用[J].电子元器件与信息技术,2019,3(05):1-4
[21] 刘金羽.前后端分离的在线考试系统设计与实现[J].电脑编程技巧与维护,2020(04):44-46
[22] 路雯雯. 支持前后端分离的JavaScript开发框架的研究及在内容管理系统中的应用[D].山东大学,2017
[23] 王建,罗政,张希,张梦琪,张科,马文成.Web项目前后端分离的设计与实现[J].软件工程,2020,23(04):22-24
[24] 张清博,孙宜田,孙永佳,陈刚.智能播种机作业监管云平台Web前端的开发与实现[J].中国农机化学报,2019,40(06):167-172
[25] 叶泉. 基于前后端分离的虚拟现实实验教学平台的设计与实现[D].武汉大学,2018

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.cpky.cn/p/10390.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

NLP:文本相似度计算

前面我们已经实现了把长段的句子&#xff0c;利用HanLP拆分成足够精炼的分词&#xff0c;后面我们要实现“联想”功能&#xff0c;我这里初步只能想到通过文本相似度计算来实现。下面介绍一下文本相似度计算 &#xff08;当然HanLP也有文本相似度计算的方法&#xff0c;这里我…

微信小程序-分包

分包 1.什么是分包 分包指的是把一个完整的小程序项目&#xff0c;按照需求划分为不同的子包&#xff0c;在构建时打包成不同的分包&#xff0c;用户在使用时按需进行加载。 2.分包的好处 对小程序进行分包的好处主要有以下两点&#xff1a; 可以优化小程序首次启动的下载时间…

[云原生] k8s之存储卷

一、emptyDir存储卷 当Pod被分配给节点时&#xff0c;首先创建emptyDir卷&#xff0c;并且只要该Pod在该节点上运行&#xff0c;该卷就会存在。正如卷的名字所述&#xff0c;它最初是空的。Pod 中的容器可以读取和写入emptyDir卷中的相同文件&#xff0c;尽管该卷可以挂载到每…

Gitflow:一种依据 Git 构建的分支管理工作流程模式

文章目录 前言Gitflow 背景Gitflow 中的分支模型Gitflow 的版本号管理简单模拟 Gitflow 工作流 前言 Gitflow 工作流是一种版本控制流程&#xff0c;主要适用于较大规模的团队。这个流程在团队中进行合作时可以避免冲突&#xff0c;并能快速地完成项目&#xff0c;因此在很多软…

Vue.js+SpringBoot开发海南旅游景点推荐系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户端2.2 管理员端 三、系统展示四、核心代码4.1 随机景点推荐4.2 景点评价4.3 协同推荐算法4.4 网站登录4.5 查询景点美食 五、免责说明 一、摘要 1.1 项目介绍 基于VueSpringBootMySQL的海南旅游推荐系统&#xff…

Kafka MQ 生产者和消费者

Kafka MQ 生产者和消费者 Kafka 的客户端就是 Kafka 系统的用户&#xff0c;它们被分为两种基本类型:生产者和消费者。除 此之外&#xff0c;还有其他高级客户端 API——用于数据集成的 Kafka Connect API 和用于流式处理 的 Kafka Streams。这些高级客户端 API 使用生产者和消…