最近很火的京東、天貓超市飛天茅臺搶購是怎么回事,從原理流程給你們分析一波
文章目錄
- 京東茅臺介紹
- 天貓茅臺介紹
- 京東搶購流程
- 簡單明了的流程圖
- null和90008
- 服務器壓力部分
- 通俗易懂的鎖
- 其他原因
- 天貓搶購流程
- 簡單明了的流程圖
- 令牌的方式搶購茅臺
- 為什么天貓的要公平一些
- 最后
原文地址:
最近很火的京東、天貓超市飛天茅臺搶購是怎么回事,從原理流程給你們分析一波
本文資料都沒有證據支撐,皆為作者遐想,如有雷同,均為巧合,
京東茅臺介紹
最近茅臺搶購突然就火了,莫名其妙,
而最初的京東腳本搶購作者,留下一句,一個被京東警告截圖,便銷聲匿跡,
但是他掀起的波瀾還在繼續,那7k份在github上fork的代碼,將生生不息的fork下去
在一個月前,京東飛天茅臺搶購,其實沒幾個人知道,每天的預約在10來萬,那時候用腳本的都是黃牛,普通人基本沒有腳本可用,
那么后來呢,大概也就是10天以前吧,腳本火起來了,
然后一直到現在,京東的預約搶購茅臺人數一直在暴增,現在一天有百萬人+預約搶購,
但我猜哈,放的量估計是不會增多的,
所以這也是為什么,現在很多朋友說越來越難搶購了,畢竟分母增加了10倍,
另外一方面呢,京東鐵定是改動了eid和fp的一些規則,普通商品不知道,但是茅臺這個商品,正常情況下獲取eid和fp已經是不行了,
那么我們分析一下,京東從最近這一個月的預約來看,賺了多少呢
為什么這么說,因為京東還是挺賊的,需要開通京東Plus會員才能搶購,那么現在,開通Plus會員的價格是多少,我現在看了一下,年卡是149一年,保守一點估算,假設這個腳本為京東帶來了100萬的購買人數,那么這一個月,京東通過Plus新增獲利:1億4900萬,我想,這其中,其實有原來作者的一半功勞,
所以還是那句話,你可能血賺,我永遠都不會虧,
另外,你不要覺得京東1499賣一瓶茅臺,京東補貼了多少,這個還真不一定,這個要看京東到底和茅臺是咋合作的了,
天貓茅臺介紹
天貓超市可以搶購茅臺,我開始是不知道的,也是在后面經過一些粉絲的提醒說天貓超市也可以搶購,
于是就去了解了一下,發現,還是天貓良心,沒有門檻,人人都可以搶購,完全拼手速,
什么信用分高的才能搶到,信用分低的直接風控,目前看來,淘寶沒有做這種落人話柄的事情,
人人平等,沒啥好說的,大家拼手速,
現在呢,我講講背后的原理,當然,我是猜測京東和天貓的搶購實作方案,具體怎么實作的,我不知道,但是根據這份方案,可以實作類似的一個功能,
京東搶購流程
簡單明了的流程圖
首先來說說京東的吧,
畫個簡單的流程圖:

null和90008
在流程圖中,充分展示了為什么有的人會回傳null,有的人會是90008,有的是90016,當然,這是我的猜測,具體情況如何,還得問京東的開發人員,
雖然這樣的搶購挺不公平的,但是對于京東來說,或者說對于服務器壓力,還是其他資本原因來說,都是一個很不錯的選擇,
為啥這么說,
服務器壓力部分
首先說一下壓力的原因,大家應該知道,當并發越大,對于服務器,對于技術人員的挑戰來說,那是更大的,服務器的成本也會越高,
而京東很聰明,回傳null,和回傳90008,這里會篩選掉很多的并發請求,從而可以釋放出多余的服務器壓力來處理正常的業務,
而且,我覺得對于現在這個劇增的一個預約和并發,京東服務器能支撐的一個原因,也是因為過濾了很多請求,為什么,因為很多人明顯感徑訓傳null的情況非常多非常多,很有可能是因為服務器無法撐起如此大的并發,直接在前端服務器進行丟棄了一些請求,或者說,沒有任何運算,直接判斷小白信用分,或者搞一個亂數,直接在后端回傳,也是有可能的哈,
通俗易懂的鎖
另外說說回傳90016的情況,可能有些朋友不理解鎖,我在這里就不長篇大論了,就簡單的說一下,
可以理解搶購是要進一個門,而這個門內有兩瓶茅臺,現在好了,門上掛著一個鎖,而鎖有一個鑰匙,有且僅有一個鑰匙,本來有100個大漢的,雖然門衛趕走了90個大漢,但是還有10個大漢同時來到了門前,這個時候怎么辦,那還能怎么辦,誰的手先拿到鑰匙,那么誰就擁有了進入門內的資格,
所以呢,另外9個大漢,只能拿著90016的數字進行一個回傳,而那一個大漢,恭喜,拿著鑰匙進入了大門,扛走了茅臺,
其他原因
至于資本原因,
你用我的京東,你的小白信用分高,那么我給你點特權,看著很合理嘛,
至于剛開Plus會員的朋友,小白信用分不會高到哪去,所以基本上屬于給京東送錢系列,
京東就想著你開會員,然后后續進行一些消費,努力提高自己的小白信用分,
至于這個點子有沒有用,我就不繼續說下去了,懂的都懂,
天貓搶購流程
天貓的風控非常牛批,這個我是認的,
無論你是用爬蟲腳本還是其他的驅動腳本,大概率都會被天貓給識別出來,
后面我想了種方式,就是自己打開瀏覽器,然后利用螢屏像素,以及元素定位進行點擊螢屏坐標,這種方式確實可行,但是其實不比手點快多少,而且測量麻煩,就暫時沒去弄了,
簡單明了的流程圖
好了,來看看天貓的流程圖,這個其實簡單很多,

那么,這里的搶購方式,明顯比京東簡單了很多,而且厚道了很多,但是原理上,在這里我沒寫鎖的方式,而是通過令牌的方式,
當然了,鎖也好,令牌也罷,都只是其中的一種實作方式,具體采用哪種,還是只有開發的員工知道了,不扯遠了,繼續看圖,
令牌的方式搶購茅臺
那么這個令牌,怎么說呢,想必學過編程的朋友,心理已經有了數,庫存固定,那很好辦嘛,準備一個桶,把100瓶茅臺放進去(假設是100瓶),那么人來了,怎么給了,
那就更簡單了嘛,來一個人,那個人就取一瓶,取完就走,然后有人問,同時有幾個人伸手拿茅臺怎么辦,這個嘛,我們準備一個通道,通道旁邊放一個桶,茅臺在桶里,
那么就不會出現同時來兩個人或者多個人伸手到桶里拿茅臺的情況了,要說這通道是啥,就說一個就行了,用Redis可以輕輕松松的實作了,另外,加鎖也行的嘛,一次只讓拿到鎖的手伸進桶去,
為什么天貓的要公平一些
當然,具體的實作我是不知道的,我是從表面分析的哈,
天貓沒有京東的小白信用分卡點,也沒有一些其他概率性null的情況,天貓的朋友都在一個起跑線上,比拼網速,比拼手速,這就是我認為為什么天貓要公平一些,
因為天貓是先到先得,而不是類似京東,你先到了,我看看你的信用分,什么,信用分80,辣雞,給你回傳90008/null,下一個,
最后
也不知道這篇文章我有沒有說清楚一些搶購的點,包括這個京東和天貓的大致流程,對于不懂技術的朋友來說,如果你們都能通過我的注釋和圖解看懂這個流程圖了,那么說明我這篇文章是還可以的,
最近10幾天,因為腳本,我有很多地方改變了很多,以前我總想著,技術這東西,越深奧越牛批,
但現在,我不這么想,我想的是,懂技術的人終究都是少數,大多數的朋友都是不懂技術,
既然你是分享,你是寫文章的,為什么不去考慮這絕大多數的人,我想我現在想明白了,以后的教程文章,我會盡量寫的通俗易懂一些,為什么我不用一些例子隨著一些技術名詞一塊講解呢,
如果您覺得您看懂了這篇文章,希望您能給點支持,我的公眾號需要您的關注,感謝關注我的每一個朋友,

另外,下面這兩篇文章,想研究學習的朋友可以去看看
1499飛天茅臺搶購腳本教程、問題與解決方案的文章匯總索引目錄【淘寶-天貓超市、京東】
Python專案代碼使用程序中遇到的Python問題匯總索引目錄【淘寶-天貓超市、京東】
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/249575.html
標籤:AI
