机电工程技术
第50卷第01期MECHANICAL&ELECTRICAL ENGINEERING TECHNOLOGY Vol.50No.01 DOI:10.3969/j.issn.1009-9492.2021.01.030
莫竣成,田秀云•基于J a va的网上购物平台系统设计[J].机电工程技术,2021,50(01):103-105.
基于Java的网上购物平台系统设计
莫竣成,田秀云※
(广东海洋大学电信学院,广东湛江524088)
摘要:基于Java编稈语言设计一款网上购物平台系统。采用SOA分布式服务架构设计,将系统拆分成前台和后台、商品搜索、订单管理、单点登录等子系统,通过系统间相互协作,处理电商平台复杂的业务逻辑。能有效解决电商平台系统高可用性和高并发的问题、灵活应变复杂多样的市场业务需求、均衡分配系统资源。结果表明,该系统达到了设计要求,具有一定的实用意义。
关键词:Java;分布式;电商平台
中图分类号:TP317文献标志码:A文章编号:1009-9492(2021)01-0103-03
Design of Shopping Platform System Based on Java
Mo Juncheng,Tian Xiuyun^
(Faculty of Electronics and Information Engineering,Guangdong Ocean University,Zhanjiang,Guangdong524088,China) Abstract:Based on Java programming language,a design scheme of shopping platform system was proposed.Adopting SOA distributed service architechure design,the system was divided into front and back stage,commodity search,order management,single sign-on and other subsystems.Through mutual cooperation between the systems,the complex business logic of the e-commerce platform could be handled efficiently.the problems of high availability and high concurrency of the e-commerce platform system could be solved effectively,the complex and diverse market business requirements were adapted flexibly,and system resources were evenly distributed.The results show that the system meets the design requirements and has a certain practical significance.
Key words:Java;distributed;electric business platform
0引言
随着全球计算机信息网络的应用普及和迅速发展,互联网使人类生活方式发生巨大变化,为国家和地区的经济增长提供强大的动力。如今利用电脑、手机等在互联网进行网上购物的方式深深地改变了传统线下购物方式,对现代社会生活的影响与日俱增[1]O其中,以淘宝、京东等大型电商平台为代表,2018年双十一购物节淘宝和京东当日成交额分别达到2135亿元和1598亿元,创造各自单日营业额新纪录。在传统实体经济面前,这些惊人的单日营业额难以企及。可见,网购方式已经成为现代信息社会人类喜闻乐见的一种流行生活方式。为此,本文提出基于Java的网上购物平台系统设计,具备注册登录、搜索、购物车、订单、门户、后台管理等网上商城的基本功能,而且能处理高并发问题,系统可用性和稳定性高,系统业务高可扩展性。
1商城系统总体设计方案
如今,电商平台开发技术发展迅猛,系统架构设计不断适应现实市场环境,出现一些能处理高并发、高可用问题和高可扩展的架构,如分布式服务架构,为开发应用于真实市场环境的网上商城系统提供架构设计基础[2]O此外,随着业界开源精神的流行,开源框架,编程语言,服务器和数据库等免费对外开放源码,一大批热衷技术的开发者贡献自己的代码,使开发技术日趋成熟。
本系统按业务功能逻辑分离前后台设计的B2C 网上商城平台,前后台管理模块分离,前台包含有门户网站、商品搜索、商品详情展示、用户购物车、用户注册&登录、订单查看、订单提交、订单支付、广播
公告等展示于买家端的功能页面;后台包含有商城整体商品管理、广告活动管理、侧边和购物车下方商品推荐、订单管理、CMS、系统管理等卖家端的功能页面。
1.1传统应用架构
当网站的访问流量很小时,将所有的功能代码封装部署到同一个应用中,将整体应用拆分成多个相互独立的子应用,按表现、业务、数据访问分3层结合MVC模式开发[3],这种称为单一垂直应用架构,如图1所示。这种传统架构优点在于可以减少节点服务器的部署和降低开发成本,提升开发效率;但随
收稿日期:2020-06-21
•103-
2021年01月机电工程技术第50卷第01期
着网上商城访问量的增大和业务的扩展,此架构难 以应对巨大的访问压力和后期业务扩展受限且工程 量大,单靠提高系统硬件机器性能带来的效果越来
越不明显,所以传统的架构难以适用于如今复杂的
真实市场环境。
图1单一垂直应用架构
1.2系统架构设计
传统应用架构存在很大局限性,难以适用如今
的电商市场环境,因此,本系统采用SOA 分布式服
务架构,其具有处理高并发的能力,能灵活响应多
变的市场需求,能实时监控集容量值和均衡调度
系统资源[4]o
系统将核心业务分离为一个个独立的服务,形
成统一管理统一调度的服务中心。表现层通过服务 中间件Dubbo 与服务层通信,服务层将所有服务注册
到Dubbo 的注册中心,表现层需要在注册中心订阅处
理本层业务所需的服务,并通过远程调用所订阅的
服务[5]o 服务层与持久层之间的通信,使用了 Redis 作为数据缓存服务器,提供可靠快速的数据访问, 以减少对数据库的访问压力。搜索服务则通过Solr 服
务器来管理索引库,提供大量快速精准的搜索服 务,可满足各种复杂的搜索业务需求[6]。系统整体架
构如图2所示。
(Solr 服醫创
1后台系统丨1前台系统丨丨搜索系统丨订单系统丨
(
Dubbo 中间件
J
[I 商品服务1丨内容服务11登录服务II 订单服务11搜索服务表现层图2系统整体架构
2系统分析
SOA (Service Oriented Architecture )面向服务的
分布式架构,就是把各个处理不同业务的子系统分 别拆分为服务和表现两个工程,将各个独立的子系
统部署到不同的服务器上。
此架构使商城系统具有较高扩展性,在业务扩
展时,只需添加处理对应的业务的服务工程,免去
重构系统的繁琐;灵活调节性,体现在能够随业务
的改变来调整系统的静态和动态资源。系统具备处 理高并发能力和高可用性,是通过搭建服务器集
,使用主从模型为每一台主机配置备用机来实
现,并且使用中间件负责资源调度、实时监控服务
和管理服务器集容量,提高集利用率[4]。
2.1 Redis 服务器集分析与搭建
Redis 是各大互联网公司广泛使用的缓存中间
件,单节点Redis 服务器就能达到非常理想的性能。
Redis 集是在网络中配置多台 Redis 服务器节点,节 点间相互共享数据的服务器集;其能自动根据哈
希值将数据切分到不同哈希槽的服务器节点上,当 部分节点失效或者死机时,通过投票容错和监听机
制,让从节点继续处理命令请求,直到主机恢复正 常工作。因此,Redis 集具有高可用性,适应复杂
变化的互联网环境[7]o Redis 集架构如图3所示。
| Slave 1 |
Master 1 ~]
| Slave 1 耳彳 Master2 ----------Master3
Slave 1 图3 Redis 集架构
2.2 Solr 服务器集分析与搭建
Solr 集是利用Solr 和Zookeeper 各自优势集于一
体组成的分布式搜索方案,用Zookeeper 作为集的 资源配中心,使集能够集中统一配置信息,具备
实时搜索和自动负载均衡的能力,以应对系统索引
量很大,搜索请求并发量很高的搜索环境[6]o Solr 集
架构如图4所示。
Zookeeper 集
| ZK] | | ZK2 ZK3 图4 Solr 集架构
3系统主要部分功能设计
3.1搜索系统设计
搜索系统是基于Solr 集设计的一个分布式搜索
引擎,适用于高搜索请求的环境。为系统的具体业 务自定义业务域,当后台添加商品后,经过中文分 析器分词,Solr 将关键词索引添加到索引库存储。前
台输入关键词搜索,系统调用搜索服务处理搜索请 求,并返回搜索结果[6]o
•104
-
莫竣成,等:基于Java 的网上购物平台系统设计
3.2 SSO 单点登录系统设计
传统的登录实现方式适用于只有一个Web 工程 时,但是在集环境下会出现要求用户多次登录的
情况。由于本系统在集环境下开发,因此,提出 的解决方案是配置一个用于管理Session 的服务器, 使用Redis 服务器模拟Session ,实现Session 的统一管
理,解决Session 共享出现的节点上限问题罔。登录逻
辑基本流程如图5所示。
盈 31 CBIi
商域后台養理系统
V些評 上"
用户登录
校验
数据库登录成功生成token 保存
图5 登录逻辑基本流程
Redis
用户点击查询订单时,浏览器发送查询订单请
求,服务器从请求参数的cookie 中获取token ,调用 SSO 服务,根据token 到Redis 中查询用户信息,若to
ken 存在则调整有效期后返回用户已登录,显示订单 信息;否则token 不存在,跳转到登录页面重新登
录凹。查询订单处理逻辑如图6所示。
图6 查询订单处理逻辑
3.3后台管理系统设计
管理员在后台可以进行商品、内容和索引库的
管理,其中,网站所有图片都是使用FastDFS 分布式 文件系统存储,提供统一的访问方式。FastDFS 图片
服务器是一款如今业界流行且广泛应用于各大互联
网公司的开源的分布式文件系统,它解决了大数据
量存储和负载均衡等问题等机制[10]。
4系统实现
4.1前台系统实现
前台门户首页如图7所示。
图7商城首页
4.2 后台系统实现
管理员在后台系统对商品进行管理,新增商品
如图8所示。
图8新增商品图
5结束语
本文主要介绍了基于Java 编程语言开发的网上
商城平台系统,在其前台管理系统,用户在商城上
搜索商品,查看详情信息,将其添加到购物车,注
册成为会员,登录后可以管理购物车和订单;在后 台管理系统,管理员可以对商城的商品、内容和索
引库的管理。本设计实现了一个界面简洁美观,交
互性友好,具有高安全性、高可用性、能处理高并 发的网上购物平台系统。
参考文献:
[1] 刘田月,范清波.我国电子商务平台发展概况分析[J].中外企
业家,2016(24):37.
[2] 严盛辉.互联网技术发展与当前中国经济发展互动效能分析
[J].科技经济与管理科学,2018,26(21)
[3] 黄莎.基于MVC 的网上购物平台设计与实现[D].厦门:厦门大
学,2013.
[4] 李一.基于SOA 的高可用B2C 商业平台的设计与实现[D].北
京:北京交通大学,2018.
[5] 李磊,李娟.Dubbo 服务框架技术在学习系统开发中的应用与
实践[J] •计算机系统应用,2017(6):244-248.
⑹任乐乐.基于Solr 的分布式搜索引擎研究[D].杭州:中国计量
大学,2016.
[7] 周智.Redis 分布式缓存实现与解析[J].信息通信,2018,186(6):
24-25.
[8] 庄巧蕙.基于J2EE 的电子商务平台的研究与构建[J].大庆师
范学院学报,201 &38(6):59-63.
[9] 陈展翅.基于WEB 的电子商务平台系统设计与开发[J].机电
工程技术,2017(S2):213-216.
[10] Linaje M,Preciado J,Sanchez F F.Engineering rich internet ap
plication user interfaces over web-models[J]. IEEE Internet Computing,2007,11(6):53-59.
第一作者简介:莫竣成(1996-),男,广东肇庆人,大学本 科,研究领域为电子科学与技术。
※通信作者简介:田秀云(1974-),女,辽宁朝阳人,硕
士,讲师,研究领域为软件算法及光电检测。
(编辑:王智圣)
•105
十大开源商城系统-
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论