應(yīng)用異常信息收集方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體而言,涉及一種應(yīng)用異常信息收集方法和裝置。
【背景技術(shù)】
[0002]用戶在使用應(yīng)用時(shí)常常會(huì)出現(xiàn)異常問題,通常對(duì)用戶的一些主觀的反饋,技術(shù)人員無法定位和分析異常問題,因此為了有效地定位和解決異常問題,準(zhǔn)確的拿到異常信息就成為關(guān)鍵。現(xiàn)有的獲取異常信息的方式包括以下:
[0003]1、在應(yīng)用崩潰時(shí),捕捉崩潰信息并上傳服務(wù)器。這種方式的缺陷在于:信息捕捉存在局限性,通常異常情況不一定就導(dǎo)致崩潰,另外即使是崩潰,也可能因?yàn)閮H在崩潰時(shí)抓取,容易出現(xiàn)信息抓取不足的情況。
[0004]2、對(duì)應(yīng)用產(chǎn)生的日志進(jìn)行分析,來從中篩選異常信息。這種方式的缺陷在于:應(yīng)用產(chǎn)生的日志量太大,難以進(jìn)行篩選。
【發(fā)明內(nèi)容】
[0005]鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的應(yīng)用異常信息收集方法和裝置。
[0006]依據(jù)本發(fā)明的一個(gè)方面,提供了一種應(yīng)用異常信息收集方法,其包括:監(jiān)測(cè)應(yīng)用運(yùn)行時(shí)是否發(fā)生預(yù)定的異常事件;在所述異常事件發(fā)生時(shí),獲取所述應(yīng)用產(chǎn)生的與所述異常事件對(duì)應(yīng)的信息;將所述異常事件對(duì)應(yīng)的信息上傳到服務(wù)器。
[0007]以及本發(fā)明的另一方面,提供了一種應(yīng)用異常信息收集裝置,其包括:異常事件監(jiān)測(cè)模塊,用于監(jiān)測(cè)應(yīng)用運(yùn)行時(shí)是否發(fā)生預(yù)定的異常事件;異常信息獲取模塊,用于在所述異常事件發(fā)生時(shí),獲取所述應(yīng)用產(chǎn)生的與所述異常事件對(duì)應(yīng)的信息;異常信息上傳模塊,用于將所述異常事件對(duì)應(yīng)的信息上傳到服務(wù)器。
[0008]根據(jù)以上技術(shù)方案,本發(fā)明的應(yīng)用異常信息收集方法和裝置,至少具有以下優(yōu)占.
[0009]可以根據(jù)應(yīng)用發(fā)生的異常時(shí)內(nèi)部產(chǎn)生的異常事件,來針對(duì)性地收集異常信息,將其上傳到服務(wù)器后有利于準(zhǔn)確定位和分析異常;相比于現(xiàn)有的技術(shù)方案,收集的異常信息更加全面,收集效率更高。
[0010]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的【具體實(shí)施方式】。
【附圖說明】
[0011]通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
[0012]圖1示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的應(yīng)用異常信息收集方法的流程圖;
[0013]圖2示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的應(yīng)用異常信息收集方法的流程圖;
[0014]圖3示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的應(yīng)用異常信息收集方法的流程圖;
[0015]圖4示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的應(yīng)用異常信息收集裝置的框圖。
【具體實(shí)施方式】
[0016]下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0017]如圖1所示,本發(fā)明的一個(gè)實(shí)施例中示出了一種應(yīng)用異常信息收集方法,其包括:
[0018]步驟110,監(jiān)測(cè)應(yīng)用運(yùn)行時(shí)是否發(fā)生預(yù)定的異常事件。在本實(shí)施例的技術(shù)方案中,對(duì)異常事件不進(jìn)行限制,具體可以根據(jù)應(yīng)用的業(yè)務(wù)邏輯來選擇異常事件。
[0019]步驟120,在異常事件發(fā)生時(shí),獲取應(yīng)用產(chǎn)生的與異常事件對(duì)應(yīng)的信息。在本實(shí)施例的技術(shù)方案中,基于異常事件的不同,可以在應(yīng)用中可能存在異常的點(diǎn)進(jìn)行異常信息的收集。
[0020]步驟130,將異常事件對(duì)應(yīng)的信息上傳到服務(wù)器。在本實(shí)施例的技術(shù)方案中,可以根據(jù)應(yīng)用發(fā)生的異常時(shí)內(nèi)部產(chǎn)生的異常事件,來針對(duì)性地收集異常信息,將其上傳到服務(wù)器后有利于準(zhǔn)確定位和分析異常;相比于現(xiàn)有的技術(shù)方案,收集的異常信息更加全面,收集效率更高。
[0021]如圖2所示,本發(fā)明的一個(gè)實(shí)施例中示出了一種應(yīng)用異常信息收集方法,其包括:
[0022]步驟210,監(jiān)測(cè)應(yīng)用運(yùn)行時(shí)是否發(fā)生預(yù)定的異常事件。
[0023]步驟220,在異常事件發(fā)生時(shí),調(diào)用預(yù)設(shè)的用于收集信息的公有靜態(tài)類的接口,來獲取異常事件對(duì)應(yīng)的信息,以及獲取異常事件的一項(xiàng)或多項(xiàng)屬性,其中,在異常事件對(duì)應(yīng)的信息超過預(yù)設(shè)長度時(shí),對(duì)異常事件對(duì)應(yīng)的信息進(jìn)行截取,使其長度限制為預(yù)設(shè)長度。在本實(shí)施例的技術(shù)方案中,異常事件的屬性可以包含異常類型、網(wǎng)絡(luò)類型、異常次數(shù)等,而除了上述屬性之外,還可以一些共性數(shù)據(jù)進(jìn)行上傳,例如,應(yīng)用所在的終端系統(tǒng)版本、屏幕尺寸、當(dāng)前時(shí)間等等;在本實(shí)施例的技術(shù)方案中,因?yàn)楫惓J菬o處不在的,所以在收集異常的時(shí)候可能會(huì)在任意地方,所以封裝的收集接口保證盡量抽象,以降低埋點(diǎn)成本,這種情況下可在異常的地方直接根據(jù)業(yè)務(wù)邏輯,對(duì)可能存在的異常點(diǎn)和需要收集的信息進(jìn)行收集,采用公有靜態(tài)類接口可以保證對(duì)異常收集的穩(wěn)定性和適用范圍;在本實(shí)施例的技術(shù)方案中,先對(duì)長度做限制,避免獲取數(shù)據(jù)量過大,造成上傳困難。
[0024]步驟230,將異常事件對(duì)應(yīng)的信息與一項(xiàng)或多項(xiàng)屬性一起上傳到服務(wù)器,其中異常事件對(duì)應(yīng)的信息以及每項(xiàng)屬性之間采用預(yù)設(shè)的間隔符隔開。在本實(shí)施例的技術(shù)方案中,對(duì)間隔符的類型不進(jìn)行限制,例如,(% )、I I都可以作為間隔符。
[0025]如圖3所示,本發(fā)明的一個(gè)實(shí)施例中示出了一種應(yīng)用異常信息收集方法,其包括:
[0026]步驟310,監(jiān)測(cè)應(yīng)用運(yùn)行時(shí)是否發(fā)生預(yù)定的異常事件。
[0027]步驟320,在異常事件發(fā)生時(shí),獲取應(yīng)用產(chǎn)生的與異常事件對(duì)應(yīng)的信息。
[0028]步驟330,在異常事件對(duì)應(yīng)的信息的體積超過預(yù)設(shè)值時(shí),將其保存到預(yù)設(shè)的數(shù)據(jù)庫。在本實(shí)施例的技術(shù)方案中,這是因?yàn)楫?dāng)異常信息過大,即時(shí)上傳有可能出現(xiàn)上傳輸失敗造成數(shù)據(jù)丟失的情況,先存儲(chǔ)到數(shù)據(jù)庫中再上傳則避免了這種情況的發(fā)生。
[0029]其中,在異常事件發(fā)生多次時(shí),僅在數(shù)據(jù)庫中存儲(chǔ)一次異常事件對(duì)應(yīng)的信息,以及記錄異常事件發(fā)生的次數(shù)。在本實(shí)施例的技術(shù)方案中,通過這種方式,可以有效地降低數(shù)據(jù)庫中存儲(chǔ)的數(shù)量,以及避免異常信息的多次上傳。
[0030]步驟340,在應(yīng)用退出時(shí),或在應(yīng)用的行為停止時(shí),上傳異常事件對(duì)應(yīng)的信息。在本實(shí)施例的技術(shù)方案中,在應(yīng)用退出或行為(Activity)停止(OnStop)時(shí)進(jìn)行上傳,可以避免上傳動(dòng)作干擾到應(yīng)用的正常工作。
[0031]步驟350,在上傳成功時(shí),從數(shù)據(jù)庫中刪除異常事件對(duì)應(yīng)的信息。
[0032]步驟360,在上傳失敗時(shí),在數(shù)據(jù)庫中保持異常事件對(duì)應(yīng)的信息。在本實(shí)施例的技術(shù)方案中,這樣有利于保證異常信息在上傳失敗之后可以繼續(xù)進(jìn)行上傳。
[0033]如圖4所示,本發(fā)明的一個(gè)實(shí)施例中示出了一種應(yīng)用異常信息收集裝置,其包括:
[0034]異常事件監(jiān)測(cè)模塊410,監(jiān)測(cè)應(yīng)用運(yùn)行時(shí)是否發(fā)生預(yù)定的異常事件。在本實(shí)施例的技術(shù)方案中,對(duì)異常事件不進(jìn)行限制,具體可以根據(jù)應(yīng)用的業(yè)務(wù)邏輯來選擇異常事件。
[0035]異常信息獲取模塊420,在異常事件發(fā)生時(shí),獲取應(yīng)用產(chǎn)生的