本發明實施例涉及信息處理技術領域,尤其涉及一種通過自然語言處理進行運維排障的方法和裝置。
背景技術:
隨著信息化進程的飛速發展,計算機系統已經成為現代企業的一部分。近年來各行業信息化建設不斷完善,業務的操作也越來越集中于信息系統或信息平臺。保證系統正常運行的運維工作也日漸重要,如何在突發狀況出現時及時修復解決是運維人員的工作重點之一。
目前針對突發故障,業界普遍采用逐步排查檢測法,例如針對網絡中斷故障:
當客戶端發生網絡中斷的故障后,首先判斷用戶(或終端)到三層網關設備之間通道是否存在問題,從用戶(或終端)上ping網關是否能通,用戶(或終端)自身是否發生問題。
二層網絡是否正常:如果用戶(或終端)ping網關不通,則檢查下端二層網絡、用戶網線、三層網關設備以下網線或光纖是否正常,端口是否up,是否有crcerror報文統計。檢查二層網絡中的交換機設備是否能正常學習到用戶mac地址,檢查三層網關設備與二層交換設備之間的連通性、二層設備的cpu利用率是否正常,是否有二層環路造成或病毒攻擊。首先確保用戶(或終端)能正常ping通網關設備
三層網絡是否正常:可以通過telnet/console口登陸三層設備,如果有問題,通過ping、tracert、showlogging、端口統計、cpu利用率統計、鏈路狀態、路由表狀態、mpls標簽表狀態等對問題進行分析,在業務忙時,不得擅自重啟或倒換三層核心路由器等設備。
如果用戶上網或承載業務仍然存在故障,可以查看dns等外界環境是否正常,承載的業務本身是否發生問題,查看相關告警,然后做出相應的處理。
這種逐步排查的工作方式需要耗費運維人員的大量精力進行人工排障,很容易出現漏查等問題,從而在管理上不能做到準確的安全運維,存在漏洞。而且出現問題后逐步排查實時性較差,不能及時發現問題。用戶需要一種同時滿足實時性、智能化和安全性良好的故障應對方法。
業界長期以來對事后分析的重視度不高,因為運維人員面對的故障原因多種多樣,事后分析的結果很難明顯的作用于下一次故障的預防或處理上。
其它問題,如果現場不能解決,就通報關鍵用戶并聯系廠商解決。因此,目前暫時還沒有能夠較好地解決上述問題的方法或裝置出現。
技術實現要素:
為了克服相關技術中存在的技術問題,本發明提供一種通過自然語言處理進行運維排障的方法和裝置,以實現通過故障知識數據庫實現在故障發生時快速及時地得到相關的故障應對方案。
第一方面,本發明實施例提供了一種通過自然語言處理進行運維排障的方法,其具體的技術方案包括:
根據歷史數據中存在的故障現象、故障原因以及故障解決方案進行分析,建立故障現象、故障原因以及故障解決方案三者關聯關系的故障知識數據庫;
當發生故障時,獲取與故障相關的系統日志;
提取所述故障知識數據庫中故障現象的關鍵字段,并與所述系統日志進行匹配;
當所述故障知識數據庫中的關鍵字段與所述系統日志匹配成功時,推送所述故障知識數據庫中的與所述關鍵字段關聯的故障解決方案。
結合另一方面,在另一方面的一種可能出現的實現方式中,當所述故障知識數據庫中的關鍵字段與所述系統日志匹配未成功時,根據用戶關于新故障已形成的反饋解決方案將該次新故障的新故障現象、新故障原因以及新故障解決方案添加到所述故障知識數據庫中。
結合另一方面,在另一方面的一種可能出現的實現方式中,所述方法還包括:
對添加到所述故障知識數據庫中的每一新故障現象、新故障原因以及新故障解決方案均設置對應的新關鍵字段,以在所述提取所述故障知識數據庫中的關鍵字段,并與所述系統日志進行匹配的步驟中,利用所述新關鍵字段與所述系統日志進行匹配。
結合另一方面,在另一方面的一種可能出現的實現方式中,所述提取所述故障知識數據庫中故障現象的關鍵字段,并與所述系統日志進行匹配,包括:
通過自然語言處理提取故障現象的表征描述信息或發生原因中的至少一個;
將所述故障現象的表征描述信息或發生原因中的至少一個作為關鍵字段;
以所述關鍵字段對所述故障知識數據庫中已保存的故障現象的關鍵字段進行匹配。
結合另一方面,在另一方面的一種可能出現的實現方式中,所述當發生故障時,獲取與故障相關的系統日志,包括:
接收系統日志;
對所述系統日志中的非結構化數據轉化為結構化日志數據;
所述提取所述故障知識數據庫中故障現象的關鍵字段,并與所述系統日志進行匹配,包括:
對轉化后的結構化日志數據中的操作對象、操作時間、操作地點、操作類型以及授權信息中的一種或二種以上的組合作為關鍵字段信息,以與所述故障知識數據庫中故障現象的關鍵字段進行匹配。
第二方面,本發明實施例還提供了一種通過自然語言處理進行運維排障的裝置,其具體的技術方案包括:
庫建立模塊,用于根據歷史數據中存在的故障現象、故障原因以及故障解決方案進行分析,建立故障現象、故障原因以及故障解決方案三者關聯關系的故障知識數據庫;
獲取模塊,用于當發生故障時,獲取與故障相關的系統日志;
匹配模塊,用于提取所述故障知識數據庫中故障現象的關鍵字段,并與所述系統日志進行匹配;
推送模塊,用于當所述故障知識數據庫中的關鍵字段與所述系統日志匹配成功時,推送所述故障知識數據庫中的與所述關鍵字段關聯的故障解決方案。
結合另一方面,在另一方面的一種可能出現的實現方式中,所述裝置還包括:智能學習模塊,用于當所述故障知識數據庫中的關鍵字段與所述系統日志匹配未成功時,根據用戶關于新故障已形成的反饋解決方案將該次新故障的新故障現象、新故障原因以及新故障解決方案添加到所述故障知識數據庫中。
結合另一方面,在另一方面的一種可能出現的實現方式中,所述裝置還包括:
字段匹配模塊,用于對添加到所述故障知識數據庫中的每一新故障現象、新故障原因以及新故障解決方案均設置對應的新關鍵字段,以在所述提取所述故障知識數據庫中的關鍵字段,并與所述系統日志進行匹配的步驟中,利用所述新關鍵字段與所述系統日志進行匹配。
結合另一方面,在另一方面的一種可能出現的實現方式中,所述匹配模塊,包括:
自然語言處理子模塊,用于通過自然語言處理提取故障現象的表征描述信息或發生原因中的至少一個;
字段選取子模塊,用于將所述故障現象的表征描述信息或發生原因中的至少一個作為關鍵字段;
所述匹配匹配還用于:以所述關鍵字段對所述故障知識數據庫中已保存的故障現象的關鍵字段進行匹配。
結合另一方面,在另一方面的一種可能出現的實現方式中,所述獲取模塊,包括:
接收模塊,用于接收系統日志;
轉化模塊,用于對所述系統日志中的非結構化數據轉化為結構化日志數據;
所述匹配模塊還用于:對轉化后的結構化日志數據中的操作對象、操作時間、操作地點、操作類型以及授權信息中的一種或二種以上的組合作為關鍵字段信息,以與所述故障知識數據庫中故障現象的關鍵字段進行匹配。
本發明通過建立的故障知識數據庫使得在故障發生時快速查找得到相關的故障應對方案,大大提高排除故障的效率,節約時間和人力成本,比原來的逐步排查快速省力,幫助用戶減少故障恢復時間(meantimetorepair,mttr),并且能夠通過用戶的反饋不斷強化故障應對方案的故障知識數據庫,解決目前人工排查故障效率低下的問題。
應當理解的是,以上的一般描述和后文的細節描述僅是示例性和解釋性的,并不能限制本發明。
附圖說明
此處的附圖被并入說明書中并構成本說明書的一部分,示出了符合本發明的實施例,并與說明書一起用于解釋本發明的原理。
圖1是根據一示例性實施例示出的一種通過自然語言處理進行運維排障的方法的流程示意圖。
圖2是根據一示例性實施例示出的匹配過程的流程圖。
圖3是根據一示例性實施例示出的結構化后匹配方法的流程圖。
圖4是根據一示例性實施例示出的一種通過自然語言處理進行運維排障的裝置的框圖。
圖5是根據一示例性實施例示出的匹配時轉化匹配模塊的裝置框圖。
具體實施方式
下面結合附圖和實施例對本發明作進一步的詳細說明。可以理解的是,此處所描述的具體實施例僅僅用于解釋本發明,而非對本發明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發明相關的部分而非全部結構。
在更加詳細地討論示例性實施例之前應當提到的是,一些示例性實施例被描述成作為流程圖描繪的處理或方法。雖然流程圖中將各步驟描述成順序的處理,但是其中的許多步驟可以并行地、并發地或者同時實施。此外,各步驟的順序可以被重新安排,當其操作完成時所述處理可以被終止,但是還可以具有未包括在附圖內的其它步驟。處理可以對應于方法、函數、規程、子例程、子程序等。
本發明涉及一種通過自然語言處理進行運維排障的方法及其對應的裝置,其主要運用于需要對it系統進行運營維護以及故障排除的場景中,其基本思想是:根據歷史數據中存在的故障現象、故障原因以及故障解決方案進行分析,建立故障現象、故障原因以及故障解決方案三者關聯關系的故障知識數據庫并在后期不斷地對該故障知識數據庫進行強化,使得當系統出現故障或異常時,故障知識數據庫能夠根據出現故障的故障現象的關鍵字段快速地提供解決方案,提供了一種同時滿足實時性、智能化和安全性良好的故障應對方法。
本實施例可適用于帶有機器學習模塊的it企業終端中以進行快速故障排除的情況中,該方法可以由機器學習模塊來執行,其中該裝置可以由軟件和/或硬件來實現,如圖1所示,為本發明的通過自然語言處理進行運維排障的方法的流程示意圖,所述方法具體包括如下步驟:
在步驟110中,根據歷史數據中存在的故障現象、故障原因以及故障解決方案進行分析,建立故障現象、故障原因以及故障解決方案三者關聯關系的故障知識數據庫;
對于歷史數據中存在的故障現象、故障原因以及故障解決方案進行分析,可通過建立模型的方式對歷史數據中的故障相關數據進行選取,并進而建立故障現象、故障原因以及故障解決方案的映射關系,從而形成所述故障知識數據庫。
在本發明示例性實施例的一種實施場景中,還可以對所述故障解決方案中的各類未輸入所述故障知識庫中的故障進行排查,通過人工輸入的方式將該遺漏的故障現象、故障原因以及故障解決方案的映射關系輸入所述故障知識數據庫。
在步驟120中,當發生故障時,獲取與故障相關的系統日志;
當發生故障時接收系統日志,所述系統日志包括設備的操作系統運行時產生的系統日志、應用程序日志以及安全日志等;在一種可行的實施方式中,其可以通過對操作系統中運行中輸入eventvwr.msc調用系統的事件查看器對系統日志進行接收。
在步驟130中,提取所述故障知識數據庫中故障現象的關鍵字段,并與所述系統日志進行匹配;
在本步驟中,其可以通過自然語言處理方法對所述的關鍵字段進行提取,自然語言處理是計算機科學、人工智能、語言學關注計算機和人類(自然)語言之間的相互作用的領域,其處理方式可以是機器學習跟模式識別、統計學習、數據挖掘、計算機視覺、語音識別等,其具體的方式本發明并不限制,如圖2所示,其具體的方法可包括如下步驟;
在步驟131中,通過自然語言處理提取故障現象的表征描述信息或發生原因中的至少一個;
在步驟132中,將所述故障現象的表征描述信息或發生原因中的至少一個作為關鍵字段;
在步驟133中,以所述關鍵字段對所述故障知識數據庫中已保存的故障現象的關鍵字段進行匹配。
所述系統日志的關鍵字段可以為表示某一類型的信息,通過故障現象的表征描述信息和/或發生原因作為關鍵字段的方式,可以通過該關鍵字段更準確地所述故障知識數據庫中進行最為相同或者相似的故障現象的匹配,進而查找出最適合的故障解決方案。
在步驟140中,當所述故障知識數據庫中的關鍵字段與所述系統日志匹配成功時,推送所述故障知識數據庫中的與所述關鍵字段關聯的故障解決方案。
推送與所述故障現象最匹配的故障解決方案,即可以使得根據該故障解決方案解決故障,其故障解決效率得到了大幅提升。
同時,在本發明示例性實施例的實施場景中,用戶還可以對故障知識數據庫提供的故障解決方案的推送進行設置,例如“共享”、“感興趣,下次主動提醒”、“不感興趣,取消提醒”以及“刪除”、“推送方案無法解決故障”等,使得故障知識數據庫能夠根據用戶的設置進一步對已保存的故障現象、故障原因以及故障解決方案的映射關系進行優化,也能夠根據用戶的設置更人性化地進行提醒或推送服務。
本發明的方法,通過建立的故障知識數據庫使得在故障發生時快速查找得到相關的故障應對方案,大大提高排除故障的效率,節約時間和人力成本,比原來的逐步排查快速省力,幫助用戶減少故障恢復時間(meantimetorepair,mttr),并且能夠通過用戶的反饋不斷強化故障應對方案的故障知識數據庫,解決目前人工排查故障效率低下的問題。
在本發明示例性實施例的一種實施場景中,當所述故障知識數據庫中的關鍵字段與所述系統日志匹配未成功時,還可以實現對所述故障知識數據庫的不斷強化,結合圖1所示,這一強化過程可包括如下步驟;
在步驟150中,根據用戶關于新故障已形成的反饋解決方案將該次新故障的新故障現象、新故障原因以及新故障解決方案添加到所述故障知識數據庫中。
對于每一次出現的新故障,可以通過網絡查詢其對應的新故障原因以及新故障解決方案,可以通過人工輸入的方法將該新故障對應的新故障原因以及新故障解決方案添加到所述故障知識數據庫中以持續強化所述故障知識數據庫,不斷豐富能夠解決故障的數據,從而應對不斷出現的新的故障問題。
對于所推薦或推送的故障應對方案,在一種可行的實施方式中,其還可以注明故障原因、故障等級、發生概率等信息,使用戶可詳細查看每個故障應對方案所匹配的日志信息。
在本發明示例性實施例的另一種實施場景中,所述方法還包括:
對添加到所述故障知識數據庫中的每一新故障現象、新故障原因以及新故障解決方案均設置對應的新關鍵字段,以在所述提取所述故障知識數據庫中的關鍵字段,并與所述系統日志進行匹配的步驟中,利用所述新關鍵字段與所述系統日志進行匹配。
對于新故障的關鍵字段,當其也所述故障知識數據庫中已保存的故障的表征描述信息較為相似、相似或相同時,其可以根據其出現的時間對該關鍵字段帶上時間標簽,以便于對其進行區分,便于在后續的故障解決時推送更為準確的故障解決方案。
在本發明示例性實施例的另一種實施場景中,所述步驟120中還可以包括對系統日志中的數據進行結構化轉化,以便于對結構化轉化后的系統日志進行關鍵字段的匹配,如圖3所示,這一過程可包括如下步驟:
在步驟121中,接收系統日志;
在步驟122中,對所述系統日志中的非結構化數據轉化為結構化日志數據;
所述提取所述故障知識數據庫中故障現象的關鍵字段,并與所述系統日志進行匹配,包括:
在步驟130’中,對轉化后的結構化日志數據中的操作對象、操作時間、操作地點、操作類型以及授權信息中的一種或二種以上的組合作為關鍵字段信息,以與所述故障知識數據庫中故障現象的關鍵字段進行匹配。
結構化數據可以用二維表結構來邏輯表達實現,而從二維表結構中選取關鍵字段則可以實現更高的效率以及更低的延誤,使得當用戶從所述故障知識數據庫中輸入故障查詢方案時,可以自動且及時地匹配實時入庫的關鍵字,推薦故障應對方案。
本發明的方法,可以極大地提高排除故障的效率,幫助用戶減少故障恢復時間(meantimetorepair,mttr),節約時間和人力成本,比原來的逐步排查快速省力。
圖4為本發明實施例五提供的一種通過自然語言處理進行運維排障的裝置的結構示意圖,該裝置可由軟件和/或硬件實現,一般地集成于企業it(informationtechnology,信息技術)終端中,可通過自然語言處理進行運維排障的的方法來實現。如圖所示,本實施例可以以上述實施例為基礎,提供了一種通過自然語言處理進行運維排障的裝置,其主要包括了庫建立模塊410、獲取模塊420、匹配模塊430以及推送模塊440。
其中的庫建立模塊410,用于根據歷史數據中存在的故障現象、故障原因以及故障解決方案進行分析,建立故障現象、故障原因以及故障解決方案三者關聯關系的故障知識數據庫;
獲取模塊420,用于當發生故障時,獲取與故障相關的系統日志;
匹配模塊430,用于提取所述故障知識數據庫中故障現象的關鍵字段,并與所述系統日志進行匹配;
推送模塊440,用于當所述故障知識數據庫中的關鍵字段與所述系統日志匹配成功時,推送所述故障知識數據庫中的與所述關鍵字段關聯的故障解決方案。
在本發明示例性實施例的另一種實施場景中,所述裝置還包括:智能學習模塊450,用于當所述故障知識數據庫中的關鍵字段與所述系統日志匹配未成功時,根據用戶關于新故障已形成的反饋解決方案將該次新故障的新故障現象、新故障原因以及新故障解決方案添加到所述故障知識數據庫中。
在本發明示例性實施例的另一種實施場景中,所述裝置還包括:
字段匹配模塊,用于對添加到所述故障知識數據庫中的每一新故障現象、新故障原因以及新故障解決方案均設置對應的新關鍵字段,以在所述提取所述故障知識數據庫中的關鍵字段,并與所述系統日志進行匹配的步驟中,利用所述新關鍵字段與所述系統日志進行匹配。
在本發明示例性實施例的另一種實施場景中,所述匹配模塊,包括:
自然語言處理子模塊,用于通過自然語言處理提取故障現象的表征描述信息或發生原因中的至少一個;
字段選取子模塊,用于將所述故障現象的表征描述信息或發生原因中的至少一個作為關鍵字段;
所述匹配匹配還用于:以所述關鍵字段對所述故障知識數據庫中已保存的故障現象的關鍵字段進行匹配。
在本發明示例性實施例的另一種實施場景中,如圖5所示,所述獲取模塊410,包括:
接收模塊411,用于接收系統日志;
轉化模塊412,用于對所述系統日志中的非結構化數據轉化為結構化日志數據;
所述匹配模塊還包括:轉化匹配模塊413,對轉化后的結構化日志數據中的操作對象、操作時間、操作地點、操作類型以及授權信息中的一種或二種以上的組合作為關鍵字段信息,以與所述故障知識數據庫中故障現象的關鍵字段進行匹配。
上述實施例中提供的通過自然語言處理進行運維排障的裝置可執行本發明中任意實施例中所提供的通過自然語言處理進行運維排障的方法,具備執行該方法相應的功能模塊和有益效果,未在上述實施例中詳細描述的技術細節,可參見本發明任意實施例中所提供的通過自然語言處理進行運維排障的方法。
將意識到的是,本發明也擴展到適合于將本發明付諸實踐的計算機程序,特別是載體上或者載體中的計算機程序。程序可以以源代碼、目標代碼、代碼中間源和諸如部分編譯的形式的目標代碼的形式,或者以任何其它適合在按照本發明的方法的實現中使用的形式。也將注意的是,這樣的程序可能具有許多不同的構架設計。例如,實現按照本發明的方法或者系統的功能性的程序代碼可能被再分為一個或者多個子例程。
用于在這些子例程中間分布功能性的許多不同方式將對技術人員而言是明顯的。子例程可以一起存儲在一個可執行文件中,從而形成自含式的程序。這樣的可執行文件可以包括計算機可執行指令,例如處理器指令和/或解釋器指令(例如,java解釋器指令)。可替換地,子例程的一個或者多個或者所有子例程都可以存儲在至少一個外部庫文件中,并且與主程序靜態地或者動態地(例如在運行時間)鏈接。主程序含有對子例程中的至少一個的至少一個調用。子例程也可以包括對彼此的函數調用。涉及計算機程序產品的實施例包括對應于所闡明方法中至少一種方法的處理步驟的每一步驟的計算機可執行指令。這些指令可以被再分成子例程和/或被存儲在一個或者多個可能靜態或者動態鏈接的文件中。
另一個涉及計算機程序產品的實施例包括對應于所闡明的系統和/或產品中至少一個的裝置中每個裝置的計算機可執行指令。這些指令可以被再分成子例程和/或被存儲在一個或者多個可能靜態或者動態鏈接的文件中。
計算機程序的載體可以是能夠運載程序的任何實體或者裝置。例如,載體可以包含存儲介質,諸如(rom例如cdrom或者半導體rom)或者磁記錄介質(例如軟盤或者硬盤)。進一步地,載體可以是可傳輸的載體,諸如電學或者光學信號,其可以經由電纜或者光纜,或者通過無線電或者其它手段傳遞。當程序具體化為這樣的信號時,載體可以由這樣的線纜或者其它裝置或者裝置組成。可替換地,載體可以是其中嵌入有程序的集成電路,所述集成電路適合于執行相關方法,或者供相關方法的執行所用。
應該留意的是,上文提到的實施例是舉例說明本發明,而不是限制本發明,并且本領域的技術人員將能夠設計許多可替換的實施例,而不會偏離所附權利要求的范圍。在權利要求中,任何放置在圓括號之間的參考符號不應被解讀為是對權利要求的限制。動詞“包括”和其詞形變化的使用不排除除了在權利要求中記載的那些之外的元素或者步驟的存在。在元素之前的冠詞“一”或者“一個”不排除復數個這樣的元素的存在。本發明可以通過包括幾個明顯不同的元件的硬件,以及通過適當編程的計算機而實現。在列舉幾種裝置的裝置權利要求中,這些裝置中的幾種可以通過硬件的同一項來體現。在相互不同的從屬權利要求中陳述某些措施的單純事實并不表明這些措施的組合不能被用來獲益。
如果期望的話,這里所討論的不同功能可以以不同順序執行和/或彼此同時執行。此外,如果期望的話,以上所描述的一個或多個功能可以是可選的或者可以進行組合。
如果期望的話,上文所討論的各步驟并不限于各實施例中的執行順序,不同步驟可以以不同順序執行和/或彼此同時執行。此外,在其他實施例中,以上所描述的一個或多個步驟可以是可選的或者可以進行組合。
雖然本發明的各個方面在獨立權利要求中給出,但是本發明的其它方面包括來自所描述實施方式的特征和/或具有獨立權利要求的特征的從屬權利要求的組合,而并非僅是權利要求中所明確給出的組合。
這里所要注意的是,雖然以上描述了本發明的示例實施方式,但是這些描述并不應當以限制的含義進行理解。相反,可以進行若干種變化和修改而并不背離如所附權利要求中所限定的本發明的范圍。
本領域普通技術人員應該明白,本發明實施例的裝置中的各模塊可以用通用的計算裝置來實現,各模塊可以集中在單個計算裝置或者計算裝置組成的網絡組中,本發明實施例中的裝置對應于前述實施例中的方法,其可以通過可執行的程序代碼實現,也可以通過集成電路組合的方式來實現,因此本發明并不局限于特定的硬件或者軟件及其結合。
本領域普通技術人員應該明白,本發明實施例的裝置中的各模塊可以用通用的移動終端來實現,各模塊可以集中在單個移動終端或者移動終端組成的裝置組合中,本發明實施例中的裝置對應于前述實施例中的方法,其可以通過編輯可執行的程序代碼實現,也可以通過集成電路組合的方式來實現,因此本發明并不局限于特定的硬件或者軟件及其結合。
注意,上述僅為本發明的示例性實施例及所運用技術原理。本領域技術人員會理解,本發明不限于這里所述的特定實施例,對本領域技術人員來說能夠進行各種明顯的變化、重新調整和替代而不會脫離本發明的保護范圍。這里無需也無法對所有的實施方式予以窮舉。因此,雖然通過以上實施例對本發明進行了較為詳細的說明,但是本發明不僅僅限于以上實施例,在不脫離本發明構思的情況下,還可以包括更多其他等效實施例,凡在本發明的精神和和原則之內所引伸出的任何顯而易見的變化或者變動仍處于本發明權利要求所保護的范圍之中。