公务员期刊网 论文中心 正文

热销推荐下的商品展示系统设计实现

热销推荐下的商品展示系统设计实现

摘要:商品展示设计是针对性设计,布局和施行商品销售、展示、视觉传播和购物环境,以促成销售,促销商品并满足生产者和消费者的需要。消费者的需要创造了愈加的科学、更加合理、更合乎人们购物习惯于生活方式的商品展出系统。适应如今的商品展示社会化市场的要求,它结合了有关网络和商品消费的理论知识,包含多个学科的研究性质,拥有非常好的研究意义和实现价值。

关键词:商品展示;促进销售;推荐服务

1概述

21世纪中国的互联网已经进入高速的发展和应用,越来越多的人在与自己休戚相关的日常生活中使用新的Internet技术。在商品营销领域,由于互联网可以整合文字、音频、视频、动画等多种媒体信息,使信息的展示更加生动,信息的阅览更加方便。还可以实现网上平台交易、客户信息响应等功能,大大方便了企业、企业和客户之间的沟通。由于这些原因,各大商品销售商纷纷开始建设自己的商品展出网络系统,以提高自己的产品曝光度。现在“商品展示设计”已经成为一种商业策略。通过商品的展示和设计,提升了企业形象和产品的附加值和最活跃的商业活动。在这种新的竞争形式下,只有准确捕捉市场信息并关注主流时尚,才能博得消费者的信任,才能生存和成长。

2系统功能

商品展示系统,作为一个展示平台,最重要的就是根据使用者的注册信息,提供合理的,精准的商品推荐和友好的展示。系统角色可分为3种:普通使用者、商家使用者、系统管理员。针对不同的角色有不同的权限和功能。具体的详细描述如下:(1)普通使用者:1)使用者的注册与登入登出:为使用者提供注册与登录功能。使用者注册时需要填写个人所在行业、关注领域以及感兴趣的事物。系统会根据这类信息为每个使用者提供分布式商品推销功能。2)商品展示:为使用者提供商品展示功能。商品展示主要有两种。①根据使用者个人设置的标签进行展示。②搜索展示。3)商品搜索:为使用者提供商品搜索功能。该功能要求满足商品的多种字段搜索。如:商品名称、商品分类、商品品牌等等。4)客服系统:由于商品展示不涉及支付,只是提供推荐与展示平台。所以对于的商品需要提供客服服务,以便满足使用者与商家沟通。5)使用者信息编辑:对个人信息的修改。(2)商家管理人员,除普通的使用者用户的功能外,有对商品的常用操作功能:产品的相关操作:包含对自家产品信息的、编辑、逻辑删除、搜索或查找等。(3)系统管理员:所有商品的管理:拥有对所有商家的商品信息的管理。已注册用户使用者的管理:对普通用户使用者,商家用户使用者的个人信息的管理。系统设置管理:针对系统的布局、主色调、首页轮播推荐等系统性功能的管理。

3数据库设计

系统的数据保存在MySQL5.7中,共有5张表:(1)产品信息表,存储商品的基本信息。如ID,商品名称。(2)注册用户表,存储注册者的姓名、账号、密码、权限、简介等信息。如用户的关键词,标签。(3)商品分类表,存放商品分类id与名称等。(4)离线推荐表,存放每个用户根据其自身历史浏览的记录生成的一段时间的离线推荐列表。(5)实时推荐列表存放redis中,动态更新。离线推荐列表存放在MySQL数据库中进行周期性更新。

4系统实现

从第三部分系统的功能分析中可以得到系统共分为6个模块:产品管理模块、分类管理模块、产品和推荐显示模块、用户信息管理模块、系统管理模块和关键字管理模块。首先描述系统总体的公有部分,然后根据篇幅适当描述模块的关键功能的关键业务逻辑。

4.1系统common部分实现

系统的整体结构有5个包:cn.myshop.message、cn.myshop.product、cn.myshop.tags、cn.myshop.interactions、cn.myshop.os,各个软件包下都含有entity,dao,service,controller这4个模块,这也是大多数MVC架构进行的分层思想。Entity包存放对象类,对应数据库中的表;Dao包存放XXXDao接口,负责与数据库交互;Ser-vice包存放XXXXService规范接口和它对应的XXXSer-viceImpl具体的implements类,负责主要的功能与具体业务逻辑;Controller控制器的包存放XXXXController类,负责前端与后台的交互,作为控制器除了这4个类别之外,某些package中也许还可能具有另外几个class,例如,用于充当工具类的toolspackage,用于充当配置类的configurationpackage。还有负责面向切面编程(使用springAOP)的aspectpackage。统一异常处理得Exceptionpackage。系统使用模板引擎(thymeleaf)作为视图呈现的一部分,并使用tf作为模型语言来获取返回的模型数据。使用数据持久层框架mybatis和关系型数据库MySQL作为数据库存储,系统的常规业务操作使用Mybatisplus提供的常用CRUD接口。将Dao接口中的标准类的映射方法与Mybatis的mapper.xml相对应,并执行包扫描mapperScanner(程序包扫描)和映射设置,以实现Dao和mapper之间的正确关联。系统中使用mybatis-plus简化mybatis的开发。使用renren-generator对普通的基础业务进行实现。

4.2推荐页实现

推荐页分为实时推荐、离线推荐。实时推荐,实时推荐监听Kafka的用户行为数据(用户标签,用户近期浏览(一天之内)等行为),然后进行实时计算,将结果写回redis,离线推荐则是根据使用者的近期使用足迹进行计算。并且在一个定性的时间段,执行提前设置好的预设代码进行离线计算。之后将计算出来的推荐结果存储到MySQL数据库中。推荐页界面如图2所示。详情展示页会对商品的图片、评分等信息进行描述。详情页展示如图3所示。

4.3离线推荐

离线推荐主要是采用ALS作为协同过滤算法,根据MySQL中的用户评分表计算离线的用户商品推荐列表以及商品相似度矩阵。(1)协调过滤:利用集体智慧,把大家都喜欢的东西互相推荐。所以要求提前收集用户偏好,有大量的数据可供分析。(2)ALS算法:ALS算法属于一种协同过滤算法。(3)实现流程:ALS这个东西的使用在mllib里面已经有实现了,它需要先训练一个模型出来,再通过模型预测数据。训练数据需要使用ALS.train()方法,传入训练数据以及控制参数。预测数据需要使用model.predict()方法,传入测试数据即可。加载用户评分数据把userId和productId提取出来形成两个独立的RDD,计算它们的笛卡尔积得到userProducts,作为提供训练的模型数据储备库。把userId和productId以及score提取出来形成一个三元组构造训练的模型数据储备库以及测试的模型数据储备库。训练的模型数据得到model,再通过model预测得到推荐数据,然后把推荐数据写入到MySQL。通过model得到的不只有预测数据,还可以拿到productFeatures,即各个商品以及它的特征。

4.4实时推荐

离线服务是综合历史数据来计算的,但实时服务应该根据用户最近的行为来推荐,实时推荐要求响应迅速,所以不能再使用ALS了。为了快速响应,应该提前预热数据,在已有的数据集上再次少量计算即可。为了能够实现实时推荐的动态响应的动态性,势必会对其准确度与推荐算法的流程进行适当的简化,在保证推荐结果正确的情况下,减少一定的推荐元素的计算。这样可以充分地将实时推荐的速度进行一个适当的提升。实现流程:(1)加载redis里面的ProductResult作为实时计算的基础数据。(2)用户user1对商品p1进行了评分,就触发一次实时计算。(3)从ProductResult中选出与商品p1最相似的K个商品作为集合S。(4)要过滤掉用户user1自己评分过的其他全部商品,过滤掉之后推荐的东西才是他没有见过的。(5)从Redis中获取用户user1最近时间内的K条评分,包含本次评分,作为集合RK。(6)把从(1)、(2)、(3)里面拿到的数据作为参数,开始计算推荐的产品优先级,并生成更新过后的标识符集。(7)将更新过后的标识符集与用户user1的最后推荐结果Result组合,以加工的最新的推荐结果NewResult作为最后的推荐结果输出。

5测试

商品展示系统的测试主要分为服务端测试、和客户端业务功能测试、推荐功能测试。(1)服务端测试:针对的是服务器的压力、性能、吞吐量、并发量,以及容错机制的测试。测试方法:为了提高测试的准确性,采用多种测试方法,其中有典型的黑白盒测试。(2)客户端业务功能测试:针对的是用户正常使用系统的各个功能,确保指定的某个功能按照预设的结果去执行。如:登录注册测试、展示功能测试、编辑功能测试、权限功能测试、安全可靠性测试。通过实际的生产环境模拟真实的系统运行环境,确保测试结果的准确,使系统更加的完善、健全。(3)推荐功能测试属于客户端测试之一,但由于其较为复杂也需要单独进行单元测试,确保推荐的商品时的精准性。

6结语

对商品展示系统的研究,对其两大问题进行了主要表述与研究:一个是业务,一个是推荐。虽然商品展示系统已经初步实施,但是由于研究和实施时间以及一些内部和外部条件,仍有一些领域需要补充、优化和扩展。比如可以整合下单服务,形成一个完整的消费流程。同时系统对于商品审计功能可以进行进一步的优化,提取出一个单独的审计模块,实现部分商品的自动化审计。

参考文献

[1]陈瑞.基于Springboot高并发JavaWeb开发模式[J].电脑编程技巧与维护,2019,(04):27-30.

[2]陈忠菊.NoSQL数据库的研究和应用[J].电脑编程技巧与维护,2020,(09):81-83.

[3]周千元.基于Spark的个性化推荐系统的研究[D].中南林业科技大学,2019.

[4]AhmedAbdulhadiAwadhHanshi.推荐系统精度提高的实用方法[D].中南大学,2014.

[5]林琛,黄洁,刘杜钢.一种基于数据非随机缺失机制的推荐系统方法[P].

作者:胡继米 张倚霖 牛玲 单位:周口师范学院