订单是整个电子商务的核心。整个电子商务的流程也是围绕订单的状态执行的。这篇博客主要向大家介绍订单号的生成方式。

现在大型电商网站大多都有好几种下单途径。比如:通过Web网站下单,通过打电话到呼叫中心下单(CallCenter),使用手机Wap下单。如果只采用单数据库来存储订单信息的话,其随着订单量的增加,单数据库写压力必然增大,数据库服务器就会不堪重负,所以大都会根据业务采用分库做法。如下:

目前几个大型电子商务网站是如何生成订单号的呢。让我们先看看订单号的格式吧。京东商城订单号格式:157444499;苏宁易购订单号格式:2000839647;凡客诚品订单号格式:213052230059;银泰网订单号格式:10030522161715。Web网站来源订单调用生成订单API后,存储在Web订单库。CallCenter网站调用生成订单API后,存储在CallCente订单库。Wap来源订单调用订单生成API后,存储在Wap订单库。最后需要把Web订单库,CallCenter订单库,Wap订单库等数据同步到后台订单主库中。后台订单主库是我们的核心库,存储所有订单数据。那么我们怎么才能把不同库中的订单数据同步到后台主库中,需要满足什么条件呢?电商网站中订单表大多都是以订单号做表的主键,我们必须保证各个子订单库中存储的订单号不能重复。这样才能保证可以安全的同步到后台主库中。

我们先来分析一下凡客诚品和银泰网的订单号生成规则。初看一下,凡客诚品和银泰网订单号都含有0522,这是因为这2张订单都是2013年5月22号下的订单。我们总结一下,凡客的订单规则:业务编码+年的后2位+月+日+订单数。银泰网的订单号规则:年的第三位数+业务编码+年的后1位+月+日+订单数。其实现方式应该是在数据库中新建一张订单量记录表维护每天的订单量。生成订单时,根据当天的日期查询这张表的订单数量加1,然后组合业务编码(比如业务编码Web=1,CallCenter=2,Wap=3)即为订单号。生成订单成功后在回写数据库(需记录订单量)。这种方式在高并发下会频繁更新订单量记录表,很容易产生锁表。

京东商城和苏宁易购的订单号看不出规则。我们猜想应该是 有一个全局数据库,这个数据库中只有一张订单表(Order),表Order只有一个自增的字段Id,这个自增的字段Id就是订单号。所有生成订单的API会首先访问全局数据库的Order表获得订单号,然后再生成订单。这样就可以保证子库订单号不重复。其实现方式避免了频繁的更新操作,只有Insert操作,性能要好很多

电商平台订单号生成策略相关推荐

  1. Java开源生鲜电商平台-订单抽成模块的设计与架构(源码可下载)

    Java开源生鲜电商平台-订单抽成模块的设计与架构(源码可下载) 说明:订单抽成指的是向卖家收取相应的信息服务费.(目前市场上有两种抽成方式,一种是按照总额的抽成比率,另外一种是按照订单明细的抽成比率 ...

  2. Java生鲜电商平台-订单配送模块的架构与设计

    Java生鲜电商平台-订单配送模块的架构与设计 生鲜电商系统最终的目的还是用户下单支付购买, 所以订单管理系统是电商系统中最为复杂的系统,其作为中枢决定着整个商城的运转, 本文将对于生鲜类电商平台的订 ...

  3. Java生鲜电商平台-订单中心服务架构与异常订单逻辑

    Java生鲜电商平台-订单中心服务架构与异常订单逻辑 订单架构实战中阐述了订单系统的重要性,并从订单系统的信息架构和流程上对订单系统有了总体认知,同时还穿插着一些常见的订单业务规则和逻辑.上文写到订单 ...

  4. Java生鲜电商平台-订单架构实战

    Java生鲜电商平台-订单架构实战 生鲜电商中订单中心是一个电商后台系统的枢纽,在这订单这一环节上需要读取多个模块的数据和信息进行加工处理,并流向下一环节:因此订单模块对一电商系统来说,重要性不言而喻 ...

  5. 电商平台订单获取API接口文档

    电商平台原始订单推送(不包含订单敏感信息) 描述 用于点三OMS向外部ERP推送电商平台原始订单信息,原始订单状态变化.地址变更.备注修改.旗帜变化.退款变化等都会触发推送. 电商平台订单获取API接 ...

  6. 电商平台-订单表的设计

    场景分析说明: 买家(餐馆)用户,通过APP进行选菜,放入购物车,然后下单,最终支付的流程,我们称为下单过程. 买家可以在张三家买茄子,李四家买萝卜,王五家买白菜,赵六家买猪肉等 那么买家就应该有个订 ...

  7. 6、生鲜电商平台-订单表的设计

    场景分析说明: 买家(餐馆)用户,通过APP进行选菜,放入购物车,然后下单,最终支付的流程,我们称为下单过程. 买家可以在张三家买茄子,李四家买萝卜,王五家买白菜,赵六家买猪肉等 那么买家就应该有个订 ...

  8. 电商平台-Java后端生成Token架构与设计详解

    目的:Java开源生鲜电商平台-Java后端生成Token目的是为了用于校验客户端,防止重复提交. 技术选型:用开源的JWT架构. 1.概述:在web项目中,服务端和前端经常需要交互数据,有的时候由于 ...

  9. 电商平台订单交易数据分析

    前言 本文根据某电商平台的实际订单交易数据,对2019年的交易情况进行分析,包括数据清洗.可视化.分析以及构造建立RFM模型. 1加载提取数据 1.1加载 数据包含如下字段:orderID:订单编号: ...

最新文章

  1. 算法--------------有效的数独
  2. 1086 就不告诉你
  3. lucene之创建索引代码
  4. SCARA四轴机器人丝杆花键_花键丝杆一体轴型SCARA机器人的制作方法
  5. 如何创建URL Mashup并插入到SAP Cloud for Customer标准页面里
  6. onpagefinished等了很久才执行_互联网职业经理人的素养(二):执行力
  7. golang interface 类型转换_Golang面试题41道
  8. oral_quiz-#StackWithMin#
  9. Android——通讯录
  10. 手机拍的图片资料打印很黑怎么解决?
  11. Java下载excel文件并且添加水印效果
  12. 轻风送暖写诗意,梅雨传情送祝福
  13. C语言中矩阵定义问题
  14. localize by triangle note
  15. 编程小白碰到丈母娘题目
  16. Java变态题目(持续更新)
  17. Windows Vista 官方中文正式版(MSDN)(转载)
  18. Android QQ空间(Apad)项目总结(三)---应用UI框架的搭建!!!
  19. 【PTA题目】7-4 打折 (5 分)
  20. NeuroImage:脑网络分析揭示社交焦虑症患者的大脑功能环路异常

热门文章

  1. videoleap自带素材_videoleap教程:制作电影帷幕开场效果细解
  2. 【参赛作品65】MOGDB/openGauss的txid_snapshot 数据类型和相关函数
  3. 双十一来了,给自己的应用做个icon换脸小功能
  4. python数据挖掘(2.分类 OneR算法)
  5. 医学应用计算机答案,医学计算机应用试题及答案大全02.doc
  6. ASR项目实战-从源码开始构建Kaldi
  7. 惩罚宝宝十个科学方法
  8. 没有一个冬天不可逾越
  9. 利用CSS让dl dt dd呈现多行多列效果
  10. 无悔入华夏怎么一直显示服务器,无悔入华夏快速通关攻略