周明晰
摘要:為了滿足電務大數(shù)據(jù)智能運維平臺在數(shù)據(jù)實時性、全面性、設備狀態(tài)健康診斷等方面的要求,需要將大數(shù)據(jù)技術應用到ZPW-2000R軌道電路運維平臺。
關鍵詞:大數(shù)據(jù);運維平臺;ZPW-2000R軌道電路
一、概述
目前,ZPW-2000R遠程服務平臺無法滿足哈局電務大數(shù)據(jù)智能運維平臺在數(shù)據(jù)實時性、全面性、設備狀態(tài)健康診斷等方面的要求。需要在ZPW-2000R遠程服務平臺的基礎上,開發(fā)ZPW-2000R大數(shù)據(jù)運維平臺,實現(xiàn)ZPW-2000R軌道電路設備的實時監(jiān)測、運用狀態(tài)健康診斷、故障處理流程管理等功能。
二、需求分析
通過與現(xiàn)場客戶的溝通,ZPW-2000R大數(shù)據(jù)運維平臺需要實現(xiàn)的需求包括:與車站系統(tǒng)維護終端進行數(shù)據(jù)交互,獲取各車站ZPW-2000R軌道電路設備監(jiān)測數(shù)據(jù);設備數(shù)據(jù)實時監(jiān)測;設備狀態(tài)健康診斷;篩選、排序、統(tǒng)計、匯總;故障處理作業(yè)流程管理;天窗設置管理;調試開通管理;返修設備記錄管理;通過短信、釘釘、微信等形式推送故障信息;向SAP系統(tǒng)發(fā)送返修設備基礎數(shù)據(jù)。
三、系統(tǒng)功能
ZPW-2000R大數(shù)據(jù)運維平臺主要分成六個大模塊,功能應用層、接口應用層、數(shù)據(jù)處理平臺、站點數(shù)據(jù)解析模塊、基礎設施層以及其他應用系統(tǒng)對接。系統(tǒng)架構如圖1所示。
四、系統(tǒng)設計
ZPW-2000R大數(shù)據(jù)運維平臺基本的技術方案架構如圖2所示。
1、Web前端
Web頁面類型分為:靜態(tài)頁面,動態(tài)頁面。靜態(tài)頁面對I/O要求比較高;動態(tài)頁面對內(nèi)存、CPU等要求比較高。因此靜態(tài)頁面與動態(tài)頁面分開部署在具有針對性的服務器上以提高性能。
2、Web服務器
Web服務器分為靜態(tài)Web服務器,動態(tài)Web服務器。其中當客戶訪問靜態(tài)頁面的時候,僅訪問靜態(tài)web服務器,靜態(tài)Web服務器根據(jù)需要從文件服務器上提取所必須的css,js,圖片等文件;而當用戶訪問動態(tài)頁面時,動態(tài)Web服務器根據(jù)需要先去緩存服務器上檢查是否有需要的數(shù)據(jù),如果有,則直接從緩存服務器中取,否則從數(shù)據(jù)庫中取相應的數(shù)據(jù)(以此來達到部分分流效果),同時添加到緩存服務器上根據(jù)需要從文件服務器上提取所必須的css,js,圖片等文件。
為了讓多臺服務器更好的協(xié)同工作,添加多臺服務器達到分擔負荷的作用,利用網(wǎng)絡負載平衡器把這些服務器群集起來。動態(tài)服務業(yè)可以按照這樣的均衡方式達到提高性能與擴展的效果。通過Nginx的負載均衡機制,將訪問請求均衡的分配到集群的各個服務器上。
3、數(shù)據(jù)庫系統(tǒng)
影響動態(tài)服務性能關鍵在于數(shù)據(jù)庫能否及時響應。各個動態(tài)應用規(guī)模越大,響應的數(shù)據(jù)庫就越臃腫,響應的速度就越慢。
數(shù)據(jù)庫系統(tǒng)綜合使用讀寫分離、縱向分割、橫向分割等三種方法實現(xiàn)數(shù)據(jù)庫負載均衡。
1)讀寫分離。由于讀多寫少,大部分時間消耗在查詢上,因此讓主庫專門用于寫,從庫專門用于讀(讀庫可以有很多個,以減輕單個讀庫的負擔),同時同步寫庫與讀庫的數(shù)據(jù);
2)縱向分割。不同的應用可以分到不同的DB中,不同的實例中。這種發(fā)放不但效率高,實施也很方便。
3)橫向分割。采用表分區(qū)把大表分成小表,數(shù)據(jù)存儲在不同文件上,然后再部署到獨立物理服務器增加IO吞吐以改善讀寫性能,表分區(qū)的另外一個優(yōu)勢可以增加數(shù)據(jù)查詢速度。
采用分布式數(shù)據(jù)庫集群的中間件,如mycat,性能良好,易于擴展,同時監(jiān)控的更加全面。
緩存系統(tǒng)采用業(yè)內(nèi)主流的Memcache。Memcached是開源的分布式cache系統(tǒng)。Memcached的緩存是一種分布式的,可以讓不同主機上的多個用戶同時訪問, 因此解決了共享內(nèi)存只能單機應用的局限,更不會出現(xiàn)使用數(shù)據(jù)庫做類似事情的時候,磁盤開銷和阻塞的發(fā)生。
服務器端使用CentOS Linux系統(tǒng),作為主流的服務器操作系統(tǒng)其穩(wěn)定性、實用性、適應性、硬件資源利用率等方面均得到國內(nèi)外普遍認可和采用。
數(shù)據(jù)庫分別使用MongoDB和Redis。MongoDB作為設備數(shù)據(jù)存儲,為WEB應用提供可擴展的高性能數(shù)據(jù)存儲解決方案。MongoDB是一個介于關系數(shù)據(jù)庫和非關系數(shù)據(jù)庫之間的產(chǎn)品,是非關系數(shù)據(jù)庫當中功能最豐富,最像關系數(shù)據(jù)庫的。它支持的數(shù)據(jù)結構非常松散,是類似json的bson格式,因此可以存儲比較復雜的數(shù)據(jù)類型。Mongo最大的特點是它支持的查詢語言非常強大,其語法有點類似于面向對象的查詢語言,幾乎可以實現(xiàn)類似關系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對數(shù)據(jù)建立索引。而且它的路線圖中已經(jīng)包含對MapReduce引擎的內(nèi)置支持。Redis用作數(shù)據(jù)庫、高速緩存和消息隊列代理。它支持字符串、哈希表、列表、集合、有序集合,位圖,hyperloglogs等數(shù)據(jù)類型。內(nèi)置復制、Lua腳本、LRU收回、事務以及不同級別磁盤持久化功能,同時通過Redis Sentinel提供高可用,通過Redis Cluster提供自動分區(qū)。支持很強的性能和并發(fā)性。
五、結束語
本文研究了ZPW-2000R大數(shù)據(jù)運維平臺的一種實現(xiàn)方案,討論了平臺的系統(tǒng)架構、功能和使用的技術,為ZPW-2000R大數(shù)據(jù)運維平臺的開發(fā)提供參考。
參考文獻
[1] 蔣志文 大數(shù)據(jù)分析技術在數(shù)據(jù)中心運維中的應用 信息與電腦(理論版). 2018,(15)