亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于問答網(wǎng)站知識的軟件配置故障自動修復(fù)方法和系統(tǒng)的制作方法

文檔序號:10471014閱讀:281來源:國知局
基于問答網(wǎng)站知識的軟件配置故障自動修復(fù)方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明公布了一種基于問答網(wǎng)站知識的軟件配置故障自動檢測與修復(fù)的方法和系統(tǒng),包括在線階段和離線階段;離線階段對問答網(wǎng)站數(shù)據(jù)進(jìn)行爬取,得到問題網(wǎng)站中的問題和答案;記錄問題和答案的對應(yīng)關(guān)系,建立問題日志庫;將提取得到的修復(fù)方法和指令存入修復(fù)指令倉庫;在線階段收集用戶系統(tǒng)數(shù)據(jù),包括用戶系統(tǒng)運(yùn)行日志和用戶系統(tǒng)文件目錄;通過計算用戶系統(tǒng)運(yùn)行日志和問題日志的相似度定位用戶系統(tǒng)故障,通過搜索修復(fù)指令倉庫得到相應(yīng)修復(fù)指令,生成相應(yīng)的故障修復(fù)腳本。本發(fā)明可實現(xiàn)對基于開源軟件構(gòu)建的云計算系統(tǒng)進(jìn)行軟件配置故障診斷與修復(fù),提高云計算系統(tǒng)的可靠性和可用性。
【專利說明】
基于問答網(wǎng)站知識的軟件配置故障自動修復(fù)方法和系統(tǒng)
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及云計算技術(shù),尤其設(shè)及一種基于問答網(wǎng)站知識的軟件配置故障自動檢 測與修復(fù)的方法和系統(tǒng)。
【背景技術(shù)】
[0002] 隨著開放軟件如化enStack、化doop、Spark等的廣泛而迅速的使用W及其與日俱 增的復(fù)雜性,其軟件配置與參數(shù)調(diào)整日益成為一項復(fù)雜且易出錯的工作。軟件配置引發(fā)的 故障頻繁發(fā)生,成為影響包括基于化enStack的云計算系統(tǒng)、基于化doop的大數(shù)據(jù)平臺等在 內(nèi)的基于開放軟件的分布式系統(tǒng)可用性、可靠性和性能的重要原因。更為嚴(yán)重的是,分布式 系統(tǒng)軟件通常包括各種組件和程序模塊,不論是同一程序模塊內(nèi)部的相互協(xié)作,還是不同 組件之間的相互協(xié)作,都需要詳細(xì)的配置,大量配置參數(shù)W及運(yùn)些配置參數(shù)之間的相互影 響和依賴關(guān)系更進(jìn)一步地加大了軟件配置的復(fù)雜性,使得軟件配置故障難W避免、探測W 及修復(fù)。
[0003] 為快速定位及修復(fù)軟件配置故障,現(xiàn)有的方法使用系統(tǒng)日志挖掘的手段對系統(tǒng)運(yùn) 行狀態(tài)進(jìn)行跟蹤、監(jiān)測異常,并人工進(jìn)行配置故障修復(fù)。日志是最直接表征系統(tǒng)運(yùn)行狀況的 信息,具有重要的價值。通常情況下,系統(tǒng)運(yùn)維人員依靠人工查看系統(tǒng)運(yùn)行日志,W期跟蹤 系統(tǒng)狀態(tài)W及定位系統(tǒng)故障。現(xiàn)有技術(shù)主要關(guān)注日志的收集、存儲和基本挖掘,通過對龐大 的曰志集挖掘所獲得的知識來對系統(tǒng)故障進(jìn)行預(yù)測和診斷。對于軟件配置所引發(fā)的故障, 現(xiàn)有技術(shù)手段主要通過在定位故障原因后人工查詢相關(guān)配置文件,手動對配置文件中的錯 誤進(jìn)行修復(fù)。
[0004] 一方面,云計算系統(tǒng)自身的特點使得日志信息極其豐富,且隨著系統(tǒng)運(yùn)行其規(guī)模 快速增加,即使借助自動化的故障識別工具,也無法避免在一定程度上需要系統(tǒng)和運(yùn)行人 員通過人工查看海量的日志數(shù)據(jù),并從中分析故障原因;另一方面,目前尚缺乏能夠自動化 探測、修改錯誤配置參數(shù)的自動化軟件配置故障的修復(fù)工具,借助運(yùn)類工具,技術(shù)人員能夠 快速定位軟件配置故障并生成修復(fù)腳本。

【發(fā)明內(nèi)容】

[0005] 為了克服上述現(xiàn)有技術(shù)的不足,本發(fā)明提供一種基于問答網(wǎng)站知識的軟件配置故 障自動檢測和修復(fù)方法與系統(tǒng),利用問答網(wǎng)站中的信息如故障日志和解決方案,將分布式 系統(tǒng)軟件運(yùn)行狀態(tài)與互聯(lián)網(wǎng)知識建立關(guān)聯(lián),從而利用互聯(lián)網(wǎng)知識檢測到配置故障并修復(fù)。
[0006] 本發(fā)明提供的技術(shù)方案是:
[0007] -種基于問答網(wǎng)站知識的軟件配置故障自動修復(fù)方法,包括在線階段和離線階 段;
[0008] 離線階段對問答網(wǎng)站數(shù)據(jù)進(jìn)行爬取,提取得到問題網(wǎng)站中的問題和答案;問題包 括問題日志數(shù)據(jù),答案包括修復(fù)方法和指令;記錄問題和答案的對應(yīng)關(guān)系,建立問題日志 庫;將提取得到的修復(fù)方法和指令存入修復(fù)指令倉庫;
[0009] 在線階段收集用戶系統(tǒng)數(shù)據(jù),用戶系統(tǒng)數(shù)據(jù)包括用戶系統(tǒng)運(yùn)行日志和用戶系統(tǒng)文 件目錄;通過計算用戶系統(tǒng)運(yùn)行日志和問題日志的相似度,定位用戶系統(tǒng)故障,通過捜索修 復(fù)指令倉庫得到相應(yīng)修復(fù)指令,生成相應(yīng)的故障修復(fù)腳本;根據(jù)故障修復(fù)腳本實現(xiàn)修復(fù)用 戶系統(tǒng)故障。
[0010] 針對上述基于問答網(wǎng)站知識的軟件配置故障自動修復(fù)方法,進(jìn)一步地,所述離線 階段具體執(zhí)行如下步驟:
[0011] 21)對問答網(wǎng)站數(shù)據(jù)進(jìn)行爬取,提取得到問答網(wǎng)站中的問題和答案,具體是:首先 通過過濾問答網(wǎng)站數(shù)據(jù)得到與故障配置相關(guān)的可用問題頁面,再從所述可用問題頁面中提 取得到故障包含的問題日志數(shù)據(jù)和對應(yīng)的答案數(shù)據(jù);
[0012] 21a)每一個問題包括一條或多條問題日志信息,針對步驟21)得到的問題日志數(shù) 據(jù)進(jìn)行過濾清洗,提取問題日志特征生成問題日志特征向量,獲得問題與問題日志特征向 量的對應(yīng)關(guān)系,將問題、問題日志特征向量和對應(yīng)關(guān)系存儲,生成問題日志庫;
[0013] 21b)針對步驟21)得到的答案數(shù)據(jù),通過文本分析提取答案數(shù)據(jù)中的指令和文件 操作,具體是:對答案數(shù)據(jù)進(jìn)行切分,對切分成的每一部分進(jìn)行歸類并標(biāo)注相應(yīng)標(biāo)簽,所述 標(biāo)簽類型分別是:描述,文件路徑,命令,配置,日志和代碼;所述切分是使用解決方案和文 件路徑作為分隔符,將答案數(shù)據(jù)劃分為多個部分,每個部分被標(biāo)注為上述標(biāo)簽類型中的一 種類型;由此將所述答案數(shù)據(jù)轉(zhuǎn)換為標(biāo)簽的有序組合;
[0014] 21bl)針對步驟22)轉(zhuǎn)換后得到的答案內(nèi)容,設(shè)置Ξ種修復(fù)模式:第一種修復(fù)模式 為{:文件路徑,配置};第二種修復(fù)模式為{:文件路徑,配置,配置};第Ξ種修復(fù)模式為{命令, 配置};
[0015] 2化2)利用修復(fù)模式匹配算法將問題修復(fù)方法從答案數(shù)據(jù)中提取出來,每個答案 數(shù)據(jù)提取得到一個或多個問題修復(fù)方法;針對提取得到的問題修復(fù)方法設(shè)置操作類型;針 對提取出的每個問題修復(fù)方法確定相應(yīng)的操作類型;由此,將每個答案數(shù)據(jù)轉(zhuǎn)換成為由設(shè) 置操作類型的一個或多個問題修復(fù)方法組成的一個修復(fù)指令;將修復(fù)指令存入修復(fù)指令倉 庫,供修復(fù)用戶系統(tǒng)配置故障使用。
[0016] 針對上述基于問答網(wǎng)站知識的軟件配置故障自動修復(fù)方法,進(jìn)一步地,步驟21)所 述通過過濾問答網(wǎng)站數(shù)據(jù)得到與故障配置相關(guān)的可用問題頁面,所述問答網(wǎng)站數(shù)據(jù)為爬蟲 收集到的HTML頁面;通過過濾具有W下特征的頁面,得到與故障配置相關(guān)的可用問題頁面: [0017] 2a巧回答的頁面;
[0018] 2b)未含有解決方案的頁面;解決方案指問題回答中的代碼片段,包括程序代碼、 可執(zhí)行命令、文件路徑配置文件內(nèi)容,包括html文件中<codeX/code〉標(biāo)簽包含的內(nèi)容;
[0019] 2c)未含有文件路徑的頁面;
[0020] 2d)未含有配置內(nèi)容的頁面,所述配置內(nèi)容為xml格式。
[0021] 針對上述基于問答網(wǎng)站知識的軟件配置故障自動修復(fù)方法,進(jìn)一步地,步驟21a) 所述提取問題日志特征生成問題日志特征向量,具體通過基于文本挖掘的特征提取方法, 包括如下步驟:
[0022] 首先,針對每一條日志W(wǎng)標(biāo)點符號為分隔符,分離出若干日志文本詞匯.
[0023] 然后,刪除所有標(biāo)點符號,獲取由若干詞匯組成詞匯序列;
[0024] 之后,將詞匯大小寫歸一化生成問題日志文本特征向量,其形式表征為{wordi. word2,word3,…,wordn},其中,wordi(i = 1. .η)表征由標(biāo)點符號作為分隔符的將整個日志 拆分成的一個字符串;
[0025] 最后,將日志數(shù)據(jù)和日志文本特征向量存儲,生成問題日志庫。
[0026] 針對上述基于問答網(wǎng)站知識的軟件配置故障自動修復(fù)方法,進(jìn)一步地,步驟2化2) 所述具體執(zhí)行如下操作:
[0027] 首先,仿照情感詞典建立操作詞典,操作詞典中收錄了答案信息中的描述中出現(xiàn) 的各種修改操作詞語作為關(guān)鍵詞,并將運(yùn)些關(guān)鍵詞映射到上述的Ξ種修改類型,如果描述 中不存在關(guān)鍵詞,則默認(rèn)為增加操作;
[0028] 然后,對描述中的每個關(guān)鍵詞的權(quán)重通過式1進(jìn)行計算得到:
[0029] Wei 曲 UkeyW〇rd) = l/e"stance(keyword'FilePath)(式 i)
[0030] 式1中,keyword為關(guān)鍵詞;FilePath為問題頁面包含的相關(guān)答案中的標(biāo)注為文件 路徑的部分內(nèi)容;dis化nee化eyword,F(xiàn)ile化th)為標(biāo)注為描述部分的關(guān)鍵詞到標(biāo)注為文件 路徑內(nèi)容的文本距離;wei曲Ukeyword)為關(guān)鍵詞keyword的權(quán)重。
[0031] 之后,根據(jù)計算出的各個關(guān)鍵詞的權(quán)重,利用式2投票的方式得到修復(fù)類型:
[0032] wei 曲 t(OperationTypei) = Swei 曲 t 化eywordj)試 2)
[0033] OperationTypeiE {add,delete,update}(式3)
[0034] 式2~3中,keyword為關(guān)鍵詞;OperationType為操作類型,add為增加操作,delete 為刪除操作,update為更新操作;wei曲t (化erationTypei)為相應(yīng)操作類型的權(quán)重,該權(quán)重 的值表示當(dāng)前問題頁面中相關(guān)答案的含義建議提問者使用該操作類型的可能性;keywordj 為映射到該修復(fù)操作的關(guān)鍵詞;
[0035] 最后,取權(quán)重最大的作為修復(fù)操作中的操作類型,由此生成一個修復(fù)操作,表示為 式5:
[0036] 0peratiom= (OperationType ,RecoveryFilePath,ConfContent} 試 5)
[0037] 所述一個修復(fù)操作由Ξ項信息組成,分別為操作類型、提取修復(fù)模式識別算法生 成的修復(fù)方法中的文件路徑、配置;
[0038] 最終,一系列修復(fù)操作組成修復(fù)指令,所述修復(fù)指令用式4表示:
[0039] EditScript={0peratiom,Operation,-...Operationn} 試 4)
[0040] 式4~式5中,EditScript為修復(fù)指令;Operation為修復(fù)操作;OperationType為操 作類型;RecoveryFilePath為需修復(fù)的文件的文件路徑;ConfContent為配置內(nèi)容;
[0041] 將修復(fù)指令存入修復(fù)指令倉庫,作為提取的原始指令信息。
[0042] 針對上述基于問答網(wǎng)站知識的軟件配置故障自動修復(fù)方法,進(jìn)一步地,所述在線 階段具體執(zhí)行如下步驟:
[0043] 11)當(dāng)有用戶系統(tǒng)日志輸入時,獲取用戶系統(tǒng)文件目錄信息和用戶系統(tǒng)運(yùn)行日志, 分別轉(zhuǎn)換為目錄特定格式和系統(tǒng)日志特定格式;
[0044] 12)對用戶系統(tǒng)運(yùn)行日志進(jìn)行預(yù)處理,提取得到用戶系統(tǒng)日志的特征向量;
[0045] 13)當(dāng)系統(tǒng)出現(xiàn)故障或者用戶提交故障片段日志時,通過查詢所述問題日志庫索 引獲取問答網(wǎng)站日志數(shù)據(jù)和問題日志文本特征向量,通過計算得到用戶日志與問答網(wǎng)站問 題日志之間的相似度,通過相似度匹配的方法定位用戶系統(tǒng)的配置故障,獲得用戶故障定 位信息;
[0046] 14)根據(jù)用戶故障定位信息,從所述修復(fù)指令倉庫中提取得到修復(fù)該故障的修復(fù) 指令,所述修復(fù)指令中的動態(tài)部分是從用戶的系統(tǒng)文件目錄信息提取得到的文件路徑;
[0047] 15)根據(jù)步驟14)得到的修復(fù)指令包含的待修復(fù)配置文件,查找得到用戶系統(tǒng)中相 應(yīng)的配置文件,生成修復(fù)腳本,所述修復(fù)腳本是能夠?qū)τ脩粝到y(tǒng)中的配置文件進(jìn)行修改的 可執(zhí)行腳本;
[004引16)運(yùn)行修復(fù)腳本,修復(fù)軟件配置故障。
[0049] 針對上述基于問答網(wǎng)站知識的軟件配置故障自動修復(fù)方法,進(jìn)一步地,步驟11)所 述系統(tǒng)日志特定格式包括五個屬性,分別為:用戶ID、日志ID、日志內(nèi)容、日志時間戳、日志 文件路徑;所述用戶ID用于表示日志所屬用戶;日志ID表示日志序列,用W建立索引,查詢 等;日志時間戳記錄當(dāng)前日志的系統(tǒng)時間,用W表征用戶日志集的時間序列特征;日志文件 路徑保存當(dāng)前日志來源;所述目錄特定格式包括Ξ個屬性,分別為:目錄ID、上級目錄、當(dāng)前 目錄;所述目錄ID用于標(biāo)識每個目錄;上級目錄表示該目錄的上級目錄名稱;當(dāng)前目錄為當(dāng) 前目錄名稱。
[0050] 針對上述基于問答網(wǎng)站知識的軟件配置故障自動修復(fù)方法,進(jìn)一步地,步驟13)所 述用戶日志與問答網(wǎng)站問題日志之間的相似度,具體為采用相似度匹配方法計算得到的用 戶日志與問答網(wǎng)站日志之間的編輯距離;所述編輯距離為兩文本之間相互轉(zhuǎn)換的最小編輯 操作數(shù)目;所述編輯操作類型分為:增加、刪除、替換;所述相似度匹配方法通過比對用戶系 統(tǒng)日志與問答網(wǎng)站日志庫中的編輯距離,將日志片段定位到一個或多個問答網(wǎng)站中的問 題,由此得到用戶故障定位信息。
[0051] 針對上述基于問答網(wǎng)站知識的軟件配置故障自動修復(fù)方法,進(jìn)一步地,步驟15)所 述查找得到用戶系統(tǒng)中相應(yīng)的配置文件,具體執(zhí)行如下操作:
[0052] 首先,定義文件名的相似度函數(shù)31111113^^161,^162),該相似度函數(shù)^一個范 圍為0到1的數(shù)字表示filel和file2文件名的相似度;
[0053] 然后,將用戶目錄結(jié)構(gòu)數(shù)據(jù)W樹結(jié)構(gòu)存儲,從根目錄開始逐層遍歷每層的所有文 件名,每次遍歷都選出與所述修復(fù)指令中的文件名相似度最高的文件作為候選文件;
[0054] 如果當(dāng)前目錄下的候選文件相比上一層的候選文件更相似,則該文件為候選文 件,否則候選文件不變;
[0055] 最后,遍歷到無下級目錄時停止,將此時的候選文件作為需要修復(fù)的文件。
[0056] 針對上述基于問答網(wǎng)站知識的軟件配置故障自動修復(fù)方法,進(jìn)一步地,步驟15)所 述根據(jù)修復(fù)指令包含的待修復(fù)配置文件查找得到用戶系統(tǒng)中相應(yīng)的配置文件,生成問題修 復(fù)腳本,具體使用1 inux she 11語法生成所述修復(fù)腳本。
[0057] 本發(fā)明還提供基于問答網(wǎng)站知識的軟件配置故障自動修復(fù)系統(tǒng),如圖2所示。該系 統(tǒng)W問答網(wǎng)站數(shù)據(jù)和用戶系統(tǒng)數(shù)據(jù)作為輸入,包含雙線數(shù)據(jù)收集、在線日志分析與故障定 位、故障修復(fù)腳本生成等Ξ個模塊:
[00曰引雙線數(shù)據(jù)收集模塊包括問答網(wǎng)站數(shù)據(jù)收集器和用戶系統(tǒng)數(shù)據(jù)收集器兩個子模塊, 功能在于收集問答網(wǎng)站和用戶系統(tǒng)日志的數(shù)據(jù),為另兩個模塊提供數(shù)據(jù)支持。雙線數(shù)據(jù)收 集模塊的問答網(wǎng)站數(shù)據(jù)收集器會從問答網(wǎng)站上收集配置故障問題相關(guān)的日志數(shù)據(jù)及答案 數(shù)據(jù),用戶日志收集器從用戶系統(tǒng)中收集用戶日志數(shù)據(jù),其中用戶日志數(shù)據(jù)和問題的日志 數(shù)據(jù)會傳遞給在線日志分析與故障定位模塊,答案數(shù)據(jù)會傳遞給故障修復(fù)腳本生成模塊。
[0059] 在線日志分析與故障定位模塊包括日志預(yù)處理器和用戶故障日志定位器兩個子 模塊,功能在于對獲取的日志數(shù)據(jù)進(jìn)行預(yù)處理,并將用戶故障匹配到一個或幾個問答網(wǎng)站 的問題上。日志預(yù)處理器W問答網(wǎng)站的問題日志數(shù)據(jù)和用戶系統(tǒng)日志數(shù)據(jù)作為輸入,對日 志數(shù)據(jù)進(jìn)行預(yù)處理。經(jīng)過預(yù)處理后,用戶故障日志定位器利用相似度匹配的方法,計算用戶 日志和問答網(wǎng)站問題日志間的距離,將用戶日志中的故障問題匹配到問答網(wǎng)站的問題,并 將結(jié)果傳遞給故障修復(fù)腳本生成模塊。
[0060] 故障修復(fù)腳本生成模塊包含修復(fù)指令提取器、修復(fù)指令倉庫和修復(fù)腳本生成器子 模塊,功能在于自動生成用于修復(fù)用戶配置故障的腳本。修復(fù)指令提取器W問答網(wǎng)站答案 數(shù)據(jù)為輸入,通過分析網(wǎng)站答案數(shù)據(jù),將答案中的指令或文件操作提取出來,作為該問題的 解決方案。修復(fù)腳本生成器根據(jù)用戶故障定位結(jié)果,提取相應(yīng)問題的解決方案,并根據(jù)用戶 系統(tǒng)文件目錄,基于shell腳本語法,生成該問題的修復(fù)腳本。最后將腳本提供給用戶用于 解決用戶系統(tǒng)的軟件配置故障。
[0061] 與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
[0062] 本發(fā)明提供一種基于問答網(wǎng)站知識的軟件配置故障自動檢測與修復(fù)方法與系統(tǒng), 從問答網(wǎng)站中收集豐富的、來源于實際應(yīng)用的軟件配置故障的問題日志與相關(guān)答案等信 息,分析與挖掘日志信息進(jìn)而對用戶系統(tǒng)的軟件配置故障進(jìn)行識別和定位。再通過計算用 戶系統(tǒng)日志與問答網(wǎng)站問題中包含的日志間的相似度,定位該配置故障,并從相對應(yīng)的問 題答案中得到問題的解決方案,進(jìn)而結(jié)合用戶文件系統(tǒng)目錄結(jié)構(gòu),生成修復(fù)腳本。整個過程 的實現(xiàn)為自動化處理,一方面充分利用問答網(wǎng)站所積累的豐富的配置故障類型及相關(guān)解決 方案等知識,通過知識挖掘,可W自動化定位系統(tǒng)故障,并找到相關(guān)問題描述,原因或解決 方案,簡化系統(tǒng)運(yùn)維人員通過閱讀日志信息,手動定位配置錯誤的過程,極大節(jié)省運(yùn)維人員 的尋找配置錯誤解決方法的時間和精力;另一方面,通過從問答網(wǎng)站知識中所獲取的關(guān)于 軟件配置錯誤的問題描述與答案中的解決方案,自動生成配置修復(fù)腳本,提高了故障修復(fù) 的效率和準(zhǔn)確性。本發(fā)明可W實現(xiàn)對基于開源軟件構(gòu)建的云計算系統(tǒng)進(jìn)行軟件配置故障診 斷與修復(fù),提高云計算系統(tǒng)的可靠性和可用性。
【附圖說明】
[0063] 圖1是本發(fā)明提供的基于問答網(wǎng)站知識的軟件配置故障自動修復(fù)方法的流程框 圖。
[0064] 圖2是本發(fā)明實施例提供的基于問答網(wǎng)站知識的軟件配置故障自動修復(fù)系統(tǒng)的結(jié) 構(gòu)框圖。
【具體實施方式】
[0065] 下面結(jié)合附圖,通過實施例進(jìn)一步描述本發(fā)明,但不W任何方式限制本發(fā)明的范 圍。
[0066] 本發(fā)明提供一種基于問答網(wǎng)站知識的軟件配置故障自動檢測與修復(fù)方法與系統(tǒng), 從問答網(wǎng)站中收集軟件配置故障的問題日志與相關(guān)答案等信息,分析與挖掘日志,通過計 算用戶系統(tǒng)運(yùn)行日志與問答網(wǎng)站日志的相似度,對用戶配置故障進(jìn)行識別和定位,根據(jù)問 答網(wǎng)站對應(yīng)問題的答案得到解決方案,并結(jié)合用戶系統(tǒng)文件目錄生成相應(yīng)的故障修復(fù)腳 本,修復(fù)用戶系統(tǒng)故障。
[0067] 圖1是本發(fā)明提供的基于問答網(wǎng)站知識的軟件配置故障自動檢測與修復(fù)方法的流 程框圖;圖2是本發(fā)明實施例提供的基于問答網(wǎng)站知識的軟件配置故障自動修復(fù)系統(tǒng)的結(jié) 構(gòu)框圖。
[0068] 實施例提供的基于問答網(wǎng)站知識的軟件配置故障自動修復(fù)系統(tǒng)W問答網(wǎng)站數(shù)據(jù) 和用戶系統(tǒng)數(shù)據(jù)作為輸入,包括雙線數(shù)據(jù)收集、在線日志分析與故障定位、故障修復(fù)腳本生 成等Ξ個模塊。整個系統(tǒng)流程如下:
[0069] 系統(tǒng)流程分為在線和離線階段:在線階段主要是對用戶系統(tǒng)數(shù)據(jù)進(jìn)行收集和對用 戶系統(tǒng)運(yùn)行日志進(jìn)行收集和處理;離線階段主要是對問答網(wǎng)站數(shù)據(jù)進(jìn)行爬取W及提取問題 答案中的修復(fù)方法和指令。
[0070] 在線階段首先由運(yùn)行日志收集器收集用戶系統(tǒng)運(yùn)行日志(也可W是用戶提交的日 志片段),由靜態(tài)系統(tǒng)信息收集器收集系統(tǒng)信息,主要是系統(tǒng)和應(yīng)用文件路徑和基本信息。 系統(tǒng)日志由日志預(yù)處理器進(jìn)行清洗過濾和存儲,當(dāng)系統(tǒng)出現(xiàn)故障或者用戶提交故障片段日 志,用戶故障日志定位器會根據(jù)離線處理的數(shù)據(jù)結(jié)果識別故障日志并對故障進(jìn)行定位。
[0071] 離線階段首先由問答網(wǎng)站收集器分別收集問題日志和相關(guān)答案,然后對問題回答 部分進(jìn)行分割并標(biāo)注相應(yīng)標(biāo)簽,根據(jù)修復(fù)模式進(jìn)行識別并提取配置故障修復(fù)相關(guān)內(nèi)容,最 終生成修復(fù)指令并存入修復(fù)指令倉庫。對于問題日志部分需要進(jìn)行過濾清洗和存儲,同時 記錄問題日志和問題答案的對應(yīng)關(guān)系,建立問題日志庫,W便在線過程通過計算用戶系統(tǒng) 日志和問題日志的相似度,定位用戶系統(tǒng)故障進(jìn)而提取相關(guān)答案中的解決方案。
[0072] 修復(fù)腳本生成器是系統(tǒng)流程的最后一步,它負(fù)責(zé)整合在線和離線處理的所有數(shù) 據(jù),包括用戶故障日志,問題日志,同問題答案相對應(yīng)的修復(fù)指令和用戶系統(tǒng)靜態(tài)數(shù)據(jù)信 息,主要是文件結(jié)構(gòu)。修復(fù)腳本生成器根據(jù)用戶故障定位器的定位結(jié)果(某一個或一些問題 頁面),從修復(fù)指令倉庫查找由運(yùn)些問題頁面中包含的答案提取出的修復(fù)指令,然后根據(jù)修 復(fù)指令包含的待修復(fù)配置文件查找用戶系統(tǒng)中相同或相似配置文件,最終使用linux shel 1語法生成對用戶系統(tǒng)中的某配置文件進(jìn)行修改的可執(zhí)行腳本。
[0073] 具體地,系統(tǒng)的流程如圖1所示,包括如下步驟:
[0074] 首先,雙線數(shù)據(jù)收集模塊的問答網(wǎng)站數(shù)據(jù)收集器從問答網(wǎng)站中捜集問題日志數(shù)據(jù) 和答案數(shù)據(jù)。對于日志數(shù)據(jù)進(jìn)行清洗、過濾和存儲,之后傳遞給在線日志分析與故障定位模 塊。對于答案數(shù)據(jù),經(jīng)簡單清洗后傳遞給故障修復(fù)腳本生成模塊。
[0075] 當(dāng)有用戶系統(tǒng)日志輸入時,運(yùn)行日志收集器對用戶系統(tǒng)日志進(jìn)行初步清洗、整理 和存儲后,傳遞給日志預(yù)處理器提取特征向量。用戶故障日志定位器計算用戶日志與問答 網(wǎng)站日志間的相似度,根據(jù)相似度定位用戶系統(tǒng)的配置故障,生成用戶系統(tǒng)的配置文件路 徑,將結(jié)果傳遞給故障修復(fù)腳本生成模塊。故障修復(fù)模塊根據(jù)用戶故障定位信息從修復(fù)指 令倉庫中提取修復(fù)該故障的修復(fù)指令,同時迭代匹配用戶系統(tǒng)文件路徑,最后修復(fù)腳本生 成器生成修復(fù)腳本,用戶可直接運(yùn)行修復(fù)腳本修復(fù)軟件配置故障。
[0076] 本實施例提供的基于問答網(wǎng)站知識的軟件配置故障自動修復(fù)系統(tǒng)中,各個模塊的 操作通過與其他相關(guān)模塊進(jìn)行信息交互來完成,下面分別對不同的模塊進(jìn)行具體說明。
[0077] S1)雙線數(shù)據(jù)收集模塊
[0078] 雙線數(shù)據(jù)收集模塊主要功能是利用網(wǎng)絡(luò)爬蟲和網(wǎng)站開放API,抓取網(wǎng)站的html文 件或一定格式的數(shù)據(jù)(如json),并對網(wǎng)頁信息進(jìn)行清洗過濾提取其中的問題日志數(shù)據(jù)和答 案數(shù)據(jù);與此同時,雙線數(shù)據(jù)收集模塊從用戶系統(tǒng)中收集日志數(shù)據(jù)并對外提供接口供用戶 上傳或輸入日志文本信息,同時也會收集靜態(tài)的系統(tǒng)信息。最后,雙線數(shù)據(jù)收集模塊對日志 數(shù)據(jù)進(jìn)行存儲備份并傳遞給在線日志分析與故障定位模塊,對答案數(shù)據(jù)進(jìn)行提取存儲并傳 遞給故障修復(fù)腳本生成模塊。雙線數(shù)據(jù)收集模塊包括問答網(wǎng)站數(shù)據(jù)收集器和用戶系統(tǒng)數(shù)據(jù) 收集器兩個子模塊:
[0079] S11)問答網(wǎng)站數(shù)據(jù)收集器
[0080] 問答網(wǎng)站數(shù)據(jù)收集器包括問答網(wǎng)站答案收集器和問答網(wǎng)站問題收集器,主要使用 網(wǎng)絡(luò)爬蟲技術(shù)或通過網(wǎng)站開放API對問答網(wǎng)站上的問題日志和答案數(shù)據(jù)進(jìn)行抓取,清洗并 進(jìn)行提取。網(wǎng)絡(luò)爬蟲技術(shù)通常包括頁面下載,url抽取與持久化,html文件解析等。
[0081] 對于爬蟲收集到的HTML頁面,過濾具有W下特征的頁面:
[0082] 2a)無回答的問題頁面;
[0083] 2b)未含有解決方案的頁面;解決方案指問題回答中的代碼片段,包括程序代碼、 可執(zhí)行命令、文件路徑配置文件內(nèi)容等,通常是html文件中<code〉</code>標(biāo)簽包含的內(nèi) 容;
[0084] 2c)未含有文件路徑的頁面;利用正則表達(dá)式對文件路徑進(jìn)行檢索,典型的文件路 徑包括多個7"符號,通常具有".xml"或".conf"文件擴(kuò)展名;
[0085] 2d)未含有配置內(nèi)容的回答;配置內(nèi)容通常是xml格式的,使用正則表達(dá)式可W進(jìn) 行識別;
[0086] 過濾完畢結(jié)果即故障配置相關(guān)的可用問題頁面,從中提取得到故障包含的日志數(shù) 據(jù)和對應(yīng)的答案數(shù)據(jù)。
[0087] 然后對問答網(wǎng)站的日志數(shù)據(jù)進(jìn)行處理,提取日志特征。由于運(yùn)些數(shù)據(jù)信息具有較 大的噪聲,提取的日志具有異構(gòu)性,不完整性等特點,因此,針對問答網(wǎng)站日志數(shù)據(jù)的特征 提取需盡可能過濾掉細(xì)節(jié)特征W降低噪聲影響。本模塊采用基于文本挖掘的特征提取方 法,主要關(guān)注日志信息的詞匯序列。首先,針對每一條日志W(wǎng)標(biāo)點符號(包括空格)為分隔 符,分離出若干日志文本詞匯;之后,刪除所有標(biāo)點符號,獲取由若干詞匯組成詞匯序列;最 后,將詞匯大小寫歸一化生成最終日志文本特征向量,其形式表征為{wordi,words, words,…,word。},其中,wordi表征由標(biāo)點符號作為分隔符,將整個日志拆分成的若干字符 串之一;最后將日志數(shù)據(jù)及其日志文本特征向量生成問題日志庫,并傳遞給用戶故障日志 定位器。
[0088] S12)用戶系統(tǒng)數(shù)據(jù)收集器
[0089] 用戶系統(tǒng)數(shù)據(jù)收集器包括運(yùn)行日志收集器和靜態(tài)系統(tǒng)信息收集器,主要功能是向 用戶提供上傳日志接口或在用戶系統(tǒng)中加入探針,檢測并抽取日志信息,然后轉(zhuǎn)換為特定 格式,傳遞給在線日志分析與故障定位模塊;此外還會掃描系統(tǒng)的文件目錄,傳遞給故障修 股腳本生成模塊。
[0090] 用戶系統(tǒng)數(shù)據(jù)收集器對收集到的用戶系統(tǒng)運(yùn)行日志文本不做處理,僅添加若干字 段對日志進(jìn)行表示,處理后的日志屬性格式如表1所示的系統(tǒng)日志特定格式。系統(tǒng)日志特定 格式包括五個屬性,分別為:用戶ID、日志ID、日志內(nèi)容、日志時間戳、日志文件路徑;用戶ID 用于表示日志所屬用戶;日志ID表示日志序列,用W建立索引,查詢等;日志時間戳記錄當(dāng) 前日志的系統(tǒng)時間,用w表征用戶日志集的時間序列特征;日志文件路徑保存當(dāng)前日志來 源,通常保存文件系統(tǒng)中的某一掛載點中的組件日志文件。
[0091] 表1用戶日志處理完畢數(shù)據(jù)格式舉例
[0092]
[0093] 用戶系統(tǒng)數(shù)據(jù)收集器還會掃描用戶系統(tǒng)的文件目錄結(jié)構(gòu)(靜態(tài)系統(tǒng)信息),通過逐 層遍歷所有文件夾,將文件目錄保存為特定格式,目錄特定格式包括Ξ個屬性,分別為:目 錄ID、上級目錄、當(dāng)前目錄;格式如表2所示。目錄ID用于標(biāo)識每個目錄;上級目錄表示該目 錄的上級目錄名稱;當(dāng)前目錄為當(dāng)前目錄名稱。
[0094] 表2用戶文件目錄數(shù)據(jù)格式舉例
[0095]
[0096] S2)在線日志分析與故障定位模塊
' '
[0097] 在線日志分析與故障定位模塊的主要功能是接收用戶系統(tǒng)日志數(shù)據(jù)并進(jìn)行過濾、 清洗和結(jié)構(gòu)化存儲,通過提取日志文本語義特征,利用相似度匹配等算法對軟件配置故障 進(jìn)行定位,并將結(jié)果傳遞給故障修復(fù)腳本生成模塊。在線日志分析與故障定位模塊包括日 志預(yù)處理器和用戶故障日志定位器兩個子模塊:
[0098] S21)用戶系統(tǒng)日志預(yù)處理器
[0099] 用戶系統(tǒng)日志預(yù)處理器接收用戶系統(tǒng)數(shù)據(jù)收集器收集得到的用戶系統(tǒng)日志數(shù)據(jù), 對運(yùn)些日志數(shù)據(jù)進(jìn)行預(yù)處理。對用戶日志數(shù)據(jù)預(yù)處理的方法同問答網(wǎng)站日志數(shù)據(jù)預(yù)處理方 法相同,生成用戶系統(tǒng)日志的文本特征向量,然后傳遞給用戶故障日志定位器。
[0100] S22)用戶故障日志定位器
[0101] 用戶故障日志定位器接收預(yù)處理過的用戶日志數(shù)據(jù)及其文本特征向量,同時查詢 問題日志庫索引獲取問答網(wǎng)站日志數(shù)據(jù)及其文本特征向量。然后使用相似度匹配的方法, 通過計算用戶日志與問答網(wǎng)站日志間的編輯距離,匹配出與用戶日志相似的問題日志。所 謂編輯距離即兩文本之間相互轉(zhuǎn)換的最小編輯操作數(shù)目。編輯操作分為Ξ種類型:增加,刪 除,替換,W字符為操作單位,兼顧文本內(nèi)容與順序特征。本模塊的具體流程包括:逐一計算 用戶日志的文本特征向量與問題日志庫中所有問題日志的文本特征向量之間的編輯距離, 取距離最近的若干問題日志,通過問題日志與問答網(wǎng)站問題的對應(yīng)關(guān)系(問題頁面包含該 問題日志),得到若干相關(guān)的問題ID,傳遞給故障修復(fù)腳本生成模塊。
[0102] S3)故障修復(fù)腳本生成模塊
[0103] 故障修復(fù)腳本生成模塊的主要功能是從問題答案中提取修復(fù)指令存入修復(fù)指令 倉庫;根據(jù)用戶故障定位得到的問題ID,從修復(fù)指令倉庫中提取修復(fù)該問題的修復(fù)指令,生 成修復(fù)腳本輸出給用戶。故障修復(fù)腳本生成模塊主要包含修復(fù)指令提取器、修復(fù)指令倉庫 和修復(fù)腳本生成器子模塊:
[0104] S31)修復(fù)指令提取器
[0105] 修復(fù)指令提取器接收從問答網(wǎng)站上收集到的答案數(shù)據(jù),通過分析其中的文本,提 取答案中的指令和文件操作,對答案數(shù)據(jù)進(jìn)行切分并對切分完畢的每一部分進(jìn)行歸類并標(biāo) 注相應(yīng)標(biāo)簽,標(biāo)簽有6種,分別是描述,文件路徑,命令,配置,日志和代碼。描述表示回答者 的自然語言描述;文件路徑表示答案中出現(xiàn)的文件;命令表示答案中包含的可執(zhí)行指令;配 置表示答案中的配置文件內(nèi)容或配置信息;日志表示用于描述系統(tǒng)狀態(tài)的控制臺日志或系 統(tǒng)日志;代碼表示應(yīng)用程序代碼。切分方法是使用解決方案化tml文件中<codeX/code〉標(biāo) 簽中內(nèi)容)和文件路徑作為分隔符,劃分整體答案數(shù)據(jù)。劃分完畢的答案數(shù)據(jù)包括若干部分 (包括解決方案和文件路徑),其中每一部分可被標(biāo)識為運(yùn)6種標(biāo)簽之一。
[0106] 在運(yùn)一階段,首先提取解決方案部分化tml文件中<codeX/code〉標(biāo)簽中內(nèi)容)和 文件路徑部分,解決方案提取通過html文件處理,文件路徑部分通過正則匹配文件路徑格 式(包括7"分隔符W及.xml或.conf文件后綴)。如果切分的部分不是解決方案和文件路 徑,將其標(biāo)識為描述;然后,判斷解決方案部分的類型。通常,解決方案中包含所有的與軟件 或系統(tǒng)相關(guān)的內(nèi)容,可能為命令,配置,日志和代碼,每一種不同的數(shù)據(jù)類型都具備其相應(yīng) 的數(shù)據(jù)格式,如配置內(nèi)容通常是xml格式,日志數(shù)據(jù)通常具有時間戳,嚴(yán)重等級等。因此,通 過正則匹配的方法,將解決方案部分標(biāo)注為運(yùn)4類標(biāo)簽之一。
[0107] 根據(jù)問答網(wǎng)站數(shù)據(jù)收集器對網(wǎng)頁的過濾情況,將答案中的信息根據(jù)其內(nèi)容將其劃 分為上述六種標(biāo)簽類型,答案數(shù)據(jù)被轉(zhuǎn)換為運(yùn)六種標(biāo)簽的有序組合?;谵D(zhuǎn)換后的答案內(nèi) 容,定義Ξ種修復(fù)模式:第一種修復(fù)模式為{:文件路徑,配置};第二種修復(fù)模式為{文件路 徑,配置,配置};第Ξ種修復(fù)模式為{命令,配置}(此處命令指文件操作相關(guān)的命令,例如 vi,nano等)。
[0108] 利用修復(fù)模式識別算法將特定的答案信息按照運(yùn)Ξ種模式提取出來,得到了解決 該問題的修復(fù)方法。修復(fù)模式識別的具體方法的偽代碼如下算法1所示:
[0109]
[0110] 然后,需要判定提取出的修復(fù)方法的修復(fù)類型,修復(fù)類型被定義為如下Ξ種,包括 增加操作類型、刪除操作類型和更新操作類型:
[0111] 增加(add),在配置文件中增加一些配置內(nèi)容。
[0112] 刪除(delete),從配置文件中刪除一些配置內(nèi)容。
[0113] 更新(update),將配置文件中的內(nèi)容替換為新的配置內(nèi)容。
[0114] 判斷對應(yīng)的修復(fù)類型,需仿照情感詞典建立操作詞典,操作詞典中收錄了答案信 息中的描述里出現(xiàn)的各種修復(fù)操作詞語(如add, r邱lace, delete, revise等)作為關(guān)鍵詞, 并將運(yùn)些關(guān)鍵詞映射到上述的Ξ種修復(fù)類型,如果描述中不存在關(guān)鍵詞,則默認(rèn)為增加操 作,同時從修復(fù)方法中提取所包含的文件路徑。然后對描述中的每個關(guān)鍵詞的權(quán)重weight 化eyword)進(jìn)行計算,權(quán)重函數(shù)與關(guān)鍵詞到文件路徑的距離有關(guān),公式如下:
[0115] Wei 曲 UkeyW〇rd) = l/e"stance(keyword'FilePath)(式 i)
[0116] 式1中,keyword為關(guān)鍵詞;Fi lePath為問題頁面包含的相關(guān)答案中的標(biāo)注為文件 路徑的部分內(nèi)容;dis化nee化eyword, File化th)為標(biāo)注為描述部分的關(guān)鍵詞到標(biāo)注為文件 路徑內(nèi)容的文本距離;wei曲Ukeyword)為關(guān)鍵詞keyword的權(quán)重。
[0117] 之后根據(jù)計算出的各個關(guān)鍵詞的權(quán)重,利用投票的方式?jīng)Q定修復(fù)類型,公式如下:
[0118] weight(OperationTypei) = Swei 曲 t 化eywordj)試 2)
[0119] OperationTypeiE {add,deleee,update}(式3)
[0120] 式2~3中,keyword為關(guān)鍵詞;OperationType為操作類型,add為增加操作,delete 為刪除操作,update為更新操作;wei曲t (化erationTypei)為相應(yīng)操作類型的權(quán)重,該權(quán)重 的值表示當(dāng)前問題頁面中相關(guān)答案的含義建議提問者使用該操作類型的可能性;keywordj 為映射到該修復(fù)操作的關(guān)鍵詞。最后取權(quán)重最大的作為修復(fù)操作中的操作類型。運(yùn)樣,生成 Ξ項信息:,操作類型,提取修復(fù)模式識別算法生成的修復(fù)方法中的文件路徑和配置。運(yùn)Ξ 項信息組成一個修復(fù)操作(式5)。
[0121] 最終,運(yùn)一系列修復(fù)操作組成修復(fù)指令,修復(fù)指令定義如下:
[0122] EditScript={Operatiom,Operation,-...Operationn} 試 4)
[0123] 0peratiom= (OperationType ,RecoveryFilePath,ConfContent} 試 5)
[0124] 其中,EditScript為修復(fù)指令;Operation為修復(fù)操作;OperationType為操作類 型;RecoveryFi lePath為需修復(fù)的文件的文件路徑;Conf Content為配置內(nèi)容。運(yùn)些修復(fù)指 令作為提取的原始指令信息存入修復(fù)指令倉庫。
[01巧]S32)修復(fù)腳本生成器
[0126] 修復(fù)腳本生成器會根據(jù)用戶故障定位結(jié)果,從修復(fù)指令倉庫中獲取相應(yīng)的修復(fù)指 令操作。用戶系統(tǒng)和問答網(wǎng)站中人們討論的問題系統(tǒng)存在差異,主要是修復(fù)指令中的待修 改配置文件路徑不同,因此需要自動查找用戶系統(tǒng)對應(yīng)的配置文件路徑,并替換原始指令 信息(修復(fù)指令倉庫中的修復(fù)指令)中的文件路徑。主要包括如下步驟:
[0127] 首先,定義文件名的相似度函數(shù)31111113八^161,^162),該函數(shù)^一個范圍為0到 1的數(shù)字表示fi lei和fi le2文件名的相似度,數(shù)值越大表示相似度越高,反之相似度越低。
[0128] 然后,將用戶目錄結(jié)構(gòu)數(shù)據(jù)W樹結(jié)構(gòu)存儲,從根目錄開始逐層遍歷每層的所有文 件名,每次遍歷計算運(yùn)些文件名同修復(fù)指令中文件路徑的文件名的相似度函數(shù),取相似度 最高的文件作為候選文件。如果當(dāng)前目錄下的候選文件相比上一層的候選文件更相似,貝U 該文件為候選文件,否則候選文件不變。最后,遍歷到無下級目錄時停止,將此時的候選文 件作為需要修復(fù)的文件,具體用戶系統(tǒng)文件定位方法的偽代碼如下算法2所示:
[0129]
[0130] 根據(jù)得到的文件,結(jié)合修復(fù)指令,將其中的文件路徑替換為用戶系統(tǒng)的文件路徑, 即可得到針對該問題的修復(fù)腳本。之后,基于得到的修復(fù)腳本,生成linux shell腳本自動 化修改配置文件內(nèi)容。對于文件內(nèi)容的增刪改操作,使用sed指令進(jìn)行處理;W向配置文件/ 01:。/11〇313增加配置內(nèi)容''127.〇.〇.11〇。日化〇31:"為例(〇口6'日1:;[0]1={4(1(1,/61:。/11〇313, 127.0.0. llocalhost}),其修復(fù)指令為"sed-i'127.0.0. llocalhost"',最終生成的基本 shell腳本。如果修改特定位置的配置內(nèi)容,只需要增加待修改行編號即可。通過生成符合 用戶系統(tǒng)環(huán)境的配置故障修復(fù)腳本,幫助用戶快速修復(fù)軟件配置故障,節(jié)省修復(fù)時間,提高 系統(tǒng)的故障恢復(fù)能力和可用性。
[0131]需要注意的是,公布實施例的目的在于幫助進(jìn)一步理解本發(fā)明,但是本領(lǐng)域的技 術(shù)人員可W理解:在不脫離本發(fā)明及所附權(quán)利要求的精神和范圍內(nèi),各種替換和修改都是 可能的。因此,本發(fā)明不應(yīng)局限于實施例所公開的內(nèi)容,本發(fā)明要求保護(hù)的范圍W權(quán)利要求 書界定的范圍為準(zhǔn)。
【主權(quán)項】
1. 一種基于問答網(wǎng)站知識的軟件配置故障自動修復(fù)方法,包括在線階段和離線階段; 離線階段對問答網(wǎng)站數(shù)據(jù)進(jìn)行爬取,提取得到問題網(wǎng)站中的問題和答案;問題包括問 題日志數(shù)據(jù),答案包括修復(fù)方法和指令;記錄問題和答案的對應(yīng)關(guān)系,建立問題日志庫;將 提取得到的修復(fù)方法和指令存入修復(fù)指令倉庫; 在線階段收集用戶系統(tǒng)數(shù)據(jù),用戶系統(tǒng)數(shù)據(jù)包括用戶系統(tǒng)運(yùn)行日志和用戶系統(tǒng)文件目 錄;通過計算用戶系統(tǒng)運(yùn)行日志和問題日志的相似度,定位用戶系統(tǒng)故障,通過搜索修復(fù)指 令倉庫得到相應(yīng)修復(fù)指令,生成相應(yīng)的故障修復(fù)腳本;根據(jù)故障修復(fù)腳本實現(xiàn)修復(fù)用戶系 統(tǒng)故障。2. 如權(quán)利要求1所述基于問答網(wǎng)站知識的軟件配置故障自動修復(fù)方法,其特征是,所述 離線階段具體執(zhí)行如下步驟: 21)對問答網(wǎng)站數(shù)據(jù)進(jìn)行爬取,提取得到問答網(wǎng)站中的問題和答案,具體是:首先通過 過濾問答網(wǎng)站數(shù)據(jù)得到與故障配置相關(guān)的可用問題頁面,再從所述可用問題頁面中提取得 到故障包含的問題日志數(shù)據(jù)和對應(yīng)的答案數(shù)據(jù); 21a)每一個問題包括一條或多條問題日志信息,針對步驟21)得到的問題日志數(shù)據(jù)進(jìn) 行過濾清洗,提取問題日志特征生成問題日志特征向量,獲得問題與問題日志特征向量的 對應(yīng)關(guān)系,將問題、問題日志特征向量和對應(yīng)關(guān)系存儲,生成問題日志庫; 21b)針對步驟21)得到的答案數(shù)據(jù),通過文本分析提取答案數(shù)據(jù)中的指令和文件操作, 具體是:對答案數(shù)據(jù)進(jìn)行切分,對切分成的每一部分進(jìn)行歸類并標(biāo)注相應(yīng)標(biāo)簽,所述標(biāo)簽類 型分別是:描述,文件路徑,命令,配置,日志和代碼;所述切分是使用解決方案和文件路徑 作為分隔符,將答案數(shù)據(jù)劃分為多個部分,每個部分被標(biāo)注為上述標(biāo)簽類型中的一種類型; 由此將所述答案數(shù)據(jù)轉(zhuǎn)換為標(biāo)簽的有序組合; 21bl)針對步驟22)轉(zhuǎn)換后得到的答案內(nèi)容,設(shè)置三種修復(fù)模式:第一種修復(fù)模式為{:文 件路徑,配置};第二種修復(fù)模式為{:文件路徑,配置,配置};第三種修復(fù)模式為{命令,配 置}; 21b2)利用修復(fù)模式匹配算法將問題修復(fù)方法從答案數(shù)據(jù)中提取出來,每個答案數(shù)據(jù) 提取得到一個或多個問題修復(fù)方法;針對提取得到的問題修復(fù)方法設(shè)置操作類型;針對提 取出的每個問題修復(fù)方法確定相應(yīng)的操作類型;由此,將每個答案數(shù)據(jù)轉(zhuǎn)換成為由設(shè)置操 作類型的一個或多個問題修復(fù)方法組成的一個修復(fù)指令;將修復(fù)指令存入修復(fù)指令倉庫, 供修復(fù)用戶系統(tǒng)配置故障使用。3. 如權(quán)利要求2所述基于問答網(wǎng)站知識的軟件配置故障自動修復(fù)方法,其特征是,步驟 21)所述通過過濾問答網(wǎng)站數(shù)據(jù)得到與故障配置相關(guān)的可用問題頁面,所述問答網(wǎng)站數(shù)據(jù) 為爬蟲收集到的HTML頁面;通過過濾具有以下特征的頁面,得到與故障配置相關(guān)的可用問 題頁面: 2a)無回答的頁面; 2b)未含有解決方案的頁面;解決方案指問題回答中的代碼片段,包括程序代碼、可執(zhí) 行命令、文件路徑配置文件內(nèi)容,包括html文件中〈code>〈/code>標(biāo)簽包含的內(nèi)容; 2c)未含有文件路徑的頁面; 2d)未含有配置內(nèi)容的頁面,所述配置內(nèi)容為xml格式。4. 如權(quán)利要求2所述基于問答網(wǎng)站知識的軟件配置故障自動修復(fù)方法,其特征是,步驟 21a)所述提取問題日志特征生成問題日志特征向量,具體通過基于文本挖掘的特征提取方 法,包括如下步驟: 首先,針對每一條日志以標(biāo)點符號為分隔符,分離出若干日志文本詞匯; 然后,刪除所有標(biāo)點符號,獲取由若干詞匯組成詞匯序列; 之后,將詞匯大小寫歸一化生成問題日志文本特征向量,其形式表征為{wordi,word2, word3,…,wordn},其中,wordi(i = l. .η)表征由標(biāo)點符號作為分隔符的將整個日志拆分成 的一個字符串; 最后,將日志數(shù)據(jù)和日志文本特征向量存儲,生成問題日志庫。5. 如權(quán)利要求2所述基于問答網(wǎng)站知識的軟件配置故障自動修復(fù)方法,其特征是,步驟 21b2)所述具體執(zhí)行如下操作: 首先,仿照情感詞典建立操作詞典,操作詞典中收錄了答案信息中的描述中出現(xiàn)的各 種修改操作詞語作為關(guān)鍵詞,并將這些關(guān)鍵詞映射到上述的三種修改類型,如果描述中不 存在關(guān)鍵詞,則默認(rèn)為增加操作; 然后,對描述中的每個關(guān)鍵詞的權(quán)重通過式1進(jìn)行計算得到: weight(keyword) = l/edistance(keywcird'FilePath)(式1)式1 中,keyword為關(guān)鍵詞;FilePath 為問題頁面包含的相關(guān)答案中的標(biāo)注為文件路徑的部分內(nèi)容;distance (keyword, FilePath)為標(biāo)注為描述部分的關(guān)鍵詞到標(biāo)注為文件路徑內(nèi)容的文本距離;weight (key word)為關(guān)鍵詞key word的權(quán)重; 之后,根據(jù)計算出的各個關(guān)鍵詞的權(quán)重,利用式2投票的方式得到修復(fù)類型: weight(OperationTypei) = Σweight(keywordj)(式2) OperationTypei£{add,delete,update}(式3) 式2~3中,keyword為關(guān)鍵詞;OperationType為操作類型,add為增加操作,delete為刪 除操作,update為更新操作;weight(OperationTypei)為相應(yīng)操作類型的權(quán)重,該權(quán)重的值 表示當(dāng)前問題頁面中相關(guān)答案的含義建議提問者使用該操作類型的可能性;keywor山為映 射到該修復(fù)操作的關(guān)鍵詞; 最后,取權(quán)重最大的作為修復(fù)操作中的操作類型,由此生成一個修復(fù)操作,表示為式5: Operatioru = {OperationType,RecoveryFilePath,ConfContent}(式5) 所述一個修復(fù)操作由三項信息組成,分別為操作類型、提取修復(fù)模式識別算法生成的 修復(fù)方法中的文件路徑、配置; 最終,一系列修復(fù)操作組成修復(fù)指令,所述修復(fù)指令用式4表示: EditScript= {Operatiom,Operatiom,…,0perationn}(式4) 式4~式5中,EditScript為修復(fù)指令;Operation為修復(fù)操作;OperationType為操作類 型;RecoveryFi lePath為需修復(fù)的文件的文件路徑;Conf Content為配置內(nèi)容; 將修復(fù)指令存入修復(fù)指令倉庫,作為提取的原始指令信息。6. 如權(quán)利要求1所述基于問答網(wǎng)站知識的軟件配置故障自動修復(fù)方法,其特征是,所述 在線階段具體執(zhí)行如下步驟: 11) 當(dāng)有用戶系統(tǒng)日志輸入時,獲取用戶系統(tǒng)文件目錄信息和用戶系統(tǒng)運(yùn)行日志,分別 轉(zhuǎn)換為目錄特定格式和系統(tǒng)日志特定格式; 12) 對用戶系統(tǒng)運(yùn)行日志進(jìn)行預(yù)處理,提取得到用戶系統(tǒng)日志的特征向量; 13) 當(dāng)系統(tǒng)出現(xiàn)故障或者用戶提交故障片段日志時,通過查詢所述問題日志庫索引獲 取問答網(wǎng)站日志數(shù)據(jù)和問題日志文本特征向量,通過計算得到用戶日志與問答網(wǎng)站問題日 志之間的相似度,通過相似度匹配的方法定位用戶系統(tǒng)的配置故障,獲得用戶故障定位信 息; 14) 根據(jù)用戶故障定位信息,從所述修復(fù)指令倉庫中提取得到修復(fù)該故障的修復(fù)指令, 所述修復(fù)指令中的動態(tài)部分是從用戶的系統(tǒng)文件目錄信息提取得到的文件路徑; 15) 根據(jù)步驟14)得到的修復(fù)指令包含的待修復(fù)配置文件,查找得到用戶系統(tǒng)中相應(yīng)的 配置文件,生成修復(fù)腳本,所述修復(fù)腳本是能夠?qū)τ脩粝到y(tǒng)中的配置文件進(jìn)行修改的可執(zhí) 行腳本; 16) 運(yùn)行修復(fù)腳本,修復(fù)軟件配置故障。7. 如權(quán)利要求6所述基于問答網(wǎng)站知識的軟件配置故障自動修復(fù)方法,其特征是,步驟 11)所述系統(tǒng)日志特定格式包括五個屬性,分別為:用戶ID、日志ID、日志內(nèi)容、日志時間戳、 日志文件路徑;所述用戶ID用于表示日志所屬用戶;日志ID表示日志序列,用以建立索引, 查詢等;日志時間戳記錄當(dāng)前日志的系統(tǒng)時間,用以表征用戶日志集的時間序列特征;日志 文件路徑保存當(dāng)前日志來源;所述目錄特定格式包括三個屬性,分別為:目錄ID、上級目錄、 當(dāng)前目錄;所述目錄ID用于標(biāo)識每個目錄;上級目錄表示該目錄的上級目錄名稱;當(dāng)前目錄 為當(dāng)前目錄名稱。8. 如權(quán)利要求6所述基于問答網(wǎng)站知識的軟件配置故障自動修復(fù)方法,其特征是,步驟 13)所述用戶日志與問答網(wǎng)站問題日志之間的相似度,具體為采用相似度匹配方法計算得 到的用戶日志與問答網(wǎng)站日志之間的編輯距離;所述編輯距離為兩文本之間相互轉(zhuǎn)換的最 小編輯操作數(shù)目;所述編輯操作類型分為:增加、刪除、替換;所述相似度匹配方法通過比對 用戶系統(tǒng)日志與問答網(wǎng)站日志庫中的編輯距離,將日志片段定位到一個或多個問答網(wǎng)站中 的問題,由此得到用戶故障定位信息。9. 如權(quán)利要求6所述基于問答網(wǎng)站知識的軟件配置故障自動修復(fù)方法,其特征是,步驟 15)具體使用linux shell語法生成所述問題修復(fù)腳本;步驟15)所述查找得到用戶系統(tǒng)中 相應(yīng)的配置文件,具體執(zhí)行如下操作: 首先,定義文件名的相似度函數(shù)similar(filel,file2),該相似度函數(shù)以一個范圍為0 到1的數(shù)字表示filel和file2文件名的相似度; 然后,將用戶目錄結(jié)構(gòu)數(shù)據(jù)以樹結(jié)構(gòu)存儲,從根目錄開始逐層遍歷每層的所有文件名, 每次遍歷都選出與所述修復(fù)指令中的文件名相似度最高的文件作為候選文件; 如果當(dāng)前目錄下的候選文件相比上一層的候選文件更相似,則該文件為候選文件,否 則候選文件不變; 最后,遍歷到無下級目錄時停止,將此時的候選文件作為需要修復(fù)的文件。10. 利用權(quán)利要求1~9所述基于問答網(wǎng)站知識的軟件配置故障自動修復(fù)方法實現(xiàn)的基 于問答網(wǎng)站知識的軟件配置故障自動修復(fù)系統(tǒng),其特征是,所述軟件配置故障自動修復(fù)系 統(tǒng)以問答網(wǎng)站數(shù)據(jù)和用戶系統(tǒng)數(shù)據(jù)作為輸入,包括雙線數(shù)據(jù)收集模塊、在線日志分析與故 障定位模塊和故障修復(fù)腳本生成模塊; 所述雙線數(shù)據(jù)收集模塊包括問答網(wǎng)站數(shù)據(jù)收集器和用戶系統(tǒng)數(shù)據(jù)收集器兩個子模塊, 用于收集問答網(wǎng)站和用戶系統(tǒng)日志的數(shù)據(jù),為另兩個模塊提供數(shù)據(jù)支持;所述問答網(wǎng)站數(shù) 據(jù)收集器用于從問答網(wǎng)站上收集配置故障問題相關(guān)的日志數(shù)據(jù)及答案數(shù)據(jù),所述用戶日志 收集器用于從用戶系統(tǒng)中收集用戶日志數(shù)據(jù);所述用戶日志數(shù)據(jù)和問題的日志數(shù)據(jù)傳遞給 在線日志分析與故障定位模塊,所述答案數(shù)據(jù)傳遞給故障修復(fù)腳本生成模塊; 所述在線日志分析與故障定位模塊包括日志預(yù)處理器和用戶故障日志定位器兩個子 模塊,用于對獲取的日志數(shù)據(jù)進(jìn)行預(yù)處理,并將用戶故障匹配到一個或幾個問答網(wǎng)站的問 題上;所述日志預(yù)處理器以問答網(wǎng)站的問題日志數(shù)據(jù)和用戶系統(tǒng)日志數(shù)據(jù)作為輸入,對日 志數(shù)據(jù)進(jìn)行預(yù)處理;經(jīng)過預(yù)處理后,用戶故障日志定位器通過相似度匹配的方法計算用戶 日志和問答網(wǎng)站問題日志間的距離,將用戶日志中的故障問題匹配到問答網(wǎng)站的問題,并 將結(jié)果傳遞給所述故障修復(fù)腳本生成模塊; 所述故障修復(fù)腳本生成模塊包含修復(fù)指令提取器、修復(fù)指令倉庫和修復(fù)腳本生成器子 模塊,用于自動生成用于修復(fù)用戶配置故障的腳本;所述修復(fù)指令提取器以問答網(wǎng)站答案 數(shù)據(jù)為輸入,通過分析網(wǎng)站答案數(shù)據(jù),將答案中的指令或文件操作提取出來,作為該問題的 解決方案;所述修復(fù)腳本生成器根據(jù)用戶故障定位結(jié)果,提取相應(yīng)問題的解決方案,并根據(jù) 用戶系統(tǒng)文件目錄,生成該問題的修復(fù)腳本;最后將腳本提供給用戶用于解決用戶系統(tǒng)的 軟件配置故障。
【文檔編號】G06F17/30GK105824718SQ201610202074
【公開日】2016年8月3日
【申請日】2016年4月1日
【發(fā)明人】李影, 賈統(tǒng), 岳陽, 吳中海
【申請人】北京大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1