劉賀文,易衡昌,申 強,王洪業(yè)
(1. 中國鐵道科學研究院集團有限公司 電子計算技術研究所,北京 100081;2. 中國國家鐵路集團有限公司 資金清算中心清算處,北京 100844)
鐵路旅客運輸清算系統(tǒng)(簡稱:客運清算系統(tǒng))是鐵路財務和清算工作中不可或缺的支撐系統(tǒng)[1]。隨著鐵路財務體制改革、客運業(yè)務的發(fā)展,客運清算系統(tǒng)自投產以來,其業(yè)務和功能不斷完善和豐富,不僅涵蓋普通客運、行李郵政列車、京滬九(北京—上?!琵垼┲蓖熊嚒V深港(廣州—深圳—香港)高速鐵路(簡稱:高鐵)跨境運輸、常旅客積分、定期計次票,以及高鐵保障、動車組租用、跨境車輛使用等方面,還在清算分析、智能化[2]系統(tǒng)的安全和性能上得到了很大提升。客運清算系統(tǒng)有效促進了清算秩序的落實,維護了企業(yè)的合法權益[3-4],激勵了鐵路運輸企業(yè)的積極性[5]。
目前,清算業(yè)務是按月度進行的,即按月發(fā)布清算結果,按月進行資金結算和劃撥。隨著客運市場的發(fā)展和企業(yè)經營的細化,如此長的清算周期已經越來越無法滿足業(yè)務的需求,其主要體現(xiàn)在兩方面:(1)使運輸企業(yè)在資金周轉上承擔了很大壓力;(2)使運輸企業(yè)在加強管理、按成本安排生產、編制預算時處于被動地位。近年來所采用的月度內資金分次預劃撥方式雖然在一定程度上緩解了企業(yè)在資金周轉上的壓力,但對企業(yè)成本預估、預算安排幫助不大,同時還給資金中心帶來了資金管理上的風險。
此外,客運清算系統(tǒng)采用一級部署方式,即該系統(tǒng)的所有接口數據和清算字典都集中在中國國家鐵路集團有限公司(簡稱:國鐵集團)這一級。而基礎數據的完備性和更新的及時性都會直接影響到清算結果的準確性。在所有清算基礎信息中,列車擔當信息、動車組編組信息存在變化多、涉及企業(yè)多、影響大、收集困難等情況,這些情況直接導致產生清算調整多和工作量大的問題。
為了解決客運清算系統(tǒng)存在的這些問題,讓客運清算系統(tǒng)適應市場化改革的需要,更好地推動業(yè)財融合,提升清算服務品質,鐵路運輸預清算業(yè)務逐漸被提出和重視。因此,本文設計并實現(xiàn)了鐵路客運預清算系統(tǒng)(簡稱:預清算系統(tǒng)),并詳細介紹該系統(tǒng)的架構和關鍵技術。
客運清算系統(tǒng)的接口數據主要是各企業(yè)收入審核后的進款數據和統(tǒng)計部門提供的統(tǒng)計工作量數據,其中,進款數據主要用于清算進款、售票服務費、旅客服務費等;統(tǒng)計工作量用于計算線路使用費和機車牽引費等。這些接口數據都是按月提供的,存在時延大、數據準的特點。要使預清算系統(tǒng)具有較高的時效性,就要將系統(tǒng)接口前移,才能更早地獲得相關數據。
對于預清算系統(tǒng)而言,進款數據可以直接從中國鐵路客票發(fā)售和預訂系統(tǒng)(簡稱:客票系統(tǒng))的存根數據計算得到。由于客票系統(tǒng)不包含非聯(lián)網收入等數據,因此,以此方式獲得的進款數據會與收入審核后的進款數據有一定差異。以2021年8月份為例,上海局集團公司的這兩種數據相差4.7%,成都局集團公司的這兩種數據相差1.5%。對預清算系統(tǒng)來說,這種差異是可以接受的。
統(tǒng)計工作量數據雖然不能直接從客票系統(tǒng)得到,但由于統(tǒng)計工作量數據與列車開行間有一定的關聯(lián)性,即列車開行越多,統(tǒng)計工作量就越大。也就是說,統(tǒng)計工作量數據可基于客票系統(tǒng)的存根數據和客票字典,通過以下兩種方式獲取。
(1)基于客運清算系統(tǒng)中往期的統(tǒng)計工作量對各趟列車工作量經驗值進行估算,并結合當期客票字典中提取出來的列車實際開行情況對當期各趟列車工作量進行估算。列車開行得越有規(guī)律,這種方式的估算結果越準確。以G1337次列車在2021年8月份的數據為例,途徑各個線路企業(yè)產生的線路使用費偏差為0.9%~2.8%。
(2)基于客運清算系統(tǒng)中往期統(tǒng)計工作量,結合客票字典中的列車途徑線路、列車特征等信息,提煉出由若干運行特征值(如列車等級、線路區(qū)段)對應的工作量經驗值。該工作量經驗值和客票字典中提供取的列車實際開行數據可以對各趟列車工作量進行估算。相對于第1種方式,這種方式更適合臨客或調圖后新開列車的估算。當這種方式的經驗值足夠準確時,可以替代第1種方式。
由此可見,客運預清算系統(tǒng)的接口數據是來自客票系統(tǒng)的存根數據和客票字典數據,區(qū)別于客運清算系統(tǒng)的收入審核后的進款數據和統(tǒng)計部門的統(tǒng)計工作量數據,這勢必會導致清算結果存在差異。相對于預清算的意義而言,這種差異在一定程度上是可以接受的,并可通過算法優(yōu)化進行不斷縮小。
無論是既有客運清算系統(tǒng)還是預清算系統(tǒng),都離不開清算字典,如單價字典、車站歸屬字典、動車組編組字典、列車擔當字典等??瓦\預清算系統(tǒng)可以按日向相關企業(yè)發(fā)布清算字典及相應的預清算結果,使他們能更早發(fā)現(xiàn)和糾正清算字典中的差錯。經過預清算審核和校正后的清算字典直接被應用到客運清算系統(tǒng)的月度清算中,能夠大幅提高清算結果的準確性,減少調整工作量。
接收接口數據、加工處理、預清算、結果發(fā)布等過程的數據流在客運預清算系統(tǒng)中的流轉如圖1所示。
圖1 數據流在客運預清算系統(tǒng)中的流轉
2.1.1 接口數據處理
預清算系統(tǒng)收到接口數據后,經過數據清篩處理,分解出廣深港高鐵跨境運輸清算進款數據、京滬九直通列車清算進款數據、普通客運清算進款數據,以及列車擔當要素數據和列車特征數據。
列車擔當要素數據包括車次、始發(fā)站、終到站、開行日期等信息。列車特征數據包括列車車次、編組、定員、途徑站等信息[6]。列車擔當要素數據和系統(tǒng)中的列車擔當識別規(guī)則庫數據共同作為擔當識別模塊的輸入信息,形成的列車擔當字典是預清算核心模塊的清算依據。列車特征數據作為統(tǒng)計工作量估算處理模塊的輸入,與往期經驗工作量一起協(xié)助生成統(tǒng)計工作量估算數據;同時,列車特征數據也輔助生成動車組編組字典內容。
2.1.2 統(tǒng)計工作量估算處理
統(tǒng)計工作量估算處理是結合列車特征數據和往期經驗工作量,得到當期統(tǒng)計工作量估算數據。 它有兩種模式獲得往期經驗工作量:(1)往期實際統(tǒng)計工作量數據結合列車開行情況折算出列車(車次)的統(tǒng)計工作量經驗值;(2)基于往期實際統(tǒng)計工作量數據,根據列車特征數據,諸如列車等級、途徑區(qū)段、開行時間等特征,獲得各個特征的統(tǒng)計工作量經驗值。
2.1.3 清算字典及規(guī)則
清算中心用戶需要維護擔當判定規(guī)則、基礎字典(如單價字典)及預清算規(guī)則庫。這些清算字典和規(guī)則,包括系統(tǒng)識別出的列車擔當字典和動車組編組字典,共同構成了預清算的基礎信息;廣深港高鐵跨境運輸清算進款數據、京滬九直通列車清算進款數據、普通客運清算進款數據、統(tǒng)計工作量估算數據是核心處理模塊的輸入。核心處理模塊處理后,預清算系統(tǒng)將預清算報表,連同基礎信息一起發(fā)布給各清算參與企業(yè)。
2.1.4 信息反饋
各清算參與企業(yè)收到預清算報表和清算字典后,通過系統(tǒng)提供的交互功能及時修正系統(tǒng)中不準確的列車擔當、編組、開行、資產歸屬等基礎信息。預清算系統(tǒng)根據反饋信息,確定影響范圍,通知利益相關方進行確認。各方意見達成一致后,預清算系統(tǒng)重新計算,并立即更新相關報表和基礎信息。
預清算系統(tǒng)的功能架構如圖2所示。
圖2 客運預清算系統(tǒng)的功能架構
2.2.1 客票存根數據接口模塊
客票存根數據接口模塊實現(xiàn)客票存根數據接收、入庫,并將接收的文件備份到指定服務器。入庫后,客票存根數據接口模塊還會對接口數據的完整性、重復性進行校驗,將通過校驗的數據留轉到后續(xù)模塊。
2.2.2 客票字典數據接口模塊
客票字典數據接口模塊實現(xiàn)客票字典數據(如車次目錄和列車編組)接收、入庫,并將接收的文件備份到指定服務器。入庫后,客票字典數據接口模塊還會針對客票系統(tǒng)字典的特點,完成字典更新及累積處理。
2.2.3 數據清篩模塊
數據清篩模塊根據車次、始發(fā)站、終到站,以及乘客的上下車站情況,將所有的客票存根數據整理拆分為廣深港高鐵跨境運輸清算進款數據、京滬九直通列車清算進款數據、普通客運清算進款數據這3類數據。這些數據將根據各自的清算規(guī)則,分別進行預清算。
2.2.4 開行列車特征碼提取模塊
開行列車特征碼提取模塊針對統(tǒng)計工作量估算、清算分析、清算處理等需要,按照一定算法,從客票存根數據和客票字典中加工處理得出開行列車的特征因素,如列車等級、開行日期、編組、定員、經由等。
2.2.5 統(tǒng)計工作量經驗值生成模塊1
統(tǒng)計工作量經驗值生成模塊1結合往期列車開行情況,從客運清算系統(tǒng)往期的統(tǒng)計工作量中按照一定算法歸納得出所有車次趟均統(tǒng)計工作量經驗值。該模塊引入評價和微調機制,使經驗值不斷逼近“真值”。
2.2.6 統(tǒng)計工作量經驗值生成模塊2
統(tǒng)計工作量經驗值生成模塊2與“統(tǒng)計工作量經驗值生成模塊1”模塊目的一致,只不過統(tǒng)計工作量經驗值生成模塊2以另一種方式推導出統(tǒng)計工作量經驗值。這兩種方式各有利弊,可以互為補充。統(tǒng)計工作量經驗值生成模塊2是結合往期列車開行情況,從客運清算系統(tǒng)往期的統(tǒng)計工作量中推導出針對列車等級、經由等列車特征信息有關的統(tǒng)計工作量經驗值。同樣設置評價和微調機制,如通過調整特征維度等因素,達到經驗值逼近“真值”的目的。
2.2.7 統(tǒng)計工作量估算處理模塊
統(tǒng)計工作量估算模塊根據當期客票系統(tǒng)接口數據得到的列車開行特征數據,利用統(tǒng)計工作量經驗值,估算出當期統(tǒng)計工作量數據,用于預清算線路使用費、機車牽引費等。
2.2.8 列車擔當識別規(guī)則定義模塊
列車擔當識別規(guī)則定義模塊主要提供人機交互界面,供各企業(yè)提供的協(xié)議擔當形式化存儲到預清算系統(tǒng)中,作為預清算系統(tǒng)判定車次擔當企業(yè)的依據。
2.2.9 清算字典維護模塊
清算字典維護模塊提供人機交互界面,供諸如清算單價字典、歸屬字典的維護和查詢。該模塊支持字典批量維護、增、刪、改、查、打印等操作。
2.2.10 預清算規(guī)則庫定義模塊
預清算規(guī)則庫定義模塊通過維護規(guī)則庫,定義預清算的清算規(guī)則,供預清算核心處理模塊使用。針對不同的清算科目,該模塊會分別設置清算處理規(guī)則和報表規(guī)則。
2.2.11 預清算核心處理模塊
按照預清算規(guī)則,預清算核心處理模塊基于清算字典,對各類預清算數據進行處理,形成預清算結果。
2.2.12 預清算報表發(fā)布模塊
按照報表規(guī)則,預清算報表發(fā)布模塊為各個企業(yè)生成各個清算科目的、各口徑的預清算報表,并將相關報表通過客戶端網站,供用戶在其權限范圍內進行查詢和下載。
2.2.13 清算字典發(fā)布與審核模塊
清算字典發(fā)布與審核模塊將預清算系統(tǒng)中相關清算字典發(fā)布給各企業(yè)。各企業(yè)如果發(fā)現(xiàn)問題,則可以通過客戶端提交修正申請??瓦\預清算系統(tǒng)收到申請后,會將其推送給相關方。只有相關方均認可的情況下,該修正才會被采用,并據其影響,重新預清算并發(fā)布新的預清算結果。
2.2.14 用戶管理與授權模塊
用戶管理與授權模塊實現(xiàn)系統(tǒng)的用戶管理及用戶授權管理。不同企業(yè)間可以通過授權的方式,將業(yè)務委托給其他企業(yè)代為辦理。
2.2.15 對外接口服務模塊
客運預清算系統(tǒng)通過對外接口服務模塊為各企業(yè)提供多種靈活的對外接口服務。該模塊不但可提供個性化可定制的接口格式、接口內容,甚至還可拓展通過多種途徑提供數據,如移動端服務。
2.2.16 運行監(jiān)控及日志模塊
運行監(jiān)控及日志模塊提供系統(tǒng)操作和運行日志的記錄、查詢、統(tǒng)計等功能,方便從業(yè)務、維護等各個層面對系統(tǒng)進行分析、評判。
本文基于企業(yè)需求,分析了當前客運清算系統(tǒng)的局限性和面臨的困境,提出并設計了鐵路客運預清算系統(tǒng)。該系統(tǒng)將成為現(xiàn)有客運清算系統(tǒng)的補充,使清算服務產品更加豐富多樣。下一步,可積極引入區(qū)塊鏈[7]、云技術[8]、國產數據庫等新技術、新方案,增加技術儲備,助力客運清算系統(tǒng)升級。