孟亭磊 安剛





摘?要:本文提出了一種基于關鍵字模糊檢索方法用以實現飛行故障的快速定位。首先對歷史飛行故障數據進行數據清洗以建立標準化飛行故障庫,其次編制關鍵字檢索規則實現對出現的故障現象遍歷故障庫進行模糊搜索與匹配,最后通過編制檢索軟件對搜索到的結果進行數據切片與可視化處理。結果表明,該故障快速檢索系統能夠輔助工作人員快速進行故障定位,可平均縮短外場排故時間三十分鐘,提高了故障排除效率。
關鍵詞:故障庫;模糊搜索;故障定位
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,Finally,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
外場飛機出現飛行故障時,若不能快速有效地定位故障,則直接影響飛機狀態的良好率以及再次準備與出動,因此,用最短的時間對故障進行定位、排除至關重要。現有方法是利用富有經驗的人員根據故障現象進行定位,進而排除故障,此種方法缺點是培養人員周期長,人員流動不可控而導致經驗傳承效率低。本方法規范飛機故障分析形式,將良好的排故經驗進行固化,在遇到同類飛行故障時可以明確排故思路,縮短排故時間,提高排故效率,為更好地保障裝備質量奠定基礎,提高飛行效率。
飛行故障庫是對多年飛行故障分析成果應用的體現,是各專業、全系統智慧的結晶,將各個典型故障分析成果的精華進行輸出,利用飛行故障快速檢索進行定位形式指導排故工作,可以為外場工作提供有效保障。
現有檢索軟件多為通用檢索軟件,如百度搜索引擎、用戶輸入關鍵詞。搜索引擎[1]會根據關鍵詞自動為用戶歸納出文本、圖片以及視頻等信息,但通用搜索軟件的弊端是不能全面地顯示搜索信息,即搜索引擎只會匹配與關鍵詞最佳的信息,而不會“聯想”到其他信息,原因在于數據庫沒有對此類信息進行事先關聯。因此,需開發一套包含專用故障庫、故障檢索軟件以及故障信息標準化錄入的快速檢索系統以實現對故障的快速檢索與定位。
1?系統組成
本系統主要由飛行故障庫、故障庫錄入軟件以及故障快速檢索軟件組成。飛行故障庫是進行指導排除典型故障的基石,是進行故障快速檢索的基礎,飛行故障庫可利用故障庫錄入軟件進行錄入,也可根據標準化規則人工錄入。故障庫錄入軟件用以實現對典型故障的現象、故障分析以及排故流程等轉化成標準的故障庫文件,標準的故障庫由圖片以及文本文檔組成,此外,為提升排故工作效率,增加排故人以及聯系方式以方便后續排故人遇到此類故障能夠有針對性咨詢。故障快速檢索軟件用于實現對已錄入的所有故障庫的快速檢索,通過關鍵字模糊搜索[23]功能,對相似故障進行快速查找、匹配,以實現對當前觸發的故障提供技術支撐。
2?設計過程
2.1?故障數據清洗
對現有典型故障進行數據清洗[45],考慮到故障編寫者在編寫故障排故經驗時都會指明具體飛機型號或者部件,通過關鍵詞搜索即可實現飛機型號的模糊搜索查找,故不以機型為主要切入點。通過審閱多篇故障匯編,故障匯編全文大體分為“故障名稱”“故障現象”“故障分析”“故障排除流程”“故障復現”“故障樹”“故障編寫者”等段落模塊,可對上述模塊建立標準化故障庫。
2.2?故障庫標準化
故障庫標準化是進行故障檢索的前提。故障庫標準化是對“故障名稱”“故障現象”“故障分析”“故障復現”“故障編寫者”等進行文本文檔存儲,段落之間以“$”符號為結束標志,可加入“故障排除人聯系方式”以方面后續故障排除人咨詢。對于“故障排除流程”“故障樹”以及表格等不方便錄入文本文檔的可進行圖片存儲,支持“png”“jpg”“bmp”等格式。
2.3?制定搜索規則
目前支持對故障名稱搜索或者故障內容搜索兩種搜索機制,以及對搜索關鍵詞支持“與”“或”兩種搜索方法。對故障名稱搜索用時較短,但搜索精度低,這就要求故障編寫者對故障標題能夠準確表述故障內容;對故障內容搜索用時相對較長(目前故障庫較少,搜索時間不明顯),尤其是故障庫數量較為龐大時,會占用較長時間,但搜索結果較為精確。
在搜索前,設定搜索規則,以保證在搜索時,能夠對關鍵字進行切片處理,實現對關鍵詞的提取。“與”搜索用以實現對關鍵詞的“并且”關系,關鍵詞與關鍵詞之間用“*”連接;“或”搜索用以實現對關鍵詞的“或者”關系,關鍵詞與關鍵詞之間用“|”連接。在搜索時,通過檢索“*”與“|”實現對關鍵詞的數據切片處理,通過遍歷整個故障庫名稱或者故障庫內容兩種方法,實現對關鍵詞的快速匹配查找,對搜索到的結果進行顯示。
支持對關鍵詞進行記錄,以方便后續操作者直接進行選擇搜索。
與搜索部分代碼如下:
QString?key_words=ui>lineEdit>text();
QStringList?keys=key_words.split(“*”);
if(key_words.contain(“*”))
{
?Search_and();//執行與搜索
}
else
{
?Search_or();//執行或搜索
}
2.4?搜索結果處理
對搜索到的結果進行“項”顯示,“項”是故障搜索結果的一級,具體內容為二級。如果是故障內容搜索,選擇搜索到的內容會進行高亮顯示,方便使用者確定其搜索的關鍵詞位置;對于圖片顯示模塊,可以選擇“單欄”或者“雙欄”,以方便使用者在界面內能夠駐留更多可以關注的信息內容;此外,界面可以顯示該故障排除人及其聯系方式,以及對搜索內容字體大小的控制。
文本高亮顯示部分代碼如下:
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]開發。軟件測試分為兩個環節,一是故障快速查詢測試,測試主要衡量目標是對使用者輸入的關鍵詞進行模糊搜索并對搜索到的結果進行展示;二是故障信息的錄入功能測試,測試主要衡量目標是能夠滿足使用者后續動態維護故障數據庫。
對于飛機飛行故障而言,飛機自身系統錯綜復雜,故障種類繁多,因此,飛行故障庫的數量直接決定測試結果。本次故障搜索測試基于外場多發性故障,選取飛機多功能顯示器的黑屏故障現象為測試對象。
3.1?故障快速查詢測試
打開故障快速檢索系統,在搜索欄輸入新錄入的故障名稱關鍵字,利用“與”搜索功能,檢索“多功能顯示器”并且“黑屏”情況,如圖4所示,已成功搜索到信息并可以高亮顯示關鍵字以及圖片信息。
由圖4可以看出,根據搜索的關鍵字,系統匹配到以往的故障數據庫,并且可以看到具體的故障現象、故障分析以及故障的定位和故障排除流程。同時,為方便外場使用以及兼顧不同人員使用習慣,支持圖片分欄顯示以及字體大小可調功能。
3.2?故障信息錄入功能測試
打開故障錄入系統軟件,錄入“故障名稱”“故障現象”以及“故障排除流程”等文本信息,“故障樹”以及其他故障信息可通過轉化成圖片作為附件上傳,信息輸入完畢后,單擊“錄入數據庫”,提醒錄入成功,如圖5所示。
故障庫錄入軟件是對故障庫的動態維護,是對排故經驗的固化,是能夠快速檢索與定位故障的重要保證。
目前故障庫共計600余條,從搜索響應速度方面來看,平均0.5秒即可完成故障搜索,相比于紙質文本閱覽搜索方式,極大提高了故障排除方法的查找時間。
4?結論
對歷史飛行故障建立標準化故障庫,利用故障庫錄入軟件實現了故障庫的標準化以及故障庫的動態維護,通過故障快速檢索軟件實現了對故障的快速檢索與定位。利用本方法有益之處如下:
(1)實現了從依賴傳統借助紙質文檔和個人經驗等方式排除故障方法向利用故障數據庫快速檢索定位方式轉變;
(2)通過外場多架次飛機排故時間統計,本方法平均減少了單架次飛機三十分鐘的排故時間,提高了排故效率,為外場工作提供了有效保障。
參考文獻:
[1]羅三定,黃勇.一個應用模糊方法的智能搜索引擎的構建[J].計算機工程,2000(12).
[2]張成,褚瑩,凌力.基于安全字典樹的關鍵詞密文模糊搜索方案[J].微型電腦應用,2018,34(4).
[3]王愷璇,李宇溪,周福才,等.面向多關鍵字的模糊密文搜索方法[J].計算機研究與發展,2017,54(02):348360.
[4]王曰芬,章成志,張蓓蓓.數據清洗研究綜述[J].現代圖書情報技術,2007(12):5056.
[5]葉鷗,張璟,李軍懷.中文數據清洗研究綜述[J].計算機工程與應用,2012,48(14):121129.
[6]孫鑫.VC++深入講解:基于Visual?Studio?2017[M].北京:電子工業出版社,201906.
[7]野媛.C++程序設計中對象初始化的方法與技巧[J].科學技術創新,2021(26):11617.
[8]仇國巍.Qt圖形界面編程入門[M].北京:清華大學出版社,2017.
[9]陳浩段,文超,劉永寧.基于QT、OCI實現ORACLE數據庫模糊搜索[J].微計算機應用,2011,32(09):5356.
作者簡介:孟亭磊(1995—?),男,漢族,安徽宿州人,碩士,助理工程師,研究方向:導航制導與控制。