跨境电子商务借卖系统的设计与实现

2018-03-07 06:15王民明章啸可陆春燕夏洋
无线互联科技 2018年21期
关键词:跨境电子商务

王民明 章啸可 陆春燕 夏洋

摘 要:目前,我国电商在零售业中已经占据着主导作用,跨境电子商务已经成为经济增长新的增长点,打造全新的跨境电商平台已经成为行业迫切的需求。文章主要介绍了一种跨境电子商务借卖软件系统,详细介绍了系统使用的3种主要技术、框架与模块的设计与实现。

关键词:跨境;电子商务;借卖系统

跨境电子商务,是我国“一带一路”国家战略的重要实施途径,也是供给侧结构性改革的有效推动力。在传统出口贸易增速减缓的情况下,跨境电子商务以30%以上的年增长率迅猛发展,为中国经济发展作出了重要贡献。

跨境电子商务产业链具有打造國际贸易和跨境消费新业态,具有实现产业整合的功能。这一功能在助推我国由“世界工厂”向“世界商店”的升级过程中,将起到重要的作用。M2B2C跨境电商交易模式可以较好地解决B2C出口模式面临的困境,是实现电商产业功能的主要载体[1]。

为此,我们开发了跨境电子商务借卖系统。系统基于Java开发,采用了Spring+SpringMVC+Mybatis框架。实现了与ebay系统的对接,可以对ebay上商品的数据进行推送与拉取,从而实现了跨境交易。

1 主要技术简介

1.1 Redis集群与单点登录

使用ShardedRedis做登录缓存。用两台redis集群进行存储。设计MermerHashing算法。Cookie用登录mall_login做cookie名,用sessionId做value进行唯一标识进行存储。随后再用sessionId做redis缓存的key,将用户信息转换成string存到value中,读取性能快,性能好,更安全。

1.2 MermerHash算法

MurmurHash是一种非加密型哈希函数,适用于一般的哈希检索操作。Redis在实现字典时用到了MurmurHash,包括数据库、集群、哈希键、阻塞操作等功能都用到了这个算法。系统使用MurmurHash3,速度快,实现了32位、128位HashKey,对大块的数据具有较高的平衡性与低碰撞率。

1.3 Redis分布式

系统使用Redis作缓存服务,刚开始时只用一台Redis就能够满足服务,随着项目的深入,发现一台满足不了现有的项目需求,因为Redis操作都是原子性这样的特性,造成有时同时读写缓存造成查询效率的下降。为此,采用ShardedJedis来实现分布式缓存。ShardedJedis是通过一致性哈希来实现分布式缓存的,通过一定的策略把不同的key分配到不同的redis server上,达到横向扩展的目的。

2 系统框架设计

系统中主要设计了3种角色:品牌商、卖家、平台管理员。品牌商在平台申请入驻,后台管理进行认证审核,通过平台认证并入驻的品牌商,可以在平台管理维护发布自己的品牌商品;卖家在实际生产环境中入驻平台的卖家需要在ebay拥有自己的店铺,卖家可以通过平台浏览选择品牌商发布的商品,并推送到卖家在ebay的网店进行销售,同时卖家可以拉取网店销售订单到交易平台,对借卖的商品订单进行跟踪和管理;平台管理员可对用户权限、平台商品信息、订单信息进行监控管理。系统运行关系如图1所示。

图1 系统运行关系

系统需要服务于多用户,因此服务端采用了负载均衡技术。

该系统架构使用Tomcat分布式redis集群架构。用户在请求系统时,首先接收到的是nginx服务器,做负载均衡分发使用,接着分发到两个Tomcat上,Tomcat在接收到用户登录请求时。将sessionid获取到,做cookie的value,cookie的name,将cookie写入用户的硬盘中。

将sessionid作为唯一标识。做redis缓存服务器的key,value则是用户信息。登录成功之后则将用户json序列化成json字符串形式,存入redis中,这样每次请求去获取固定cookie的value。再用value找对应的用户信息。这里使用的MermerHashing的一致性算法,则可以保证命中率。读取到用户登录信息之后,接着就是用mybatis去进行dao层的操作。系统部署如图2所示。

图2 系统部署

3 系统设计

本系统分为移动端与PC端两个部分,功能模块有:商品模块、用户模块、订单模块、支付模块、B2C模块、信用模块。

商品由品牌商进行发布。发布则可以让借买方进行各种采购、关注等操作。借买方也有权对商品进行历史价格查看等操作。竞价拍卖必须从已发布的商品中选取。品牌商则是对该商品的状态、名称、类别、价格、细节进行及时更新与修改。

用户模块主要功能为登录和注册、权限管理。登录之后即可进行订单模块的操作。用户模块的职责权力分为品牌商、借卖商。只有被审核的用户才能进行开店操作进入店铺模块[2]。

订单模块拥有下单之前的操作,可以对购物车进行增删改查4个操作。特别机制在于该品牌商不能将自己发布的商品进行加车处理,避免了虚假购物的情况。将购物车中的状态为1的商品全部进行下单操作。下单有母订单和子订单操作。母订单存储信息有订单id,总价,下单时间,支付方式,收货时间,评价时间等各个操作。子订单是每个商品的详细信息。假如订单超过两小时未付款,订单巡查将会自动关闭该订单,并且无法继续进行支付操作。

支付模块有钱包支付和支付宝支付两种模式,支付宝支付对接沙箱,请求发到api,返回地址,下单前端定时器进行轮询,等到付款成功,轮询结束。跳到付款成功页面。如果用户选择钱包支付,即可对该订单进行支付处理。假如钱包余额不足,会提示余额不足,建议用户进行支付宝充值操作。

B2C模块实现与ebay的对接,主要完成商品推送与订单拉取。商品推送时,使用eBay所给的addItem接口和网关,前端列出商品。包括id,将前端传的id进入后端查询,将查出的商品用eBay给的api格式进行赋值,再进行调用,eBay则通过指定的网关上传到了沙箱中。用户点击商品右下角箭头,即可对该商品进行eBay上传操作,省时方便。订单拉取时使用eBay给的api网关接口GetOrders进行调用。将参数转化成自己想要的结果,json序列化传到前端,可赋值订单状态,订单号进行筛选。用户假如是品牌商,则可以有校验,进行后台订单拉取。

信用模块主要用于记录用户完成交易情况。买家拥有一定的基础分,当买家申请分期支付成功时,每次都有最低还款日期。定时任务开始。假如轮询到超过时间未还款,则邮件提示用户需还款。redis计时器开始计时。如未能按期付款,将扣除相应的信用分。当买家正常完成交易时,会增加相应的信用分,卖家可以看到买家的信用情况。

4 结语

目前,系统已成功部署到腾讯云上,各模块运行稳定,系统响应迅速。项目处于内测阶段,还在不断地完善中。

猜你喜欢
跨境电子商务
2025年我国农村电子商务交易额达到2.8万亿元
跨境支付两大主流渠道对比谈
在跨境支付中打造银企直联
跨境外币清算:从“走出去”到“连起来”
关于促进跨境投融资便利化的几点思考
《电子商务法》如何助力直销
电子商务
关于加快制定电子商务法的议案
电子商务人的核心能力
跨境直投再“松绑”