網(wǎng)友吐槽12306網(wǎng)站太爛 專(zhuān)家:已接近技術(shù)極限
12306的“變態(tài)”庫(kù)存 好了,講了半天淘寶,回到正題“12306”——我以北京西到深圳北的G71次高鐵為例,它有17個(gè)站(北京西是01號(hào)站,深圳北是17號(hào)站),3種座位(商務(wù)、一等、二等)。表面看起來(lái),這不就是3個(gè)商品嗎?G71商務(wù)座、G71一等座、G71二等座。大部分吐槽的人就是在這里栽第一個(gè)跟頭的。 實(shí)際上,G71有136×3=408種商品(408個(gè)SKU),怎么算出來(lái)的?請(qǐng)看:如果賣(mài)北京西始發(fā)的,有16種賣(mài)法(因?yàn)楹竺嬗?6個(gè)站),北京西到:保定、石家莊、鄭州、武漢、長(zhǎng)沙、廣州、虎門(mén)、深圳……分別都是一個(gè)獨(dú)立的商品。 同理,石家莊上車(chē)的,有15種下車(chē)的可能,以此類(lèi)推,單以上下車(chē)的站來(lái)計(jì)算,有136種票:16+15+14……+2+1=136。每種票都有3種座位,一共是408個(gè)商品。 再看出票時(shí)怎么減庫(kù)存,由于商務(wù)、一等、二等三種座位數(shù)是獨(dú)立的,庫(kù)存操作也是一樣的,下文我就不再提座位的差別,只討論出發(fā)與到達(dá)站。另外,下文說(shuō)的是理論模型,不是說(shuō)“12306”的數(shù)據(jù)庫(kù)就是這么設(shè)計(jì)的。 旅客A買(mǎi)了一張北京西(01號(hào)站)到保定東(02號(hào)站)的,那么北京西到保定東這個(gè)商品的庫(kù)存就要減1,同時(shí),北京西到石家莊、鄭州、武漢、長(zhǎng)沙、廣州、虎門(mén)、深圳等15個(gè)站臺(tái)的商品庫(kù)存也要減1,也就是說(shuō),出一張北京西到保定東的票,實(shí)際上要減16個(gè)商品的庫(kù)存。 這還不是最復(fù)雜的,如果旅客B買(mǎi)了一張北京西(01號(hào)站)到深圳北(17號(hào)站)的票,除了北京西到深圳北這個(gè)商品的庫(kù)存要減1,北京西到保定東、石家莊、鄭州、武漢、長(zhǎng)沙、廣州、虎門(mén)等15個(gè)站臺(tái)的商品庫(kù)存也要減1,保定東到石家莊、鄭州、武漢、長(zhǎng)沙、廣州、虎門(mén)、深圳北等15個(gè)站臺(tái)的商品庫(kù)存要減1……總計(jì)要減庫(kù)存的商品數(shù)是16+15+14+……+1=120個(gè)。 當(dāng)然,也不是每一張票的庫(kù)存都完全這樣實(shí)時(shí)計(jì)算,可以根據(jù)往年的運(yùn)營(yíng)情況,在高峰時(shí)段預(yù)先對(duì)車(chē)票做一些分配,比如北京到武漢的長(zhǎng)途多一點(diǎn),保定到石家莊的短途少一點(diǎn)。我沒(méi)有證據(jù)證實(shí)鐵道部門(mén)這樣做了,但我相信,在還沒(méi)有“12306”網(wǎng)站的時(shí)候,就有這種人工預(yù)分配的策略了。 再想象一下,8萬(wàn)人舉著錢(qián)對(duì)你高喊:賣(mài)給我。你好不容易在錢(qián)堆里找到一只手,拿了他的錢(qián),轉(zhuǎn)身找120個(gè)同事,告訴他們減庫(kù)存,而這120個(gè)同事也和你一樣被8萬(wàn)人圍著;也和你一樣,每賣(mài)出一個(gè)商品要找?guī)资畟€(gè)人減庫(kù)存……這就是“12306”動(dòng)態(tài)庫(kù)存的變態(tài)之處。比你平時(shí)買(mǎi)東西的任何網(wǎng)站的庫(kù)存機(jī)制都復(fù)雜幾十上百倍。 空談技術(shù)無(wú)益解決問(wèn)題 防軟件搶票,也不是加個(gè)圖片驗(yàn)證碼那么簡(jiǎn)單。圖片驗(yàn)證碼有6種機(jī)器暴力破解的辦法,搶票插件用的是OCR識(shí)別。驗(yàn)證碼設(shè)置得復(fù)雜一點(diǎn)行不行?有人又要提意見(jiàn)了:這只是便宜了大學(xué)生和辦公室白領(lǐng),農(nóng)民工連26個(gè)字母都認(rèn)不齊,怎么搞?搞動(dòng)畫(huà)驗(yàn)證碼吧,也有人說(shuō),視力不好的人怎么辦?最后驗(yàn)證碼被搞得很簡(jiǎn)單,皆大歡喜。其實(shí)最高興的是開(kāi)發(fā)搶票插件的公司。 就算采用了機(jī)器完全不可能識(shí)別的驗(yàn)證碼,也防不住社會(huì)工程學(xué)的破解辦法。招募一堆網(wǎng)吧打游戲的青少年朋友,每成功輸入50個(gè)驗(yàn)證碼給1塊錢(qián),或者等值的虛擬貨幣、游戲裝備,我保證想賺這個(gè)錢(qián)的人數(shù)不勝數(shù)。這點(diǎn)錢(qián)對(duì)轉(zhuǎn)賣(mài)車(chē)票的利潤(rùn)而言,是可以接受的成本。有沒(méi)有什么技術(shù)可以防住社會(huì)工程學(xué)的破解辦法呢?能防住網(wǎng)吧青少年的驗(yàn)證碼只有——“2克濃度為3%的U235在大亞灣核電站能發(fā)多少度電”。 以上討論只是把“12306”當(dāng)成和淘寶一樣沒(méi)有歷史包袱從零起步的交易系統(tǒng),實(shí)際上它不是,它后面的票池還有電話售票、火車(chē)站售票、代售點(diǎn)售票等多個(gè)傳統(tǒng)渠道要服務(wù)。除了客運(yùn)服務(wù),“12306”還有全國(guó)最大(很可能也是全球最大)的大宗物資貨運(yùn)系統(tǒng)。架空政策(包括定價(jià)政策、警方打擊“黃牛”政策、身份驗(yàn)證政策)談技術(shù),是不可能解決春運(yùn)搶票困局的。 還有人說(shuō),KFC的食品可以單賣(mài),也可以賣(mài)套餐,為什么沒(méi)像我一樣搞出這么多SKU?那是因?yàn)椋琄FC門(mén)店的“人肉查詢”頻率非常低,沒(méi)必要為了優(yōu)化查詢性能把庫(kù)存結(jié)構(gòu)設(shè)計(jì)成那樣。 專(zhuān)家普遍認(rèn)為“代碼狗”所言在理:“12306”已接近技術(shù)極限 填補(bǔ)春運(yùn)運(yùn)能尚無(wú)有效“神器” 2014年春運(yùn)大幕已經(jīng)開(kāi)啟,網(wǎng)絡(luò)和電話購(gòu)買(mǎi)火車(chē)票平臺(tái)“12306”再次成為社會(huì)關(guān)注焦點(diǎn)。 自從“12306”誕生之日起,急著回家過(guò)年的人們已不再需要卷著鋪蓋、帶著干糧去火車(chē)站排隊(duì)買(mǎi)車(chē)票,電話線和網(wǎng)線承載了絕大部分希望。然而,“12306”并不像人們所期待的那樣給力,漏洞多多、時(shí)常癱瘓,炒票的“黃牛”轉(zhuǎn)戰(zhàn)網(wǎng)絡(luò)仍然活躍……近日,一位自稱(chēng)“前淘寶技術(shù)人員,且曾在某民營(yíng)公司做過(guò)電商副總”的名為“代碼狗”的網(wǎng)友在網(wǎng)上發(fā)帖,詳細(xì)分析“12306”網(wǎng)站的技術(shù)特點(diǎn)和它所面臨的“不可能完成的任務(wù)”,直言這個(gè)官方網(wǎng)站已經(jīng)窮盡所能試圖解決購(gòu)票難題,但無(wú)法單純依靠技術(shù)手段徹底填平鐵路運(yùn)能與春運(yùn)需求之間的鴻溝。 這引起了人們對(duì)“12306”的新一輪審視。“代碼狗”所言有無(wú)道理?“12306”平臺(tái)從技術(shù)角度看到底處于怎樣的水平?羊城晚報(bào)記者就此采訪了多位專(zhuān)家、電商技術(shù)人員以及鐵路部門(mén)工作人員。 |
關(guān)鍵詞:12306,吐槽,極限,網(wǎng)絡(luò)購(gòu)票 |