本發(fā)明屬于計算機技術領域,特別是涉及一種異常事件處理方法及系統(tǒng)、客戶端及服務端。
背景技術:
計算機、手機、智能電視等電子設備在使用過程中會出現(xiàn)各種異常情況,導致應用程序無法正常運行,甚至造成應用程序崩潰,由于引起這些異常情況的原因各異,當電子設備的系統(tǒng)出現(xiàn)異常情況時,需要找出造成這種異常情況的原因才能夠徹底解決這種異常情況。
通常,在操作系統(tǒng)中都設有系統(tǒng)日志,系統(tǒng)日志記錄了系統(tǒng)硬件、軟件和系統(tǒng)問題的信息,同時還可以監(jiān)視系統(tǒng)中發(fā)生的事件。當系統(tǒng)出現(xiàn)異常情況時,都會有事件產(chǎn)生,通過查看系統(tǒng)日志可以獲得異常事件產(chǎn)生的原因。
目前,在系統(tǒng)出現(xiàn)異常情況時,通常會通過彈窗提示用戶,由于大多數(shù)用戶并不具備專業(yè)知識,即使在通過系統(tǒng)日志了解了異常事件產(chǎn)生的原因后,仍不能獲得有效的解決方案,還需要通過系統(tǒng)管理員或者技術支持在查看系統(tǒng)日志后,根據(jù)異常事件產(chǎn)生的原因人為配置相應的解決方案。
這種通過人為配置解決方案的異常事件處理方式,從事件產(chǎn)生到解決方案出臺耗時較長、且步驟繁瑣,不符合人們希望及時、高效地對異常事件進行處理的需求。
技術實現(xiàn)要素:
本發(fā)明實施例要解決的一個技術問題是:提供一種異常事件處理方法及系統(tǒng)、客戶端及服務端,在系統(tǒng)出現(xiàn)異常情況時能夠方便、高效地解決異常事件。
為解決上述技術問題,根據(jù)本發(fā)明實施例的一個方面,提供一種異常事件處理方法,包括:
基于對系統(tǒng)日志的監(jiān)控,獲取系統(tǒng)產(chǎn)生的異常事件;
根據(jù)預設規(guī)則對所述異常事件的信息進行預處理,獲得預設格式的異常信息;
將所述預設格式的異常信息上傳服務端;
接收所述服務端返回的對所述異常事件的處理方案;
依據(jù)所述處理方案,執(zhí)行相應的操作解決所述異常事件。
在基于本發(fā)明上述方法的另一個實施例中,所述根據(jù)預設規(guī)則對所述異常事件的信息進行預處理,包括:
根據(jù)預設的格式化規(guī)則對所述異常事件的信息進行格式化處理,獲得所述預設格式的異常信息。
在基于本發(fā)明上述方法的另一個實施例中,所述異常事件的信息包括:xml文件;
所述根據(jù)預設的格式化規(guī)則對所述異常事件的信息進行格式化處理,包括:
依據(jù)xml文件的節(jié)點,將所述異常事件的信息拆分為多個單獨的字段;
以每個字段對應的節(jié)點的節(jié)點名及其所有父節(jié)點的節(jié)點名以預設分隔符連接作為每個字段的字段名。
在基于本發(fā)明上述方法的另一個實施例中,所述根據(jù)預設的格式化規(guī)則對所述異常事件的信息進行格式化處理,還包括:
依據(jù)預設的節(jié)點名縮寫列表,以所述節(jié)點名縮寫列表中節(jié)點名的縮寫代替字段名中對應的節(jié)點名。
在基于本發(fā)明上述方法的另一個實施例中,還包括:
根據(jù)預設的時間周期性查詢服務端,獲取所述節(jié)點名縮寫列表。
在基于本發(fā)明上述方法的另一個實施例中,所述根據(jù)預設的格式化規(guī)則對所述異常事件的信息進行格式化處理,還包括:
依據(jù)每個字段對應的節(jié)點的類型,在每個字段的字段名前增加預設的代表節(jié)點類型的原語,并以預設分隔符連接。
在基于本發(fā)明上述方法的另一個實施例中,所述根據(jù)預設規(guī)則對所述異常事件的信息進行預處理,還包括:
所述根據(jù)預設的格式化規(guī)則對所述異常事件的信息進行格式化處理之后,依據(jù)預設的黑名單節(jié)點列表,對所述異常事件拆分的字段進行過濾,獲得上傳服務端的所述預設格式的異常信息。
在基于本發(fā)明上述方法的另一個實施例中,所述依據(jù)預設的黑名單節(jié)點列表,對所述異常事件的字段進行過濾,針對每個字段包括:
檢測當前字段對應的節(jié)點的節(jié)點名是否在預設的黑名單節(jié)點列表中;
若當前字段對應的節(jié)點的節(jié)點名在預設的黑名單節(jié)點列表中,以下一個字段作為當前字段,執(zhí)行所述檢測當前字段對應的節(jié)點的節(jié)點名是否在預設的黑名單節(jié)點列表中的操作;
若當前字段對應的節(jié)點的節(jié)點名未在預設的黑名單節(jié)點列表中,將當前字段作為上傳服務端的所述預設格式的異常信息。
在基于本發(fā)明上述方法的另一個實施例中,還包括:
根據(jù)預設的時間周期性查詢服務端,獲取所述黑名單節(jié)點列表。
在基于本發(fā)明上述方法的另一個實施例中,所述基于對系統(tǒng)日志的監(jiān)控,獲取系統(tǒng)產(chǎn)生的異常事件,包括:
基于對系統(tǒng)日志的監(jiān)控,根據(jù)預設的監(jiān)控范圍獲取系統(tǒng)產(chǎn)生的異常事件。
在基于本發(fā)明上述方法的另一個實施例中,所述監(jiān)控范圍包括:xpath表達式。
在基于本發(fā)明上述方法的另一個實施例中,還包括:
根據(jù)預設的時間周期性查詢服務端,獲取所述監(jiān)控范圍。
在基于本發(fā)明上述方法的另一個實施例中,所述依據(jù)所述處理方案,執(zhí)行相應的操作解決所述異常事件,包括:
依據(jù)所述處理方案,彈窗顯示所述異常事件的相關信息,并通過所述彈窗提供對所述異常事件的處理路徑;
響應于用戶的操作,執(zhí)行所述處理路徑提供的相應的操作,解決所述異常事件。
在基于本發(fā)明上述方法的另一個實施例中,所述依據(jù)所述處理方案,執(zhí)行相應的操作解決所述異常事件,還包括:
檢測系統(tǒng)當前的運行狀態(tài)是否符合預設的彈窗條件;
若系統(tǒng)當前的運行狀態(tài)符合預設的彈窗條件,依據(jù)所述處理方案,彈窗顯示所述異常事件的相關信息,并通過所述彈窗提供對所述異常事件的處理路徑。
在基于本發(fā)明上述方法的另一個實施例中,還包括:
根據(jù)預設的時間周期性查詢服務端,獲取所述彈窗條件。
根據(jù)本發(fā)明實施例的另一個方面,提供一種異常事件處理方法,包括:
接收客戶端上傳的預設格式的異常信息;其中,所述預設格式的異常信息,具體基于對系統(tǒng)日志的監(jiān)控所獲取的系統(tǒng)產(chǎn)生的異常事件的信息獲得;
根據(jù)預設規(guī)則對所述預設格式的異常信息進行解析,獲得所述異常事件的信息;
依據(jù)所述異常事件的信息,查詢與所述異常事件匹配的處理方案,獲得對所述異常事件的處理方案;
將對所述異常事件的處理方案返回所述客戶端。
在基于本發(fā)明上述方法的另一個實施例中,所述根據(jù)預設規(guī)則對所述預設格式的異常信息進行解析,包括:
根據(jù)預設的格式化規(guī)則,對所述預設格式的異常信息進行解析,獲得所述異常事件的信息。
在基于本發(fā)明上述方法的另一個實施例中,所述處理方案以彈窗顯示所述異常事件的相關信息,并通過所述彈窗提供對所述異常事件的處理路徑。
在基于本發(fā)明上述方法的另一個實施例中,所述處理方案包括:xml文件。
根據(jù)本發(fā)明實施例的又一個方面,提供的一種客戶端,包括:
獲取單元,用于基于對系統(tǒng)日志的監(jiān)控,獲取系統(tǒng)產(chǎn)生的異常事件;
預處理單元,用于根據(jù)預設規(guī)則對所述異常事件的信息進行預處理,獲得預設格式的異常信息;
發(fā)送單元,用于將所述預設格式的異常信息上傳服務端;
接收單元,用于接收所述服務端返回的對所述異常事件的處理方案;
執(zhí)行單元,用于依據(jù)所述處理方案,執(zhí)行相應的操作解決所述異常事件。
在基于本發(fā)明上述客戶端的另一個實施例中,所述預處理單元,包括:
格式化模塊,用于根據(jù)預設的格式化規(guī)則對所述異常事件的信息進行格式化處理,獲得所述預設格式的異常信息。
在基于本發(fā)明上述客戶端的另一個實施例中,所述異常事件的信息包括:xml文件;
所述格式化模塊,具體用于:
依據(jù)xml文件的節(jié)點,將所述異常事件的信息拆分為多個單獨的字段;
以每個字段對應的節(jié)點的節(jié)點名及其所有父節(jié)點的節(jié)點名以預設分隔符連接作為每個字段的字段名。
在基于本發(fā)明上述客戶端的另一個實施例中,所述格式化模塊,還具體用于:
依據(jù)預設的節(jié)點名縮寫列表,以所述節(jié)點名縮寫列表中節(jié)點名的縮寫代替字段名中對應的節(jié)點名。
在基于本發(fā)明上述客戶端的另一個實施例中,還包括:
配置單元,用于根據(jù)預設的時間周期性查詢服務端,獲取所述節(jié)點名縮寫列表。
在基于本發(fā)明上述客戶端的另一個實施例中,所述格式化模塊,還具體用于:
依據(jù)每個字段對應的節(jié)點的類型,在每個字段的字段名前增加預設的代表節(jié)點類型的原語,并以預設分隔符連接。
在基于本發(fā)明上述客戶端的另一個實施例中,所述預處理單元,還包括:
過濾模塊,在所述格式化模塊之后,用于依據(jù)預設的黑名單節(jié)點列表,對所述異常事件拆分的字段進行過濾,獲得上傳服務端的所述預設格式的異常信息。
在基于本發(fā)明上述客戶端的另一個實施例中,所述過濾模塊,針對每個字段具體用于:
檢測當前字段對應的節(jié)點的節(jié)點名是否在預設的黑名單節(jié)點列表中;
若當前字段對應的節(jié)點的節(jié)點名在預設的黑名單節(jié)點列表中,以下一個字段作為當前字段,執(zhí)行所述檢測當前字段對應的節(jié)點的節(jié)點名是否在預設的黑名單節(jié)點列表中的操作;
若當前字段對應的節(jié)點的節(jié)點名未在預設的黑名單節(jié)點列表中,將當前字段作為上傳服務端的所述預設格式的異常信息。
在基于本發(fā)明上述客戶端的另一個實施例中,還包括:
配置單元,用于根據(jù)預設的時間周期性查詢服務端,獲取所述黑名單節(jié)點列表。
在基于本發(fā)明上述客戶端的另一個實施例中,所述獲取單元,具體用于:
基于對系統(tǒng)日志的監(jiān)控,根據(jù)預設的監(jiān)控范圍獲取系統(tǒng)產(chǎn)生的異常事件。
在基于本發(fā)明上述客戶端的另一個實施例中,所述監(jiān)控范圍包括:xpath表達式。
在基于本發(fā)明上述客戶端的另一個實施例中,還包括:
配置單元,用于根據(jù)預設的時間周期性查詢服務端,獲取所述監(jiān)控范圍。
在基于本發(fā)明上述客戶端的另一個實施例中,所述執(zhí)行單元,包括:
顯示模塊,用于依據(jù)所述處理方案,彈窗顯示所述異常事件的相關信息,并通過所述彈窗提供對所述異常事件的處理路徑;
執(zhí)行模塊,用于響應于用戶的操作,執(zhí)行所述處理路徑提供的相應的操作,解決所述異常事件。
在基于本發(fā)明上述客戶端的另一個實施例中,所述執(zhí)行單元,還包括:
檢測模塊,用于檢測系統(tǒng)當前的運行狀態(tài)是否符合預設的彈窗條件;
所述顯示模塊,具體用于根據(jù)所述檢測模塊的檢測結果,響應于系統(tǒng)當前的運行狀態(tài)符合預設的彈窗條件,依據(jù)所述處理方案,彈窗顯示所述異常事件的相關信息,并通過所述彈窗提供對所述異常事件的處理路徑。
在基于本發(fā)明上述客戶端的另一個實施例中,還包括:
配置單元,用于根據(jù)預設的時間周期性查詢服務端,獲取所述彈窗條件。
根據(jù)本發(fā)明實施例的再一個方面,提供的一種服務端,包括:
接收單元,用于接收客戶端上傳的預設格式的異常信息;其中,所述預設格式的異常信息,具體基于對系統(tǒng)日志的監(jiān)控所獲取的系統(tǒng)產(chǎn)生的異常事件的信息獲得;
解析單元,用于根據(jù)預設規(guī)則對所述預設格式的異常信息進行解析,獲得所述異常事件的信息;
查詢單元,用于依據(jù)所述異常事件的信息,查詢與所述異常事件匹配的處理方案,獲得對所述異常事件的處理方案;
發(fā)送單元,用于將對所述異常事件的處理方案返回所述客戶端。
在基于本發(fā)明上述服務端的另一個實施例中,所述解析單元,具體用于根據(jù)預設的格式化規(guī)則,對所述預設格式的異常信息進行解析,獲得所述異常事件的信息。
在基于本發(fā)明上述服務端的另一個實施例中,所述處理方案以彈窗顯示所述異常事件的相關信息,并通過所述彈窗提供對所述異常事件的處理路徑。
在基于本發(fā)明上述服務端的另一個實施例中,所述處理方案包括:xml文件。
根據(jù)本發(fā)明實施例的還一個方面,提供的一種異常事件處理系統(tǒng),包括:上述任一實施例所述的客戶端和上述任一實施例所述的服務端。
基于本發(fā)明上述實施例提供的異常事件處理方法及系統(tǒng)、客戶端及服務端,基于對系統(tǒng)日志的監(jiān)控,獲取系統(tǒng)產(chǎn)生的異常事件,并根據(jù)預設規(guī)則對異常事件的信息進行預處理,獲得預設格式的異常信息,將預設格式的異常信息上傳服務端,并接收服務端返回的對異常事件的處理方案,依據(jù)所接收到的處理方案,執(zhí)行相應的操作從而解決異常事件。本發(fā)明實施例在系統(tǒng)出現(xiàn)異常情況時,能夠快速做出反應,將異常事件的信息上傳服務端,在接收到服務端返回的處理方案后,能夠及時對異常事件進行處理,從而方便、高效地解決異常事件。
附圖說明
構成說明書的一部分的附圖描述了本發(fā)明的實施例,并且連同描述一起用于解釋本發(fā)明的原理。
參照附圖,根據(jù)下面的詳細描述,可以更加清楚地理解本發(fā)明,其中:
圖1是本發(fā)明實施例異常事件處理方法的一個實施例的流程圖。
圖2是本發(fā)明實施例異常事件處理方法的另一個實施例的流程圖。
圖3是本發(fā)明實施例異常事件處理方法的又一個實施例的流程圖。
圖4a及圖4b是本發(fā)明實施例異常事件處理方法彈窗的示意圖。
圖5a是本發(fā)明實施例異常事件處理方法一個具體操作步驟的流程圖。
圖5b是本發(fā)明實施例異常事件處理方法另一個具體操作步驟的流程圖。
圖6是本發(fā)明實施例異常事件處理方法的再一個實施例的流程圖。
圖7是本發(fā)明實施例客戶端的一個實施例的結構圖。
圖8是本發(fā)明實施例客戶端的另一個實施例的結構圖。
圖9是本發(fā)明實施例服務端的一個實施例的結構圖。
圖10是本發(fā)明實施例的異常事件處理系統(tǒng)的一個實施例的結構圖。
具體實施方式
現(xiàn)在將參照附圖來詳細描述本發(fā)明的各種示例性實施例。應注意到:除非另外具體說明,否則在這些實施例中闡述的部件的相對布置、數(shù)字表達式和數(shù)值不限制本發(fā)明的范圍。
同時,應當明白,為了便于描述,附圖中所示出的各個部分的尺寸并不是按照實際的比例關系繪制的。
以下對至少一個示例性實施例的描述實際上僅僅是說明性的,決不作為對本發(fā)明及其應用或使用的任何限制。
對于相關領域普通技術人員已知的技術、方法和設備可能不作詳細討論,但在適當情況下,所述技術、方法和設備應當被視為說明書的一部分。
應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步討論。
圖1是本發(fā)明實施例異常事件處理方法的一個實施例的流程圖。如圖1所示,該實施例的方法,包括:
s102,基于對系統(tǒng)日志的監(jiān)控,獲取系統(tǒng)產(chǎn)生的異常事件。
具體實現(xiàn)中,產(chǎn)生異常事件的系統(tǒng)可以為windows系統(tǒng)、android系統(tǒng)等目前計算機、手機、智能電視等普遍使用的主流操作系統(tǒng);系統(tǒng)產(chǎn)生的異常事件可以包括:運行庫缺失、系統(tǒng)時間錯誤、舊版本應用程序存在崩潰風險等異常情況。
s104,根據(jù)預設規(guī)則對異常事件的信息進行預處理,獲得預設格式的異常信息。
具體實現(xiàn)中,操作s104可以根據(jù)預設的格式化規(guī)則,通過對異常事件的信息進行格式化處理,獲得預設格式的異常信息。其中,預設的格式化規(guī)則是預先存儲的系統(tǒng)日志文件處理規(guī)則,通過它可以將系統(tǒng)日志文件轉化為便于發(fā)送的簡潔、統(tǒng)一的格式。由于系統(tǒng)日志并沒有固定的格式,例如它可以采用txt文件,也可以采用xml文件等,對于不同格式的異常事件所采用的具體的預設的格式化規(guī)則不同。
s106,將預設格式的異常信息上傳服務端。
s108,接收服務端返回的對異常事件的處理方案。
具體實現(xiàn)中,操作s106和操作s108可以通過有線連接或無線連接的方式與服務端建立連接,以實現(xiàn)預設格式的異常信息的上傳和對異常事件的處理方案的接收。例如:被監(jiān)控的系統(tǒng)日志為計算機或智能電視的系統(tǒng)日志,計算機或智能電視可以通過有線連接的方式與服務端連接;被監(jiān)控的系統(tǒng)日志為手機的系統(tǒng)日志,手機可以通過無線連接的方式與服務端連接。其中,無線連接可以采用wifi或者2g/3g/4g網(wǎng)絡。
s110,依據(jù)處理方案,執(zhí)行相應的操作解決異常事件。
具體實現(xiàn)中,由于引起異常事件的原因各異,針對不同的異常事件所獲得處理方案也各不相同。其中,在一個具體示例中,針對運行庫缺失的異常事件,處理方案會提供相應的運行庫下載路徑;在另一個具體示例中,針對系統(tǒng)時間錯誤的異常事件,處理方案會提供修復系統(tǒng)時間的方法;而在又一個具體示例中,針對舊版本應用程序存在崩潰風險的異常事件,處理方案會提供新版本應用程序的下載路徑。
基于本發(fā)明上述實施例提供的異常事件處理方法,基于對系統(tǒng)日志的監(jiān)控,獲取系統(tǒng)產(chǎn)生的異常事件,并根據(jù)預設規(guī)則對異常事件的信息進行預處理,獲得預設格式的異常信息,將預設格式的異常信息上傳服務端,并接收服務端返回的對異常事件的處理方案,依據(jù)所接收到的處理方案,執(zhí)行相應的操作從而解決異常事件。本發(fā)明實施例在系統(tǒng)出現(xiàn)異常情況時,能夠快速做出反應,將異常事件的信息上傳服務端,在接收到服務端返回的處理方案后,能夠及時對異常事件進行處理,從而方便、高效地解決異常事件。
圖2是本發(fā)明實施例異常事件處理方法的另一個實施例的流程圖。如圖2所示,該實施例的方法,包括:
s202,基于對系統(tǒng)日志的監(jiān)控,根據(jù)預設的監(jiān)控范圍獲取系統(tǒng)產(chǎn)生的異常事件。
具體實現(xiàn)中,由于系統(tǒng)日志事件頻繁,并且對事件等級沒有嚴格意義的區(qū)分,有很多問題都以“信息”等級存在,如果監(jiān)聽的范圍很大,會影響對異常事件的及時獲取和處理,因此需要預設監(jiān)控范圍來進行控制,對符合監(jiān)控范圍的異常事件進行獲取和處理,以節(jié)約系統(tǒng)資源。
具體地,監(jiān)控范圍可以作為配置信息,根據(jù)預設的時間周期性查詢服務端,從服務端獲取。其中,預設的時間可以根據(jù)具體的情況設定,對于不同的被監(jiān)控設備預設的時間可以相同,也可以不同;預設的監(jiān)控范圍也可以根據(jù)具體的情況設定,對于不同的被監(jiān)控設備預設的監(jiān)控范圍可以相同,也可以不同。例如:對于手機等經(jīng)常下載應用程序的設備,設置較短的查詢周期,如每小時查詢一次,以及時對監(jiān)控范圍進行調整;對于服務器等比較重要的設備,設置較大的監(jiān)控范圍,以保證這些設備的穩(wěn)定運行。具體可以通過對被監(jiān)控設備設置不同的級別加以區(qū)分。
s204,根據(jù)預設的格式化規(guī)則對異常事件的信息進行格式化處理,獲得預設格式的異常信息。
具體實現(xiàn)中,異常事件的信息包括xml文件,操作s204具體采用以下規(guī)則對xml文件進行格式化:依據(jù)xml文件的節(jié)點,將異常事件的信息拆分為多個單獨的字段;以每個字段對應的節(jié)點的節(jié)點名及其所有父節(jié)點的節(jié)點名以預設分隔符連接作為每個字段的字段名。
進一步,監(jiān)控范圍可以包括:xpath表達式,xpath為xml路徑語言,是一種用來確定xml文件中某部分位置的語言。xpath具體是基于xml的樹狀結構,提供在數(shù)據(jù)結構樹中找尋節(jié)點的能力。因此操作s202可以基于對系統(tǒng)日志的監(jiān)控,根據(jù)預設的xpath表達式,來獲取系統(tǒng)產(chǎn)生的異常事件。
進一步,操作s204還可以依據(jù)預設的節(jié)點名縮寫列表,以節(jié)點名縮寫列表中節(jié)點名的縮寫代替字段名中對應的節(jié)點名,以節(jié)省向服務端上傳的數(shù)據(jù)流量。
具體地,節(jié)點縮寫列表可以作為配置信息,根據(jù)預設的時間周期性查詢服務端,從服務端獲取。其中,預設的時間可以根據(jù)具體的情況設定,對于不同的被監(jiān)控設備預設的時間可以相同,也可以不同;預設的節(jié)點縮寫列表也可以根據(jù)具體的情況設定,對于不同的被監(jiān)控設備預設的節(jié)點縮寫列表可以相同,也可以不同。
在一個具體的示例中,預設的節(jié)點縮寫列表的具體示例如下:
進一步,操作s204還可以依據(jù)每個字段對應的節(jié)點的類型,在每個字段的字段名前增加預設的代表節(jié)點類型的原語,并以預設分隔符連接。例如:以原語“v”表示取值,以原語“a”表示屬性,以原語“n”表示節(jié)點。下面一段xml文件的示例:
其中,依據(jù)操作s204的規(guī)則,在將上述xml文件依據(jù)節(jié)點拆分成多個單獨的字段后,可以將qualifiers節(jié)點對應的字段命名為a.evt.s.evtid.qualifiers;將level節(jié)點對應的字段命名為v.evt.s.level。
進一步,對于在一個節(jié)點下具有多個同名節(jié)點的情況,可以通過在字段名前增加“序號#”的前綴來加以區(qū)分。以下面一段xml文件為例:
其中,依據(jù)操作s204的規(guī)則,在將上述xml文件依據(jù)節(jié)點拆分成多個單獨的字段后,在文件中依次出現(xiàn)的data節(jié)點對應的字段的字段名依次為evtd.data、evtd.2#data、evtd.3#data,依此類推。其中對于多于一個的節(jié)點對應的字段名前增加的前綴的序號是從2開始計算,也就是說,第一個data節(jié)點對應的字段的字段名為evtd.data。
進一步,依據(jù)操作s204的規(guī)則,將xml文件依據(jù)節(jié)點拆分后得到的多個單獨的字段可以采用條件寫法,例如:
a.evt.s.p.name:is=,applicationerror
v.evt.s.evtid:is=,1000
v.evt.evtd.2#data:is=,1.0.0.1
v.evt.evtd.data:is=,etwdemo.exe
進一步,操作204之后,還可以包括:依據(jù)預設的黑名單節(jié)點列表,對異常事件拆分的字段進行過濾,獲得上傳服務端的預設格式的異常信息的操作。
具體地,黑名單節(jié)點列表可以作為配置信息,根據(jù)預設的時間周期性查詢服務端,從服務端獲取。其中,預設的時間可以根據(jù)具體的情況設定,對于不同的被監(jiān)控設備預設的時間可以相同,也可以不同;預設的黑名單節(jié)點列表也可以根據(jù)具體的情況設定,對于不同的被監(jiān)控設備預設的黑名單節(jié)點列表可以相同,也可以不同。
在一個具體的示例中,預設的黑名單節(jié)點列表的具體示例如下:
也就是說,屬于此黑名單節(jié)點列表中的節(jié)點完全不會被上傳至服務端,例如:上述文件中的第一項為event下面system下面的computer節(jié)點,當所獲得的預設格式的異常信息中含有這一項時,這一項會被拋棄,不會被上傳至服務端。利用此黑名單節(jié)點列表對操作s204所獲得的預設格式的異常信息進行過濾,可以進一步濾除不必要的信息,節(jié)省向服務端上傳的數(shù)據(jù)流量。
s206,將預設格式的異常信息上傳服務端。
s208,接收服務端返回的對異常事件的處理方案。
s210,依據(jù)處理方案,彈窗顯示異常事件的相關信息,并通過彈窗提供對異常事件的處理路徑。
具體實現(xiàn)中,彈窗按照異常事件的嚴重程度分為紅色和橙色兩個等級,其中,紅色為嚴重的異常事件,如圖4a所示,例如:當出現(xiàn)一般系統(tǒng)級別的錯誤時,會導致系統(tǒng)無法正常啟動等異常事件,此時會顯示紅色的彈窗;橙色為不太嚴重的異常事件,如圖4b所示,例如:當出現(xiàn)一般軟件級別的錯誤時,會導致軟件無法正常啟動等異常事件,此時會顯示橙色的彈窗。
在一個具體示例中,如圖4a及圖4b所示,彈窗所顯示的異常事件的相關信息包含:錯誤詳情、錯誤原因等;彈窗通過“一鍵修復”按鈕提供對異常事件的處理路徑;彈窗還可以包含:“忽略”按鈕,“忽略”按鈕響應于用戶的點擊操作,會將該窗口對應的規(guī)則id存儲至本地,之后在一預設的時間段內不會再彈出同樣規(guī)則id的窗口。
s212,響應于用戶的操作,執(zhí)行處理路徑提供的相應的操作,解決異常事件。
具體實現(xiàn)中,如圖4a及圖4b所示,彈窗通過“一鍵修復”按鈕響應于用戶的點擊操作,首先創(chuàng)建一個進程,然后在這個進程中按照指定的處理路徑,通過下載、修改等修復操作解決異常事件。
進一步,“一鍵修復”按鈕響應于用戶的點擊操作,可以啟動一個現(xiàn)有的應用程序,利用這個應用程序執(zhí)行下載、修改等修復操作解決異常事件。例如:“一鍵修復”按鈕響應于用戶的點擊操作,啟動360軟件管家,360軟件管家依據(jù)處理方案所提供的軟件id,查找相應的軟件,進行下載,完成運行庫的安裝,從而解決運行庫缺失的異常事件。
圖3是本發(fā)明實施例異常事件處理方法的又一個實施例的流程圖。如圖3所示,該實施例的方法,包括:
s302,基于對系統(tǒng)日志的監(jiān)控,根據(jù)預設的xpath表達式獲取系統(tǒng)產(chǎn)生的異常事件;其中系統(tǒng)日志包括:xml文件。
s304,依據(jù)xml文件的節(jié)點,將異常事件的信息拆分為多個單獨的字段。
s306,以每個字段對應的節(jié)點的節(jié)點名及其所有父節(jié)點的節(jié)點名以預設分隔符連接作為每個字段的字段名。
s308,依據(jù)預設的節(jié)點名縮寫列表,以所述節(jié)點名縮寫列表中節(jié)點名的縮寫代替字段名中對應的節(jié)點名。
具體實現(xiàn)中,如圖5a所示,操作s308針對每個字段名具體執(zhí)行以下操作:s502,檢測字段名中當前的節(jié)點名是否位于預設的節(jié)點名縮寫列表中。若當前的節(jié)點名位于預設的節(jié)點名縮寫列表中,執(zhí)行操作s504;否則,若當前的節(jié)點名未位于預設的節(jié)點名縮寫列表中,仍保留字段名中當前的節(jié)點名,執(zhí)行后續(xù)操作。s504,以節(jié)點名縮寫列表中當前節(jié)點名的縮寫替換字段名中對應的節(jié)點名。
進一步,如圖5a所示,操作s308針對每個字段名還包括以下操作:s506,檢測字段名中當前的節(jié)點名是否為字段名中最后一個節(jié)點名。若當前的節(jié)點名為字段名中最后一個節(jié)點名,結束操作;否則,若當前的節(jié)點名非字段名中最后一個節(jié)點名,執(zhí)行操作s508。s508,以字段名中的下一個節(jié)點名作為當前的節(jié)點名,執(zhí)行操作s502。
s310,依據(jù)每個字段對應的節(jié)點的類型,在每個字段的字段名前增加預設的代表節(jié)點類型的原語,并以預設分隔符連接。
s312,依據(jù)預設的黑名單節(jié)點列表,對異常事件拆分的字段進行過濾,獲得上傳服務端的預設格式的異常信息。
具體實現(xiàn)中,如圖5b所示,操作s312針對每個字段具體執(zhí)行以下操作:s510,檢測當前字段對應的節(jié)點的節(jié)點名是否在預設的黑名單節(jié)點列表中;若當前字段對應的節(jié)點的節(jié)點名在預設的黑名單節(jié)點列表中,執(zhí)行操作s512;若當前字段對應的節(jié)點的節(jié)點名未在預設的黑名單節(jié)點列表中執(zhí)行操作s514。s512,以下一個字段作為當前字段,執(zhí)行操作s510。s514,將當前字段作為上傳服務端的預設格式的異常信息。
s314,將預設格式的異常信息上傳服務端。
s316,接收服務端返回的對異常事件的處理方案。
s318,依據(jù)處理方案,彈窗顯示異常事件的相關信息,并通過彈窗提供對所述異常事件的處理路徑。
具體實現(xiàn)中,在操作s318之前還包括:檢測系統(tǒng)當前的運行狀態(tài)是否符合預設的彈窗條件的操作;若系統(tǒng)當前的運行狀態(tài)符合預設的彈窗條件,則執(zhí)行操作s318。
具體地,彈窗條件可以作為配置信息,根據(jù)預設的時間周期性查詢服務端,從服務端獲取。其中,預設的時間可以根據(jù)具體的情況設定,對于不同的被監(jiān)控設備預設的時間可以相同,也可以不同;預設的彈窗條件也可以根據(jù)具體的情況設定,對于不同的被監(jiān)控設備預設的彈窗條件可以相同,也可以不同。
進一步,彈窗條件可以包括:1)在視頻或游戲的全屏模式下,或靜默模式下不彈窗,使用消息中心接口:imsgcentersettings2;2)在有其他彈窗出現(xiàn)的情況下,不彈窗;3)在自己的進程中同時出現(xiàn)多個異常事件時,根據(jù)事件的預設優(yōu)先級彈窗;4)在開機十分鐘內不彈窗等;對彈窗的啟動進行控制的信息。
在一個具體的示例中,預設的彈窗條件為xml文件,其具體示例如下:
其中,顯示的彈窗條件具體包括:1)彈窗超時時間,默認為一分鐘;鼠標操作后開始計時,無動作情況下最長超時時間為60分鐘;2)下次彈窗的時間間隔默認為三小時;3)用戶點擊“忽略”按鈕,則此規(guī)則相關的彈窗10天內不再彈出。
s320,響應于用戶的操作,執(zhí)行處理路徑提供的相應的操作,解決異常事件。
圖6是本發(fā)明實施例異常事件處理方法的再一個實施例的流程圖。如圖6所示,該實施例的方法,包括:
s602,接收客戶端上傳的預設格式的異常信息。
其中,預設格式的異常信息,具體基于對系統(tǒng)日志的監(jiān)控所獲取的系統(tǒng)產(chǎn)生的異常事件的信息獲得。
具體實現(xiàn)中,產(chǎn)生異常事件的系統(tǒng)可以為windows系統(tǒng)、android系統(tǒng)等目前計算機、手機、智能電視等普遍使用的主流操作系統(tǒng);系統(tǒng)產(chǎn)生的異常事件可以包括:運行庫缺失、系統(tǒng)時間錯誤、舊版本應用程序存在崩潰風險等異常情況。
s604,根據(jù)預設規(guī)則對預設格式的異常信息進行解析,獲得異常事件的信息。
具體實現(xiàn)中,操作s604可以根據(jù)預設的格式化規(guī)則,對預設格式的異常信息進行解析,獲得異常事件的信息。其中,預設的格式化規(guī)則是預先存儲的系統(tǒng)日志文件處理規(guī)則,利用它可以從系統(tǒng)日志文件轉化后獲得的便于發(fā)送的文件中,解析出原始系統(tǒng)日志文件的內容。
具體地,異常事件的信息包括xml文件,對xml文件進行格式化的預設規(guī)則包括:依據(jù)xml文件的節(jié)點,將異常事件的信息拆分為多個單獨的字段;以每個字段對應的節(jié)點的節(jié)點名及其所有父節(jié)點的節(jié)點名以預設分隔符連接作為每個字段的字段名。
進一步,對xml文件進行格式化的預設規(guī)則還包括:依據(jù)預設的節(jié)點名縮寫列表,以節(jié)點名縮寫列表中節(jié)點名的縮寫代替字段名中對應的節(jié)點名,以節(jié)省向服務端上傳的數(shù)據(jù)流量。
進一步,對xml文件進行格式化的預設規(guī)則還包括:依據(jù)每個字段對應的節(jié)點的類型,在每個字段的字段名前增加預設的代表節(jié)點類型的原語,并以預設分隔符連接。例如:以原語“v”表示取值,以原語“a”表示屬性,以原語“n”表示節(jié)點。
在一個具體示例中,操作s604所獲得的異常事件的信息中的節(jié)點名,即后臺顯示名,與預設格式的異常信息中的字段名,的對應關系如表1所示:
表1
s606,依據(jù)異常事件的信息,查詢與異常事件匹配的處理方案,獲得對異常事件的處理方案。
具體實現(xiàn)中,由于引起客戶端異常事件的原因各異,針對不同的異常事件所采取處理方案也各不相同。其中,在一個具體示例中,針對運行庫缺失的異常事件,處理方案會提供相應的運行庫下載路徑;在另一個具體示例中,針對系統(tǒng)時間錯誤的異常事件,處理方案會提供修復系統(tǒng)時間的方法;而在又一個具體示例中,針對舊版本應用程序存在崩潰風險的異常事件,處理方案會提供新版本應用程序的下載路徑。
具體地,操作s606可以依據(jù)異常事件的信息,通過查詢存儲有各種異常事件的處理方案的數(shù)據(jù)庫,進行匹配,獲得對異常事件的處理方案。
s608,將對異常事件的處理方案返回客戶端。
具體實現(xiàn)中,操作s608返回客戶端的處理方案以彈窗顯示異常事件的相關信息,并通過彈窗提供對異常事件的處理路徑。
具體地,處理方案包括:xml文件。如圖4a即圖4b所示,在一個具體示例中,返回客戶端的處理方案的xml文件如下:
其中,adv為彈窗的顏色,name、desc為彈窗中顯示的文字,id為自定義的一個規(guī)則id,btntxt為按鈕的文字,acttype為響應于用戶點擊按鈕的操作,執(zhí)行的行為,1表示創(chuàng)建一個進程,創(chuàng)建一個帶有360簽名的進程,這個進程的路徑可以指定,從而按照指定的處理路徑,通過下載、修改等修復操作解決異常事件。
進一步,“一鍵修復”按鈕響應于用戶的點擊操作,可以啟動一個現(xiàn)有的應用程序,利用這個應用程序執(zhí)行下載、修改等修復操作解決異常事件。例如:“一鍵修復”按鈕響應于用戶的點擊操作,啟動360軟件管家,360軟件管家依據(jù)處理方案所提供的軟件id,查找相應的軟件,進行下載,完成運行庫的安裝,從而解決運行庫缺失的異常事件。
具體實現(xiàn)中,操作s602和操作s608可以通過有線連接或無線連接的方式與客戶端建立連接,以實現(xiàn)對預設格式的異常信息的接收和返回對異常事件的處理方案。例如:執(zhí)行操作s602至操作s608的為云端,客戶端為計算機或智能電視,云端可以通過有線連接的方式與計算機或智能電視連接;執(zhí)行操作s602至操作s608的為云端,客戶端為手機,云端可以通過無線連接的方式與手機連接。其中,無線連接可以采用wifi或者2g/3g/4g網(wǎng)絡。
基于本發(fā)明上述實施例提供的異常事件處理方法,通過接收客戶端上傳的預設格式的異常信息,其中預設格式的異常信息,具體基于對系統(tǒng)日志的監(jiān)控所獲取的系統(tǒng)產(chǎn)生的異常事件的信息獲得,并根據(jù)預設規(guī)則對預設格式的異常信息進行解析,獲得異常事件的信息,依據(jù)異常事件的信息,查詢與異常事件匹配的處理方案,從而獲得對異常事件的處理方案,最后將對異常事件的處理方案返回客戶端。本發(fā)明實施例在系統(tǒng)出現(xiàn)異常情況時,在接收到客戶端上傳的異常事件的信息后,通過查詢與異常事件匹配的處理方案,能夠快速獲得對異常事件的處理方案并返回客戶端,從而方便、高效地解決異常事件。
圖7是本發(fā)明實施例客戶端的一個實施例的結構圖。如圖7所示,該實施例的客戶端,包括:獲取單元710、預處理單元720、發(fā)送單元730、接收單元740和執(zhí)行單元750。其中,
獲取單元710,用于基于對系統(tǒng)日志的監(jiān)控,獲取系統(tǒng)產(chǎn)生的異常事件。
具體實現(xiàn)中,產(chǎn)生異常事件的系統(tǒng)可以為windows系統(tǒng)、android系統(tǒng)等目前計算機、手機、智能電視等普遍使用的主流操作系統(tǒng);系統(tǒng)產(chǎn)生的異常事件可以包括:運行庫缺失、系統(tǒng)時間錯誤、舊版本應用程序存在崩潰風險等異常情況。
預處理單元720,用于根據(jù)預設規(guī)則對異常事件的信息進行預處理,獲得預設格式的異常信息。
具體實現(xiàn)中,預處理單元720可以根據(jù)預設的格式化規(guī)則,通過對異常事件的信息進行格式化處理,獲得預設格式的異常信息。其中,預設的格式化規(guī)則是預先存儲的系統(tǒng)日志文件處理規(guī)則,通過它可以將系統(tǒng)日志文件轉化為便于發(fā)送的簡潔、統(tǒng)一的格式。由于系統(tǒng)日志并沒有固定的格式,例如它可以采用txt文件,也可以采用xml文件等,對于不同格式的異常事件所采用的具體的預設的格式化規(guī)則不同。
發(fā)送單元730,用于將預設格式的異常信息上傳服務端。
接收單元740,用于接收服務端返回的對異常事件的處理方案。
具體實現(xiàn)中,發(fā)送單元730和接收單元740可以通過有線連接或無線連接的方式與服務端建立連接,以實現(xiàn)預設格式的異常信息的上傳和對異常事件的處理方案的接收。例如:被監(jiān)控的系統(tǒng)日志為計算機或智能電視的系統(tǒng)日志,計算機或智能電視可以通過有線連接的方式與服務端連接;被監(jiān)控的系統(tǒng)日志為手機的系統(tǒng)日志,手機可以通過無線連接的方式與服務端連接。其中,無線連接可以采用wifi或者2g/3g/4g網(wǎng)絡。
具體地,發(fā)送單元730和接收單元740可以為同一單元,其同時具備將預設格式的異常信息上傳服務端,及接收服務端返回的對異常事件的處理方案的功能。
執(zhí)行單元750,用于依據(jù)處理方案,執(zhí)行相應的操作解決異常事件。
具體實現(xiàn)中,由于引起異常事件的原因各異,針對不同的異常事件所獲得處理方案也各不相同。其中,在一個具體示例中,針對運行庫缺失的異常事件,處理方案會提供相應的運行庫下載路徑;在另一個具體示例中,針對系統(tǒng)時間錯誤的異常事件,處理方案會提供修復系統(tǒng)時間的方法;而在又一個具體示例中,針對舊版本應用程序存在崩潰風險的異常事件,處理方案會提供新版本應用程序的下載路徑。
基于本發(fā)明上述實施例提供的客戶端,基于對系統(tǒng)日志的監(jiān)控,獲取系統(tǒng)產(chǎn)生的異常事件,并根據(jù)預設規(guī)則對異常事件的信息進行預處理,獲得預設格式的異常信息,將預設格式的異常信息上傳服務端,并接收服務端返回的對異常事件的處理方案,依據(jù)所接收到的處理方案,執(zhí)行相應的操作從而解決異常事件,本發(fā)明實施例在系統(tǒng)出現(xiàn)異常情況時能夠及時做出反應,將異常事件的信息上傳服務端,并接收服務端返回的處理方案,快速對異常事件進行處理,從而方便、高效地解決異常事件。
圖8是本發(fā)明實施例客戶端的另一個實施例的結構圖。如圖8所示,與圖7的實施例相比,在該實施例中,客戶端的獲取單元810,具體用于:基于對系統(tǒng)日志的監(jiān)控,根據(jù)預設的監(jiān)控范圍獲取系統(tǒng)產(chǎn)生的異常事件。
具體實現(xiàn)中,由于系統(tǒng)日志事件頻繁,并且對事件等級沒有嚴格意義的區(qū)分,有很多問題都以“信息”等級存在,如果監(jiān)聽的范圍很大,會影響對異常事件的及時獲取和處理,因此需要預設監(jiān)控范圍來進行控制,對符合監(jiān)控范圍的異常事件進行獲取和處理,以節(jié)約系統(tǒng)資源。
具體地,監(jiān)控范圍可以作為配置信息,由配置單元860根據(jù)預設的時間周期性查詢服務端,從服務端獲取。其中,預設的時間可以根據(jù)具體的情況設定,對于不同的被監(jiān)控設備預設的時間可以相同,也可以不同;預設的監(jiān)控范圍也可以根據(jù)具體的情況設定,對于不同的被監(jiān)控設備預設的監(jiān)控范圍可以相同,也可以不同。例如:對于手機等經(jīng)常下載應用程序的設備,設置較短的查詢周期,如每小時查詢一次,以及時對監(jiān)控范圍進行調整;對于服務器等比較重要的設備,設置較大的監(jiān)控范圍,以保證這些設備的穩(wěn)定運行。具體可以通過對被監(jiān)控設備設置不同的級別加以區(qū)分。
預處理單元820還包括:格式化模塊821。格式化模塊821用于根據(jù)預設的格式化規(guī)則對異常事件的信息進行格式化處理,獲得預設格式的異常信息。
具體實現(xiàn)中,異常事件的信息包括xml文件,格式化模塊821具體用于:依據(jù)xml文件的節(jié)點,將異常事件的信息拆分為多個單獨的字段;以及以每個字段對應的節(jié)點的節(jié)點名及其所有父節(jié)點的節(jié)點名以預設分隔符連接作為每個字段的字段名。
進一步,監(jiān)控范圍可以包括:xpath表達式,xpath為xml路徑語言,是一種用來確定xml文件中某部分位置的語言。xpath具體是基于xml的樹狀結構,提供在數(shù)據(jù)結構樹中找尋節(jié)點的能力。因此獲取單元810可以具體用于:基于對系統(tǒng)日志的監(jiān)控,根據(jù)預設的xpath表達式,來獲取系統(tǒng)產(chǎn)生的異常事件。
進一步,格式化模塊821還可以具體用于:依據(jù)預設的節(jié)點名縮寫列表,以節(jié)點名縮寫列表中節(jié)點名的縮寫代替字段名中對應的節(jié)點名,以節(jié)省向服務端上傳的數(shù)據(jù)流量。
具體地,節(jié)點縮寫列表可以作為配置信息,由配置單元860根據(jù)預設的時間周期性查詢服務端,從服務端獲取。其中,預設的時間可以根據(jù)具體的情況設定,對于不同的被監(jiān)控設備預設的時間可以相同,也可以不同;預設的節(jié)點縮寫列表也可以根據(jù)具體的情況設定,對于不同的被監(jiān)控設備預設的節(jié)點縮寫列表可以相同,也可以不同。
具體地,格式化模塊821在以節(jié)點名縮寫列表中節(jié)點名的縮寫代替字段名中對應的節(jié)點名時,針對每個字段名具體用于:檢測字段名中當前的節(jié)點名是否位于預設的節(jié)點名縮寫列表中。若當前的節(jié)點名位于預設的節(jié)點名縮寫列表中,以節(jié)點名縮寫列表中當前節(jié)點名的縮寫替換字段名中對應的節(jié)點名;否則,若當前的節(jié)點名未位于預設的節(jié)點名縮寫列表中,仍保留字段名中當前的節(jié)點名,執(zhí)行后續(xù)操作。
進一步,格式化模塊821在以節(jié)點名縮寫列表中節(jié)點名的縮寫代替字段名中對應的節(jié)點名時,針對每個字段具體用于:檢測字段名中當前的節(jié)點名是否為字段名中最后一個節(jié)點名。若當前的節(jié)點名為字段名中最后一個節(jié)點名,結束操作;否則,若當前的節(jié)點名非字段名中最后一個節(jié)點名,以字段名中的下一個節(jié)點名作為當前的節(jié)點名,執(zhí)行檢測字段名中當前的節(jié)點名是否位于預設的節(jié)點名縮寫列表中的操作。
進一步,格式化模塊821還可以用于:依據(jù)每個字段對應的節(jié)點的類型,在每個字段的字段名前增加預設的代表節(jié)點類型的原語,并以預設分隔符連接。例如:以原語“v”表示取值,以原語“a”表示屬性,以原語“n”表示節(jié)點。
如圖8所示,預處理單元820還可以包括:過濾模塊822。過濾模塊822在格式化模塊821之后,用于依據(jù)預設的黑名單節(jié)點列表,對異常事件拆分的字段進行過濾,獲得上傳服務端的預設格式的異常信息的操作。
具體地,黑名單節(jié)點列表可以作為配置信息,由配置單元860根據(jù)預設的時間周期性查詢服務端,從服務端獲取。其中,預設的時間可以根據(jù)具體的情況設定,對于不同的被監(jiān)控設備預設的時間可以相同,也可以不同;預設的黑名單節(jié)點列表也可以根據(jù)具體的情況設定,對于不同的被監(jiān)控設備預設的黑名單節(jié)點列表可以相同,也可以不同。
具體實現(xiàn)中,過濾模塊822針對每個字段具體用于:檢測當前字段對應的節(jié)點的節(jié)點名是否在預設的黑名單節(jié)點列表中;若當前字段對應的節(jié)點的節(jié)點名在預設的黑名單節(jié)點列表中,以下一個字段作為當前字段,執(zhí)行檢測當前字段對應的節(jié)點的節(jié)點名是否在預設的黑名單節(jié)點列表中的操作;若當前字段對應的節(jié)點的節(jié)點名未在預設的黑名單節(jié)點列表中執(zhí)行操作,將當前字段作為上傳服務端的預設格式的異常信息。
如圖8所示,執(zhí)行單元850還包括:顯示模塊851和執(zhí)行模塊852。其中,
顯示模塊851,用于依據(jù)處理方案,彈窗顯示所述異常事件的相關信息,并通過彈窗提供對所述異常事件的處理路徑。
具體實現(xiàn)中,執(zhí)行單元850還可以包括:檢測模塊853,用于檢測系統(tǒng)當前的運行狀態(tài)是否符合預設的彈窗條件;顯示模塊851具體用于根據(jù)檢測模塊853的檢測結果,響應于系統(tǒng)當前的運行狀態(tài)符合預設的彈窗條件,依據(jù)處理方案,彈窗顯示異常事件的相關信息,并通過彈窗提供對異常事件的處理路徑。
具體地,彈窗條件可以作為配置信息,由配置單元860根據(jù)預設的時間周期性查詢服務端,從服務端獲取。其中,預設的時間可以根據(jù)具體的情況設定,對于不同的被監(jiān)控設備預設的時間可以相同,也可以不同;預設的彈窗條件也可以根據(jù)具體的情況設定,對于不同的被監(jiān)控設備預設的彈窗條件可以相同,也可以不同。
執(zhí)行模塊852,用于響應于用戶的操作,執(zhí)行處理路徑提供的相應的操作,解決異常事件。
圖9是本發(fā)明實施例服務端的一個實施例的結構圖。如圖9所示,該實施例的服務端包括:接收單元910、解析單元920、查詢單元930和發(fā)送單元940。其中,
接收單元910,用于接收客戶端上傳的預設格式的異常信息.
其中,預設格式的異常信息,具體基于對系統(tǒng)日志的監(jiān)控所獲取的系統(tǒng)產(chǎn)生的異常事件的信息獲得。
具體實現(xiàn)中,產(chǎn)生異常事件的系統(tǒng)可以為windows系統(tǒng)、android系統(tǒng)等目前計算機、手機、智能電視等普遍使用的主流操作系統(tǒng);系統(tǒng)產(chǎn)生的異常事件可以包括:運行庫缺失、系統(tǒng)時間錯誤、舊版本應用程序存在崩潰風險等異常情況。
解析單元920,用于根據(jù)預設規(guī)則對預設格式的異常信息進行解析,獲得異常事件的信息。
具體實現(xiàn)中,解析單元920可以具體用于:根據(jù)預設的格式化規(guī)則,對預設格式的異常信息進行解析,獲得異常事件的信息。其中,預設的格式化規(guī)則是預先存儲的系統(tǒng)日志文件處理規(guī)則,利用它可以從系統(tǒng)日志文件轉化后獲得的便于發(fā)送的文件中,解析出原始系統(tǒng)日志文件的內容。
具體地,異常事件的信息包括xml文件,對xml文件進行格式化的預設規(guī)則包括:依據(jù)xml文件的節(jié)點,將異常事件的信息拆分為多個單獨的字段;以每個字段對應的節(jié)點的節(jié)點名及其所有父節(jié)點的節(jié)點名以預設分隔符連接作為每個字段的字段名。
進一步,對xml文件進行格式化的預設規(guī)則還包括:依據(jù)預設的節(jié)點名縮寫列表,以節(jié)點名縮寫列表中節(jié)點名的縮寫代替字段名中對應的節(jié)點名,以節(jié)省向服務端上傳的數(shù)據(jù)流量。
進一步,對xml文件進行格式化的預設規(guī)則還包括:依據(jù)每個字段對應的節(jié)點的類型,在每個字段的字段名前增加預設的代表節(jié)點類型的原語,并以預設分隔符連接。例如:以原語“v”表示取值,以原語“a”表示屬性,以原語“n”表示節(jié)點。
查詢單元930,用于依據(jù)異常事件的信息,查詢與異常事件匹配的處理方案,獲得對異常事件的處理方案。
具體實現(xiàn)中,由于引起客戶端異常事件的原因各異,針對不同的異常事件所采取處理方案也各不相同。其中,在一個具體示例中,針對運行庫缺失的異常事件,處理方案會提供相應的運行庫下載路徑;在另一個具體示例中,針對系統(tǒng)時間錯誤的異常事件,處理方案會提供修復系統(tǒng)時間的方法;而在又一個具體示例中,針對舊版本應用程序存在崩潰風險的異常事件,處理方案會提供新版本應用程序的下載路徑。
具體地,查詢單元930可以依據(jù)異常事件的信息,通過查詢存儲有各種異常事件的處理方案的數(shù)據(jù)庫,進行匹配,獲得對異常事件的處理方案。
發(fā)送單元940,用于將對異常事件的處理方案返回所述客戶端。
具體實現(xiàn)中,操作s608返回客戶端的處理方案以彈窗顯示異常事件的相關信息,并通過彈窗提供對異常事件的處理路徑。
具體地,處理方案包括:xml文件。
具體實現(xiàn)中,接收單元910和發(fā)送單元940可以通過有線連接或無線連接的方式與客戶端建立連接,以實現(xiàn)對預設格式的異常信息的接收和返回對異常事件的處理方案。例如:與客戶端建立連接的為云端,客戶端為計算機或智能電視,云端可以通過有線連接的方式與計算機或智能電視連接;與客戶端建立連接的為云端,客戶端為手機,云端可以通過無線連接的方式與手機連接。其中,無線連接可以采用wifi或者2g/3g/4g網(wǎng)絡。
具體地,接收單元910和發(fā)送單元940可以為同一單元,其同時具備接收客戶端上傳的預設格式的異常信息,及將對異常事件的處理方案返回客戶端的功能。
基于本發(fā)明上述實施例提供的服務端,通過接收客戶端上傳的預設格式的異常信息,其中預設格式的異常信息,具體基于對系統(tǒng)日志的監(jiān)控所獲取的系統(tǒng)產(chǎn)生的異常事件的信息獲得,并根據(jù)預設規(guī)則對預設格式的異常信息進行解析,獲得異常事件的信息,依據(jù)異常事件的信息,查詢與異常事件匹配的處理方案,從而獲得對異常事件的處理方案,最后將對異常事件的處理方案返回客戶端。本發(fā)明實施例在系統(tǒng)出現(xiàn)異常情況時,在接收到客戶端上傳的異常事件的信息后,通過查詢與異常事件匹配的處理方案,能夠快速獲得對異常事件的處理方案并返回客戶端,從而方便、高效地解決異常事件。
圖10是本發(fā)明實施例的異常事件處理系統(tǒng)的一個實施例的結構圖。如圖10所示,該實施例的系統(tǒng),包括:客戶端和服務端。其中,
客戶端包括:處理器和存儲器;其中,客戶端的存儲器用于存儲上述圖1至圖3所示的實施例的異常事件處理方法的程序;客戶端的處理器用于執(zhí)行客戶端的存儲器中存儲的異常事件處理方法的程序。
服務端包括:處理器和存儲器;其中,服務端的存儲器用于存儲上述圖6所示的實施例的異常事件處理方法的程序;服務端的處理器用于執(zhí)行服務端的的存儲器中存儲的異常事件處理方法的程序。
基于本發(fā)明上述實施例提供的異常事件處理系統(tǒng),客戶端基于對系統(tǒng)日志的監(jiān)控,獲取系統(tǒng)產(chǎn)生的異常事件,并根據(jù)預設規(guī)則對異常事件的信息進行預處理,獲得預設格式的異常信息,將預設格式的異常信息上傳服務端,并接收服務端返回的對異常事件的處理方案,依據(jù)所接收到的處理方案,執(zhí)行相應的操作從而解決異常事件;服務端通過接收客戶端上傳的預設格式的異常信息,并根據(jù)預設規(guī)則對預設格式的異常信息進行解析,獲得異常事件的信息,依據(jù)異常事件的信息,查詢與異常事件匹配的處理方案,從而獲得對異常事件的處理方案,最后將對異常事件的處理方案返回客戶端。本發(fā)明實施例在系統(tǒng)出現(xiàn)異常情況時,客戶端能夠快速做出反應,將異常事件的信息上傳服務端,服務端在接收到客戶端上傳的異常事件的信息后,通過查詢與異常事件匹配的處理方案,能夠快速獲得對異常事件的處理方案并返回客戶端,客戶端在接收到服務端返回的處理方案后,能夠及時對異常事件進行處理,從而方便、高效地解決異常事件。
本發(fā)明實施例提供了以下技術方案:
1、一種異常事件處理方法,包括:
基于對系統(tǒng)日志的監(jiān)控,獲取系統(tǒng)產(chǎn)生的異常事件;
根據(jù)預設規(guī)則對所述異常事件的信息進行預處理,獲得預設格式的異常信息;
將所述預設格式的異常信息上傳服務端;
接收所述服務端返回的對所述異常事件的處理方案;
依據(jù)所述處理方案,執(zhí)行相應的操作解決所述異常事件。
2、根據(jù)1所述的方法,所述根據(jù)預設規(guī)則對所述異常事件的信息進行預處理,包括:
根據(jù)預設的格式化規(guī)則對所述異常事件的信息進行格式化處理,獲得所述預設格式的異常信息。
3、根據(jù)2所述的方法,所述異常事件的信息包括:xml文件;
所述根據(jù)預設的格式化規(guī)則對所述異常事件的信息進行格式化處理,包括:
依據(jù)xml文件的節(jié)點,將所述異常事件的信息拆分為多個單獨的字段;
以每個字段對應的節(jié)點的節(jié)點名及其所有父節(jié)點的節(jié)點名以預設分隔符連接作為每個字段的字段名。
4、根據(jù)3所述的方法,所述根據(jù)預設的格式化規(guī)則對所述異常事件的信息進行格式化處理,還包括:
依據(jù)預設的節(jié)點名縮寫列表,以所述節(jié)點名縮寫列表中節(jié)點名的縮寫代替字段名中對應的節(jié)點名。
5、根據(jù)4所述的方法,還包括:
根據(jù)預設的時間周期性查詢服務端,獲取所述節(jié)點名縮寫列表。
6、根據(jù)3至5任意一項所述的方法,所述根據(jù)預設的格式化規(guī)則對所述異常事件的信息進行格式化處理,還包括:
依據(jù)每個字段對應的節(jié)點的類型,在每個字段的字段名前增加預設的代表節(jié)點類型的原語,并以預設分隔符連接。
7、根據(jù)3至6任意一項所述的方法,所述根據(jù)預設規(guī)則對所述異常事件的信息進行預處理,還包括:
所述根據(jù)預設的格式化規(guī)則對所述異常事件的信息進行格式化處理之后,依據(jù)預設的黑名單節(jié)點列表,對所述異常事件拆分的字段進行過濾,獲得上傳服務端的所述預設格式的異常信息。
8、根據(jù)7所述的方法,所述依據(jù)預設的黑名單節(jié)點列表,對所述異常事件的字段進行過濾,針對每個字段包括:
檢測當前字段對應的節(jié)點的節(jié)點名是否在預設的黑名單節(jié)點列表中;
若當前字段對應的節(jié)點的節(jié)點名在預設的黑名單節(jié)點列表中,以下一個字段作為當前字段,執(zhí)行所述檢測當前字段對應的節(jié)點的節(jié)點名是否在預設的黑名單節(jié)點列表中的操作;
若當前字段對應的節(jié)點的節(jié)點名未在預設的黑名單節(jié)點列表中,將當前字段作為上傳服務端的所述預設格式的異常信息。
9、根據(jù)7或8所述的方法,還包括:
根據(jù)預設的時間周期性查詢服務端,獲取所述黑名單節(jié)點列表。
10、根據(jù)3至9任意一項所述的方法,所述基于對系統(tǒng)日志的監(jiān)控,獲取系統(tǒng)產(chǎn)生的異常事件,包括:
基于對系統(tǒng)日志的監(jiān)控,根據(jù)預設的監(jiān)控范圍獲取系統(tǒng)產(chǎn)生的異常事件。
11、根據(jù)10所述的方法,所述監(jiān)控范圍包括:xpath表達式。
12、根據(jù)權利要求10或11所述的方法,其特征在于,還包括:
根據(jù)預設的時間周期性查詢服務端,獲取所述監(jiān)控范圍。
13、根據(jù)1至12任意一項所述的方法,所述依據(jù)所述處理方案,執(zhí)行相應的操作解決所述異常事件,包括:
依據(jù)所述處理方案,彈窗顯示所述異常事件的相關信息,并通過所述彈窗提供對所述異常事件的處理路徑;
響應于用戶的操作,執(zhí)行所述處理路徑提供的相應的操作,解決所述異常事件。
14、根據(jù)13所述的方法,所述依據(jù)所述處理方案,執(zhí)行相應的操作解決所述異常事件,還包括:
檢測系統(tǒng)當前的運行狀態(tài)是否符合預設的彈窗條件;
若系統(tǒng)當前的運行狀態(tài)符合預設的彈窗條件,依據(jù)所述處理方案,彈窗顯示所述異常事件的相關信息,并通過所述彈窗提供對所述異常事件的處理路徑。
15、根據(jù)14所述的方法,還包括:
根據(jù)預設的時間周期性查詢服務端,獲取所述彈窗條件。
16、一種異常事件處理方法,包括:
接收客戶端上傳的預設格式的異常信息;其中,所述預設格式的異常信息,具體基于對系統(tǒng)日志的監(jiān)控所獲取的系統(tǒng)產(chǎn)生的異常事件的信息獲得;
根據(jù)預設規(guī)則對所述預設格式的異常信息進行解析,獲得所述異常事件的信息;
依據(jù)所述異常事件的信息,查詢與所述異常事件匹配的處理方案,獲得對所述異常事件的處理方案;
將對所述異常事件的處理方案返回所述客戶端。
17、根據(jù)16所述的方法,所述根據(jù)預設規(guī)則對所述預設格式的異常信息進行解析,包括:
根據(jù)預設的格式化規(guī)則,對所述預設格式的異常信息進行解析,獲得所述異常事件的信息。
18、根據(jù)17所述的方法,所述處理方案以彈窗顯示所述異常事件的相關信息,并通過所述彈窗提供對所述異常事件的處理路徑。
19、根據(jù)16至18任意一項所述的方法,所述處理方案包括:xml文件。
20、一種客戶端,包括:
獲取單元,用于基于對系統(tǒng)日志的監(jiān)控,獲取系統(tǒng)產(chǎn)生的異常事件;
預處理單元,用于根據(jù)預設規(guī)則對所述異常事件的信息進行預處理,獲得預設格式的異常信息;
發(fā)送單元,用于將所述預設格式的異常信息上傳服務端;
接收單元,用于接收所述服務端返回的對所述異常事件的處理方案;
執(zhí)行單元,用于依據(jù)所述處理方案,執(zhí)行相應的操作解決所述異常事件。
21、根據(jù)20所述的客戶端,所述預處理單元,包括:
格式化模塊,用于根據(jù)預設的格式化規(guī)則對所述異常事件的信息進行格式化處理,獲得所述預設格式的異常信息。
22、根據(jù)21所述的客戶端,所述異常事件的信息包括:xml文件;
所述格式化模塊,具體用于:
依據(jù)xml文件的節(jié)點,將所述異常事件的信息拆分為多個單獨的字段;
以每個字段對應的節(jié)點的節(jié)點名及其所有父節(jié)點的節(jié)點名以預設分隔符連接作為每個字段的字段名。
23、根據(jù)22所述的客戶端,所述格式化模塊,還具體用于:
依據(jù)預設的節(jié)點名縮寫列表,以所述節(jié)點名縮寫列表中節(jié)點名的縮寫代替字段名中對應的節(jié)點名。
24、根據(jù)23所述的客戶端,還包括:
配置單元,用于根據(jù)預設的時間周期性查詢服務端,獲取所述節(jié)點名縮寫列表。
25、根據(jù)22至24任意一項所述的客戶端,所述格式化模塊,還具體用于:
依據(jù)每個字段對應的節(jié)點的類型,在每個字段的字段名前增加預設的代表節(jié)點類型的原語,并以預設分隔符連接。
26、根據(jù)22至25任意一項所述的客戶端,所述預處理單元,還包括:
過濾模塊,在所述格式化模塊之后,用于依據(jù)預設的黑名單節(jié)點列表,對所述異常事件拆分的字段進行過濾,獲得上傳服務端的所述預設格式的異常信息。
27、根據(jù)26所述的客戶端,所述過濾模塊,針對每個字段具體用于:
檢測當前字段對應的節(jié)點的節(jié)點名是否在預設的黑名單節(jié)點列表中;
若當前字段對應的節(jié)點的節(jié)點名在預設的黑名單節(jié)點列表中,以下一個字段作為當前字段,執(zhí)行所述檢測當前字段對應的節(jié)點的節(jié)點名是否在預設的黑名單節(jié)點列表中的操作;
若當前字段對應的節(jié)點的節(jié)點名未在預設的黑名單節(jié)點列表中,將當前字段作為上傳服務端的所述預設格式的異常信息。
28、根據(jù)26或27所述的客戶端,還包括:
配置單元,用于根據(jù)預設的時間周期性查詢服務端,獲取所述黑名單節(jié)點列表。
29、根據(jù)22至28任意一項所述的客戶端,所述獲取單元,具體用于:
基于對系統(tǒng)日志的監(jiān)控,根據(jù)預設的監(jiān)控范圍獲取系統(tǒng)產(chǎn)生的異常事件。
30、根據(jù)29所述的客戶端,所述監(jiān)控范圍包括:xpath表達式。
31、根據(jù)29或30所述的客戶端,還包括:
配置單元,用于根據(jù)預設的時間周期性查詢服務端,獲取所述監(jiān)控范圍。
32、根據(jù)20至31任意一項所述的客戶端,所述執(zhí)行單元,包括:
顯示模塊,用于依據(jù)所述處理方案,彈窗顯示所述異常事件的相關信息,并通過所述彈窗提供對所述異常事件的處理路徑;
執(zhí)行模塊,用于響應于用戶的操作,執(zhí)行所述處理路徑提供的相應的操作,解決所述異常事件。
33、根據(jù)32所述的客戶端,所述執(zhí)行單元,還包括:
檢測模塊,用于檢測系統(tǒng)當前的運行狀態(tài)是否符合預設的彈窗條件;
所述顯示模塊,具體用于根據(jù)所述檢測模塊的檢測結果,響應于系統(tǒng)當前的運行狀態(tài)符合預設的彈窗條件,依據(jù)所述處理方案,彈窗顯示所述異常事件的相關信息,并通過所述彈窗提供對所述異常事件的處理路徑。
34、根據(jù)33所述的客戶端,還包括:
配置單元,用于根據(jù)預設的時間周期性查詢服務端,獲取所述彈窗條件。
35、一種服務端,包括:
接收單元,用于接收客戶端上傳的預設格式的異常信息;其中,所述預設格式的異常信息,具體基于對系統(tǒng)日志的監(jiān)控所獲取的系統(tǒng)產(chǎn)生的異常事件的信息獲得;
解析單元,用于根據(jù)預設規(guī)則對所述預設格式的異常信息進行解析,獲得所述異常事件的信息;
查詢單元,用于依據(jù)所述異常事件的信息,查詢與所述異常事件匹配的處理方案,獲得對所述異常事件的處理方案;
發(fā)送單元,用于將對所述異常事件的處理方案返回所述客戶端。
36、根據(jù)35所述的服務端,所述解析單元,具體用于根據(jù)預設的格式化規(guī)則,對所述預設格式的異常信息進行解析,獲得所述異常事件的信息。
37、根據(jù)36所述的服務端,所述處理方案以彈窗顯示所述異常事件的相關信息,并通過所述彈窗提供對所述異常事件的處理路徑。
38、根據(jù)35至37任意一項所述的服務端,所述處理方案包括:xml文件。
39、一種異常事件處理系統(tǒng),包括:客戶端和服務端;
所述客戶端包括:處理器和存儲器;其中,
所述客戶端的存儲器用于存儲上述1至15任意一項所述的異常事件處理方法的程序;
所述客戶端的處理器用于執(zhí)行所述客戶端的存儲器中存儲的所述異常事件處理方法的程序;
所述服務端包括:處理器和存儲器;其中,
所述服務端的存儲器用于存儲上述16至19任意一項所述的異常事件處理方法的程序;
所述服務端的處理器用于執(zhí)行所述服務端的存儲器中存儲的所述異常事件處理方法的程序。本說明書中各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其它實施例的不同之處,各個實施例之間相同或相似的部分相互參見即可。對于系統(tǒng)實施例而言,由于其與方法實施例基本對應,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
可能以許多方式來實現(xiàn)本發(fā)明的方法和裝置、設備。例如,可通過軟件、硬件、固件或者軟件、硬件、固件的任何組合來實現(xiàn)本發(fā)明的方法和裝置、設備。用于所述方法的步驟的上述順序僅是為了進行說明,本發(fā)明的方法的步驟不限于以上具體描述的順序,除非以其它方式特別說明。此外,在一些實施例中,還可將本發(fā)明實施為記錄在記錄介質中的程序,這些程序包括用于實現(xiàn)根據(jù)本發(fā)明的方法的機器可讀指令。因而,本發(fā)明還覆蓋存儲用于執(zhí)行根據(jù)本發(fā)明的方法的程序的記錄介質。
本發(fā)明的描述是為了示例和描述起見而給出的,而并不是無遺漏的或者將本發(fā)明限于所公開的形式。很多修改和變化對于本領域的普通技術人員而言是顯然的。選擇和描述實施例是為了更好說明本發(fā)明的原理和實際應用,并且使本領域的普通技術人員能夠理解本發(fā)明從而設計適于特定用途的帶有各種修改的各種實施例。