宣秀彬,高 凡,張 銘,付 思,蔡宇晶
(1. 北京經緯信息技術有限公司,北京 100081;2. 中國鐵道科學研究院集團有限公司 電子計算技術研究所,北京 100081)
隨著我國城市化進程的加快,市民出行需求持續增長,交通供需矛盾日益加劇,交通不暢影響著人民的生活,制約著經濟的發展。城市軌道交通由于其大運量、高速度等優點,受到人們越來越多的關注,成為市民出行的首選。城市軌道交通作為面向社會提供服務的公益性行業,需要以優質的服務贏得客戶的滿意度,塑造高端企業形象。此外,城市軌道交通緊跟交通強國建設戰略和智慧城市、智慧交通規劃建設,邁入了智慧化、網絡化的關鍵時期[1]。在這樣的時代背景下,傳統地鐵的運營方式將很難滿足乘客的個性化服務,因此以個性化為出發點,建立一個統一的智慧出行乘客服務App,為乘客提供便捷、高品質的移動出行服務已成為必然趨勢。
如何借助移動設備網絡平臺媒介有效地解決乘客應用的需求問題,如何利用云計算、大數據、微服務等新一代信息技術,實現城市軌道交通乘客服務App已成為城市軌道交通領域的研究熱點。文獻[2–4]分別在城市軌道交通行業手機移動端App界面設計、地鐵客戶端App存在的不足等方面進行了闡述,文獻[5–6]分別對移動客戶端自身發展具有的一些實質性的優勢、移動支付在城市軌道交通中的發展前景進行了分析。
本文在上述研究基礎上,分析城市軌道交通智慧出行業務需求,利用H5、微服務、云計算等新一代信息技術,開展城市軌道交通智慧出行App搭建研究,實現乘客服務出行的優化提升。
軌道交通智慧出行App構成,如圖1所示。主要由乘客手機端頁面展示交互應用、App應用、后臺管理應用3部分組成。其中,頁面展示交互應用部署在乘客智能手機端;App應用主要部署在公有云平臺上;后臺管理應用部署在私有云平臺上;其中,公有云、私有云完全隔離,通過MQ消息隊列進行通信。

圖1 軌道交通智慧出行App構成
(1)訪問層:乘客智能手機端,用于功能的訪問入口。
(2)前端UI及交互層:利用VUE等前端框架提供基于H5的頁面訪問服務。
(3)公有云平臺:公有云平臺主要部署App應用及消息隊列中間件,提供業務功能服務,通過消息中間件與地鐵內部既有系統進行對接,保障安全。
(4)私有云平臺:私有云平臺主要部署后臺管理系統,用于采集對接地鐵現有系統數據。
智慧出行App主要包括前端App程序和后臺管理程序兩部分。
前端App程序采用Vue+Vant的開發框架,搭配Vue-router、Vuex、Axios實現頁面的路由跳轉、公共變量的狀態管理,以及與后端的數據交互。涉及展示車站線路實時狀態等功能需求,通過長連接Websocket實現前后端數據實時傳輸,前端項目開發完成后部署到Nginx應用服務器實現與后端數據交互。
后臺管理程序采用符合業界主流和先進的系統架構,充分借鑒成熟的行業標準的系統架構,實現分層體系結構,以B/S架構模式為主線,豐富完善建立系統基礎架構包括:業務應用層、通用構建層、技術框架層、集成服務層、中間層和數據層[7-8],如圖2所示。

圖2 后臺管理子系統架構
(1)業務應用層:通過打造基本信息管理、信息發布、統一賬戶等基礎管理功能,實現對乘客服務App所需的基礎數據進行統一維護管理。對乘客服務App所需的基礎數據進行統一維護管理。
(2)通用構建層:對系統通用的緩存、日志等基礎技術構件進行剝離,統一管理。
(3)技術框架層:利用業界主流的開源框架搭建技術中臺層,為各項業務功能提供支撐。
(4)集成服務層:集成服務層依托微服務架構,實現統一認證管理、統一組織用戶、單點登錄體系構建。
(5)中間件層:主要實現體系架構中通用中間件的搭建,完成消息中間件、Web中間件、Nginx的集成匯聚管理。
(6)數據庫層:實現多種數據源的獲取及各專業數據的存儲。
軌道交通智慧出行App,主要包括線網圖信息展示、車站詳情、線路詳情、路徑規劃、致歉信推送、失物招領、后臺管理等7個模塊。功能結構,如圖3所示。

圖3 智慧出行App功能
(1)線網圖信息展示模塊主要提供基于線網圖的信息查看功能,實現基于線網圖的客流熱力地圖及擁擠度地圖展示。
(2)車站詳情模塊主要包括車站站點查詢和車站詳細信息展示2大功能,車站站點查詢主要是方便乘客快速查找車站信息,將路網車站按線、站逐級歸類,每個換乘車站名稱旁標注線路號,且設置查找功能。車站信息展示主要是點選或搜索車站,查看車站相關的信息,主要包括出入口信息、衛生間信息、無障礙設施信息;首末班車時間;站內外環境要素信息;周邊信息。
(3)線路詳情主要是根據實際情況顯示線路相關的信息,主要包括以下內容:線路首末站、全線各車站、換乘站及換乘線路、線路首末班車信息;提供智慧車站及相鄰區間司機視角區間車輛運行情況查看。
(4)路徑規劃模塊主要實現全線導乘:全程出行路線規劃,可根據“時間最短”“步行最短”等出行偏好,推薦路徑。
(5)致歉卡推送模塊主要是當發生因地鐵故障導致列車延誤15 min以上時,開啟該功能,推送相關致歉信圖片,由乘客自動下載致歉信。
(6)失物招領模塊主要提供失物招領信息查看服務,乘客可以查看遺失物品名稱、特征、時間、照片和所在車站名等信息。
(7)后臺管理模塊主要提供基礎信息管理功能,對乘客服務App所需的基礎數據進行統一維護管理。
智慧出行App涉及包括天氣等外部條件信息,運營信息、設備信息、客流信息、歷史突發事件的記錄、事件分析結果或和報告等多個專業信息,覆蓋多條線路及網絡管理規模。在系統建設過程中,結合各專業、各線路不同的業務特點,采用基于Spring Cloud的微服務架構開發系統,并在其基礎上進行封裝。Spring Cloud是一個基于Spring Boot實現的微服務架構開發工具。它為微服務架構中涉及的配置管理、服務治理、斷路器、智能路由、微代理、控制總線、全局鎖、決策競選、分布式會話和集群狀態管理等操作提供了一種簡單的開發方式。通過開放式微服務體系可以將地鐵不同專業、不同線路、不同用戶封裝的單體業務功能模塊,細分為多個開放的小功能模塊服務,服務獨立部署在不同的進程中,不同服務通過一些輕量級交互機制來通信,從而滿足業務體系的高擴展性技術要求,實現資源的最大限度利用。
智慧出行App數據來源于不同地鐵既有系統,數據結構復雜,通過數據共享交換技術,開發實現數據庫層面的表同步服務共享接口,從而實現跨網數據交換功能。鑒于智慧出行App數據信息多樣性,結合關系型數據庫、NoSQL數據庫、內存數據庫及分布式文件系統的技術特點和應用場景,為系統中不同類型和不同體量的數據資源選擇合適的存取方式,以提升整個系統的性能以及對未來業務的擴展能力。提供各類常見數據庫的適配接入功能,包括Oracle、MySQL、MSSQL和PostGreSQL等關系型數據庫,支持Hadoop Hive、Hbase、HDFS和Kafka等組件的接入和適配。針對數據交換過程中的數據加工處理,提供豐富的數據處理組件,覆蓋數據映射、數據豐富、數據計算、數據驗證、數據排序、數據合并、數據拆分、數據生成、數據去重、數據分組和行列轉換等復雜處理場景,有力地支撐了多種數據源融合接入的復雜處理場景。
智慧出行App中存在各類重要信息(如:站內公告、突發事件信息)需要及時推送到乘客服務App客戶端,方便乘客了解乘車線路的信息。平臺通過消息推送機制將提供兩方面服務。
(1)為應用提供系統通知類消息存儲服務。
(2)通過服務平臺與用戶端的長連接通道,將新消息提醒和系統通知類消息推送到用戶端。
消息推送機制技術架構,如圖4所示。用戶登錄時通過消息推送服務拉取新消息提醒和系統通知,若用戶在線,新消息提醒和系統通知通過即時消息中間件與用戶端長連接通道及時的推送給用戶端。

圖4 消息推送機制技術架構
本文從智慧出行App需求出發,詳細地論述了城市軌道交通智慧出行App的開發過程。借助移動設備網絡平臺媒介,從公有云、私有云和乘客移動終端3個部分,描述了智慧出行App的構成方案,有效的解決乘客應用的需求問題,改善了應用系統功能單一、人性化不足的狀況,對城軌移動客戶端系統的開發設計,具有很好的借鑒意義。隨著App程序的進一步迭代,城軌智慧出行App將繼續拓展應用及數據的廣度和深度,與更多相關系統實現信息交互共享,及時獲取與乘客出行相關的情景感知信息,為乘客提供更為人性化的信息服務,助力智慧城市軌道交通發展。