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