孟亭磊 安剛
摘?要:本文提出了一種基于關(guān)鍵字模糊檢索方法用以實(shí)現(xiàn)飛行故障的快速定位。首先對歷史飛行故障數(shù)據(jù)進(jìn)行數(shù)據(jù)清洗以建立標(biāo)準(zhǔn)化飛行故障庫,其次編制關(guān)鍵字檢索規(guī)則實(shí)現(xiàn)對出現(xiàn)的故障現(xiàn)象遍歷故障庫進(jìn)行模糊搜索與匹配,最后通過編制檢索軟件對搜索到的結(jié)果進(jìn)行數(shù)據(jù)切片與可視化處理。結(jié)果表明,該故障快速檢索系統(tǒng)能夠輔助工作人員快速進(jìn)行故障定位,可平均縮短外場排故時(shí)間三十分鐘,提高了故障排除效率。
關(guān)鍵詞:故障庫;模糊搜索;故障定位
FastFlight?Fault?Location?Method?Based?on?Retrieval?Technology
Meng?Tinglei?An?Gang
WuHu?Stateowned?Factory?of?Machining?AnhuiWuhu?241007
Abstract:A?keyword?based?fuzzy?search?method?is?proposed?to?realize?the?rapid?location?of?flight?faults.Firstly,the?historical?flight?fault?data?are?cleaned?to?establish?a?standardized?fault?database.Secondly,the?keyword?search?rules?are?compiled?to?realize?the?fuzzy?search?and?matching?of?fault?phenomena,F(xiàn)inally,the?retrieval?software?is?compiled?to?slice?and?visualize?the?search?results.The?results?show?that?the?fault?rapid?retrieval?system?can?assist?the?staff?to?locate?the?fault?quickly,shorten?the?field?troubleshooting?time?by?an?average?of?thirty?minutes,and?improve?the?troubleshooting?efficiency.
Keywords:Fault?Database;Fuzzy?Search;Fault?Location
外場飛機(jī)出現(xiàn)飛行故障時(shí),若不能快速有效地定位故障,則直接影響飛機(jī)狀態(tài)的良好率以及再次準(zhǔn)備與出動(dòng),因此,用最短的時(shí)間對故障進(jìn)行定位、排除至關(guān)重要?,F(xiàn)有方法是利用富有經(jīng)驗(yàn)的人員根據(jù)故障現(xiàn)象進(jìn)行定位,進(jìn)而排除故障,此種方法缺點(diǎn)是培養(yǎng)人員周期長,人員流動(dòng)不可控而導(dǎo)致經(jīng)驗(yàn)傳承效率低。本方法規(guī)范飛機(jī)故障分析形式,將良好的排故經(jīng)驗(yàn)進(jìn)行固化,在遇到同類飛行故障時(shí)可以明確排故思路,縮短排故時(shí)間,提高排故效率,為更好地保障裝備質(zhì)量奠定基礎(chǔ),提高飛行效率。
飛行故障庫是對多年飛行故障分析成果應(yīng)用的體現(xiàn),是各專業(yè)、全系統(tǒng)智慧的結(jié)晶,將各個(gè)典型故障分析成果的精華進(jìn)行輸出,利用飛行故障快速檢索進(jìn)行定位形式指導(dǎo)排故工作,可以為外場工作提供有效保障。
現(xiàn)有檢索軟件多為通用檢索軟件,如百度搜索引擎、用戶輸入關(guān)鍵詞。搜索引擎[1]會(huì)根據(jù)關(guān)鍵詞自動(dòng)為用戶歸納出文本、圖片以及視頻等信息,但通用搜索軟件的弊端是不能全面地顯示搜索信息,即搜索引擎只會(huì)匹配與關(guān)鍵詞最佳的信息,而不會(huì)“聯(lián)想”到其他信息,原因在于數(shù)據(jù)庫沒有對此類信息進(jìn)行事先關(guān)聯(lián)。因此,需開發(fā)一套包含專用故障庫、故障檢索軟件以及故障信息標(biāo)準(zhǔn)化錄入的快速檢索系統(tǒng)以實(shí)現(xiàn)對故障的快速檢索與定位。
1?系統(tǒng)組成
本系統(tǒng)主要由飛行故障庫、故障庫錄入軟件以及故障快速檢索軟件組成。飛行故障庫是進(jìn)行指導(dǎo)排除典型故障的基石,是進(jìn)行故障快速檢索的基礎(chǔ),飛行故障庫可利用故障庫錄入軟件進(jìn)行錄入,也可根據(jù)標(biāo)準(zhǔn)化規(guī)則人工錄入。故障庫錄入軟件用以實(shí)現(xiàn)對典型故障的現(xiàn)象、故障分析以及排故流程等轉(zhuǎn)化成標(biāo)準(zhǔn)的故障庫文件,標(biāo)準(zhǔn)的故障庫由圖片以及文本文檔組成,此外,為提升排故工作效率,增加排故人以及聯(lián)系方式以方便后續(xù)排故人遇到此類故障能夠有針對性咨詢。故障快速檢索軟件用于實(shí)現(xiàn)對已錄入的所有故障庫的快速檢索,通過關(guān)鍵字模糊搜索[23]功能,對相似故障進(jìn)行快速查找、匹配,以實(shí)現(xiàn)對當(dāng)前觸發(fā)的故障提供技術(shù)支撐。
2?設(shè)計(jì)過程
2.1?故障數(shù)據(jù)清洗
對現(xiàn)有典型故障進(jìn)行數(shù)據(jù)清洗[45],考慮到故障編寫者在編寫故障排故經(jīng)驗(yàn)時(shí)都會(huì)指明具體飛機(jī)型號(hào)或者部件,通過關(guān)鍵詞搜索即可實(shí)現(xiàn)飛機(jī)型號(hào)的模糊搜索查找,故不以機(jī)型為主要切入點(diǎn)。通過審閱多篇故障匯編,故障匯編全文大體分為“故障名稱”“故障現(xiàn)象”“故障分析”“故障排除流程”“故障復(fù)現(xiàn)”“故障樹”“故障編寫者”等段落模塊,可對上述模塊建立標(biāo)準(zhǔn)化故障庫。
2.2?故障庫標(biāo)準(zhǔn)化
故障庫標(biāo)準(zhǔn)化是進(jìn)行故障檢索的前提。故障庫標(biāo)準(zhǔn)化是對“故障名稱”“故障現(xiàn)象”“故障分析”“故障復(fù)現(xiàn)”“故障編寫者”等進(jìn)行文本文檔存儲(chǔ),段落之間以“$”符號(hào)為結(jié)束標(biāo)志,可加入“故障排除人聯(lián)系方式”以方面后續(xù)故障排除人咨詢。對于“故障排除流程”“故障樹”以及表格等不方便錄入文本文檔的可進(jìn)行圖片存儲(chǔ),支持“png”“jpg”“bmp”等格式。
2.3?制定搜索規(guī)則
目前支持對故障名稱搜索或者故障內(nèi)容搜索兩種搜索機(jī)制,以及對搜索關(guān)鍵詞支持“與”“或”兩種搜索方法。對故障名稱搜索用時(shí)較短,但搜索精度低,這就要求故障編寫者對故障標(biāo)題能夠準(zhǔn)確表述故障內(nèi)容;對故障內(nèi)容搜索用時(shí)相對較長(目前故障庫較少,搜索時(shí)間不明顯),尤其是故障庫數(shù)量較為龐大時(shí),會(huì)占用較長時(shí)間,但搜索結(jié)果較為精確。
在搜索前,設(shè)定搜索規(guī)則,以保證在搜索時(shí),能夠?qū)﹃P(guān)鍵字進(jìn)行切片處理,實(shí)現(xiàn)對關(guān)鍵詞的提取?!芭c”搜索用以實(shí)現(xiàn)對關(guān)鍵詞的“并且”關(guān)系,關(guān)鍵詞與關(guān)鍵詞之間用“*”連接;“或”搜索用以實(shí)現(xiàn)對關(guān)鍵詞的“或者”關(guān)系,關(guān)鍵詞與關(guān)鍵詞之間用“|”連接。在搜索時(shí),通過檢索“*”與“|”實(shí)現(xiàn)對關(guān)鍵詞的數(shù)據(jù)切片處理,通過遍歷整個(gè)故障庫名稱或者故障庫內(nèi)容兩種方法,實(shí)現(xiàn)對關(guān)鍵詞的快速匹配查找,對搜索到的結(jié)果進(jìn)行顯示。
支持對關(guān)鍵詞進(jìn)行記錄,以方便后續(xù)操作者直接進(jìn)行選擇搜索。
與搜索部分代碼如下:
QString?key_words=ui>lineEdit>text();
QStringList?keys=key_words.split(“*”);
if(key_words.contain(“*”))
{
?Search_and();//執(zhí)行與搜索
}
else
{
?Search_or();//執(zhí)行或搜索
}
2.4?搜索結(jié)果處理
對搜索到的結(jié)果進(jìn)行“項(xiàng)”顯示,“項(xiàng)”是故障搜索結(jié)果的一級(jí),具體內(nèi)容為二級(jí)。如果是故障內(nèi)容搜索,選擇搜索到的內(nèi)容會(huì)進(jìn)行高亮顯示,方便使用者確定其搜索的關(guān)鍵詞位置;對于圖片顯示模塊,可以選擇“單欄”或者“雙欄”,以方便使用者在界面內(nèi)能夠駐留更多可以關(guān)注的信息內(nèi)容;此外,界面可以顯示該故障排除人及其聯(lián)系方式,以及對搜索內(nèi)容字體大小的控制。
文本高亮顯示部分代碼如下:
QTextCursor?cursor(text);
QTextCursor?hightlight(text);
Cursor.beginEditBlock();
while(!hightlight.isNull&&cursor.atEnd())
{
?highlight=text.find(search_list[i],highlight,
?QTextDoucument::FindCaseSensitively);
?if(highlight.isNull)
?{
?Highlight.mergeChartFormat(color_format);
?}
}
3?軟件測試
軟件采用基于C++語言[67]的Qt?Creator[89]開發(fā)。軟件測試分為兩個(gè)環(huán)節(jié),一是故障快速查詢測試,測試主要衡量目標(biāo)是對使用者輸入的關(guān)鍵詞進(jìn)行模糊搜索并對搜索到的結(jié)果進(jìn)行展示;二是故障信息的錄入功能測試,測試主要衡量目標(biāo)是能夠滿足使用者后續(xù)動(dòng)態(tài)維護(hù)故障數(shù)據(jù)庫。
對于飛機(jī)飛行故障而言,飛機(jī)自身系統(tǒng)錯(cuò)綜復(fù)雜,故障種類繁多,因此,飛行故障庫的數(shù)量直接決定測試結(jié)果。本次故障搜索測試基于外場多發(fā)性故障,選取飛機(jī)多功能顯示器的黑屏故障現(xiàn)象為測試對象。
3.1?故障快速查詢測試
打開故障快速檢索系統(tǒng),在搜索欄輸入新錄入的故障名稱關(guān)鍵字,利用“與”搜索功能,檢索“多功能顯示器”并且“黑屏”情況,如圖4所示,已成功搜索到信息并可以高亮顯示關(guān)鍵字以及圖片信息。
由圖4可以看出,根據(jù)搜索的關(guān)鍵字,系統(tǒng)匹配到以往的故障數(shù)據(jù)庫,并且可以看到具體的故障現(xiàn)象、故障分析以及故障的定位和故障排除流程。同時(shí),為方便外場使用以及兼顧不同人員使用習(xí)慣,支持圖片分欄顯示以及字體大小可調(diào)功能。
3.2?故障信息錄入功能測試
打開故障錄入系統(tǒng)軟件,錄入“故障名稱”“故障現(xiàn)象”以及“故障排除流程”等文本信息,“故障樹”以及其他故障信息可通過轉(zhuǎn)化成圖片作為附件上傳,信息輸入完畢后,單擊“錄入數(shù)據(jù)庫”,提醒錄入成功,如圖5所示。
故障庫錄入軟件是對故障庫的動(dòng)態(tài)維護(hù),是對排故經(jīng)驗(yàn)的固化,是能夠快速檢索與定位故障的重要保證。
目前故障庫共計(jì)600余條,從搜索響應(yīng)速度方面來看,平均0.5秒即可完成故障搜索,相比于紙質(zhì)文本閱覽搜索方式,極大提高了故障排除方法的查找時(shí)間。
4?結(jié)論
對歷史飛行故障建立標(biāo)準(zhǔn)化故障庫,利用故障庫錄入軟件實(shí)現(xiàn)了故障庫的標(biāo)準(zhǔn)化以及故障庫的動(dòng)態(tài)維護(hù),通過故障快速檢索軟件實(shí)現(xiàn)了對故障的快速檢索與定位。利用本方法有益之處如下:
(1)實(shí)現(xiàn)了從依賴傳統(tǒng)借助紙質(zhì)文檔和個(gè)人經(jīng)驗(yàn)等方式排除故障方法向利用故障數(shù)據(jù)庫快速檢索定位方式轉(zhuǎn)變;
(2)通過外場多架次飛機(jī)排故時(shí)間統(tǒng)計(jì),本方法平均減少了單架次飛機(jī)三十分鐘的排故時(shí)間,提高了排故效率,為外場工作提供了有效保障。
參考文獻(xiàn):
[1]羅三定,黃勇.一個(gè)應(yīng)用模糊方法的智能搜索引擎的構(gòu)建[J].計(jì)算機(jī)工程,2000(12).
[2]張成,褚瑩,凌力.基于安全字典樹的關(guān)鍵詞密文模糊搜索方案[J].微型電腦應(yīng)用,2018,34(4).
[3]王愷璇,李宇溪,周福才,等.面向多關(guān)鍵字的模糊密文搜索方法[J].計(jì)算機(jī)研究與發(fā)展,2017,54(02):348360.
[4]王曰芬,章成志,張蓓蓓.數(shù)據(jù)清洗研究綜述[J].現(xiàn)代圖書情報(bào)技術(shù),2007(12):5056.
[5]葉鷗,張璟,李軍懷.中文數(shù)據(jù)清洗研究綜述[J].計(jì)算機(jī)工程與應(yīng)用,2012,48(14):121129.
[6]孫鑫.VC++深入講解:基于Visual?Studio?2017[M].北京:電子工業(yè)出版社,201906.
[7]野媛.C++程序設(shè)計(jì)中對象初始化的方法與技巧[J].科學(xué)技術(shù)創(chuàng)新,2021(26):11617.
[8]仇國巍.Qt圖形界面編程入門[M].北京:清華大學(xué)出版社,2017.
[9]陳浩段,文超,劉永寧.基于QT、OCI實(shí)現(xiàn)ORACLE數(shù)據(jù)庫模糊搜索[J].微計(jì)算機(jī)應(yīng)用,2011,32(09):5356.
作者簡介:孟亭磊(1995—?),男,漢族,安徽宿州人,碩士,助理工程師,研究方向:導(dǎo)航制導(dǎo)與控制。