張巧艷,王愛麗,2,路偉康,王子騰,2,任俊樺,2
(1.中國鐵路信息科技集團有限公司,北京 100038;2.中鐵信(北京)網絡技術研究院有限公司,北京 100038)
隨著鐵路信息化進程的不斷加快,鐵路信息資源的數量和規模也在迅速擴大,為此,國內外均開展了信息資源管理相關技術研究,借助大數據、云計算等技術,對信息資源進行實時監測、優化配置和動態調整,從而降低企業生產和運營成本。然而,我國鐵路行業尚未形成一套完善的信息資源管理體系,在信息化管理、配置使用、統籌管理等方面仍存在以下需求。
在資源信息化管理方面,需要應用信息化手段構建完整的信息資源管理臺賬,實現鐵路信息資源申請、配置、使用、回收等環節的全過程信息化管理[1-2];在資源高效配置方面,需要對各類型資源分配使用情況進行監測分析,對資源使用率過低、資源負載過高、資源到期回收等情況進行預警提示,實現資源動態調整[3-4];在資源統籌管理方面,需要對當前資源使用情況進行分析評估,對未來資源需求進行分析預測,形成資源管理策略和資源擴容方案,為管理人員盤活存量資源、提高資源管理效率提供有效技術支撐。
因此,本文從鐵路信息資源管理工作的實際需求出發,深入分析、梳理信息資源類型,開展資源需求分析與評估等關鍵技術研究,并基于微服務架構,設計鐵路信息資源管理系統,實現對鐵路信息資源的分級分類管理、全流程管理、需求預測和分析評估,為提升鐵路信息資源管理和使用效率提供有力支撐。
鐵路信息資源管理系統總體架構如圖1 所示。

圖1 鐵路信息資源管理系統總體架構
1.1.1 數據服務層
匯聚鐵路信息資源各類型數據,開展數據清洗、加工、整合、存儲、分析等操作,按照資產設備數據、應用系統數據、資源申請配置數據、資源使用狀態數據、資源運維管理數據和其他數據等類型進行分類管理。
1.1.2 技術服務層
綜合運用分布式搜索引擎服務、輕量級業務流程引擎服務、數據可視化建模微服務組件、數據聚合統計分析微服務組件、UI 可視化組件庫、統一安全認證服務組件、分布式文件共享服務和基于角色的訪問控制(RBAC,Role-Based Access Control)權限的用戶管理服務等,為系統業務功能開發提供技術支撐。
1.1.3 應用功能層
基于各類型數據信息和相關技術服務,實現資源分類管理、資源全過程管理、資源需求預測和分析評估等業務應用功能,為資源管理人員全面掌握信息資源、輔助優化決策提供支撐。
1.1.4 用戶訪問層
面向資源管理、資源配置、資源使用等用戶,提供多層次、多維度、可視化的資源信息化管理和統計分析等功能,為用戶提供方便、快捷、直觀的系統使用體驗。
鐵路信息資源管理系統技術架構如圖2 所示。

圖2 鐵路信息資源管理系統技術架構
1.2.1 數據層
主要實現系統元數據、業務數據的管理,采用Mysql、Redis、Elastic Search、Fastdfs、MongoDB 等技術棧,提供持久化存儲、分布式緩存、分布式搜索引擎等,并在保證數據安全存儲的基礎上,對熱點數據性能進行加速。
1.2.2 服務層
前置負載均衡Nginx 集群,采用輪詢的方式,分流所有前端的訪問請求。采用微服務架構設計,選取Spring Cloud 形成統一的微服務開發框架,部分業務采用Springboot 單體應用設計。選用Gateway、Nacos、Openfeign、Ribbon 等微服務技術組件和Kafka 消息中間件,通過基礎微服務和業務微服務實現系統的通用基礎功能和業務領域服務功能。
1.2.3 展示層
包括Web 和App 形式,同時支持3D 模型展示。其中,Web 端采用VUE、Element UI、Webpack 等主流開發框架,在HTML5、ES6、CSS3 技術標準的基礎上,支持多種主流瀏覽器的訪問;App 采用Android 原生技術開發;3D 模型展示采用Unity 實時3D 引擎開發,提升模擬展示效果。
鐵路信息資源管理系統功能架構如圖3 所示。

圖3 鐵路信息資源管理系統功能架構
鐵路信息資源主要類型包括硬件資源、軟件資源、虛擬資源、應用系統資源等。其中,硬件資源包括物理服務器、存儲設備、網絡設備、安全設備等;軟件資源包括操作系統、數據庫、中間件等;虛擬資源包括虛擬機、計算資源池、存儲資源池等。
資源分級分類管理模塊支持對鐵路各類信息資源進行匯集和分類管理,并構建相應的信息臺賬,包括:名稱、編號、類型、網絡、用途等基本信息,CPU、內存、磁盤等配置信息,使用率、分配量等狀態信息,以及各類型資源的關聯信息等。支持各類資源臺賬信息的添加、刪除、修改、查詢和下載等管理維護功能。
支持資源申請、審批、分配、使用、回收等全過程的信息化管理,提升資源管理效率。
2.2.1 資源申請管理
資源申請用戶可在線填報申請材料,支持應用服務器、數據庫、中間件等各類資源的具體需求填報和統計匯總。用戶在填報過程中可對資源申請材料進行編輯和更新等操作,填報完成后可提交至資源審批流程進行審核。
2.2.2 資源審批管理
包括資源申請受理、審查和會簽等流程。資源受理人接收到資源申請后,可在線查看并下載資源申請材料,審查申請材料的完整性和規范性并提交至審查人;審查人可分析判斷資源申請的合理性,編寫資源分配建議方案,并提交至資源管理單位會簽;資源管理部門對資源申請內容和分配建議方案進行審核確認,完成資源審批流程。
2.2.3 資源分配管理
資源分配人可根據已審批完成的資源分配建議方案,配置相應的CPU、內存、存儲、IP 地址和相關軟件。同時,可根據資源利用率和資源使用期限,對已分配的資源進行二次分配和回收,提高資源使用效率。
2.2.4 資源使用管理
支持對各類型資源數量、分配情況、擴容情況、回收情況、CPU 使用率、內存使用率、存儲使用率等進行統計分析;支持對資源CPU、內存和存儲自定義安全閾值并設置報警提示。
2.2.5 資源回收管理
支持用戶在線填報資源回收申請,以及資源回收流程在線審批操作。資源使用單位將回收申請提交至資源管理單位后,資源管理單位可在線審核資源回收條件并制定資源回收方案,由資源管理單位審批完成后,進行資源回收操作和回收確認。
通過對資源使用情況和需求進行估算和分析評估,為資源分配調整和擴容優化等提供支撐。
2.3.1 資源需求估算
分為硬件資源需求和軟件資源需求估算,為資源分配調整提供依據和支撐。其中,硬件方面主要包括數據庫服務器、Web 服務器和應用服務器的需求估算;軟件方面主要包括內存需求和存儲需求估算。
2.3.2 虛擬資源分配
支持物理機與虛擬機之間進行資源動態調配。通過虛擬資源調度策略對虛擬化資源進行動態按需分配,優化虛擬機資源的調度方式,解決資源利用率、能耗和負載均衡等問題。
2.3.3 資源需求預測
通過綜合考量現有資源使用情況,對網絡資源需求、業務資源需求等進行分析預測,并按年、季、月等不同時間范圍進行展示,提出資源需求建議和提醒,為鐵路信息資源高效管理提供數據支撐。
2.3.4 資源分析評估
支持對各類型資源的使用效率、分配情況、申請和回收等管理情況進行分析和評估,對資源使用率過低、負載過高、資源到期回收等情況預警提示,并通過圖形、列表等多種展現形式,對資源統計分析和評估結果進行動態可視化展示。
主要包括基礎知識庫管理、資源服務目錄管理和系統管理。其中,基礎知識庫主要提供文檔資料閱覽和自定義創建編輯功能;資源服務目錄提供服務項目說明,包括資源服務分類、服務配置信息、適用范圍和服務策略等;系統管理包括用戶管理、權限管理、日志管理等,為鐵路信息資源管理系統運行和管理提供輔助支撐。
為實現資源申請、受理、審批、分配、回收的全流程管理,采用工作流管理技術,將資源管理工作分解定義成不同的任務、環節和角色,并按照一定規則和過程來實現全過程的管理[5]。
本文基于Vue、Java 微服務實現自定義工作流的設計[6],主要包括流程環節設計、流程控制模式、流程表單設計和工作流引擎等。其中,流程環節設計根據資源管理需求,將整個資源管理流程分為申請、受理、審查會簽、分配、確認等步驟,每個環節都對應相應的人員、處理表單、審查條件、審核操作等;流程控制模式主要包括順序、并行分叉、同步、排他選擇和簡單合并等;流程表單設計根據不同環節資源填報需求,設計申請表、審批表、回收表等不同的表單數據項;工作流引擎采用主流開發引擎Flowable 框架,根據工作流控制模式和流程步驟的定義,對流程進行實例化,根據用戶執行其中的任務來推動流程的進行,當用戶填寫對應的表單并提交后,工作流引擎按照對象的操作、當前的環節及流程步驟來跳轉到下一個節點。
軟硬件資源配置完成后,需要對物理設備虛擬化。本文采用分組遺傳算法解決虛擬機的資源分配問題,以盡量少的物理機來放置更多的虛擬機,以達到系統低能耗、負載均衡的目的[7]。
由于不同物理機規格不同,虛擬機部署方式也不同,需要依據虛擬機的資源需求,對物理機進行分組編碼,再使用交叉的方法對物理機和虛擬機之間進行資源的動態調配。交叉過程中若出現具有重復虛擬機的物理機,則刪除此物理機;刪除后如出現孤立虛擬機,則進行回填[8]。交叉過程評估參數是單個物理機資源利用率和資源負載均衡的比值,評估參數值越大,資源利用率越高且負載更均衡。
3.3.1 網絡資源需求預測
通過評估實際工作量的需求進行網絡資源的預測和分配。網絡資源需求主要包括時間、帶寬、可靠性和費用等服務質量(Qos,Quality of Service)指標。本文基于強化學習的網絡需求預測方法,針對已知的工作量要求,實現工作任務到網絡資源的映射[9]。通過強化學習調度器里的反饋機制,為每個工作任務提供一個近似最小化的網絡資源供給方案,并逐個分析、執行和更新,最終得到工作任務需要的實際網絡資源。
3.3.2 業務需求預測
通過實際的業務處理量預測CPU 的負載情況。對業務邏輯進行層次分析后,對業務指標進行歸類,通過分析業務處理流程與資源消耗影響的變化曲線,找出影響資源使用的關鍵業務指標[10]。基于上述關鍵業務指標與資源消耗影響的歷史數據,利用回歸分析方法,建立資源需求和關鍵業務指標間關系的數學模型,用于未來同類型業務資源的需求預測。
本文基于B/S 架構和前后端分離開發框架,采用瀑布及Scurm 的混合開發模式,以及分布式部署模式,設計研發了鐵路信息資源管理系統,并在某鐵路資源管理部門進行了試用,試用效果如圖4 所示。
資源管理人員可更系統、更全面地了解和掌握各類型信息資源的基本情況和使用情況,實現了資源從申請、審批、分配、回收等全過程的信息化管理,并通過資源分析預測和評估預警,為資源日常管理和優化決策等提供了輔助支撐。
本文針對鐵路信息資源信息化、高效化管理需求,設計鐵路信息資源管理系統,通過資源需求估算、資源分配和資源預測等關鍵技術,實現了資源的分級分類管理、全流程管理、需求預測和分析評估等功能,為提升鐵路信息資源管理信息化水平和資源配置管理效率提供了有力支撐。下一步將深入分析和挖掘資源數據信息,開展資產資源協同管理、資源智能調配等研究,進一步提升鐵路信息資源智能化管理水平。