电商架构浅析

前言

什么是电商,电商有哪些分类,以及一个完整的电商平台应该由哪些模块组成?本文将围绕电商平台系统的整体架构展开分析。


一、简介

1. 什么是电商

简单说就是通过网络进行的商务活动。以前的人都是通过现金进行交易,就是所谓的一手交钱、一手交货。

而电商,则是通过通过网上商城、物流配送、线上资金结算等过程来完成交易。本质就是买卖双方围绕线上商品进行交易履约的过程

2. 电商分类

模式说明
B2C企业对消费者(Business To Customer),就是企业商家直接售卖给消费者。就相当于把线下的实体店搬到网上经营,比如京东、天猫自营。
B2B企业对企业(Business To Business),包括产品、服务和信息交易,阿里巴巴在线交易系统就是一个例子。常见三种 B2B 模式:1. 商家与商家的直接交易;2. 有中间商运营的第三方平台;3. 行业生态B2B网站,如家电行业电商系统。
C2C个人对个人(Customer To Customer),就是大家熟悉的淘宝个人商铺,个人与个人之间的网上交易。比如商家在淘宝上开网店,我通过网店把商品卖给用户。
O2O将线下的商务机会与互联网结合(Online To Offline),主要指同城本地生活服务类。分两种类型:1. 送货到家: 针对周边几公里范围内人群,在线下单、配送。如,外卖、生鲜、药品、鲜花等。2. 预约到店: 在线预约、到店接受服务或到店自提,如餐馆、酒店、美容、养生、牙科、医美、亲子等。

二、业务流程分析

目前的电商的种类很多,本文就以传统的的 B2C 模式的电商进行分析(也就是京东、天猫这种自营电商)。B2C 这种企业自营模式是采用自采自销的业务模式,除了其他电商的核心业务外,还包含了采购、仓储、履约等流程,因此分析 B2C 模式可以更为全面的了解电商。

那么自营企业将商品售卖给消费者,需要哪些业务流程呢?
由于整个业务流程比较繁杂,我将整个业务流程分为 4 个主要流程,然后会根据这个 4 个主要流程进行详细的流程说明。

  1. 产品采购流程;
  2. 商品上架流程;
  3. 商品下单支付流程;
  4. 订单履约配送流程。

简要业务流程图如下:

在这里插入图片描述

三、系统流程详解

1. 产品采购流程

  1. 供应商入驻: 基本信息填写、签署在线协议,提交公司财务、资质信息等,采销审核通过后可成为企业供应商;
  2. 签订合同:入驻审核通过后须签定相关合同,注意重点关注项;
  3. 采购产品:采销在采购系统中下采购订单,订单通过EDI或者线下的方式推送给供应商;
  4. 供应商发货:供应商收到采购订单后,根据采购单中的信息(商品、收货仓库等)发货,发货后即产生采购在途库存;
  5. 库存:无论是在途库存,还是实物入库后产生的实物库存,以及前端的可售库存等,均由库存中心控制。

2. 商品上架流程

  1. 创建商品: 创建商品 sku,包括填写商品参数,商品详情介绍等信息。
  2. 商品定价:商品创建后通过价格中心制定销售价格,销售价格与采购价、成本价、促销价等一系列价格组成复杂的价格模型,并一起记录在价格中心,形成完善的价格体系;
  3. 商品上架:商品创建并完成定价以后,进行商品上架审核,通过后完成商品上架;

3. 商品选购下单流程

  1. 商品选购:用户完成登录、搜索、商详、购物车等操作流程;
  2. 商品促销:通过营销中心制定营销计划来执行促销活动,如优惠活动、优惠券等促销规则;
  3. 商品订单生成:由交易中心生成,过程比较复杂,包括库存、用户、优惠券等很多校验;
  4. 预占库存:生成订单的同时,会与库存中心交互预占库存;
  5. 订单支付:商品订单的生成和支付是两个独立的环节,不同的支付渠道对应不同的链路;

4. 订单履约配送流程

  1. 订单拆分: 支付成功后,进入生命周期的履约流程,我们需要对用户订单进行拆分,拆分时会分摊计算每个新子订单的金额;
  2. 订单转移: 根据拆分以后不同类型的子订单进行订单转移,转移至不同的生产时机、生产地点和生产流程中;
  3. 生命周期管控:
    1. 控制订单生产的流程,将订单推送至对应的库房,并回传生命周期节点(打包、出库等)给前台系统;
    2. 针对取消逆向订单,根据订单不同的生命周期节点做对应的控制:如订单未流转到仓库,则负责暂停订单下传,订单未出库则负责通知仓库终止生产、订单未派件则通知配送系统终止派件等;
    3. 针对虚拟订单,不用经由库房实际生产,直接由转移给订单中心或者虚拟业务对应的系统进行处理;
    4. 订单完成后,财务系统发起结算。

四、电商系统架构

基于每个业务详细的系统流程,可以得到对应的功能模块,将每个功能模块根据架构图的逻辑进行划分,可以得到如下的架构图。

由于每个模块都是复杂独立的系统,以下并非具体的设计方案,只是对电商有一个初步的认识,每个模块更具体的设计将会在后续的文章详细介绍。

1. 整体架构

在这里插入图片描述

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

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

相关文章

热贡文化旅游APP的设计与实现-计算机毕业设计源码69932

摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存…

专业开放式耳机什么牌子更好?六大技巧教你不踩坑!

相信很多入坑的朋友再最开始挑选耳机的时候都会矛盾,现在市面上这么多耳机,我该怎么选择?其实对于开放式耳机,大家都没有一个明确的概念,可能会为了音质的一小点提升而耗费大量的资金,毕竟这是一个无底洞。…

LabVIEW源程序安全性保护综合方案

LabVIEW源程序安全性保护综合方案 一、硬件加密保护方案 选择和安装硬件设备 选择加密狗和TPM设备:选择Sentinel HASP加密狗和支持TPM(可信平台模块)的计算机主板。 安装驱动和开发工具:安装Sentinel HASP加密狗的驱动程序和开发…

在加拿大寻求2亿美元融资!Xanadu的CEO有话要说

内容来源:量子前哨(ID:Qforepost) 文丨慕一/娴睿 排版丨沛贤 深度好文:1500字丨5分钟阅读 摘要:加拿大光量子计算头部企业Xanadu希望在加拿大筹集1-2亿美元,用于建立量子数据中心。虽然融资不…

编译和运行qemu-uboot-arm64单板的Armbian系统

这篇文章ARM虚拟机安装OMV-CSDN博客遗留一个启动qemu-uboot-arm64单板Armbian镜像的问题,使用官方下载的镜像,会报错: fatal: no kernel available .... Failed to load /vmlinuz ...... qemu-system-aarch64 -smp 8 -m 8G -machine virt …

绿联Nas docker 中 redis 老访问失败的排查

部署了一些服务,老隔3-5 天其他服务就联不上 redis 了,未确定具体原因,只记录观察到的现象 宿主机访问 只有 ipv6 绑定了,ipv4 绑定挂掉了 其他容器访问 也无法访问成功 当重启容器后: 一切又恢复正常。 可能的解…

批量修改文件

最近几个月的文章都直接发在公众号上,没有同步到博客上,想去同步时发现已经有不少了,一个个修改太麻烦了。 之前没规划好,所以博客文章都是直接放在仓库一个目录下,数量多了之后,有点乱,不好管…

如何成为人工智能(AI)产品经理

AI产品 经理出现的历史背景 首先,我们需要从一个大的历史背景和趋势上来思考:为什么会有AI产品经理这样一个岗位。 AlphaGo先后打败了李世石、柯洁之后,大家都觉得AI好像已经成熟了。 但其实,AI之所以能发展到现在这样一个阶段…

C++ STL map容器erase操作避坑

map容器的erase方法有三种重载形式: //1.删除迭代器所指向的元素 //返回值是指向下一个节点的迭代器 iterator erase(iterator it); //2.区间删除 iterator erase(iterator first, iterator last); //3.根据键值删除 //返回值为删除的元素个数 size_type erase(con…

Windows下载安装RabbitMQ客户端(2024最新篇)

文章目录 RabbitMQ认知RabbitMQ下载RabbitMQ安装 更多相关内容可查看 RabbitMQ认知 定义:RabbitMQ是一个消息中间件,它接受并转发消息。你可以把它当做一个快递站点,当你要发送一个包裹时,你把你的包裹放到快递站,快递…

【CTF MISC】XCTF GFSJ0155 simple_transfer Writeup(流量分析+文件提取)

simple_transfer 文件里有flag,找到它。 解法 用 wireshark 分析,大部分都是 TCP 协议。 打开协议分级统计,有个 DLEP 占了 94.2% 的数据。 作为过滤器使用。全都是 Unknown。 用 binwalk 扫描。 binwalk f9809647382a42e5bfb64d7d447b409…

【C++小知识】为什么C语言不支持函数重载,而C++支持

为什么C语言不支持函数重载,而C支持 编译链接过程函数名修饰过程总结 在了解C函数重载前,如果对文件的编译与链接不太了解。可以看看我之前的一篇文章,链接: 文件的编译链接 想要清楚为什么C语言不支持函数重载而C支持,有俩个过程…

svg使用 element plus 使用外部下载的svg,使用或作为背景图片的使用方式,svg背景填充自适应父级宽高

friger.vue 注意&#xff1a;引入路径后加#svgView(preserveAspectRatio(none))&#xff0c;可解决宽高设置无效的问题 代码上就这两句就行&#xff0c;它去这个路径下去找/assets/svgs/login-bg.svg&#xff0c;往这个目录下放svg文件就行<template><div class&quo…

交互规范:苹果 iOS 11 设计规范

文件格式&#xff1a;PDF&#xff08;请与班主任联系获取原型文档&#xff09; 文件名称&#xff1a;苹果 iOS 11 设计规范 文件大小&#xff1a;29.2 MB 文档内容介绍 免费领取资料 添加班主任回复 “210421” 领取

CCD(电荷耦合器件)架构的特点、优点和缺点

我发现半导体区域既可以充当光敏元件又可以充当电荷转移器件&#xff0c;这在某种程度上是违反直觉的&#xff0c;但这正是 FF CCD 中发生的情况。在积分过程中&#xff0c;像素位置响应入射光子而积累电荷。积分后&#xff0c;电荷包通过像素位置垂直移动到水平移位寄存器。 …

node创建项目

前言 &#xff08;一&#xff09;、Web Web的开发体系中&#xff0c;分成前端&#xff0c;后端&#xff0c;工具&#xff0c;三个主要的领域。 前端主要由由浏览器&#xff0c;HTMLCSS浏览器端JS完成。 后端主要是由Web服务器&#xff0c;数据库&#xff0c;动态脚本语言&a…

在Windows11系统上搭建SFTP服务器

利用OpenSSH搭建SFTP服务器 下载安装部署OpenSSH创建一个测试账户测试链接为SFTP用户配置根目录下载安装部署OpenSSH 参考链接 部署完启动服务要使用管理员模式。 net start sshd创建一个测试账户 使用PC的微软账户是访问不了SFTP的。 需要使用被微软账户覆盖掉的系统账户和…

Scanpy(4)用与数据整合和批次处理

Scanpy包,用与数据整合和批次处理,包含批次效应的BBKNN算法和用于对比的ingest基础算法比较,及其原理简介。 1. 依赖: (1)数据集(全部需要挂VPN): PBMC:pbmc3k_processed()(需要下载);pbmc68k_reduced()(scanpy自带)Pancreas(需要下载)(2)Python包:Scanp…

使用Visual Studio 分析.NET Dump

思维导航 前言什么是Dump文件&#xff1f;编写一段内存泄漏的代码查看程序运行情况并创建Dump文件使用Visual Studio分析Dump更多Visual Studio编程效率提升技巧DotNetGuide技术社区交流群 前言 内存泄漏和高CPU使用率是在日常开发中经常遇到的问题&#xff0c;它们可能会导致…

港科夜闻 | 香港科大宣布委任谭嘉因教授为副校长(行政)

关注并星标 每周阅读港科夜闻 建立新视野 开启新思维 1、香港科大宣布委任谭嘉因教授为副校长(行政)。香港科大6月3日宣布&#xff0c;委任谭嘉因教授接替庞鼎全教授出任副校长(行政)&#xff0c;由今年7月1日起生效。谭教授是原香港科大商学院院长&#xff0c;全球顶尖学者&am…