取消

订单号的设计

2018-11-15 阅读:2667
文章分类:技术干货

电商订单号的由来

对于一般的数据而言,电商系统订单表的设计,就一个主键。但是,对于订单系统数据来说,除了流水号这个主键之外,还有一个电商订单号。电商订货系统流水号,供系统内部使用,即供技术层面使用。订单管理系统开发的电商订单号,供系统外部使用,是给人看的。

电商订单号的应用场景

1.电商行业

2.支付行业

3.物流行业

如何设计订单号

电商流水号,作为主键,和其他主键一样,只要保证唯一性即可,具体实现方法,一般是采用数据库序列号递增的设计。

电商订单号,由于是给人(用户、售后、运营等)看的,所以,与电商流水号相比,就多了两点要求:

1.可读性

2.安全性

可读性

电商系统订单包含一些基本信息,方便人阅读,这个不多说。

安全性

在可读性的基础之上,还要确保数据的安全性,即不能让人看出来订单的交易量。

总结

流水号,只要确保唯一性即可。

订单号,需要考虑以下3点要求:

1.唯一性

2.可读性

3.安全性

技术实现

1.对于可以拿到用户id的情况,订单号生成规则如下:

时间戳;

用户id/商家id;

随机数字;

用户id,泛指能够唯一标识当前用户的id。最好是公开的、非隐私的数据,如商家号。如果需要对用户id进行保密,那么可以对用户id进行hash。

2.对于拿不到用户电商订单id(例如,能拿到商家id但是拿不到用户id)的情况,使用更复杂的生成规则:

时间戳;

商家id;

随机数字或随机数字 + 缓存 //可以确保唯一性;

进程id/线程id;

确保当前请求的唯一性;

流水号,流水号唯一,但要防止泄露交易量,其他……;

总结

生成规则最重要的一点是,保证当前电商订单请求的唯一性。

来源:segementfault

<数商云(www.shushangyun.com)是国内知名企业级电商平台提供商,为企业级商家提供最佳的系统开发(多种模式电商平台搭建:B2B/B2B2C/B2C/O2O/新零售等)、供应系统搭建电商解决方案服务>

点赞 | 0
数商云是一家全链数字化运营服务商,专注于提供SCM/企业采购/SRM供应商/DMS经销商/渠道商等管理系统,B2B/S2B/S2C/B2B2C/B2C等电商系统,从“供应链——生产运营——销售市场”端到端的全链数字化产品和方案,致力于通过数字化和新技术为企业创造商业数字化价值。
评论
发表
联系我们
在线咨询 4008-868-127
售前咨询 189-2432-2993
市场合作 steven@shushangyun.com
广州市数商云网络科技有限公司
© 2013 - 2021 shushangyun.com
电话咨询 在线咨询 系统演示