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