訂單號規(guī)則:
訂單命名的幾種規(guī)則:
1考余、不重復(fù)。
2章姓、安全性。
你的訂單編號不能透露你公司的真實(shí)運(yùn)營信息识埋,比如你的訂單就是流水號的話,那么別人就可以從訂單號推測出你公司的整體運(yùn)營概括了零渐。所以訂單編碼必須是除了你們公司少部分人外窒舟,其他人基本看不懂的。參考京東和淘寶的編碼規(guī)則诵盼,基本別人是搞不清是什么意思的惠豺。
其實(shí)最好的防泄漏編碼規(guī)則就是在編碼中不要加入任何和公司運(yùn)營的數(shù)據(jù)银还。
3、不能使用大規(guī)模隨機(jī)碼洁墙。
很多人分析訂單編碼規(guī)則的時(shí)候蛹疯,第一個(gè)念頭肯定是不重復(fù)唯一性,那么第二個(gè)念頭可能就是安全性热监,那么同時(shí)滿足前兩者的第三個(gè)念頭就是隨機(jī)碼了捺弦。因?yàn)榇笠?guī)模的隨機(jī)碼隨機(jī)生成,因?yàn)楸旧砭蜎]有意義所以無所謂泄密了孝扛。但是事實(shí)上這種編碼規(guī)則在實(shí)現(xiàn)上會有很大問題的。
隨機(jī)碼滿足第二點(diǎn)安全性要求苦始,為了滿足第一點(diǎn)不重復(fù)特性,那就得在生成隨機(jī)碼的時(shí)候?qū)Ρ葰v史數(shù)據(jù)是否有重復(fù)理郑,如果你的訂單數(shù)量到達(dá)了十萬次咨油,你每次生成訂單編碼時(shí)就得對比十萬條歷史數(shù)據(jù)臼勉,你可想而知會造成什么巨大問題。
但是難道隨機(jī)碼就不能在編碼中使用了嗎囱晴?小規(guī)模的隨機(jī)碼是可以使用的瓢谢,比如2~3位氓扛,這種隨機(jī)碼一般都是和流水號等結(jié)合使用,主要作用是為了隱藏流水號的真實(shí)數(shù)據(jù)而進(jìn)行使用的千所。
4蒜埋、防止并發(fā)。
這條規(guī)則主要針對編碼中有時(shí)間的設(shè)定整份。
5、控制位數(shù)犯建。
這點(diǎn)很好理解瓜客,訂單號的作用就是便于查詢忆家。
一般正常使用場景應(yīng)該是訂單出異狀或者退貨的時(shí)候,用戶將訂單號報(bào)給客服揭芍,由客服進(jìn)行查詢卸例。
所以一般在10~15位為好筷转。
京東10位,淘寶15位锭汛。
推薦的幾種編碼規(guī)則:
年月日時(shí)分秒+用戶ID(命名用戶ID時(shí)也要注意袭蝗,不要用流水號到腥。可以采用區(qū)域ID+隨機(jī)碼+流水號+隨機(jī)碼方式)
1配名、唯一性:時(shí)間是單向的渠脉,確保唯一性瓶佳。
2涩哟、安全性:確保用戶ID安全即可。
3贴彼、隨機(jī)碼不參與判斷器仗,因?yàn)橹皵?shù)據(jù)已確保無重復(fù)。
4威鹿、在同1秒鐘忽你,同一用戶是不會產(chǎn)生2個(gè)訂單編碼的臂容,所以可以防并發(fā)脓杉。
5、位數(shù)可能會在20位之內(nèi)尿赚,位數(shù)比較多蕉堰。
年月日時(shí)分秒微秒+隨機(jī)碼(2)+流水號+隨機(jī)碼(3)
1、唯一性:時(shí)間是單向的泻蚊,確保唯一性性雄。
2羹奉、安全性:確保流水號不會識別出即可诀拭。
3耕挨、隨機(jī)碼的位數(shù)和前后都是保密的尉桩,所以如果不清楚這一點(diǎn)的話蜘犁,是很難判斷出流水號的位數(shù)的止邮。因?yàn)橥瑫r(shí)產(chǎn)生的訂單數(shù)量很多不从,編碼不具備線性對比功能。就算知道了流水號免糕,可以在初始化時(shí)進(jìn)行賦值绿淋。
4滑沧、在同1秒鐘滓技,同一用戶是不會產(chǎn)生2個(gè)訂單編碼的令漂,所以可以防并發(fā)。
5荚孵、位數(shù)可能會在20位之內(nèi)收叶,位數(shù)比較多判没。
訂單號常見的幾種方式:
1.利用數(shù)據(jù)庫主鍵值產(chǎn)生一個(gè)自增長的訂單號(訂單號即數(shù)據(jù)表的主鍵)
2.日期+自增長數(shù)字的訂單號(比如:2012040110235662)
3.產(chǎn)生隨機(jī)的訂單號(65865325365966)
4.字母+數(shù)字字符串式隅茎,字母有包含特別意義辟犀,C02356652
訂單號設(shè)計(jì)原則: 按需設(shè)計(jì)
用來檢索訂單詳細(xì)信息的唯一特征碼,可以利用訂單號檢索到下單日期玻佩、產(chǎn)品類別漱牵、顏色酣胀、尺碼(或款式)闻镶、倉位等信息铆农,訂單號包含過多的信息有點(diǎn)“畫蛇添足”的意味墩剖!只要按需設(shè)計(jì)即可夷狰!
訂單號設(shè)計(jì)用戶體驗(yàn)規(guī)則:
1.訂單號無重復(fù)性沼头;
2.如果方便客服的話,最好是“日期+自增數(shù)”樣式的訂單號土至,客服一看便知道訂單是否在退貨保障期限內(nèi)容陶因;
3.訂單號長度盡量保持短(10位以內(nèi))垂蜗,方便用戶么抗,尤其電話投訴時(shí)蝇刀,長的號碼報(bào)錯(cuò)幾率高,影響客服效率然爆;
4.訂單號盡量保持?jǐn)?shù)字型(純整數(shù))曾雕,在數(shù)據(jù)庫訂單索引查詢中剖张,長整數(shù)字型的數(shù)據(jù)索引與檢索效率搔弄,遠(yuǎn)遠(yuǎn)高于文本型顾犹,因此盡量避免“字母+數(shù)字字符串式”炫刷!
參考資料:訂單號生成規(guī)則