?

中老鐵路互聯網售票系統設計與應用

2024-03-15 10:15王雪峰
鐵路計算機應用 2024年2期
關鍵詞:購票老撾架構

王雪峰

(北京經緯信息技術有限公司,北京 100081)

中老(中國—老撾)鐵路項目由中國和老撾兩國政府合作推進,旨在促進兩國經濟合作和區域互聯互通,是中國共建“一帶一路”倡議與老撾“變陸鎖國為陸聯國”戰略的對接項目,也是老撾第一條現代化鐵路。針對中老鐵路磨萬(磨丁—萬象南)段旅客購票問題,既有中老鐵路客票系統已經實現了窗口售票和手持檢票等功能,但老撾旅客只能到車站窗口購買車票,增加了旅客購票的時間成本和車站運營組織成本。為了進一步方便老撾旅客購票,在既有窗口售票基礎上,亟需新建互聯網手機售票功能,讓老撾旅客足不出戶,即可通過售票APP 輕松購票,提升中老鐵路售票業務的信息化水平。

本文綜合考慮老撾當地信息化水平和網絡建設情況,同時借鑒了鐵路12306 互聯網售票系統建設的先進經驗,設計中老鐵路互聯網售票系統,并從總體架構、邏輯架構等層面對該系統進行了全面剖析。通過分布式緩存及數據同步策略、基于消息隊列的異步排隊,以及基于釘釘機器人的消息通知機制等關鍵技術,充分驗證該系統架構設計的可行性和可靠性,保障其在高并發購票場景下,能夠平穩有序地處理用戶購票請求。

1 系統架構

中老鐵路互聯網售票系統在充分借鑒中老鐵路客票系統窗口售票子系統建設經驗基礎上[1],對核心區既有應用服務進行擴容,新增了互聯網業務邏輯應用集群、互聯網數據庫;同時,在網絡結構上新增互聯網服務專區。

中老鐵路互聯網售票系統采用基于Spring Cloud和Spring Boot 的開源框架,集中式和分布式共存的技術架構體系;通過開源組件快速搭建項目結構、配置開發環境,使項目能夠高效地持續集成,方便進行集成測試[2];采用開源數據庫PostgreSQL,并配合數據庫復制程序,實現數據庫的相關讀取操作和事務管理;同時,還采用了第三方開源組件和中間件產品,通過對日志和業務數據的采集和分析,實現對該系統運行狀態的監控;通過優化安全防護策略,建立安全檢測和數據加密機制,實現對該系統整體的安全風險評估,提升其可靠性和安全性。

1.1 總體架構

中老鐵路互聯網售票系統總體架構如圖1 所示。

圖1 中老鐵路互聯網售票系統總體架構

1.1.1 互聯網接入區

用戶在互聯網接入區使用手機App、通過域名接入互聯網專區。中老鐵路互聯網售票系統使用了運營商提供的互聯網專線,保障數據傳輸速率和穩定性。同時,本系統在該區域通過與第三方銀行系統、第三方短信服務商等外部系統進行數據交換,完成交易支付、退款、短信通知等業務功能。

1.1.2 互聯網專區

在互聯網專區搭建統一接入服務、流量清洗服務、互聯網專區各應用集群、緩存集群、消息隊列、配置管理中心等。采用旁路方式對接Web 應用防火墻(WAF,Web Application Firewall)流量清洗應用,可對客戶端提交的業務數據請求進行篩選和過濾,保障內部應用服務的安全性。此外,在互聯網專區搭建余票、交易、支付集群,用于處理用戶發起的余票查詢、訂單提交、在線支付等購票業務請求。

1.1.3 核心票務區

在互聯網售票核心區搭建應用程序編程接口(API,Application Programming Interface)網關1、業務邏輯應用集群、內容管理集群,以及互聯網數據庫。其中,API 網關1 用于接收和處理互聯網專區的業務請求,再將請求轉發至業務邏輯應用集群進行處理。

在既有的核心票務子系統安裝車站窗口、應急售票、手持檢票、維護管理等終端設備,搭建API網關2、核心業務微服務集群、核心交易數據庫、營銷數據庫[3]。其中,API 網關2 為各售票渠道終端提供接口接入服務,核心業務微服務集群提供售票業務邏輯處理能力。

1.2 邏輯架構

以中老鐵路互聯網售票業務可持續、高質量發展為原則[4],設計了“六層次、兩體系”的邏輯架構。6 個邏輯層級分別為硬件資源層、數據層、業務邏輯層、接口服務層、代理層和展示層;2 個基礎保障體系由運營維護(簡稱:運維)監控體系和安全防護體系組成。中老鐵路互聯網售票系統邏輯架構如圖2所示。

圖2 中老鐵路互聯網售票系統邏輯架構

1.2.1 邏輯層級

(1)硬件資源層

通過使用超融合架構組成的虛擬化技術,將計算資源、存儲資源、網絡資源進行虛擬化,構建適應不同業務應用場景的資源池?;诠蚕碣Y源池再虛擬化出滿足業務需求的服務器資源,有利于中老鐵路互聯網售票系統及時處理大流量[5]、高并發的海量訪問請求,為該系統提供更好的性能和可擴展性。采用虛擬化技術的設備資源主要包括服務器設備、網絡設備、安全設備、存儲設備和管理設備等。

(2)數據層

該層主要作用是存儲核心數據資源,為業務邏輯層提供綜合數據支撐。類型上包括關系型數據庫、非關系型數據庫、內存數據庫等。數據庫間采用數據復制方式進行數據同步。

(3)業務邏輯層

主要包括應用服務集群,為接口服務層提供核心業務邏輯處理功能。

(4)接口服務層

為各售票渠道和展示層提供數據接口服務。接口服務還通過消息中間件的處理程序向外主動請求互聯網,與第三方支付接口、短信接口進行數據交換,完成訂單支付、退款、短信通知等業務功能。此外,提供了緩存服務,用于提供余票查詢服務。

(5)代理層

分為互聯網與外網區,以及外網區與內網區2 層,外層代理的作用是對客戶端的請求起到轉發的作用,將服務接口映射到互聯網供各銷售渠道進行調用,同時構建WAF 流量清洗服務,并將部分網頁資源進行靜態化處理。內層代理的作用是將外網區的請求轉發到內網區,內網區應用服務再對業務請求進行處理。

(6)展示層

為終端用戶提供界面服務,展現形式主要包括App 應用界面和Web 網站界面。

1.2.2 基礎保障體系

(1)運維監控體系

以實現穩定、高效、及時的運維為目標,研究切實可行的技術支持和運維保障體系[6]。從硬件設施保障、系統運維、網絡運維、數據備份與恢復、日志收集分析、性能監控和故障排除、安全管理等幾個維度,結合研發、集成測試、持續集成、持續部署等運維場景,為中老鐵路互聯網售票系統提供一體化、標準化的運維支撐能力。

(2)安全防護體系

以保護應用安全、網絡安全、用戶數據安全為目標,從認證與訪問控制、數據加密和安全存儲、應用安全管理、網絡安全防護、安全培訓與管理、外部風險管理等幾個維度,構建符合中老兩國信息安全規范的安全防護體系。結合終端安全加固、入侵檢測和漏洞掃描、數據加密等技術手段,提升中老鐵路互聯網售票系統應用和數據資源的安全性。根據該系統建設的物理網絡結構,將其劃分為多個安全區域,各安全區域之間采用安全防護設備進行安全隔離和訪問控制,實現對不同安全級別的資源和數據的管理和保護。對該系統日志建立安全審計機制,及時發現和處理安全事件,保障系統的安全和穩定。

2 系統功能

中老鐵路互聯網售票系統分為互聯網售票App和互聯網后臺管理,功能架構如圖3 所示。

(3)同一試驗點同一作物同一試驗類別播種壟數應一致。個別試驗點壟距,壟長不一致,壟不直,還有出現楔子壟的現象。有的試驗點步道是斜的,小區是平行四邊形,可以用勾股定理來確定直角。

圖3 中老鐵路互聯網售票系統功能架構

互聯網售票App 名稱為“LCR Ticket”,支持老撾文、中文和英文等3 種語言切換,兼顧旅客個人隱私安全的同時,支持注冊、登錄、余票查詢、訂票、支付、退改簽、瀏覽客運資訊等功能,支持VISA、銀聯、微信、支付寶等在線支付渠道?;ヂ摼W后臺管理系統面向老中鐵路公司運營人員提供互聯售票業務運營管理服務,主要包括用戶管理、訂單銷量統計、支付對賬、收入統計審核、業務規則管理、窗口取票、運營分析、系統監控等功能。

3 關鍵技術

3.1 分布式緩存及數據同步策略

根據中老鐵路互聯網售票系統的應用場景,大量用戶請求會集中在余票查詢功能上,特別是在正點放票時間,會出現用戶集中搶票的情況[7],因此,如何提升該系統的余票查詢響應性能,是實現互聯網售票的技術難點。

通過分析研究和綜合評估,采用定時計算余票的方式[8],并將余票結果保存到數據庫中,通過Java應用程序定時讀取數據庫中的余票信息[9],寫入到分布式緩存服務中,當用戶通過售票App 發起余票查詢請求時,該系統會從緩存服務中獲取數據,并返回給客戶端進行展現。此外,對于訂單數據、用戶數據、基礎數據則是采用數據庫復制機制,將上述數據寫入到消息中間件,消息中間件處理進程從消息中間件獲取數據信息,通過應用程序將數據以Key-Value 形式寫入到緩存服務中[10]。

3.2 基于消息隊列的異步排隊交易

異步排隊下單模式對比同步下單模式在設計上要復雜很多,涉及消息處理進程和消息隊列(MQ,Message Queue)的開發和配置。大量購票請求首選按不同車次分配到不同MQ 中,每個MQ 列具有多個處理進程,處理進程可根據應用服務(AS,Application Server)的處理效率,動態調節消息消費速度,既保證了中老鐵路互聯網售票系統數據庫可平穩有序地處理用戶購票請求,又避免出現高并發宕機的情況。異步排隊交易邏輯架構如圖4 所示。

圖4 異步排隊交易邏輯架構

采用異步排隊下單模式的優點主要體現在以下幾個方面。

(1)防止系統瞬時崩潰

當大量用戶瞬時提交訂票請求時,如果請求量超出了該系統的服務能力,就會出現交易擁堵。引入異步排隊交易,可實現系統間解耦,從而可根據數據處理性能動態調節購票請求處理速度,可有效防止產生“雪崩”效應。

(2)優化下單交易流程

采用異步排隊交易模式時,用戶下單后,該系統會提示用戶訂票請求已提交;待處理用戶訂票請求后,主動向用戶發送下單成功通知信息,從而有效減少下單用戶的等待時間,提升用戶購票體驗。

(3)合理分配硬件資源

大并發購票場景一般出現在節假日等高峰時段,采用異步下單模式可合理分配硬件資源,保障該系統平穩度過售票高峰期,減少建設投資成本。

3.3 多渠道支付本地化適配

我國鐵路12306 互聯網售票系統電子支付功能在技術方面已相對成熟,但由于老撾信息化建設水平相對落后,只有中國銀行、工商銀行、老撾外貿銀行(CEL)等幾個支付渠道,并且在電子支付領域存在交易接口不完善、交易流程不統一的情況。為了使中老鐵路互聯網售票系統的支付功能具備更好的適應性,在其設計初期需要充分考慮多渠道支付本地化適配的問題。

本文在該系統架構設計階段引入了適配器模式,針對不同銀行和收單機構的第三方接口,根據接口定義的不同分別進行對接,但對于互聯網售票系統的交易模塊,會定義統一的支付、退款接口,以便在未來對接更多的支付渠道時,無須修改既有的交易接口。在對賬模塊中,根據不同支付渠道提供的對賬文件分別進行技術對接,將各渠道對賬結果統一展示;對于對賬結果出現的偏差數據,分別調用不同渠道的退款接口進行退款操作,保障該系統交易的準確性。

3.4 基于釘釘機器人的監控消息通知機制

對于各類售票業務系統,一般只需要監控其硬件資源的運行狀態,如CPU、內存、磁盤空間等,但若只關注硬件運行狀態,在這些系統上線初期普遍會出現業務功能異常的情況。以往運維人員只能通過腳本命令登錄這些系統后,在應用服務器上查看其輸出的應用日志,十分低效且耗費人力成本。

為了提升中老鐵路互聯網售票系統運維效率,及時發現出現的各類異常問題,在其設計階段新增了釘釘消息通知機制。當該系統運行出現異常時,及時對異常信息進行收集,根據異常錯誤類型對消息進行分類;將異常信息根據消息分類放入到不同的消息隊列中;通過消息處理進程從隊列中取出消息,通過請求互聯網釘釘通知服務接口,將異常信息以固定模板形式發送到釘釘監控群組中。運維人員可及時發現異常信息,對異常和錯誤進行處置。

4 系統應用

4.1 應用效果

中老鐵路互聯網售票系統已于2023 年3 月15日正式上線運行,老撾旅客可通過“LCR Ticket”App,隨時隨地查詢到最新的中老鐵路客運余票、票價信息,可根據自身的個性化出行需求,選擇出發地、目的地、出發時間等查詢條件,方便快捷地篩選符合自己需求的車次,無須排隊購票,節省了購票時間;當旅客乘車時,持購票時所使用的身份證件或護照,通過該系統生成的二維碼進站乘車,也可到車站售票窗口換取紙質車票檢票進站乘車。旅客還可通過“LCR Ticket”App 獲取老撾鐵路部門發布的最新客運資訊和出行信息,及時了解出行動態?!癓CR Ticket”App 的售票和支付功能如圖5 所示。

圖5 “LCR Ticket”App 的售票和支付功能展示

4.2 效益分析

(1)社會效益

中老鐵路開通運營一年多以來,旅客列車運行安全平穩,單日旅客發送量最高突破1 萬人次,累計發送旅客超過200 萬人次,得到了老撾國家社會各界的一致好評。

隨著老撾國內信息化水平的不斷提高,以及互聯網用戶的不斷增多,老撾旅客對于互聯網購票和在線支付的需求也日益迫切[11]。中老鐵路互聯網售票系統的正式上線運營,促使中老鐵路的客運服務質量不斷提高[12]。

(2)經濟效益

中老鐵路互聯網售票系統自上線以來,運行平穩,售票App 的新注冊用戶數不斷增多,注冊用戶總量已超過2 萬人,日均售票量超過1 000 張。未來,隨著分配到互聯網銷售渠道的票額不斷增多,以及跨境國際列車的開通,互聯網渠道的日均銷售量將會不斷突破新高,也會為老中鐵路公司的客運經營創造更大的經濟效益[13]。

5 結束語

本文從總體架構、邏輯架構、技術架構等維度,全面闡述了中老鐵路互聯網售票系統架構設計原則和思路,結合既有中老鐵路客票系統的建設情況,借助主流開源技術和組件,打造了一套高性能、高可用、可擴展的在線售票系統。解決了在高并發下旅客實時查詢余票和購票的難題,不僅提升了老撾旅客出行購票體驗,還為老撾鐵路管理部門提供了適應當地客運經營模式的車票銷售渠道。隨著該系統的不斷優化和完善,將進一步提升中老鐵路的客運服務質量和生產效率,助推中老鐵路向數字化、網絡化、服務化方向轉型。

猜你喜歡
購票老撾架構
不同的購票方法
基于FPGA的RNN硬件加速架構
老撾肉牛輸華實現突破
功能架構在電子電氣架構開發中的應用和實踐
朝發夕至 乘著火車去老撾
直擊痛點的“候補購票”可多來一些
鐵路候補購票服務擴大到全部列車
LSN DCI EVPN VxLAN組網架構研究及實現
一種基于FPGA+ARM架構的μPMU實現
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合