一、选题背景和目的
随着互联网技术的不断发展,改变了以往的商品交易模式,人们能够在网上查看商品信息,进行商品交易。但二手车领域的交易与其他商品不同,首先车辆的成交金额较大,交易需谨慎;其次,二手车价格的影响因素很多,如车的使用时间,是否发生事故,以及不同区域的价格也都有很大的差距。所以顾客在交易时需要了解车子的详细信息,谨慎交易,这就体现了二手车交易平台的必要性。
二、文献综述
所谓的二手车交易平台就是利用互联网实现的一种可以进行在线销售的现实商城系统的一个虚拟实体,通过将商品进行分类,方便用户进行商品查看,购买的一种双向互动体验和不受时间地点约束的销售形式。
对比国内外二手车发展现状,我们可以看到在美国,二手车销量远远超过新车销量。最近的十年间,在美国新车的年成交量大约为1600万辆,但二手车的年成交量却达到4000万辆。在日本,新车的年成交量大约为600万辆,但二手车年成交量却高达850万辆。日本可以更有效的保护消费者权益,原因在于其有150多家汽车拍卖会,对二手车的评估制度相对完善[2]。
反观中国,虽然二手车业务处于刚起步的阶段,市场规模较小,但市场发展的速度很快,发展的潜力巨大[3]。据目前统计,全球最大的新车市场是中国,而在不远的未来,最大的二手车市场也会是中国。截至2017年底,我国汽车保有量 约有2.17亿的汽车保有量,而且根据预测在2018年,这个数值的增长率将会超过10%,也就是说,在2018年中国汽车保有量会提升至2.39亿辆。按目前的保有量增长水平,以及政府放宽限迁等政策。根据预测,在2018年,中国汽车保有量析出率将会达到6.7%。按照这个比例计算,我国二手车交易量在2018年将会 达到1600万辆,而这个数值还会继续增长,在2020年,交易量将超过2000万辆。
本课题使用java语言开发,采用SSM框架,B/S模式,运用MVC模式的设计思想,使用MySQL数据库进行存储,Web服务器采用Tomcat+Apache,并辅以JavaScript脚本语言开发前端。
SSM框架指Spring、Spring MVC、Mybatis。
Spring框架的架构由七个模块构成。Spring模块的构建基于核心容器,其定义 了创建以及管理bean的方式[4]。
Spring框架的功能不但可以用在J2EE服务器中,而且在大多数不受管理的情况其功能也适用。Spring的核心是:对于不绑定到特定J2EE服务的可重用业务与数据访问对象也支持。也就是说,在不同独立应用程序、J2EE环境以及测试环境之间,这样的对象也可以重用。
Spring boot作为Spring中的一个全新的框架,被用来简化Spring应用程序的 创建和开发过程,也就是说Spring boot简化了我们之前采用的SSM (SpringMVC+Spring+Mybatis)框架,更简便的进行开发[11]。
以前,我们釆用SpringMVC+Spring+Mybatis框架进行开发的时候,需要提前做许多准备工作去搭建和整合框架,如配置web.xml,配置Spring和Mybatis,最后再将它们整合在一起。而Spring boot框架的出现,前所未有的颠覆了这个开发过程,取消了复杂的配置过程,取而代之的是,用默认配置来进行开发。
综上所述,釆用Spring boot框架能够非常简便而又迅速地创建基于Spring框架的应用程序,这样就使得编码、配置、部署和监控等步骤都简单化了。
作为一个持久层框架,Mybatis封装了jdbc对于数据库的操作过程。这样就使得开发者只需关注sql代码,不用去关注其他一些复杂繁琐的过程,例如注册驱动, 加载链接以及处理结果集等[12]。
通过xml和注解的方式,Mybatis将要各种sql语句进行有序结合,然后通过 Java对象和statement中的sql语句映射后,最终生成sql语句[13]。最后再由Mybatis 框架执行sql语句,将生成的结果映射成Java对象并返回。
在Mybatis中,我们能够通过内置语言建立sql语句。与此同时,声明式数据缓存在Mybatis中也是被支持的。也就是说,如果一个sql语句被记录成是可缓存的,那么这条语句执行后的结果就会储存在缓存里,以后再执行这个语句的时候,就不用向数据库再次发起请求,而会直接从缓存查找读取数据[14]。
Mybatis提供了基于Java的缓存实现方式。HashMap还提供了一系列的连接器,能够集成Ehcahe,OSCache,Memcached以及Hazelcast。Mybatis 还为插入其它高速缓存提供了应用程序接口。
最后本课题的亮点功能是智能推荐算法。
目前已有的推荐算法很多,如协同过滤算法和基于内容的协同过滤算法。
协同过滤推荐算法的主要功能是推荐与预测。这个算法是通过对用户以往的行为进行跟踪,形成数据后,以此为根据通过数据挖掘来发现用户的偏好,基于不同用户的不同偏好,对用户进行划分,为同组用户推荐相似的产品[15]。
协同过滤推荐算法大体分为两类:基于用户的协同过滤算法(user-based collaborative filtering)和基于物品的协同过滤算法(item-based collaborative filtering)。
基于用户的协同过滤算法实现的原理是,通过用户的以往的行为生成的数据来研究得到用户对产品或者内容是否喜欢(比如商品购买与收藏,内容评论或分享等),并且度量这些喜好,对喜好进行打分[16]。根据不同的用户对与同一个产品或者内容的偏好程度来估算用户之间的关系,这里对用户间关系的估算采用欧几里德距离评价或者皮尔逊相关度评价。最后,将商品在具有相同喜好的用户间进行推荐。简单的说就是如果A,B两个用户都购买了x,y,z三本图书,并且给出了5星的好评。那么A和B就属于同一类用户。可以将A看过的图书w也推荐给用户B。
基于物品的协同过滤算法通过不同用户对于不同物品的偏好程度来估算出物品间的关系。然后,根据不同物品之间的关系向用户推荐相似的物品[17]。上面所说的偏好程度也可以理解为用户对产品的态度。简单来说就是如果用户A同时购买了商品1和商品2,那么说明商品1和商品2的相关度较高。当用户B也购买了商品1时,可以推断他也有购买商品2的需求。
协同过滤算法的优点是需要最小域,不需要用户和项,大部分场景能够产生足够好的结果。但缺点也很明显,比如冷启动问题,需要标准化产品,需要很高的用户和项的比例,流行度偏见和难以提供解释。
此外还有一种基于内容的协同推荐,它的思想是给用户推荐和他之前喜欢的物品相似的物品。推荐步骤是首先计算物品的相似度,然后根据物品的相似度和用户的历史行为给用户生成推荐列表。
它在各方面的优缺点如下:
(1)性能:适用于物品数明显小于用户数的场合,如果物品很多(网页),计算物品相似度矩阵代价很大。
(2)领域:长尾物品丰富,用户个性化需求强烈的领域。
(3)实时性:用户有新行为,一定会导致推荐结果的实时变化。
(4)冷启动:新用户只要对一个物品产生行为,就可以给他推荐和该物品相关的其他物品。但没有办法在不离线更新物品相似度表的情况下将新物品推荐给用户。
(5)推荐理由:利用用户的历史行为给用户做推荐解释,可以令用户比较信服。
综上所述,我预计采用混合推荐算法,即综合利用协同过滤推荐算法和基于内容的推荐算法各自的优点来同时抵消各自的缺点。这样就没有冷启动问题,也没有流行度偏见,可推荐罕有特性的项。
三、参考文献
[1]于杰.二手车交易电子商务平台分析与设计[D].吉林大学.2010:7-8
[2]陈文胜,中国进口汽车贸易有限公司的实施分析,2009
[3]杨婉鳄,孔祥杰.探析中国二手车现状及未来的发展前景[J].时代农机,2016 (12): 75-75,82
[4]Lui M,Gray M , Chan A , et al. Introduction to Core Spring Framework[j]. 2011.
[5]SoniRK. Learning Spring Application Development [M]. Packt Publishing Ltd, 2015
[6]Cosmina I, Harrop R, Schaefer C, et al. Introducing Spring A0P[J]. 2017.
[7]Schaefer C, Ho C , Harrop R . Introducing Spring A0P[M]// Pro Spring. Apress, 2014.
[8]Mak G .Spring MVC Framework[M]// Spring Recipes. Apress, 2008.
[9]计文柯• Spring技术内幕:深入解析Spring架构与设计原理[M].机械工业出版社,2012.
[10]Gupta P, Govil M C. Spring Web MVC Framework for rapid open source J2EE application development: a case study[J]. International Journal of Engineering Science & Technology, 2010, 2(6)
[11]王永和,张劲松,邓安明,et al. Spring Boot研究和应用[J].信息通信,2016(10): 91-94.
[12] 张宇,王映辉,张翔南.基于Spring的MVC框架设计与实现[J].计算机工程,2010,36(4): 59-62.
[13]Ho C . Using MyBatis in Spring[M]// Pro Spring 3. 2012.
[14]Guo Y,Chen M,Wei K . Research of Recycling Resource Website Based on Spring and MyBatis Framework[M]// Information Technology and Intelligent Transportation Systems. Springer International Publishing, 2017.
[15]马宏伟,张光卫,李鹏.协同过滤推荐算法综述[J].小型微型计算机系统,2009, 30(7): 1282-1288.
[16] 荣辉桂,火生旭,胡春华,et al.基于用户相似度的协同过滤推荐算法[J].通信学拫, 2014(2).
[17]贾玉罡.基于物品的协同过滤算法的设计与测试[J].电脑迷,2018(7).
|