張艷飛,郭 洋,孫云飛
(內(nèi)蒙古電力科學(xué)研究院,內(nèi)蒙古 呼和浩特 010020)
火電機(jī)組金屬設(shè)備信息涵蓋設(shè)備制造、安裝、運(yùn)行、檢修、壽命評(píng)估等過程[1-2]。金屬設(shè)備信息檢索系統(tǒng)在生命周期的不同階段均產(chǎn)生和積累大量的數(shù)據(jù),并具有來源渠道多、數(shù)據(jù)類型復(fù)雜、數(shù)據(jù)管理分散等特點(diǎn),降低了數(shù)據(jù)的有效利用率,不利于設(shè)備安全性能監(jiān)督和設(shè)備可靠性評(píng)價(jià)工作的開展。不同型號(hào)和容量的火電機(jī)組,金屬設(shè)備信息檢索系統(tǒng)設(shè)備經(jīng)常發(fā)生同類型模式的失效[3-5]。目前,采取信息化手段進(jìn)行金屬監(jiān)督管理的研究和應(yīng)用,主要針對(duì)某一個(gè)機(jī)組或者某類型部件,主要目的是實(shí)現(xiàn)本廠監(jiān)督設(shè)備的信息管理、檢修臺(tái)賬管理、高溫部件壽命評(píng)估和預(yù)測(cè)、機(jī)爐外管道管理等[6-7],未能提供多個(gè)電廠、多個(gè)機(jī)組和設(shè)備之間的交叉關(guān)聯(lián)和檢索、對(duì)比功能。
綜上,開發(fā)了金屬設(shè)備信息檢索系統(tǒng)。該系統(tǒng)面向技術(shù)監(jiān)督和技術(shù)服務(wù),以金屬監(jiān)督設(shè)備信息為核心形成分布式架構(gòu),涵蓋了56個(gè)火電廠的120余臺(tái)機(jī)組金屬監(jiān)督設(shè)備生命周期內(nèi)各階段的基本資料、監(jiān)督數(shù)據(jù)、檢測(cè)數(shù)據(jù)、失效數(shù)據(jù)等,通過云計(jì)算和云服務(wù)器實(shí)現(xiàn)數(shù)據(jù)管理和檢索。
金屬設(shè)備信息檢索系統(tǒng)采用Browser和Server分離的分布式結(jié)構(gòu),Browser端采用Face Book的React技術(shù)開發(fā),Server端采用目前安全性能高,擴(kuò)展性好,框架技術(shù)最為完善的JAVA語(yǔ)言作為系統(tǒng)開發(fā)的語(yǔ)言。采用Spring框架技術(shù),使系統(tǒng)能夠分層開發(fā),各層之間邏輯分明,層與層之間提供接口方式實(shí)現(xiàn)業(yè)務(wù)和數(shù)據(jù)的通信,使得系統(tǒng)具有極強(qiáng)的擴(kuò)展性。基于組件技術(shù),力求將變化封裝在組件內(nèi)部。
獨(dú)立的全文檢索系統(tǒng),基于Lucene技術(shù)開發(fā),可以為分布式客戶端提供服務(wù),實(shí)現(xiàn)設(shè)備信息通過全文檢索或者關(guān)鍵詞檢索方式快速獲得目標(biāo)數(shù)據(jù)。系統(tǒng)計(jì)算由云端服務(wù)器提供,數(shù)據(jù)存儲(chǔ)由云端數(shù)據(jù)庫(kù)提供。
金屬設(shè)備信息檢索系統(tǒng)架構(gòu)見圖1。
按照檢索類型,電廠金屬設(shè)備信息檢索系統(tǒng)數(shù)據(jù)分為結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)。結(jié)構(gòu)化數(shù)據(jù)指具有固定格式或有限長(zhǎng)度的數(shù)據(jù),如設(shè)備編碼。非結(jié)構(gòu)化數(shù)據(jù)指不定長(zhǎng)或無固定格式的數(shù)據(jù),如郵件和word文檔等。一般稱非結(jié)構(gòu)化數(shù)據(jù)為全文數(shù)據(jù)。
1.2.1 全文檢索原理
對(duì)非結(jié)構(gòu)化數(shù)據(jù)即全文數(shù)據(jù)的搜索主要有2種方法:一種是順序掃描法(Serial Scanning),對(duì)每個(gè)文檔依次掃描,直到選取出包含字符串的文檔,該方法速度較慢;另一種方法是將非結(jié)構(gòu)化數(shù)據(jù)中的一部分信息提取出來,重新組織,使其變得有一定結(jié)構(gòu),然后對(duì)此有一定結(jié)構(gòu)的數(shù)據(jù)進(jìn)行搜索,從而達(dá)到搜索相對(duì)較快的目的。從非結(jié)構(gòu)化數(shù)據(jù)中提取出重新組織的信息為索引,這種先建立索引再對(duì)索引進(jìn)行搜索的過程為全文檢索。
全文檢索中,計(jì)算機(jī)索引程序?qū)ξ臋n中的每個(gè)詞進(jìn)行掃描,并對(duì)其建立索引,指明該詞在文檔中出現(xiàn)的次數(shù)和位置,將這些信息保存在索引文件中。當(dāng)用戶查詢時(shí),檢索程序根據(jù)用戶輸入的檢索關(guān)鍵詞對(duì)已建立的索引文件進(jìn)行搜索,然后將搜索結(jié)果返回給用戶。全文檢索包括索引過程和搜索過程。索引過程是將監(jiān)督設(shè)備的所有結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)提出信息,創(chuàng)建索引的過程;搜索過程是得到用戶的查詢請(qǐng)求,搜索創(chuàng)建的索引,然后返回結(jié)果的過程。金屬設(shè)備信息檢索系統(tǒng)通過云計(jì)算和CDN技術(shù)快速實(shí)現(xiàn)后臺(tái)分詞、建立索引庫(kù),并將結(jié)果返回用戶。
1.2.2 Lucene技術(shù)檢索過程
Lucene是用Java編寫的全文檢索引擎工具包,可以方便地嵌入到各種應(yīng)用中,實(shí)現(xiàn)針對(duì)應(yīng)用的全文索引/檢索功能。Lucene有兩個(gè)主要的服務(wù):索引和檢索,兩者任務(wù)是相互獨(dú)立的。Lucene提供了豐富的API,可以方便地與存儲(chǔ)在索引中的信息交互,但其并不是完整的全文檢索應(yīng)用,而是為應(yīng)用程序提供索引和搜索功能。若想讓Lucene真正起作用,還需在其基礎(chǔ)上做一些必要的二次開發(fā),即實(shí)現(xiàn)本文所述設(shè)備數(shù)據(jù)和信息檢索,需要進(jìn)行二次開發(fā)。開發(fā)中主要使用Lucene源碼中的7個(gè)子包,每個(gè)包完成特定的功能,具體如表1所示。
表1 Lucene源碼包對(duì)應(yīng)功能表
Lucene全文檢索過程如圖2所示。1)創(chuàng)建文檔對(duì)象。為每個(gè)文件創(chuàng)建對(duì)應(yīng)的Document對(duì)象,把文件的屬性都保存到Document對(duì)象中;為每個(gè)屬性創(chuàng)建一個(gè)Field(lucene中為域),把Field添加到文檔對(duì)象中;每個(gè)Document都有一個(gè)唯一的編號(hào)。2)分析文檔。針對(duì)Document中的域進(jìn)行分析,例如分析文件名、文件內(nèi)容兩個(gè)域,先把文件內(nèi)容域中的字符串根據(jù)空格進(jìn)行分詞,把單詞統(tǒng)一轉(zhuǎn)換成小寫;沒有意義的單詞為停用詞,把停用詞從詞匯列表中去掉,并去掉標(biāo)點(diǎn)符號(hào);最終得到一個(gè)關(guān)鍵詞列表,每個(gè)關(guān)鍵詞為一個(gè)Term,Term中包含關(guān)鍵詞及其所在的域,不同的域中相同的單詞是不同的Term。3)創(chuàng)建索引。創(chuàng)建索引是對(duì)語(yǔ)匯單元索引,通過詞語(yǔ)找文檔。索引的目的是為了搜索,最終要實(shí)現(xiàn)只搜索被索引的語(yǔ)匯單元從而找到Document。
圖2 Lucene技術(shù)的全文檢索過程
金屬設(shè)備信息檢索系統(tǒng)功能框架如圖3所示。
金屬設(shè)備信息檢索系統(tǒng)主要功能:1)監(jiān)督管理。實(shí)現(xiàn)技術(shù)監(jiān)督報(bào)表管理,技術(shù)監(jiān)督和服務(wù)報(bào)告管理,機(jī)組和設(shè)備基礎(chǔ)信息管理;根據(jù)不同用戶權(quán)限,實(shí)現(xiàn)對(duì)權(quán)限范圍內(nèi)設(shè)備信息管理、報(bào)告管理和相應(yīng)設(shè)備資料、報(bào)告調(diào)閱、維護(hù)等;提供火電,新能源,電網(wǎng)領(lǐng)域金屬相關(guān)規(guī)程標(biāo)準(zhǔn)的更新和查閱功能。2)設(shè)備管理。對(duì)設(shè)備進(jìn)行縱向管理。3)業(yè)務(wù)管理。對(duì)設(shè)備基礎(chǔ)信息和生命周期各階段數(shù)據(jù)進(jìn)行管理;同時(shí)提供了學(xué)習(xí)園地、規(guī)程標(biāo)準(zhǔn)和公告管理,主要用于技術(shù)交流和標(biāo)準(zhǔn)查詢。4)系統(tǒng)管理。數(shù)據(jù)安全管理,用戶賬號(hào)和權(quán)限、角色管理。
金屬設(shè)備信息檢索系統(tǒng)數(shù)據(jù)記錄、數(shù)據(jù)處理和數(shù)據(jù)檢索、分析均在云端進(jìn)行,用戶登錄網(wǎng)站:http:∥www.nmjsjd.cn,在管理員分配的權(quán)限范圍內(nèi)進(jìn)行開展檢索和對(duì)比操作。
系統(tǒng)管理。用戶角色分為系統(tǒng)管理員 (系統(tǒng)維護(hù)、權(quán)限管理),監(jiān)督人員(可檢索全部火電機(jī)組設(shè)備信息),電廠專工(在本廠范圍內(nèi)管理和使用設(shè)備信息)。數(shù)據(jù)安全管理采取了國(guó)內(nèi)成熟的騰訊云數(shù)據(jù)庫(kù)管理平臺(tái),并采取分層模塊開發(fā)技術(shù),確保數(shù)據(jù)的安全性。
設(shè)備管理。設(shè)備信息管理包括設(shè)備所屬組織管理、機(jī)組管理、設(shè)備信息管理。其中機(jī)組的信息是和組織關(guān)聯(lián),每一個(gè)電廠都需要建立自己的機(jī)組,設(shè)備按照組織和機(jī)組號(hào)進(jìn)行關(guān)聯(lián)。機(jī)組管理界面如圖4。設(shè)備數(shù)據(jù)錄入界面如圖5所示。設(shè)備數(shù)據(jù)不區(qū)分結(jié)構(gòu)數(shù)據(jù)和非結(jié)構(gòu)數(shù)據(jù),批量上傳至云端數(shù)據(jù)庫(kù),由系統(tǒng)后臺(tái)調(diào)用分詞模塊,對(duì)設(shè)備數(shù)據(jù)進(jìn)行處理,建立檢索索引庫(kù)。
監(jiān)督管理。監(jiān)督管理對(duì)象為監(jiān)督報(bào)告,監(jiān)督報(bào)表,設(shè)備資料。
設(shè)備資料為設(shè)備在各個(gè)階段產(chǎn)生的數(shù)據(jù)文件,含設(shè)計(jì)圖紙、質(zhì)量證明書、檢修更換資料、失效分析資料等。監(jiān)督報(bào)告模塊是對(duì)各電廠對(duì)應(yīng)某個(gè)設(shè)備的監(jiān)督報(bào)告進(jìn)行管理,管理人員可以從瀏覽器端口上傳本廠的設(shè)備報(bào)告,并可以查詢本廠范圍的報(bào)告,用戶上傳報(bào)告后經(jīng)系統(tǒng)管理員審批后進(jìn)入數(shù)據(jù)庫(kù)存檔,該模塊支持批量上傳,報(bào)告管理界面如圖6所示。監(jiān)督報(bào)表模塊可對(duì)火電廠技術(shù)監(jiān)督報(bào)表進(jìn)行管理和分析,不僅對(duì)數(shù)據(jù)進(jìn)行簡(jiǎn)單管理,通過積累的月度報(bào)表和季度報(bào)表可以分析設(shè)備超溫或者對(duì)缺陷進(jìn)行跟蹤監(jiān)視,監(jiān)督報(bào)表界面如圖7所示。
圖3 系統(tǒng)功能框架
圖4 機(jī)組管理界面
圖5 設(shè)備數(shù)據(jù)錄入界面
全文搜索模塊用于檢索數(shù)據(jù)庫(kù)內(nèi)的各項(xiàng)資料和設(shè)備信息,如報(bào)告、報(bào)表或者規(guī)程標(biāo)準(zhǔn)、工藝措施等。其核心技術(shù)為L(zhǎng)ucene全文檢索引擎,并通過CDN(網(wǎng)站分發(fā)技術(shù))提高檢索速度??梢圆扇∪臋z索或者精確檢索,以期獲得滿意結(jié)果。管理界面如圖8所示。
圖6 報(bào)告管理界面
圖7 監(jiān)督報(bào)表界面
圖8 全文檢索界面
金屬設(shè)備信息檢索系統(tǒng)可實(shí)現(xiàn)火電廠金屬監(jiān)督設(shè)備信息管理功能,以火電機(jī)組金屬監(jiān)督設(shè)備生命周期管理為主線,實(shí)現(xiàn)了金屬設(shè)備基本信息、設(shè)備故障信息和失效分析信息、金屬監(jiān)督重大缺陷處理信息、重大部件維修和更換信息等內(nèi)容的檢索、統(tǒng)計(jì)和對(duì)比功能?;跈z索結(jié)果進(jìn)行設(shè)備信息的統(tǒng)計(jì)和對(duì)比,為同類型機(jī)組或同類型部件提供失效預(yù)警,或針對(duì)性開展設(shè)備的檢驗(yàn)檢測(cè),提高設(shè)備運(yùn)行可靠性。
基于Lucene全文檢索,系統(tǒng)可快速?gòu)亩鄠€(gè)火電廠同系列或同類型設(shè)備失效數(shù)據(jù)中提取目標(biāo)信息,提供數(shù)據(jù)庫(kù)內(nèi)所有同類型機(jī)組和設(shè)備的趨勢(shì)變化數(shù)據(jù)、性能老化數(shù)據(jù)及同類型失效的對(duì)比數(shù)據(jù),實(shí)現(xiàn)人工不可能完成的任務(wù),為設(shè)備可靠性評(píng)價(jià)提供大數(shù)據(jù)指導(dǎo)。