張海峰
摘要:鐵路企業(yè)是信息化應用的重要領域,引入了車站列車預告系統(tǒng)、車輛設備運行維護系統(tǒng)、運費收繳系統(tǒng)等,這些信息系統(tǒng)的運行積累了海量的數(shù)據(jù),常規(guī)的檢索和處理模式慢,已經無法適應大數(shù)據(jù)時代操作需求。因此為了解決這個問題,本人在鐵路企業(yè)大數(shù)據(jù)搜索引擎設計時引入了Elasticsearch技術,實現(xiàn)了鐵路企業(yè)大數(shù)據(jù)快速檢索、數(shù)據(jù)索引、全文搜索,提高了鐵路大數(shù)據(jù)的應用成效,具有重要的作用和意義。
1引言
隨著互聯(lián)網、大數(shù)據(jù)、云計算等計算機技術的快速發(fā)展,鐵路企業(yè)已經引入了許多高精尖設備,構建了強大的運輸網絡。中國鐵路已建立車務,機務,工務,電務,車輛等各專業(yè)安全監(jiān)測/監(jiān)控系統(tǒng)數(shù)十個,產生了PB級規(guī)模的各類監(jiān)控/監(jiān)測數(shù)據(jù)。該網絡能夠實時的采集鐵路企業(yè)設備數(shù)據(jù)資源,監(jiān)控各個系統(tǒng)的實時運行狀態(tài),及時的發(fā)現(xiàn)網絡中存在的故障,計算每個單位的實時運輸效率。運輸網絡運行產生了海量的數(shù)據(jù)資源,傳統(tǒng)的信息處理方法已經無法使用,急需引入更加先進的信息搜索技術Elasticsearch,構建一個分布式的數(shù)據(jù)搜索引擎,進一步改進鐵路企業(yè)數(shù)據(jù)檢索的性能。為實現(xiàn)海量鐵路文本的分布式存儲,檢索和分析,推動領先的大數(shù)據(jù)分析技術在鐵路運輸領域的應用,本文主要對鐵路運輸文本大數(shù)據(jù)分析關鍵技術進行了研究和應用。
2關鍵技術
ElasticSearch是一個能夠提供高并發(fā)、易擴展、高可用的分布式搜索引擎,能夠為系統(tǒng)提供一個RESTful易于查詢和共享的接口,成為了企業(yè)級大數(shù)據(jù)解決方案的關鍵工具。ElasticSearch應用分布式、高可用性、全文搜索和索引機制提供了一個以單一架構和服務的數(shù)據(jù)中心,為用戶提供定制化服務,可以支持多個索引間的數(shù)據(jù)隔離,從底層支持多用戶技術。如果多個節(jié)點處于同一個網段下,可以設置相同的集群名稱,組成一個分布式的集群,設計一個良好的橫向擴展模式,在數(shù)據(jù)規(guī)模沒有增長的情況下彈性制的增加服務器資源。ElasticSearch采用無中心化的集群設計模式,集群中的中央節(jié)點發(fā)生故障之后,ElasticSearch能夠遴選出來一個新的節(jié)點,將這個新的中央節(jié)點進行分片,實現(xiàn)數(shù)據(jù)遷移操作,保證用戶數(shù)據(jù)的安全訪問。ElasticSearch引入了索引、索引類型、Mapping和數(shù)據(jù)類型,具有關系型數(shù)據(jù)庫的優(yōu)勢,但是豐富和擴展了許多功能,并且利用索引機制實現(xiàn)異構數(shù)據(jù)的存儲,具有重要的作用和意義。
3在鐵路企業(yè)的應用研究
鐵路企業(yè)基于ElasticSearch構建一個大數(shù)據(jù)搜索引擎平臺,可以與鐵路信息系統(tǒng)數(shù)據(jù)集成在一起,實現(xiàn)設備臺賬數(shù)據(jù)、用戶數(shù)據(jù)、計量點負載率數(shù)據(jù)的快速檢索,并且能夠實現(xiàn)信息定位、數(shù)據(jù)分析和預警功能。
3.1快速檢索功能
ElasticSearch在鐵路企業(yè)采用分布式部署,使用多臺服務器可以提供快速檢索功能,用戶可以通過任意一個服務器訪問整個大數(shù)據(jù)集群平臺,集群平臺的任意一個節(jié)點都可以被選擇為主節(jié)點,通過將索引分片劃分為多個,并且可以配置一份復制片,主分片和復制片將會被存儲在不同的節(jié)點??焖贆z索利用了數(shù)據(jù)索引功能,可以為其他服務組件將數(shù)據(jù)推送至分布式消息系統(tǒng)MQ,搜索平臺可以直接調用MQ中的API,開啟一個專門的線程,可以就近實時的獲取數(shù)據(jù),針對收到的數(shù)據(jù)進行預處理之后就可以將其插入到ElasticSearch集群索引,用戶請求的文檔可以按照索引的方式進行檢索,檢索策略就是每當添加的數(shù)量達到2000或達到10M時就提交一次。
3.2數(shù)據(jù)定位功能
ElasticSearch搜索引擎可以針對導航數(shù)據(jù)的地理位置進行判定,將經緯度信息添加到索引中,實現(xiàn)數(shù)據(jù)插入之前可以針對經緯度信息進行處理,構建一個經緯度標識字段es_geo,這個標識字段的格式為es_geo:{lat,lon},數(shù)據(jù)定位時可以匹配ES經緯度索引位置。
3.3數(shù)據(jù)分析功能
ElasticSearch可以為用戶提供一個大規(guī)模、功能全的檢索平臺,檢索過程中,其需要根據(jù)鐵路企業(yè)的需求實現(xiàn)數(shù)據(jù)加工和分析功能。目前,ElasticSearch數(shù)據(jù)分析時引入了先進的協(xié)同過濾算法,其可以根據(jù)各個集群節(jié)點的文檔數(shù)據(jù)請求進行分析,按照相關性排列搜索到的內容,過濾掉不相關的內容。目前,ElasticSearch引入了基于左右遞歸的新詞發(fā)現(xiàn)算法,構建一個垂直領域的個性化詞典,采用離線計算方式發(fā)現(xiàn)新詞,在采用Redis廣播模式將新詞加載到Elasticsearch分詞組件的詞庫中。
3.4數(shù)據(jù)預警功能
大數(shù)據(jù)搜索引擎采用ElasticSearch技術可以實時的監(jiān)控集群狀態(tài),設置一個檢測時間間隔,通常設置為10s,如果集群狀態(tài)發(fā)生了錯誤,就出發(fā)郵件發(fā)送流程給運維管理人員。
4結語
基于Elasticsearch的鐵路企業(yè)大數(shù)據(jù)搜索引起可以實現(xiàn)的功能很多,不僅可以實現(xiàn)分布式數(shù)據(jù)檢索和索引定位,還可以構建一個智能化的數(shù)據(jù)加工平臺,在分布式搜索集群上用戶可以輸入關鍵字,選擇一個合適的搜索方式,設定一個搜索范圍,幫助鐵路企業(yè)實現(xiàn)大數(shù)據(jù)的快速檢索等功能。