高修強



摘 要
作為城市建設管理者,能夠便捷的實時查看全市軌道交通工程盾構掘進監測數據已成為基本而迫切的需要。本文中,筆者以某城市軌道交通實際項目為依托,分析多種品牌的盾構掘進監測系統,利用Web Service、JSON等技術手段搭建C/S、B/S模式軟件,將多種不同類型的盾構掘進監測數據集成到統一的數據庫,進而實現全市盾構掘進監測數據實時展示。為管理者的安全決策提供實時、直觀的數據依據。文中所述解決方案也適用于其他工程施工自動化監測數據的集成與展示,具有廣泛應用價值。
【關鍵詞】盾構 監測 Web Service 集成
1 引言
隨著我國城市化進程步伐不斷加快,各城市紛紛開始軌道交通(地鐵)建設。在城市軌道交通建設中,隧道掘進是工程量最大也是對安全性要求最高的施工作業。多條隧道工程的盾構掘進施工往往涉及多種品牌的盾構機,而各盾構機自帶不同的掘進監控系統(以下簡稱系統),掘進監控實時數據(以下簡稱數據)一般只局限于工地內查看。目前常見的盾構機品牌有中鐵裝備、海瑞克、小松等,各品牌又可能細分為多個版本。品牌的多樣化給數據整合帶來麻煩,各家系統存儲管理數據的方式大相徑庭,而且對于盾構掘進監測工作,業內尚無統一的標準規范。
盾構掘進的特殊性要求數據必須足夠實時和密集,因此各系統都有自己的一套存儲和展示方式。從筆者在項目中遇到的情況看,數據就有若干種存儲方式,如采用Paradox數據文件、Access數據文件、常規記事本文件以及自定義格式文件等。出于安全考慮,多數系統部署于施工現場單獨的計算機不能上互聯網,如需在其他地方查看實時數據,只能組建局域網,將數據以共享桌面的方式在另外的計算機上展示。
基于以上現狀,作為城市建設主導方和管理者,面對正在施工的多種盾構品牌,想關注整個城市所有盾構掘進的實時情況變得十分困難,掘進數據往往是通過施工方事后呈報的表格才能得知,這些數據到達管理者手上時已是十分滯后,不能根據實時數據進行安全研判和快速決策指揮,對于盾構掘進施工安全的參考意義不大。
2 解決方案及軟件實現
2.1 實現框架
數據集成展示的原則有三條:一是零耦合,即不與各監控系統關聯,不能影響現有盾構掘進監控系統的運轉;二是穩定及安全,即保證穩定性及數據安全性;三是可擴展性,即對新系統的數據要能快速開發實現集成。
數據集成展示的前提條件有兩個:一是數據文件必須可解析,如果是系統廠家自定義的數據格式,必須提供解析方法;二是與數據文件所在計算機處在同一局域網內的某臺計算機必須保證全時段可連接互聯網。
基于以上原則和前提,構造出基本的實現框架如圖1。
鑒于系統一般部署于施工現場(地下工控室)計算機(以下簡稱地下機),出于安全考慮該計算機不能連接互聯網。因此需有另一臺計算機(以下簡稱地上機)能夠在局域網內訪問到地下機,地上機需24小時開機和連接互聯網。軟件數據流模型如圖2。
2.2 設計要點
軟件實現時,要注意以下方面:
2.2.1 控制讀取數據文件的權限
如果盾構機掘進監測數據的存儲方式是數據庫,那么要設定只讀用戶和密碼;如果是文件(或文件集合),那么要設定特定的共享訪問用戶,實現對該文件(或文件集合)有權限的共享。
2.2.2 編寫可擴展的解析器
解析傳輸程序(以下簡稱客戶端)在解析數據時,利用面向對象語言將解析過程抽象為解析基類,其中包含解析通用的對象、方法和事件。對象包括程序配置、執行觸發器、數據格式、日志讀寫器等;方法包括讀取配置、解析數據(虛函數)、推送數據、讀寫日志等;事件包括解析前、解析中、解析后等。
不同的系統數據解析時統一繼承基類,只要重載實現解析數據方法即可。這種方式編寫的代碼優勢在于,當有新的盾構監測數據格式需要集成時,只需引用解析器動態鏈接庫,繼承解析基類后實現特有的解析方法即可。
2.2.3 構造統一的數據格式
數據集成過程中,數據格式統一采用JSON標準。JSON(JavaScript Object Notation, JS 對象標記) 是一種輕量級的數據交換格式,易于人閱讀和編寫,同時也易于機器解析和生成并有效地提升網絡傳輸效率。
2.2.4 進行通信驗證和傳輸數據加密
由于涉及到使用互聯網傳輸數據,Web Service服務(以下簡稱服務端)需要對客戶端進行驗證。驗證分兩個方面:一是驗證客戶端的真偽,防止其他客戶端惡意連接服務端,筆者采用非對稱的加密算法,在客戶端請求時通過比對客戶端和服務端對于一串隨機碼的加密結果是否相同來驗證客戶端的真偽;二是驗證客戶端的安裝位置,防止將A盾構機的數據入庫到B盾構機的數據里,解決方法是將客戶端所處的計算機信息(硬盤編號、網卡地址等)事先存儲在服務端,當客戶端連接服務端時就能根據信息判定是哪臺盾構機的數據了。
由于涉及到使用互聯網傳輸數據,數據安全也需要充分考慮。針對集成的應用場景兼顧傳輸效率,最終選用了對稱的DES加密算法來加密數據,DES加密應用簡便且廣泛,參考資料很多,具體做法不再贅述。
2.2.5 采用數據推送-接收-提取展示模式
即為客戶端-服務端-展示終端模式:客戶端負責數據解析、加密推送。服務端負責數據接收、解密入庫。展示終端負責數據提取、終端展示。需要注意的是,服務端只需要部署一個,既提供數據入庫功能供解析客戶端調用,又提供數據提取功能供展示客戶端調用。
2.2.6 具備容錯機制
整個軟件部署后自動運行,要保證其穩定性,達到無人值守運行標準,對于不可預見的錯誤要能捕獲并記錄,極力降低程序崩潰概率。程序需具備完備的日志記錄機制,對于執行過程特別是出錯內容能夠詳實的記錄,為維護和優化工作提供條件。
3 應用實例
某城市目前有8臺盾構機正在進行掘進施工,其中2臺是海瑞克,6臺是中鐵裝備,在部署軟件之前必須滿足兩個基本條件:一是與盾構機在同一局域網內的計算機保證可讀取盾構監測數據文件且全時段連接互聯網;二是提供一臺具有固定互聯網IP的計算機,用于部署服務端。
部署好的軟件向用戶提供以下主要功能:
(1)維護人員可以通過展示終端設置和查詢每臺盾構機需要集成的參數、每個參數的數據推送頻率;
(2)專業管理人員可以通過專用客戶端查看完整的數據序列;
(3)全部相關人員可以通過網站頁面查看最新數據。
盾構掘進監控數據展示界面如圖3、4所示。
4 結語
基于以上解決方案和設計思路實現的軟件,能夠實時查看全市軌道交通工程盾構掘進監測數據,且具備高度的可擴展性,在新的盾構機需要接入時能夠快速開發并完成部署。
隨著城市軌道交通建設水平的提高以及經驗積累,相信盾構掘進監測領域會逐步形成標準規范,加上互聯網應用的飛速發展,屆時數據集成將更加容易。文中所述解決方案也適用于其他工程施工自動化監測數據的集成與展示,在自動化監測數據集成領域也有廣泛應用價值。
參考文獻
[1]廖國彬.盾構機動態監測集成化軟件開發及可靠性設計研究與實現[D].上海:同濟大學,2008.
[2]顧寧,劉家茂,柴曉路.Web Services原理與研發實踐[M].北京:機械工業出版社,2006.
[3]陳躍國,王京春.數據集成綜述[J].計算機科學,2004(05).