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