用Asp.net 就能輕鬆實現鐵道部的訂票系統

來源:互聯網
上載者:User

總結大家的發言,期望中的火車新訂票系統

1)鐵付通:允許允值到帳戶

2)預訂方式:預訂不成功退錢回帳戶

3)加入分配規則:解決像春節特殊節日下,優先滿足回家的人們

(去年有回去的優先順序下降一檔、不是回家的優先最低。

 什麼流量,根本就是最最基本的技術問題,談流量者SB)

4)加入使用者信用評價體系,並和分配優先順序掛鈎

5)支援PC、智能手機的訂票方式,逐漸減少人工售票點(不會線上訂票的人群)

6)目標是:使用者可以10分鐘內完成預訂單(不需要也不提供查餘票功能)

              在搶票期內5分鐘~24小時給出是否預訂成功;

         非搶票期在運輸資源出來後1小時內給出是否預訂成功。

         節約沒有意義的排隊、刷屏的國民時間;照顧到需要照顧的人群;

              讓最基層的老百姓多些滿意。

 

(架構圖就不畫了,估計鐵道部相關的人員也不會理睬這個)

***********************************************************

 

 前言:

  最近經常看到買票難,作為搞技術的我TMD的罵一次:

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

      就不能換個思路設計訂票系統。

      要是我是什麼什麼的來著,早已經實現通過手機簡訊、網站就能輕鬆買票了;

      還順便將手機實名制給實現了。

 

 摘要:

  現有的訂票方案問題在哪,

  1)是即時的,需要很多很多計算資源;搞得訂票過程耗時

  2)技術難度大:如餘票查詢、數量扣除鎖等,都有很大的架構難度。

  即並行訪問根本就不是問題,問題在於單個使用者的處理時間過長,

  造成使用者在網站“同一資源過程”停留的過長造成的雪崩效應問題。

     最終是:200個使用者在A伺服器上卡死了,會話時間為20分鐘的話,A伺服器基本上是掛了。要等監控進程清理,所以才會出現付錢不給票的情況(強制清除進程造成)

  

  我想解決的是:避免浪費國民的時間,老是作那些沒有意義的查詢,

  直接根據旅客的要求要給有沒有票就好了。

  而且,能實現很多很多其它的功能,又沒有什麼技術難度。

 

 

 

 本文:

 

  不知是我想簡單了,還是專家們想複雜了。

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

 線上售票系統簡單得多了。
 罵完鐵道部後,提供一簡單又可行的解決方案。

  查詢餘票、防止超售、防止黃牛,一般的設計思路是有難度,

  換個思路,TMD太簡單的就能搞定。

一、總體方案

 1、正常情況:預訂交錢-->後台自動驗證規則-->不符合購買限制的錢原路退回-->
-->提醒使用者預訂成功(但不一定有票)-->運輸資源出來,根據先到可先得+最佳化級的原則分配
-->簡訊通知使用者取票

 2、使用者不取票:沒有關係,因為鐵道部已經收到錢,所以你開車前兩小時取即可。
      多方便啊,就不用為了票多走一次車站。

 3、使用者退票:春運有人退嗎? 平時要是退了,就退吧

二、前台網站設計

 只需要預訂,根本不需要查餘票什麼的。所以很簡單的架構就能搞定,甚至不用CDN

 

三、後台設計

 

 預訂後,後台慢慢處理,看資源情況增加伺服器。即使背景伺服器掛了,前台使用者也感覺不出來。
 運輸資源出來,看有多少是分配給網上訂票的,依規則分配即可。

 這樣背景架構要有多靈活,就可以設計成多靈活。
 後台由驗證伺服器+分配伺服器+取票及Tracing Service器組成。
 具有分配資格的,滿足了身份證唯一、已付款、優先順序等等要求了;
 而且是一票一票分配的,根本就沒有什麼複雜的邏輯處理,也沒有什麼資料庫表鎖;
 因為能分配的已經滿足了鎖的要求了,用單線程分配就好了。
 2核的一秒就可以處理1000張票以上。

 

四、可能的問題

 

  1、有存在海量的處理的情況嗎? 沒有,預訂對資料只是增加操作,不需要扣除數量鎖表
  2、有峰值壓力嗎? 沒有,預訂時要處理的事情很少很少
  3、能不能訂到票,心裡沒底? 預訂和搶票,沒有區別啊,
  關鍵一點的是,預訂可以有複雜的預計,比如允許自動安排下一趟什麼的;
  多靈活啊。也不要做哪些沒有意義的重複提交。
  4、如果鐵道部的內部人員想作弊,採用什麼方式都可能存在作弊

 

 五、優點

 1、能提前10年預訂都沒有問題,只要鐵道部和旅客願意。將來的目標發展為:個人旅行管理系統
 2、前台輕量,愛怎樣擴充就怎樣擴充
   3、後台愛怎樣處理都行,而且可以很容易監控,有異常還可以人工偷偷處理一下,使用者根本感覺不到
 4、實際上這樣一套系統上線,在家中買票,要坐車再去取票就可以了。不夠鐵道部的關係人少了點代理收入。

 

六、經@諾貝爾的啟發,完善系統如下:


 1、前台部分:
     PC端:由前台預訂系統、身證驗證子系統、網銀子系統、防止入侵子系統、業務監控系統
   智能手機:修改適合手機特點的預訂系統
    (前台預計系統很簡單,就一般的小公司都沒做再來的那一種,就是往資料庫裡增加記錄,不驗證不看餘票等規則)
 2、後台部分

  訂票確權伺服器(是否有預計資格)、車票分配伺服器、取票通知伺服器、業務監控系統、資源管理和分配規則管理系統等組成

 3、結算部分

   另開發結算管理系統,處理帳務、退錢、退票等

 

   經以上分析,結論:用Asp.net+SQL2008 就可以輕鬆實現。特別是後台,用C#.net 開發絕對是優勢。

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.