電商訂單號(hào)的由來
對(duì)于一般的數(shù)據(jù)而言,電商系統(tǒng)訂單表的設(shè)計(jì),就一個(gè)主鍵。但是,對(duì)于訂單系統(tǒng)數(shù)據(jù)來說,除了流水號(hào)這個(gè)主鍵之外,還有一個(gè)電商訂單號(hào)。電商訂貨系統(tǒng)流水號(hào),供系統(tǒng)內(nèi)部使用,即供技術(shù)層面使用。訂單管理系統(tǒng)開發(fā)的電商訂單號(hào),供系統(tǒng)外部使用,是給人看的。
電商訂單號(hào)的應(yīng)用場(chǎng)景
1.電商行業(yè)
2.支付行業(yè)
3.物流行業(yè)
如何設(shè)計(jì)訂單號(hào)
電商流水號(hào),作為主鍵,和其他主鍵一樣,只要保證唯一性即可,具體實(shí)現(xiàn)方法,一般是采用數(shù)據(jù)庫(kù)序列號(hào)遞增的設(shè)計(jì)。
電商訂單號(hào),由于是給人(用戶、售后、運(yùn)營(yíng)等)看的,所以,與電商流水號(hào)相比,就多了兩點(diǎn)要求:
1.可讀性
2.安全性
可讀性
電商系統(tǒng)訂單包含一些基本信息,方便人閱讀,這個(gè)不多說。
安全性
在可讀性的基礎(chǔ)之上,還要確保數(shù)據(jù)的安全性,即不能讓人看出來訂單的交易量。
總結(jié)
流水號(hào),只要確保唯一性即可。
訂單號(hào),需要考慮以下3點(diǎn)要求:
1.唯一性
2.可讀性
3.安全性
技術(shù)實(shí)現(xiàn)
1.對(duì)于可以拿到用戶id的情況,訂單號(hào)生成規(guī)則如下:
時(shí)間戳;
用戶id/商家id;
隨機(jī)數(shù)字;
用戶id,泛指能夠唯一標(biāo)識(shí)當(dāng)前用戶的id。最好是公開的、非隱私的數(shù)據(jù),如商家號(hào)。如果需要對(duì)用戶id進(jìn)行保密,那么可以對(duì)用戶id進(jìn)行hash。
2.對(duì)于拿不到用戶電商訂單id(例如,能拿到商家id但是拿不到用戶id)的情況,使用更復(fù)雜的生成規(guī)則:
時(shí)間戳;
商家id;
隨機(jī)數(shù)字或隨機(jī)數(shù)字 + 緩存 //可以確保唯一性;
進(jìn)程id/線程id;
確保當(dāng)前請(qǐng)求的唯一性;
流水號(hào),流水號(hào)唯一,但要防止泄露交易量,其他……;
總結(jié)
生成規(guī)則最重要的一點(diǎn)是,保證當(dāng)前電商訂單請(qǐng)求的唯一性。
來源:segementfault
<數(shù)商云(www.zhimaihui.cn)是國(guó)內(nèi)知名企業(yè)級(jí)電商平臺(tái)提供商,為企業(yè)級(jí)商家提供最佳的系統(tǒng)開發(fā)(多種模式電商平臺(tái)搭建:B2B/B2B2C/B2C/O2O/新零售等)、供應(yīng)商系統(tǒng)搭建及電商解決方案服務(wù)>
評(píng)論