簡析基於大資料平臺的動態票額智慧預分系統的研究與實現論文

簡析基於大資料平臺的動態票額智慧預分系統的研究與實現論文

  從2011年起,鐵路在全路實行旅客列車票額智慧預分,採用客流預測方法生成列車席位預分方案,達到了票額管理合理化、科學化、趟車效益增加,並且自預售之日起,保證始髮長途票額分配合理,兼顧沿途需求,保障中間站的旅客傳送,充分提高了中間站組織客流的積極性。為各鐵路局客運組織實現挖潛提效、精細化管理起到關鍵作用作用。隨著參與預分的列車不斷增多,動車組列車購票習慣的變化,現有的預分方法和實現機制也存在以下問題:

  (1)鐵路列車近年來調圖頻繁,車次急劇增加,並且預售期延長,由調圖帶來的停站方案、開點變更、編組調整變化較大,導致預測計算量巨大,系統負載較重。

  (2)以往的票額預分為預售期外一次預測並預分,預售期內調整完全依據人工調整,不容易及時發現問題,票額調整工作被動,且臨近開車期間銷售情況難以掌握。

  因此,有必要針對參考期內席位售出情況和預售期內餘票概貌等情況進行動態監測,研究票額動態預分的方法,並對預測資料、調整依據的計算進行基礎架構改造,適應海量資料變化的需要。

  1鐵路客票大資料平臺的研究與實現

  隨著客運歷史資料的累積,以及全國鐵路客運規模的快速擴充套件,全國鐵路客票歷史資料規模越來越大,資料種類也越來越多,僅僅依靠關係型資料庫進行資料的管理和操作,已經不能滿足需要。因此,以客運營銷資料為基礎,結合由客票生產系統產生的實時資料,採用開源分散式資料庫構建大資料平臺,實現鐵路客票大資料平臺的研究具有重要意義。

  1.1Hadoop分散式並行處理

  Hadoop是近年來炙手可熱的開源分散式並行處理框架,使用者可忽略對底層並行實現的細節高效的構建出並行的分散式程式。Hadoop主要包括2個元件:(1)與GFS類似的分散式檔案系統,簡稱HDFS;(2)平行計算模型MapReduce,由JobTracker、TaskTracker等元件組成。

  Hadoop的工作原理是將資料拆成片,並將每個“分片”分配到特定的叢集節點上進行分析,每個資料分片都是在獨立的叢集節點上進行單獨處理的,因此非常適合處理大資料量、非結構化資料。Hadoop叢集的另一個特點是具有較好的可擴充套件性,隨著資料量的增加,叢集的處理能力將會受到影響,可透過新增額外的叢集節點有效地擴充叢集以解決問題。Hadoop叢集的並行處理能力可顯著提高計算效率,能達到實時或準實時資料處理的時效性。此外,Hadoop所需軟體為開源軟體,並能夠很好的支援商用硬體從而客運很好的控制成本,此外,Hadoop叢集還具有故障容錯的優點,當一個數據分片傳送到某個節點進行計算時,該資料在叢集其他節點上會保留副本,即使一個節點發生故障,該策略也能保證該節點資料的副本資料正常處理。

  1.2鐵路客票大資料平臺數據源

  鐵路客票大資料平臺主要來源於歷史資料和實時資料兩類。歷史資料包括網際網路訂票資料、運能資料以及售票、退票、廢票和改簽資料。客票系統實時資料包括實時餘票資料、實時存量資料以及取票軌跡資料。其中,實時餘票資料從網際網路售票的餘票查詢叢集獲得,實時存量資料和取票軌跡資料從鐵路局中心的客票系統獲得。

  客票歷史資料和客票系統實時資料透過ETL服務,進入鐵路總公司營銷資料倉庫,透過資料建模組成資料集市提供報表、查詢應用等服務;同時上述資料也進入Hadoop平臺的HDFS,資料提供Hbase和Hive兩種訪問方式。

  在票額預分應用服務層中,由客流預測應用伺服器從Hbase中提取預測需要的樣本資料,應用MapReduce實現客流預測演算法,以實現客流預測結果。

  客流預測結果透過鐵路總公司客票系統伺服器實現往18個鐵路局(公司)分發。各鐵路局客票系統伺服器上部署預測執行子系統,將預測結果與席位實時存量資料結合生成預分方案,對鐵路局中心席位庫進行預分操作。

  2基於客票大資料平臺的票額預分系統

  各鐵路局售票歷史資料透過傳輸軟體進入鐵路總公司營銷系統,實時售票資料透過資料同步技術進入到鐵路總公司營銷系統,另外,來自於網際網路售票查詢叢集的餘票相關資料也進入到營銷資料庫,多個渠道的資料形成所需分析的資料來源,透過Hadoop平臺ETL裝置進入鐵路總公司營銷資料倉庫,在客流預測子系統中進行預測並且形成預測資料進入票額預分執行子系統,票額預分執行子系統形成預分方案透過傳輸下發到各鐵路局形成預分方案,透過票額預分執行子系統作用於席位庫,對生成的初始票額進行預分。在各鐵路局透過票額預分最佳化子系統對預分效果進行實時反饋,形成最佳化方案供鐵路局客運決策者進行調整,實現智慧調整流程。

  2.1客流預測子系統

  客流預測子系統是該系統的核心繫統。歷史資料是對未來計劃預測的重要依據,有效資料量越大、越全面,得到的預測結果也會與實際更為接近。目前,文獻中最常見的客流預測方法是外推法,該方法有很多成熟的模型,如指數平滑、ARIMA模型、非線性迴歸模型、神經網路模型等。Vlahogianni,GoliasandKarlaftis指出神經網路在短期交通預測領域是最有潛力的技術,並且一些文獻也歸納了神經網路的優點,如分佈自由、全域性最優逼近和容錯性等,還有一些學者基於神經網路使用定量的方法建立了鐵路客運量預測模型,因此,本系統採用神經網路構造預測模型。

  2.2票額預分執行子系統

  票額預分執行子系統的主要功能包括預分車次定義、預分天數定義、專家引數定義、預分方案稽核、預分模板交路維護、預分方案查詢及修改、預分結果查詢等功能。其核心概念如下:

  (1)預測資料。預測資料是透過Hadoop平臺的MapReduce並行預測演算法計算得出的分車次資料,其存在形式為始發站—終點站(OD)客流矩陣。

  (2)預分方案。預分方案是基於預測資料生成的票額分配方案,是結合實際票額情況透過票額分配演算法調整而生成的實際票額OD矩陣。

  (3)預分模板。預分模板是歷史預分方案經過專家經驗確定的內建預分方案。鐵路局客票管理人員可自定義預分模板。預分模板可透過經驗值人工指定,也可以透過“模板複製”功能獲取一段時間內的預分資料後,參考得出模板值。預分模板分為精確模板和模糊模板,精確模板與預分方案OD區間一致,設定了每個預分站票額的可售區間,模糊模板是對車站分組並按以遠站分塊分配票額。

  (4)預分方式。由於淡旺季客流的不同,決定了預分方案的不同。一般來說按模板預分管理更加嚴謹,而按預測預分更貼近客流實際情況。針對各鐵路局淡旺季的'不同,操作員可透過此功能對預分方式進行定義。操作員可以在此查詢到本局所有車次的預分方式定義,並對相關車次的預分方式定義進行追加和刪除,並檢視相對應的操作日誌。

  (5)預分車次分組定義。對一些具有相同管理需求的車次,操作員可以將這些車次分成一組進行統一定義,同一組內的車次可一併新增到預分方式定義中。此功能避免可避免客運管理人員對同一類車的重複定義。

  預分結果記錄在預分結果表中,再回傳至票額預分最佳化子系統。計劃預分的資料也可以來源於鐵路局客票生產庫中的預分模板和模板交路,這樣可以得到一個相對穩定的預分方案。

  2.3票額預分最佳化子系統

  2.3.1動態票額預分

  由於客票系統預售期較長,傳統的票額預分方案是基於預售期外1次預測結果生成的,預售期之內不再重新預分,因此,無法適應預售期內偶然事件的影響。從2014年開始,票額預分系統引入了動態票額預分,可在預售期內進行週期性的動態客流預測及多次動態調整,如圖6所示。以2014年6月17日為例,這一天預測子系統將產生2014年7月10日始發列車的OD客流預測,同時調整2014年6月30日和2014年6月23日的始發終到預測資料(這兩日初始預測資料分別在2014年6月8日和2014年6月1日生成),在票額預分執行子系統中將預分2014年7月6日始發列車的席位,並對2014年6月29日和2014年6月22日始發列車的票額進行重新預分。

  票額動態預分是基於客流按周變化的規律較為顯著的特點進行的。在預售期為20天時,最多透過3次預分即可達到非常滿意效果,但在預售期延長至60天的時候,由於客流變化較大,且高鐵、城際列車在開車前一日和當天的預售情況變化非常顯著,僅靠預售期之外的動態調整也不能很好的滿足預測需求,結合餘票快照分析技術實現敏捷票額調整。

  2.3.2敏捷票額調整

  餘票快照分析模組能記錄每個時刻餘票歷史截面的可售能力。由余票快照分析模組取得的餘票情況可透過圖表觀察得知,圖表的橫座標為觀察日(觀察點),縱座標為對應的觀察點的餘票快照資料。一條折線表示對應某一下車站的餘票變化趨勢。餘票波動圖用於顯示在車次、日期、席別、上車站確定的情況下,到各站的可售剩餘票數隨時間的變化情況。在預售期內距離發車時間3天以外的取數時間間隔為1天,3天以內的時間間隔為1h。

  2014年5月12日7:00始發的G101次列車各區間的餘票消逝情況,預設為北京南—上海虹橋這一始發終到區間的餘票,可得知該區間首次售完在2014年5月11日23:00。說明次日首列始發的京滬高鐵動車始髮長途票在前一日晚間23:00全部售罄,由於首班高鐵旅客一般不會在開車前即買即走,而夜間高鐵旅客購票相對較少,相當於既能保證始髮長途票在開車前有票可買,又能保證始髮長途票及時賣完。因此該結果符合預分的初衷。若開車前始髮長途票既未賣完,而沿途區間在開車前一直無票可售,則說明始髮長途預留過多,因調配一些到沿途站銷售。

  3結束語

  實際應用中Hadoop叢集使用了16臺HPDL380的伺服器,作業系統是RedHat6.4,每臺伺服器上安裝了JDK1.6和Intel的Hadoop穩定版IDH2.3。16臺伺服器中,1臺機器作為Master節點,剩餘機器作為Slave節點。客流預測子系統開發環境採用Eclipse,開發語言使用Java;票額預分執行子系統前臺應用採用PowerBuilder開發,與客票核心系統保持一致;預分最佳化子系統採用.net開發。

  透過對京滬、京廣等幹線經過一段時間的試用及跟蹤分析,可看出旅客傳送量、客運收入都有5%以上的提升。尤其是在傳統的客運淡季,其增收的效果更為明顯。

  在鐵路運輸企業改革推動下,鐵路客運業務快速發展,對新一代客票系統對票額管理精細化和智慧化以及提高鐵路運輸企業效益等方面提出了更高的要求,基於大資料平臺構建了動態票額智慧預分系統,形成了“預測、預分、監控、調整、再預測”的閉環流程。進一步提高了票額預分系統的可用性和有效性,為鐵路實施收益管理提供理論依據和技術儲備。

最近訪問