當(dāng)前位置: 首頁最新資訊 → 用Asp.net 就能輕松實(shí)現(xiàn)鐵道部的訂票系統(tǒng)

用Asp.net 就能輕松實(shí)現(xiàn)鐵道部的訂票系統(tǒng)

更多

   前言

  最近經(jīng)?吹劫I票難,作為搞技術(shù)的我TMD的罵一次:

   票會增加嗎?總是有人能買到,有人不能買到;

   就不能換個(gè)思路設(shè)計(jì)訂票系統(tǒng)。

   要是我是什么什么的來著,早已經(jīng)實(shí)現(xiàn)通過手機(jī)短信、網(wǎng)站就能輕松買票了;

   還順便將手機(jī)實(shí)名制給實(shí)現(xiàn)了。

  

  正文

   不知是我想簡單了,還是專家們想復(fù)雜了。

  鐵道部的專家還停留在線下售票方案中撥不出來;

  線上售票系統(tǒng)簡單得多了。

  罵完鐵道部后,提供一簡單又可行的解決方案。

  查詢余票、防止超售、防止黃牛,一般的設(shè)計(jì)思路是有難度,

  換個(gè)思路,TMD太簡單的就能搞定。

  一、總體方案

  1、正常情況:預(yù)訂交錢-->后臺自動(dòng)驗(yàn)證規(guī)則-->不符合購買限制的錢原路退回-->

  -->提醒用戶預(yù)訂成功(但不一定有票)-->運(yùn)輸資源出來,根據(jù)先到可先得+優(yōu)化級的原則分配

  -->短信通知用戶取票

 。、用戶不取票:沒有關(guān)系,因?yàn)殍F道部已經(jīng)收到錢,所以你開車前兩小時(shí)取即可。

   多方便啊,就不用為了票多走一次車站。

 。、用戶退票:春運(yùn)有人退嗎?平時(shí)要是退了,就退吧

  二、前臺網(wǎng)站設(shè)計(jì)

  只需要預(yù)訂,根本不需要查余票什么的。所以很簡單的架構(gòu)就能搞定,甚至不用CDN

  三、后臺設(shè)計(jì)

  預(yù)訂后,后臺慢慢處理,看資源情況增加服務(wù)器。即使后臺的服務(wù)器掛了,前臺用戶也感覺不出來。

  運(yùn)輸資源出來,看有多少是分配給網(wǎng)上訂票的,依規(guī)則分配即可。

  這樣后臺的架構(gòu)要有多靈活,就可以設(shè)計(jì)成多靈活。

  后臺由驗(yàn)證服務(wù)器+分配服務(wù)器+取票及跟蹤服務(wù)器組成。

  具有分配資格的,滿足了身份證唯一、已付款、優(yōu)先級等等要求了;

  而且是一票一票分配的,根本就沒有什么復(fù)雜的邏輯處理,也沒有什么數(shù)據(jù)庫表鎖;

  因?yàn)槟芊峙涞囊呀?jīng)滿足了鎖的要求了,用單線程分配就好了。

  2核的一秒就可以處理1000張票以上。

  四、可能的問題

   1、有存在海量的處理的情況嗎?沒有,預(yù)訂對數(shù)據(jù)只是增加操作,不需要扣除數(shù)量鎖表

   2、有峰值壓力嗎?沒有,預(yù)訂時(shí)要處理的事情很少很少

   3、能不能訂到票,心里沒底?預(yù)訂和搶票,沒有區(qū)別啊,

  關(guān)鍵一點(diǎn)的是,預(yù)訂可以有復(fù)雜的預(yù)計(jì),比如允許自動(dòng)安排下一趟什么的;

  多靈活啊。也不要做哪些沒有意義的重復(fù)提交。

   4、如果鐵道部的內(nèi)部人員想作弊,采用什么方式都可能存在作弊

   五、優(yōu)點(diǎn)

 。薄⒛芴崆埃保澳觐A(yù)訂都沒有問題,只要鐵道部和旅客愿意。將來的目標(biāo)發(fā)展為:個(gè)人旅行管理系統(tǒng)

 。、前臺輕量,愛怎樣擴(kuò)展就怎樣擴(kuò)展

   3、后臺愛怎樣處理都行,而且可以很容易監(jiān)控,有異常還可以人工偷偷處理一下,用戶根本感覺不到

 。、實(shí)際上這樣一套系統(tǒng)上線,在家中買票,要坐車再去取票就可以了。不夠鐵道部的關(guān)系人少了點(diǎn)代理收入。

  經(jīng)以上分析,結(jié)論:用Asp.net+SQL2008 就可以輕松實(shí)現(xiàn)。特別是后臺,用C#.net開發(fā)絕對是優(yōu)勢。

熱門評論
最新評論
發(fā)表評論 查看所有評論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)