馮樂樂
(國能鐵路裝備有限責任公司滄州分公司,河北滄州 061100)
鐵路貨車運用在線修工作是確保鐵路運輸安全和暢通的重要環節,也是鐵路運輸的重要組成部分。隨著近年來我國鐵路全面提速、重載運輸技術更迭、運輸生產能力布局調整等帶來的新業態的變化,鐵路貨車運用維修業務正在經歷從業務數字化轉型到數據業務化模式的創新轉變,從而對鐵路貨車運用在線修的技術作業手段和作業能力提出更高要求。
隨著狀態修業務在全網的開展,車列、車輛的技術狀態、歷次檢修信息、多T 故障信息、運行過程中人工檢查的故障信息、運行軌跡、過車信息等與貨車運用維修相關業務數據均已全面采集,并進行實時存儲形成海量實時數據。上述海量數據為重載鐵路智能在線修技術研究提供重要保障基礎,因此,實時數據應用關鍵技術研究對鐵路貨車運用在線修效率的提升意義重大。
智能在線修以鐵路貨車運行安全監控系統預報故障為主要依據,其基礎數據量大,實時性強,且數據采集時具有頻次高、規模大、時間短、吞吐量大、寫多讀少等特點,同時,由于鐵路貨車運用在線修工作的復雜性,決定使用數據存儲、處理與應用技術模式,正面臨巨大挑戰。文章分析分布式數據庫與實時數據在貨車運行在線修過程中采集、處理、應用中的關鍵應用技術,為解決傳統的列檢業務模式已無法滿足在線狀態修管理模式難題進行探索,為在線修業務模式創新賦能,支撐鐵路貨車在線修的進一步推進。
在1983 年,ACM SIGMOD Record 一期 專刊 正式確立實時數據庫作為新的研究領域[1]。此后,實時數據庫迅速在電力、石油、食品加工等行業的工業控制、自動控制和通信控制領域中得到應用與發展。分布式實時數據庫是實時數據庫技術與網絡技術相結合的產物,從邏輯上屬于同一套系統,但在物理上分散在按照一定規則連接的多個數據庫節點上。這些節點的數據庫共同構成一個分布式實時數據庫,支持全局實時事務處理。分布式實時數據庫系統包括全局事務管理系統、局部實時數據庫管理系統和歷史數據庫三個部分[2],系統結構如圖1 所示。

圖1 分布式實時數據庫系統架構
其一,全局事務管理系統主要負責確保所有局部實時數據庫管理系統的全局唯一性,并監控各系統的運行狀態。其二,局部實時數據庫系統主要負責建立和管理當地的實時數據庫,用于存儲從數據源獲取的實時數據,執行當地應用和全局查詢,并處理和控制當地事務。其三,歷史數據庫用于存儲歷史數據信息,提供數據訪問能力,為訪問者統計分析歷史數據。
實時數據庫的數據和事務具有實時性,系統的正確性不僅依賴于邏輯結果,且取決于該結果產生的時間[3-4]。因此,實時數據庫系統能夠接受時間限制內的錯誤數據,但不會接受超出時間限制的準確數據。
實時數據庫系統最重要的特征是實時性,包括數據的實時性和事務的實時性。因此,必須在保證數據的實時性、可用性與一致性的基礎上,分析和討論實時數據的應用關鍵技術。
事務調度策略是實現實時數據讀寫正確性的關鍵要素之一,主要包括事務優先級分派策略和基于時標的定時調度策略。
事務優先級策略將待調度的事務在調度隊列中排隊,由調度程序按照一定的規則組織事務運行,并分配事務的優先級。常見的分配事務優先級的算法包括先到先服務(FCFS)、最早截止時間優先(EDF)、最小松弛度優先(LSF)和價值最高優先(HVF)[5-6]。
基于時標的定時調度策略是能夠讓事務在到達指定時間點進行執行的一種機制,根據每個事務的開始時間戳和結束時間戳,以及它們的運行時間來決定調度順序。該策略可以保證每個事務在規定的時間內完成,從而滿足實時性要求。
鐵路貨車智能在線修業務應用中,事務處理數據的過程必須考慮數據有效期[7],通常會將兩種調度策略結合起來使用,即對時效要求非常高的事務或者子事務,可采用帶時標的調度策略執行;而對于時間要求比較輕松的事務,可采用相應優先級調度來處理。
沖突是實時數據在其數據庫中的一種常見的問題,它可以分為三種主要類型:寫寫沖突、讀寫沖突、寫讀沖突。以上沖突均可能破壞事務的隔離性,導致數據的不一致。因此,并發控制則是要用正確的方法來管理事務并發,從而使一個事務在未提交時,其他事務的執行不受到干擾。
并發控制的策略主要包括鎖式并發控制、樂觀并發控制、時標排序并發控制三種方式。其中,鎖式并發控制是一種悲觀控制,通常采用兩階段封鎖算法進行并發控制,即讀鎖與讀鎖、寫鎖與寫鎖之間相互排斥。樂觀并行控制將事務拆分為讀段、驗證和寫段[8]三個分別進行驗證的階段,通常使用OCC、silo、Matt、sundial 算法,以降低事務沖突或者對于通過延遲阻塞的方式解決少量事務沖突。
對于頻次比較高的、數據量大的時空數據、位置數據、儀表等產生的數據,通常會使用鎖式并發控制;而對于鐵路貨車故障類型的業務數據,通常采用樂觀并發控制或者時標排序并發控制相結合的策略進行事務并發管控。
數據分片是通過分片技術將數據庫表分成多個不相交的子表,并在不同的存儲設備進行存儲和管理,主要類型有水平分片、垂直分片和混合分片三種方式[9]。
完整性、重構性和不相交原則[10]是數據分片時重點考慮的因素,同時還要保持數據一致性和可用性。5T、故障檢驗、施修方法、行車軌跡、車型、車次等智能在線修相關基礎業務數據存儲,主要是依據業務需求屬性的車型、車次來制定數據水平分片的規則,而不是采用某一時間屬性或者關鍵字取模的方式進行分片。
實時數據恢復對于確保數據的一致性和完整性至關重要。恢復的時機選擇必須恰到好處,過遲可能導致數據資源失效,事務截止時間超期,且對于大多數實時數據應用來說不允許靜態恢復。因此,實時數據的恢復需要滿足可預見性、時間一致性以及數據或事務特征的可識別性。
實時數據的恢復通常采用兩種策略:基于日志記錄和基于影子恢復方法。傳統日志恢復按照日志記錄的順序進行,但沒有考慮數據和事務的優先級,因此不適合用于實時數據的恢復。針對該問題,出現幾種基于日志記錄的實時數據恢復方法,包括分區日志、實時日志和遠程日志的恢復方法。其中,分區日志能夠克服傳統按照順序日志記錄恢復的缺陷,但在實踐中,實時日志的方法在保證數據值與時間信息一致性方面更優越。然而,基于日志恢復的方法會增加恢復時間,并延長事務執行時間,在一定程度上會影響實時事務定時限制的約束。因此,在學術上,相關人員開始對基于影子恢復方法進行研究與探索,并取得一定成效,但該方法在實時數據恢復時對資源開銷比較大,從而在應用時沒有被大范圍采用。
實時數據統一標識是訪問分布式數據的基礎,能夠快速確定實時數據所在系統中的信息。在訪問者需要訪問實時數據時,訪問條件被數據接口機制處理成數據區域和標識ID。首先確定訪問者所在的數據的位置,然后由數據服務將存儲在當地或者異地的數據進行數據轉換后,通過接口將數據匯總后統一返回。
鐵路貨車智能在線修業務應用中,分布式數據庫提供標準統一的數據接口,將各個集群作為邏輯整體進行訪問,實現同時訪問不同物理位置的數據。數據安全是數據訪問時首要考慮的問題,除數據庫應用環境進行物理隔離外,還要通過權限管理,禁止非法用戶訪問系統數據,并在數據傳輸過程中,采用加密技術,防止核心數據被截獲,造成數據泄露。
高可用技術是指通過減少數據庫系統中斷時間,屏蔽數據庫故障,以保證業務的連續性與業務數據可恢復性的關鍵應用技術。
高可用技術主要用于以下三種情況:計劃外停機、計劃內停機和災難恢復。通過主機的集群高可用架構,可以防止數據庫故障的出現,主要包括主-主模式、主-從模式、一主-多從和中間件模式四種方式。
鐵路貨車智能在線修業務應用中,主-主模式主要應用于數據庫的讀寫量較少的場景;主-從模式應用于讀寫量都不是非常高的場景;一主-多從主要應用于寫少讀多的場景;中間件模式主要應用于讀寫并發都很大并且數據量非常大的場景。
文章以分布式時序數據庫為基礎,實現國能裝備公司自備車的車列、車輛的技術狀態、歷次檢修信息、多T 故障信息、運行過程中人工檢查的故障信息、運行軌跡、過車信息等實時數據的采集,并通過基于物聯網專網構建的鐵路智能在線修系統,以實踐分布式實時數據庫應用關鍵技術,實現HCCBM(狀態修監測維修系統)數據中心基礎數據互聯,通過鐵路貨車檢修數據輔助智能在線修業務的高效開展。
鐵路貨車智能在線修系統的實時數據庫部署架構如圖2 所示。

圖2 數據庫部署架構
第一,通過物聯網專網將系統所需的數據進行實時在線集成與獲取,采集服務器按照一主一從的集群模式進行部署,通過實時數據高可用架構,保證系統實時數據連續性與可靠性。
第二,實時數據庫分布式部署,使用事務優先級實現對各種事務的調度,使用OCC 算法來支撐多業務場景的樂觀并發控制和時標排序并發控制,同時系統可通過任意節點通過遠程管理實現對數據庫系統的遠程配置和管理。
第三,按照車型和車號編碼為特征值,對各類數據進行數據水平分片存儲。采集的實時數據,在各業務節點采集服務器暫存時間為24h。
第四,在各節點部署歷史數據庫,實現實時數據定時轉入歷史數據庫,按照統一的接口標準,將數據通過物聯網專網采集和公司局域網進行采集。數據在采集、傳輸、存儲與訪問過程中,均采用MD5 加密,保證數據安全。
文章對實時數據在鐵路貨車智能在線修業務中的關鍵技術進行討論,并分析各項關鍵技術的特點。通過構建智能在線修系統,將相關關鍵技術進行應用探索和實踐,對實時數據庫在鐵路智能在線修業務中的應用具有一定參考意義。目前系統在國能裝備公司進行試點應用,在提升貨車智能在線修實時數據處理能力的同時,為鐵路貨車智能在線修模式的升級和優化提供技術保障。