孫凌云, 孫 巖, 張雷生, 古 叢
(1. 裝甲兵工程學(xué)院科研部, 北京 100072; 2. 總裝政治部干部信息中心, 北京 100720; 3. 裝甲兵工程學(xué)院政治部, 北京 100072)
指控裝備軟件運(yùn)維保障知識(shí)庫(kù)研究
孫凌云1, 孫 巖1, 張雷生2, 古 叢3
(1. 裝甲兵工程學(xué)院科研部, 北京 100072; 2. 總裝政治部干部信息中心, 北京 100720; 3. 裝甲兵工程學(xué)院政治部, 北京 100072)
為提高指控裝備軟件的搶修性,歸納了某型指控軟件的常見(jiàn)故障類型和故障通用處理流程。利用故障樹(shù)分析法和知識(shí)庫(kù)技術(shù),設(shè)計(jì)并實(shí)現(xiàn)了一套指控軟件運(yùn)維保障知識(shí)庫(kù)。測(cè)試結(jié)果表明:該知識(shí)庫(kù)能夠幫助保障人員和裝備使用者快速了解相關(guān)知識(shí)、解決常見(jiàn)故障,從而提高指控軟件運(yùn)行穩(wěn)定性。
軟件保障;知識(shí)庫(kù);故障處理;故障樹(shù)
目前部署到部隊(duì)的指控軟件功能復(fù)雜、維護(hù)困難,要求保障人員掌握大量的背景知識(shí)。由于現(xiàn)階段保障工作主要依托部隊(duì)專業(yè)技術(shù)人員和軟件承研廠家進(jìn)行,因此軟件的搶修性,即軟件在緊急情況下(如戰(zhàn)時(shí)、執(zhí)行任務(wù))失效后,能夠迅速恢復(fù)并繼續(xù)執(zhí)行軟件功能的能力難以得到保證[1]。
事實(shí)上,盡管保障工作需要大量技術(shù)知識(shí),但具體實(shí)施的操作可能非常簡(jiǎn)單,完全可由一般技術(shù)人員甚至裝備使用者自行完成。軟件搶修性的提高依賴相關(guān)知識(shí)的積累和共享,指控裝備軟件運(yùn)維保障知識(shí)庫(kù)對(duì)指控軟件常見(jiàn)故障類型和故障處理流程進(jìn)行梳理,并收集整理相關(guān)基礎(chǔ)知識(shí),為保障人員和裝備使用者了解指控系統(tǒng)、快速完成保障工作奠定了基礎(chǔ)。
指控軟件運(yùn)維保障的首要工作是故障處理,其中由硬件問(wèn)題導(dǎo)致的故障比較少,而軟件故障則發(fā)生得比較頻繁。根據(jù)產(chǎn)生原因,指控軟件常見(jiàn)運(yùn)維故障可分為以下7類。
1) 安裝、配置故障。指控軟件安裝和配置比較復(fù)雜,對(duì)操作系統(tǒng)、數(shù)據(jù)庫(kù)以及各種參數(shù)有特定的要求,且各專業(yè)軟件配置方法也各有不同。若安裝或配置不正確,則軟件的運(yùn)行或聯(lián)通經(jīng)常會(huì)出現(xiàn)問(wèn)題。
2) 用戶誤操作。用戶在Windows平臺(tái)上運(yùn)行指控軟件時(shí)一般具有管理員權(quán)限,如果誤刪除某些關(guān)鍵文件或誤暫停了某些服務(wù)進(jìn)程,則很有可能導(dǎo)致客戶端指控軟件運(yùn)行異?;驁?bào)錯(cuò)。
3) 用戶未按規(guī)定流程操作。某些軟件需要用戶按照指定的流程進(jìn)行操作,若用戶因不了解流程而隨意進(jìn)行操作,則可能出現(xiàn)某些功能受限或者錯(cuò)誤提示。
4) 平臺(tái)自身異常。若支撐指控軟件運(yùn)行的操作系統(tǒng)、數(shù)據(jù)庫(kù)、硬盤、內(nèi)存等出現(xiàn)異常,如服務(wù)無(wú)法啟動(dòng)、硬盤無(wú)空間、內(nèi)存耗盡等,則上層的指控軟件大多也會(huì)出現(xiàn)錯(cuò)誤。
5) 數(shù)據(jù)不完整?;A(chǔ)數(shù)據(jù)的不完整會(huì)導(dǎo)致軟件某些功能受限,如:當(dāng)前部隊(duì)編制數(shù)據(jù)中缺少人員和裝備數(shù)量信息,軟件的戰(zhàn)損統(tǒng)計(jì)功能無(wú)法使用。
6) 病毒影響。被病毒感染的指控軟件運(yùn)行緩慢或報(bào)錯(cuò);有的殺毒軟件會(huì)將被病毒感染的可執(zhí)行程序隔離或刪除,導(dǎo)致指控軟件無(wú)法運(yùn)行。
7) 指控軟件本身的Bug。盡管經(jīng)過(guò)多次測(cè)試,但軟件仍可能存在隱含的Bug,這類故障一般在特定運(yùn)行條件下出現(xiàn),難以在軟件測(cè)評(píng)階段被發(fā)現(xiàn)[2]。
雖然指控軟件故障種類繁多,但其處理流程都是相似的:首先觀察故障現(xiàn)象,根據(jù)經(jīng)驗(yàn)判斷可能的故障種類,并進(jìn)行相關(guān)的測(cè)試操作,如查看程序日志、測(cè)試服務(wù)狀態(tài)等;然后根據(jù)測(cè)試結(jié)果,通過(guò)排除法找到正確的故障原因。這個(gè)過(guò)程往往要求保障人員經(jīng)過(guò)多次反復(fù),只有充分利用前期積累的經(jīng)驗(yàn),才能找到真正故障原因。
由此可以看出:針對(duì)指控軟件在使用過(guò)程中可能發(fā)生多種故障,保障人員只有全面了解底層平臺(tái)和指控軟件的大量背景知識(shí),積累掌握豐富的故障處理經(jīng)驗(yàn),才能快速定位故障并進(jìn)行排除。
針對(duì)指控軟件保障中涉及到的各方面知識(shí),使用知識(shí)庫(kù)進(jìn)行管理是非常有效的方法。知識(shí)庫(kù)是針對(duì)某一領(lǐng)域問(wèn)題求解的需要,采用某種(或若干)知識(shí)表示方式在計(jì)算機(jī)中存儲(chǔ)、組織、管理和使用的互相聯(lián)系的知識(shí)片集合。目前,知識(shí)庫(kù)被廣泛應(yīng)用于各種專家系統(tǒng)和故障診斷系統(tǒng)中[3-6]。隨著知識(shí)庫(kù)理論研究的深入,知識(shí)庫(kù)概念已逐步擴(kuò)散到工程應(yīng)用、計(jì)算機(jī)科學(xué)、圖書情報(bào)、企業(yè)管理與教育科學(xué)等多個(gè)領(lǐng)域[7]。
2.1 系統(tǒng)組成
指控軟件在部署后的運(yùn)行保障和維護(hù)保障是軟件保障的重點(diǎn)[8];除此之外,軟件的基礎(chǔ)原理也是保障人員不可或缺的知識(shí)。因此,運(yùn)維保障知識(shí)庫(kù)包括故障處理、日常維護(hù)和基礎(chǔ)原理3個(gè)功能模塊,以及字典庫(kù)和用戶界面模塊,系統(tǒng)組成如圖1所示。
圖1 運(yùn)維保障知識(shí)庫(kù)系統(tǒng)組成
故障處理模塊是整個(gè)運(yùn)維保障知識(shí)庫(kù)系統(tǒng)中的重點(diǎn)模塊,主要對(duì)故障處理知識(shí)進(jìn)行管理。其中:故障基本信息收集了故障名稱、類型、文字描述、圖示、嚴(yán)重級(jí)別等信息;解決方法則詳細(xì)記錄了針對(duì)某個(gè)故障具體的處理方法、原理知識(shí)、演示抓圖甚至操作視頻等;故障分解針對(duì)復(fù)雜故障進(jìn)行分解,以降低故障處理難度;故障統(tǒng)計(jì)主要對(duì)故障情況進(jìn)行時(shí)間或頻率等各方面的統(tǒng)計(jì),便于用戶快速找到最近發(fā)生或最頻繁發(fā)生的故障。
日常維護(hù)模塊主要對(duì)軟件安裝部署知識(shí)、系統(tǒng)備份和恢復(fù)知識(shí)、系統(tǒng)優(yōu)化方法進(jìn)行管理;另外,針對(duì)部隊(duì)指戰(zhàn)員在使用過(guò)程中發(fā)現(xiàn)的改進(jìn)意見(jiàn)和建議進(jìn)行收集整理,從而反饋給工業(yè)部門對(duì)軟件進(jìn)行升級(jí)完善。
基礎(chǔ)原理模塊主要管理指控軟件運(yùn)行的底層平臺(tái)知識(shí)、指控軟件信息以及系統(tǒng)原理等背景知識(shí),這些知識(shí)是軟件保障人員進(jìn)行故障處理和日常維護(hù)的基礎(chǔ)。
字典庫(kù)模塊主要對(duì)系統(tǒng)中各模塊公用的信息進(jìn)行統(tǒng)一管理。用戶界面模塊主要針對(duì)系統(tǒng)不同的用戶,如部隊(duì)專業(yè)技術(shù)人員、廠家技術(shù)人員或者指控裝備的實(shí)際操作人員,提供不同的權(quán)限和操作界面。
2.2 故障樹(shù)分析
無(wú)論是硬件系統(tǒng)還是軟件系統(tǒng),故障之間的因果關(guān)系都比較復(fù)雜,高層故障可能是由一個(gè)或多個(gè)底層故障引起的;而一個(gè)底層故障可能導(dǎo)致其他多個(gè)故障出現(xiàn)。
在對(duì)故障進(jìn)行分析時(shí),采用故障樹(shù)分析方法對(duì)復(fù)雜故障進(jìn)行分解是目前普遍采用的處理方法[9]。例如:在指控軟件中格式化報(bào)文發(fā)送失敗是常見(jiàn)的故障,導(dǎo)致其發(fā)生的子故障可能有名錄故障、數(shù)據(jù)庫(kù)故障、分發(fā)服務(wù)異?;蛘邆鬏敼收?。對(duì)于各個(gè)子故障,有的還可以繼續(xù)進(jìn)行分解,直到分解為簡(jiǎn)單的、可以直接解決的葉子故障(本文稱為元故障)為止。圖2的故障樹(shù)展示了導(dǎo)致報(bào)文發(fā)送失敗的所有子故障。
圖2 報(bào)文發(fā)送失敗故障樹(shù)
在實(shí)際工作中,保障人員在解決故障時(shí),也是按照故障樹(shù)分析法對(duì)高層故障進(jìn)行分解,以降低故障診斷的難度,從而找出最終的解決方法。因此,故障樹(shù)是保障人員故障處理經(jīng)驗(yàn)的總結(jié),是重要的保障知識(shí)。
3.1 總體實(shí)現(xiàn)
運(yùn)維保障知識(shí)庫(kù)在Windows平臺(tái)上通過(guò)VC++和Sqlite數(shù)據(jù)庫(kù)實(shí)現(xiàn)。Sqlite數(shù)據(jù)庫(kù)靈活小巧,無(wú)需安裝和配置,以文件的形式存儲(chǔ)數(shù)據(jù),便于知識(shí)庫(kù)的運(yùn)行和傳遞[10]。
針對(duì)不同用戶,系統(tǒng)設(shè)計(jì)了管理員和普通用戶2種權(quán)限:普通用戶通常進(jìn)行查詢和上報(bào)故障操作;管理員可以對(duì)知識(shí)進(jìn)行添加、刪除或更新,以及按照指定的條件對(duì)知識(shí)庫(kù)數(shù)據(jù)進(jìn)行切分、導(dǎo)出和導(dǎo)入。
3.2 重點(diǎn)模塊實(shí)現(xiàn)
3.2.1 故障處理知識(shí)的存儲(chǔ)
故障處理知識(shí)的存儲(chǔ)和管理是運(yùn)維保障知識(shí)庫(kù)的重點(diǎn)功能。對(duì)于故障信息的存儲(chǔ),首先利用故障樹(shù)對(duì)復(fù)雜故障進(jìn)行分解,將故障基本信息、故障分解關(guān)系以及解決方法進(jìn)行存儲(chǔ)。其中,故障信息和解決方法需要存儲(chǔ)典型的圖示文件、詳細(xì)說(shuō)明文檔甚至演示視頻,這些內(nèi)容以附件的形式存儲(chǔ)在數(shù)據(jù)表中。具體實(shí)現(xiàn)過(guò)程中需要使用多個(gè)數(shù)據(jù)表,其中關(guān)鍵的數(shù)據(jù)表如圖3所示。
圖3 故障信息存儲(chǔ)使用的部分?jǐn)?shù)據(jù)表
3.2.2 故障處理方法的查詢
根據(jù)已知的故障信息和故障分解關(guān)系,軟件保障知識(shí)庫(kù)不僅可以對(duì)軟件故障進(jìn)行分解和存儲(chǔ),羅列出所有可能的子故障;還可以根據(jù)故障處理已有的經(jīng)驗(yàn),直接給出最近發(fā)生或最常發(fā)生的故障原因。故障查詢過(guò)程按照保障人員常用的故障處理流程進(jìn)行,如圖4所示。
圖4 故障查詢過(guò)程
3.2.3 背景保障知識(shí)的存儲(chǔ)
運(yùn)維保障知識(shí)庫(kù)需要對(duì)指控軟件的維護(hù)性知識(shí)和原理性知識(shí)進(jìn)行存儲(chǔ),這些背景知識(shí)主要表現(xiàn)為較完整的文檔或文字描述,如用戶手冊(cè)、程序員手冊(cè)、軟件幫助以及保障人員收集的其他技術(shù)文檔等。對(duì)此類知識(shí)的存儲(chǔ)可以利用數(shù)據(jù)表進(jìn)行保存和管理,相關(guān)的數(shù)據(jù)表如圖5所示。
圖5 背景保障知識(shí)存儲(chǔ)使用的數(shù)據(jù)表
3.3 測(cè)試案例
運(yùn)維保障知識(shí)庫(kù)目前存儲(chǔ)了針對(duì)陸軍某信息系統(tǒng)指控軟件的大量保障知識(shí),根據(jù)保障人員多年實(shí)際經(jīng)驗(yàn),積累了合成指揮、通信、電子對(duì)抗、后裝保障、偵察情報(bào)等多兵種專業(yè)的故障解決知識(shí),以及軟件的調(diào)試方法、安裝配置要點(diǎn)、操作手冊(cè)等。
為了檢測(cè)運(yùn)維保障知識(shí)庫(kù)的功能,選擇了3位技術(shù)人員進(jìn)行測(cè)試,他們具有一定的計(jì)算機(jī)技術(shù)基礎(chǔ),初步了解指控軟件使用方法,沒(méi)有參與過(guò)軟件保障。測(cè)試故障選擇了該指控系統(tǒng)經(jīng)常出現(xiàn)的5種軟件故障,在測(cè)試過(guò)程中通過(guò)人為模擬實(shí)際情況進(jìn)行故障設(shè)置,測(cè)試結(jié)果如圖6所示。
圖6 測(cè)試結(jié)果
當(dāng)測(cè)試的軟件故障發(fā)生時(shí),3位測(cè)試人員在不知道相關(guān)保障知識(shí)的條件下全部無(wú)法自行解決。在使用保障知識(shí)庫(kù)進(jìn)行查詢后,針對(duì)各測(cè)試故障,處理時(shí)間可縮短至0.5 h之內(nèi)。
從測(cè)試結(jié)果可以看出:運(yùn)維保障知識(shí)庫(kù)能夠幫助技術(shù)人員在短時(shí)間內(nèi)解決常見(jiàn)軟件故障,有效地提高了指控軟件的穩(wěn)定性,并能夠?yàn)椴筷?duì)快速培養(yǎng)壯大保障力量提供支持。
本文利用故障樹(shù)分析法和知識(shí)庫(kù)技術(shù)對(duì)指控軟件運(yùn)維保障的各類知識(shí)進(jìn)行管理,促進(jìn)了知識(shí)的積累和傳播,可以幫助軟件保障人員快速掌握前人的保障經(jīng)驗(yàn)、迅速解決軟件故障,幫助裝備使用者掌握日常維護(hù)工作、了解軟件原理、減少誤操作導(dǎo)致的故障。目前,本運(yùn)維保障知識(shí)庫(kù)在某指控軟件的系統(tǒng)安裝、作業(yè)培訓(xùn)以及綜合演練活動(dòng)中進(jìn)行了實(shí)際的應(yīng)用,并取得了很好的應(yīng)用效果。
[1] 王大翊, 董威.軟件應(yīng)急保障策略和關(guān)鍵技術(shù)初探[J].科技信息, 2010(29):505-506.
[2] 王志兵, 李長(zhǎng)云.軟件故障診斷技術(shù)綜述[J].微計(jì)算機(jī)信息, 2010,26(12-1):161-163.
[3] 冀亞林,孫德寶,代東升,等. 基于本體的裝備維修器材知識(shí)庫(kù)管理系統(tǒng)設(shè)計(jì)研究[J]. 價(jià)值工程, 2010(13):152-153.
[4] 陳璐璐, 劉成瑞, 張慶振, 等. 基于數(shù)據(jù)庫(kù)技術(shù)的故障診斷知識(shí)庫(kù)管理系統(tǒng)設(shè)計(jì)[J]. 航天控制,2007,25(4):82-86.
[5] 王燦國(guó), 蔣平. 光電跟蹤設(shè)備故障診斷專家系統(tǒng)知識(shí)庫(kù)設(shè)計(jì)[J].儀器儀表用戶,2009,16(3):30-32.
[6] 包勇, 張德銀,莊緒巖. 基于動(dòng)態(tài)故障樹(shù)技術(shù)的故障診斷專家系統(tǒng)[J].四川大學(xué)學(xué)報(bào):自然科學(xué)版, 2014,51(6):1211-1216.
[7] 李聰, 王曉光.“知識(shí)庫(kù)”概念的擴(kuò)散與內(nèi)涵演化[J].圖書情報(bào)知識(shí), 2012(4):81-87.
[8] 劉世軍.裝備軟件保障技術(shù)研究[J].中國(guó)電子科學(xué)研究院學(xué)報(bào), 2008,3(6):639-643.
[9] 劉師范. 基于故障樹(shù)的某型功放故障診斷系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)與軟件工程,2014(3):62-63.
[10] 趙世峰, 劉白林. Qt/Embedded和Sqlite下的嵌入式知識(shí)庫(kù)管理方法[J].電腦知識(shí)與技術(shù), 2011,7(35):9209-9211.
(責(zé)任編輯:尚彩娟)
Research on Knowledge Base of Software Support for Command and Control Equipment
SUN Ling-yun1, SUN Yan1, ZHANG Lei-sheng2, GU Cong3
(1. Department of Science Research, Academy of Armored Force Engineering, Beijing 100072, China; 2. Cadre Information Center of Political Department, General Armament Department, Beijing 100720, China; 3. Department of Politics, Academy of Armored Force Engineering, Beijing 100072, China)
In order to improve the rush repair of software on command and control equipment, this paper induces the common fault types and fault treatment process of certain command and control software. Using the fault tree analysis and knowledge base technology, the paper designs and realizes a knowledge base of software support for command and control equipment. Test shows that this knowledge base can help maintenance staff and equipment users to understand background knowledge quickly and solve the common faults easily. Thus the stability of the command and control software improves greatly.
software support; knowledge base; fault treatment; fault tree
1672-1497(2015)04-0089-04
2015-03-16
孫凌云(1979-),女,講師,碩士。
TP182
A
10.3969/j.issn.1672-1497.2015.04.018