趙海寧
(中國鐵路成都局集團有限公司 科技和信息化部,成都 610000)
隨著鐵路的快速發展、鐵路運營里程的不斷增加,各類信息系統在鐵路局集團公司生產經營中被大量投入使用。這些信息系統支撐鐵路運輸生產和經營管理工作,在各級生產經營工作中發揮著重要作用。
大量信息系統投入使用帶來管理和效率提升的同時,也帶來諸多問題和不便。(1)各級系統的用戶賬號不統一,安全保護措施不一致,造成各級用戶的重復登錄、口令遺失、非授權使用等情況時有發生,影響工作效率。其次,隨著鐵路車間、班組、工區及人員不斷優化調整,各級信息系統中的用戶及人員數據、用戶權限難以做到同步調整,影響用戶使用。(2)信息系統不斷深入各種業務場景,迫切需要用戶及人員信息在各級系統中準確、一致。(3)信息系統使用量的不斷提高,對系統長期穩定運行的現實需求日益迫切,給系統架構設計提出了更高的要求。為此,有必要建立一種適用于鐵路生產實際需求的鐵路企業信息系統統一門戶。
本文基于鐵路局集團公司的現狀,設計了一種鐵路企業信息系統門戶架構。該架構部署應用于鐵路內部網絡,實現用戶的單點登錄,統一用戶權限管理,以及各級應用的集成控制,提供可靠、穩定、均衡的訪問服務[1-3]。
鐵路企業信息系統門戶總體架構由用戶表示層、業務服務層和基礎服務層組成,如圖1所示。

圖1 鐵路企業信息系統門戶總體架構
用戶表示層為用戶提供基于常見Web瀏覽器的基礎展示界面,為集成接入的業務系統提供基礎的Web前端展示框架。用戶通過瀏覽器訪問系統門戶。
業務服務層為用戶提供人員、用戶、應用、身份驗證、待辦工作等基礎性功能,為業務系統提供集成接入管理功能。
基礎服務層為用戶提供數據庫存儲、域名(DNS,Domain Name System)解析、文件存儲、網路均衡的服務,支撐整個統一門戶的運行。
本文結合鐵路局集團公司網絡的特點,基于內容分發網絡(CDN,Content Delivery Network)[4-5]、Nginx技術[6],在鐵路局集團公司機關所在地建立中心站點、各大地區建立鏡像站點,設計出一種符合鐵路特點的網絡架構。本文以某鐵路局集團公司為例,在其所在地的中心機房建立中心站點,兩大地區建立鏡像站點,分別服務于兩省一市的鐵路用戶。其信息系統門戶網絡架構如圖2所示。

圖2 某鐵路局集團公司信息系統門戶網絡架構
鑒于鐵路信息系統門戶是為所有鐵路信息系統用戶提供高并發、高可靠的服務需求,本文基于Nginx技術,在每個服務站點建立服務集群,在中心站點建立主數據庫,在鏡像站點建立鏡像數據庫。
例如,根據某鐵路局集團公司機關用戶使用量測算,鐵路信息系統門戶的服務架構為:鐵路局集團公司中心站點前端使用一臺Nginx服務器提供均衡負載,后端使用3臺Web服務器組成Web服務集群,其中,Web服務器連接數據庫服務器;其他兩個地區的數據庫鏡像與中心站段數據庫服務保持同步。其服務架構如圖3所示。

圖3 某鐵路局集團公司信息系統門戶服務架構
鐵路企業信息系統門戶需要滿足用戶的單點登錄[7-8]、統一用戶管理、集成接入的業務應用管理、統一的待辦工作管理[9]等,以實現用戶在同一站點不同應用的登錄和處理待辦工作,實現用戶快速操作其他業務系統,其功能架構如圖4所示。

圖4 鐵路企業信息系統門戶功能架構
人員管理是門戶最基本功能, 提供人員所在單位(部門)的新增、刪除、修改, 以及人員基礎信息管理等功能。 人員管理功能如圖5所示。

圖5 人員管理功能
在人員管理功能中, 人員基礎信息管理功能是人員管理功能的核心功能, 主要實現人員基礎信息查詢、人員基礎信息修改、人員單位內部調動、人員跨單位調動、人員離職、新入職人員錄入等。 人員以身份證號作為唯一標識條件, 如果存在相同身份證號則不能被錄入或修改, 以確保人員數據的唯一性和準確性。
同時, 人員基礎信息管理功能還提供人員注冊、身份驗證和人員其他信息接口。 人員注冊接口用于鐵路人員在門戶中的用戶注冊。身份驗證接口用千通過身份證、手機號、用戶名、密碼在人員注冊庫進行校驗, 并同時提取相應的人員信息, 實現用戶的身份驗證。 人員其他信息接口用千同步各集成接入到門戶中的各類業務應用系統對應人員的其他信息, 如常見的職教信息、勞資信息。
應用管理功能主要提供各單位對應的業務應用系統集成、系統功能模塊結構樹維護管理、用戶組維護管理、功能模塊頁面注冊管理等。應用管理是鐵路企業信息提供門戶實現業務系統功能模塊統一管理、用戶權限分配的核心功能,其主要數據對象如圖6所示。

圖6 應用管理主要數據對象關系
應用管理下級主要子功能如圖7所示。

圖7 應用管理下級主要子功能
在應用管理中,頁面管理和用戶相關接口(模塊樹、權限、參數)是其核心功能。
頁面管理主要實現接入的業務系統的Web頁面注冊、頁面權限、頁面所需框架參數配置等功能,是業務系統集成接入到門戶的基礎。
用戶相關的數據接口是門戶與業務系統之間用戶信息共享的橋梁。用戶模塊樹接口主要實現通過指定的用戶信息查找用戶對應的功能模塊,方便在門戶和業務系統間展示用戶可用的功能。用戶權限接口主要實現獲取當前用戶對指定的功能模塊的操作權限,實際卡控用戶使用功能。用戶參數接口主要實現門戶與業務系統間的用戶基本信息共享傳遞,一般包括用戶姓名、所在單位、職務等。
用戶管理主要實現用戶的注冊。用戶注冊提供通過用戶身份證綁定用戶名和手機號功能。
用戶注冊流程分為以下兩個步驟。
(1)用戶輸入身份證號和姓名,系統通過用戶注冊接口提取相應的在冊人員,如果不存在,則返回錯誤;如果存在,則進入步驟(2)。
(2)用戶輸入用戶名、手機號、密碼,系統判斷用戶名、手機號是否重復,如果不重復,則通過用戶注冊接口寫入用戶注冊信息;如果重復,則返回,讓用戶修改注冊信息。
初始空段落
身份驗證主要提供通過用戶名、身份證、手機號進行用戶身份、權限提取,并生成基礎功能頁面。
身份驗證分為以下兩個步驟。
(1)用戶通過瀏覽器訪問系統,系統首先通過安全技術驗證用戶合法性判斷用戶是否屬于免登陸用戶,如果合法則進入步驟(2);如果不合法,則要求輸入用戶登錄信息和密碼,并通過登錄信息進行用戶合法性驗證。
(2)系統根據用戶信息調用模塊樹、用戶權限接口,查詢當前用戶對應的模塊樹分布、用戶組信息、頁面控制權限信息,然后根據模塊樹和用戶組生成用戶對應框架界面。
接口模塊分為兩類接口:(1)外部訪問接口,提供用戶注冊、用戶驗證、讀取用戶信息等。(2)訪問參數接口,用于門戶調用集成接入的業務應用系統時,通過統一資源定位符(URL,Uniform Resource Locator)參數的方式傳遞用戶信息、控制權限等。接口管理各類接口如圖8所示。

圖8 接口管理各類接口
待辦工作功能主要提供統一的待辦事項列表、統一的待辦事項提醒,以及配套的待辦工作監控,支撐待辦工作提醒的及時性和高可靠性。
2.6.1 待辦事項列表
待辦事項列表為用戶提供統一的待辦事項操作處理界面。按照規范的待辦工作接口,集成接入的業務系統須向門戶提供具體的待辦工作數量和待辦工作處理界面。待辦事項列表界面如圖9所示。

圖9 待辦事項列表界面
2.6.2 待辦事項提醒
待辦事項提醒支持短信、門戶主界面彈窗、移動辦公類App等多種提示方式,方便用戶快速掌握需要處理的待辦工作事項,避免忽略或遺漏工作內容。
2.6.3 待辦工作監控
待辦工作是用戶日常處理工作的重要入口,其需要具備高可靠性,因而對待辦工作功能運行情況須日常監控。待辦工作監控提供待辦工作功能當前負載被后臺處理情況的實時監控,方便運維人員掌握相關運行情況。
OAuth是常見的驗證授權框架標準,其為開發者開發Web應用、桌面端應用程序、移動端應用程序提供特定的授權流程。該規范是IETF OAuth WG工作組下基于OAuth WRAP制訂,OAuth 2.0版本為常用版本。OAuth實現了第三方應用與當前應用間的重要數據交互,而無須將用戶口令等提供給第三方,確保數據安全。
鐵路企業信息系統門戶基于OAuth 2.0,實現與第三方信息系統的應用集成,以及單點登錄。
CDN主要實現網站靜態資源(如圖片、媒體、JS文件、CSS文件等)的加速訪問,提高用戶訪問速度和穩定性。
針對鐵路生產站段部署分散、點多線長的特點,鐵路企業信息系統門戶通過CDN網絡,實現穩定、快速的訪問。需要注意的是,使用CDN網絡加速一般需要配置域名服務。
Nginx是一款常見的輕量級的Web服務、反向代理服務器。鐵路企業信息系統門戶通過Nginx快速組件服務集群,提供高并發的門戶服務。
本文設計一種穩定可靠、方便高效的鐵路企業信息系統門戶架構,并應用于某鐵路局集團公司,在兩省一市建立主從站點,通過CDN為用戶提供訪問服務;同時將該鐵路局集團公司管理信息系統作為門戶的統一展示平臺,實現用戶的單點登錄和集中訪問控制,解決了鐵路點多線長、用戶分散的訪問可靠性問題,滿足了鐵路用戶日常生產辦公的效率要求。未來,本文將在普適性方面進行研究,讓該架構更好地適配其他鐵路局集團公司的需求。