欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

應(yīng)用軟件崩潰數(shù)據(jù)的處理方法和裝置制造方法

文檔序號:6524622閱讀:312來源:國知局
應(yīng)用軟件崩潰數(shù)據(jù)的處理方法和裝置制造方法
【專利摘要】本發(fā)明提供了一種應(yīng)用軟件崩潰數(shù)據(jù)的處理方法和裝置,該方法包括:確定終端設(shè)備的應(yīng)用軟件產(chǎn)生崩潰,其中,終端設(shè)備使用的操作系統(tǒng)是安卓系統(tǒng);獲取應(yīng)用軟件的崩潰數(shù)據(jù);向服務(wù)器發(fā)送崩潰數(shù)據(jù),其中,崩潰數(shù)據(jù)用于在服務(wù)器處對應(yīng)用軟件的崩潰進(jìn)行分析。本申請使得服務(wù)器能夠根據(jù)該崩潰數(shù)據(jù)對崩潰進(jìn)行分析。
【專利說明】應(yīng)用軟件崩潰數(shù)據(jù)的處理方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,特別是涉及一種應(yīng)用軟件崩潰數(shù)據(jù)的處理方法和裝置。
【背景技術(shù)】
[0002]近年來,安裝有操作系統(tǒng)的智能終端設(shè)備越來越多。安裝了操作系統(tǒng)的終端設(shè)備可以像個(gè)人電腦一樣,由用戶自行安裝軟件、游戲、導(dǎo)航等第三方服務(wù)商提供的程序,通過此類程序來不斷對終端設(shè)備的功能進(jìn)行擴(kuò)充,并可以通過移動(dòng)通訊網(wǎng)絡(luò)來實(shí)現(xiàn)無線網(wǎng)絡(luò)接入。
[0003]安卓(Android,也稱為安致)系統(tǒng)是現(xiàn)在主流的終端設(shè)備操作系統(tǒng)之一,大多數(shù)終端設(shè)備廠商都使用安卓操作系統(tǒng)。隨著智能終端設(shè)備的普及,運(yùn)行在安卓系統(tǒng)上的應(yīng)用軟件(APP)的數(shù)量也有了呈幾何級數(shù)的爆炸式增長。大多數(shù)應(yīng)用軟件都是第三方提供的,當(dāng)終端設(shè)備運(yùn)行應(yīng)用軟件時(shí),可能無法正常運(yùn)行該應(yīng)用軟件,導(dǎo)致應(yīng)用軟件崩潰,當(dāng)系統(tǒng)崩潰時(shí),操作系統(tǒng)不對該應(yīng)用軟件的崩潰進(jìn)行操作。

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

[0004]鑒于上述現(xiàn)有的無法針對應(yīng)用軟件的崩潰對應(yīng)用軟件進(jìn)行分析的問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的應(yīng)用軟件崩潰數(shù)據(jù)的處
理方法與裝置。
[0005]依據(jù)本發(fā)明的一個(gè)方面,提供了應(yīng)用軟件崩潰數(shù)據(jù)的處理方法,包括:確定終端設(shè)備的應(yīng)用軟件產(chǎn)生崩潰,其中,終端設(shè)備使用的操作系統(tǒng)是安卓系統(tǒng);獲取應(yīng)用軟件的崩潰數(shù)據(jù);向服務(wù)器發(fā)送崩潰數(shù)據(jù),其中,崩潰數(shù)據(jù)用于在服務(wù)器處對應(yīng)用軟件的崩潰進(jìn)行分析。
[0006]可選地,確定終端設(shè)備的應(yīng)用軟件產(chǎn)生崩潰包括:調(diào)用監(jiān)聽器判斷應(yīng)用軟件的線程中是否有未處理的異常線程,如果是,則確定應(yīng)用軟件產(chǎn)生崩潰。
[0007]可選地,向服務(wù)器發(fā)送崩潰數(shù)據(jù)包括:生成對崩潰數(shù)據(jù)進(jìn)行打包的壓縮請求;使用腳本語言對壓縮請求進(jìn)行解析;將崩潰數(shù)據(jù)進(jìn)行打包;將打包后的崩潰數(shù)據(jù)通過超文本傳輸協(xié)議傳輸HTTP POST發(fā)送給服務(wù)器。
[0008]可選地,將崩潰數(shù)據(jù)進(jìn)行打包包括:將一段時(shí)間內(nèi)終端設(shè)備獲取的崩潰數(shù)據(jù)進(jìn)行打包;將打包后的崩潰數(shù)據(jù)通過超文本傳輸協(xié)議傳輸HTTP POST發(fā)送給服務(wù)器包括:在預(yù)定時(shí)刻將打包后的崩潰數(shù)據(jù)通過HTTP POST發(fā)送給服務(wù)器。
[0009]可選地,在向服務(wù)器發(fā)送崩潰數(shù)據(jù)之前,上述方法還包括:當(dāng)再次啟動(dòng)應(yīng)用軟件時(shí),提示用戶選擇是否向服務(wù)器發(fā)送崩潰數(shù)據(jù);接收來自用戶的確定向服務(wù)器發(fā)送崩潰數(shù)據(jù)的指令。
[0010]可選地,崩潰數(shù)據(jù)包括以下至少之一:終端設(shè)備的型號、應(yīng)用軟件的軟件版本號、異常棧、正在運(yùn)行的進(jìn)程、國際移動(dòng)設(shè)備身份碼MEI號加密的消息摘要算法第5版MD5值、終端設(shè)備的生廠商、終端設(shè)備使用的中央處理器CPU型號、終端設(shè)備使用的網(wǎng)絡(luò)類型、崩潰類型、和終端設(shè)備使用的安卓系統(tǒng)的版本號。
[0011]可選地,崩潰類型包括以下至少之一:內(nèi)存不足導(dǎo)致的軟件崩潰、指針錯(cuò)誤導(dǎo)致的軟件崩潰、系統(tǒng)服務(wù)異常導(dǎo)致的軟件崩潰、和狀態(tài)錯(cuò)誤導(dǎo)致的軟件崩潰。
[0012]根據(jù)本發(fā)明的另一方面,提供了一種應(yīng)用軟件崩潰數(shù)據(jù)的處理方法,包括:服務(wù)器接收終端設(shè)備發(fā)送的應(yīng)用軟件的崩潰數(shù)據(jù),其中,終端設(shè)備使用的操作系統(tǒng)是安卓系統(tǒng),崩潰數(shù)據(jù)是終端設(shè)備在確定應(yīng)用軟件產(chǎn)生崩潰之后獲取的;根據(jù)崩潰數(shù)據(jù),對應(yīng)用軟件的崩潰進(jìn)行分析。
[0013]可選地,根據(jù)崩潰數(shù)據(jù),對應(yīng)用軟件的崩潰進(jìn)行分析,包括:根據(jù)崩潰數(shù)據(jù)中的第一信息,將相同的第一信息對應(yīng)的崩潰數(shù)據(jù)放到同一個(gè)桶中,將不同的第一信息對應(yīng)的崩潰數(shù)據(jù)放在不同的桶中;統(tǒng)計(jì)每個(gè)桶中崩潰數(shù)據(jù)的數(shù)量;根據(jù)第一信息和桶的對應(yīng)關(guān)系以及每個(gè)桶中崩潰數(shù)據(jù)的數(shù)量,確定第一信息與應(yīng)用軟件的崩潰之間的關(guān)系。
[0014]可選地,第一信息包括以下至少之一:終端設(shè)備的型號、崩潰類型、和終端設(shè)備使用的安卓系統(tǒng)的版本號。
[0015]可選地,崩潰數(shù)據(jù)是終端設(shè)備進(jìn)行打包之后的數(shù)據(jù)。
[0016]可選地,服務(wù)器接收終端設(shè)備發(fā)送的應(yīng)用軟件的崩潰數(shù)據(jù)包括:服務(wù)器在預(yù)定時(shí)刻接收終端設(shè)備發(fā)送的崩潰數(shù)據(jù),其中,終端設(shè)備發(fā)送的崩潰數(shù)據(jù)是終端設(shè)備將一段時(shí)間內(nèi)獲取的崩潰數(shù)據(jù)進(jìn)行打包獲得的數(shù)據(jù)。
[0017]可選地,在服務(wù)器接收終端設(shè)備發(fā)送的應(yīng)用軟件的崩潰數(shù)據(jù)之后,上述方法還包括:將一段時(shí)間內(nèi)服務(wù)器接收到的崩潰數(shù)據(jù)進(jìn)行打包,并保存打包之后的崩潰數(shù)據(jù)。
[0018]可選地,崩潰數(shù)據(jù)包括以下至少之一:終端設(shè)備的型號、應(yīng)用軟件的軟件版本號、異常棧、正在運(yùn)行的進(jìn)程、國際移動(dòng)設(shè)備身份碼MEI號加密的消息摘要算法第5版MD5值、終端設(shè)備的生廠商、終端設(shè)備使用的中央處理器CPU型號、終端設(shè)備使用的網(wǎng)絡(luò)類型、崩潰類型、和終端設(shè)備使用的安卓系統(tǒng)的版本號。
[0019]可選地,崩潰類型包括以下至少之一:內(nèi)存不足導(dǎo)致的軟件崩潰、指針錯(cuò)誤導(dǎo)致的軟件崩潰、系統(tǒng)服務(wù)異常導(dǎo)致的軟件崩潰、和狀態(tài)錯(cuò)誤導(dǎo)致的軟件崩潰。
[0020]根據(jù)本發(fā)明的再一方面,提供了一種應(yīng)用軟件崩潰數(shù)據(jù)的處理裝置,包括:確定單元,用于確定終端設(shè)備的應(yīng)用軟件產(chǎn)生崩潰,其中,終端設(shè)備使用的操作系統(tǒng)是安卓系統(tǒng);獲取單元,用于獲取應(yīng)用軟件的崩潰數(shù)據(jù);發(fā)送單元,用于向服務(wù)器發(fā)送崩潰數(shù)據(jù),其中,崩潰數(shù)據(jù)用于在服務(wù)器處對應(yīng)用軟件的崩潰進(jìn)行分析。
[0021]可選地,確定單元還用于:調(diào)用監(jiān)聽器判斷應(yīng)用軟件的線程中是否有未處理的異常線程,如果是,則確定應(yīng)用軟件產(chǎn)生崩潰。
[0022]可選地,發(fā)送單元還用于:生成對崩潰數(shù)據(jù)進(jìn)行打包的壓縮請求;使用腳本語言對壓縮請求進(jìn)行解析;將崩潰數(shù)據(jù)進(jìn)行打包;將打包后的崩潰數(shù)據(jù)通過超文本傳輸協(xié)議傳輸HTTP POST發(fā)送給服務(wù)器。
[0023]可選地,發(fā)送單元用于:將一段時(shí)間內(nèi)終端設(shè)備獲取的崩潰數(shù)據(jù)進(jìn)行打包;在預(yù)定時(shí)刻將打包后的崩潰數(shù)據(jù)通過HTTP POST發(fā)送給服務(wù)器。
[0024]可選地,上述裝置還包括:提示單元,用于在向服務(wù)器發(fā)送崩潰數(shù)據(jù)之前,當(dāng)再次啟動(dòng)應(yīng)用軟件時(shí),提示用戶選擇是否向服務(wù)器發(fā)送崩潰數(shù)據(jù);接收單元,用于接收來自用戶的確定向服務(wù)器發(fā)送崩潰數(shù)據(jù)的指令。
[0025]可選地,崩潰數(shù)據(jù)包括以下至少之一:終端設(shè)備的型號、應(yīng)用軟件的軟件版本號、異常棧、正在運(yùn)行的進(jìn)程、國際移動(dòng)設(shè)備身份碼MEI號加密的消息摘要算法第5版MD5值、終端設(shè)備的生廠商、終端設(shè)備使用的中央處理器CPU型號、終端設(shè)備使用的網(wǎng)絡(luò)類型、崩潰類型、和終端設(shè)備使用的安卓系統(tǒng)的版本號。
[0026]可選地,崩潰類型包括以下至少之一:內(nèi)存不足導(dǎo)致的軟件崩潰、指針錯(cuò)誤導(dǎo)致的軟件崩潰、系統(tǒng)服務(wù)異常導(dǎo)致的軟件崩潰、和狀態(tài)錯(cuò)誤導(dǎo)致的軟件崩潰。
[0027]根據(jù)本發(fā)明的又一方面,提供了一種應(yīng)用軟件崩潰數(shù)據(jù)的處理裝置,包括:接收單元,用于接收終端設(shè)備發(fā)送的應(yīng)用軟件的崩潰數(shù)據(jù),其中,終端設(shè)備使用的操作系統(tǒng)是安卓系統(tǒng),崩潰數(shù)據(jù)是終端設(shè)備在確定應(yīng)用軟件產(chǎn)生崩潰之后獲取的;分析單元,用于根據(jù)崩潰數(shù)據(jù),對應(yīng)用軟件的崩潰進(jìn)行分析。
[0028]可選地,分析單元還用于:根據(jù)崩潰數(shù)據(jù)中的第一信息,將相同的第一信息對應(yīng)的崩潰數(shù)據(jù)放到同一個(gè)桶中,將不同的第一信息對應(yīng)的崩潰數(shù)據(jù)放在不同的桶中;統(tǒng)計(jì)每個(gè)桶中崩潰數(shù)據(jù)的數(shù)量;根據(jù)第一信息和桶的對應(yīng)關(guān)系以及每個(gè)桶中崩潰數(shù)據(jù)的數(shù)量,確定第一信息與應(yīng)用軟件的崩潰之間的關(guān)系。
[0029]可選地,第一信息包括以下至少之一:終端設(shè)備的型號、崩潰類型、和終端設(shè)備使用的安卓系統(tǒng)的版本號。
[0030]可選地,崩潰數(shù)據(jù)是終端設(shè)備進(jìn)行打包之后的數(shù)據(jù)。
[0031]可選地,接收單元還用于在預(yù)定時(shí)刻接收終端設(shè)備發(fā)送的崩潰數(shù)據(jù),其中,終端設(shè)備發(fā)送的崩潰數(shù)據(jù)是終端設(shè)備將一段時(shí)間內(nèi)獲取的崩潰數(shù)據(jù)進(jìn)行打包獲得的數(shù)據(jù)。
[0032]可選地,上述裝置還包括:打包單元,用于在服務(wù)器接收終端設(shè)備發(fā)送的應(yīng)用軟件的崩潰數(shù)據(jù)之后,將一段時(shí)間內(nèi)服務(wù)器接收到的崩潰數(shù)據(jù)進(jìn)行打包;保存單元,用于保存打包之后的崩潰數(shù)據(jù)。
[0033]可選地,崩潰數(shù)據(jù)包括以下至少之一:終端設(shè)備的型號、應(yīng)用軟件的軟件版本號、異常棧、正在運(yùn)行的進(jìn)程、國際移動(dòng)設(shè)備身份碼MEI號加密的消息摘要算法第5版MD5值、終端設(shè)備的生廠商、終端設(shè)備使用的中央處理器CPU型號、終端設(shè)備使用的網(wǎng)絡(luò)類型、崩潰類型、和終端設(shè)備使用的安卓系統(tǒng)的版本號。
[0034]可選地,崩潰類型包括以下至少之一:內(nèi)存不足導(dǎo)致的軟件崩潰、指針錯(cuò)誤導(dǎo)致的軟件崩潰、系統(tǒng)服務(wù)異常導(dǎo)致的軟件崩潰、和狀態(tài)錯(cuò)誤導(dǎo)致的軟件崩潰。
[0035]在現(xiàn)有技術(shù)中,當(dāng)使用安卓系統(tǒng)的終端設(shè)備中的應(yīng)用軟件崩潰時(shí),系統(tǒng)不對該應(yīng)用軟件的崩潰進(jìn)行任何操作,從而無法針對這些崩潰對應(yīng)用軟件進(jìn)行分析。在本發(fā)明中,當(dāng)使用安卓系統(tǒng)的終端設(shè)備中的應(yīng)用軟件崩潰時(shí),終端設(shè)備將崩潰數(shù)據(jù)發(fā)送給服務(wù)器,使得服務(wù)器能夠根據(jù)該崩潰數(shù)據(jù)對崩潰進(jìn)行分析,以便后續(xù)對應(yīng)用軟件進(jìn)行相應(yīng)的改進(jìn)。
[0036]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的【具體實(shí)施方式】。
【專利附圖】

【附圖說明】
[0037]通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0038]圖1是根據(jù)本發(fā)明實(shí)施例一的一種應(yīng)用軟件崩潰數(shù)據(jù)的處理方法的步驟流程圖;
[0039]圖2是根據(jù)本發(fā)明實(shí)施例二的一種應(yīng)用軟件崩潰數(shù)據(jù)的處理方法的步驟流程圖;
[0040]圖3是根據(jù)本發(fā)明實(shí)施例三的一種應(yīng)用軟件崩潰數(shù)據(jù)的處理方法的步驟流程圖;
[0041]圖4是根據(jù)本發(fā)明實(shí)施例四的一種應(yīng)用軟件崩潰數(shù)據(jù)的處理裝置的結(jié)構(gòu)框圖;
[0042]圖5是根據(jù)本發(fā)明實(shí)施例四的一種優(yōu)選的應(yīng)用軟件崩潰數(shù)據(jù)的處理裝置的結(jié)構(gòu)框圖;
[0043]圖6是根據(jù)本發(fā)明實(shí)施例五的一種應(yīng)用軟件崩潰數(shù)據(jù)的處理裝置的結(jié)構(gòu)框圖;
[0044]圖7是根據(jù)本發(fā)明實(shí)施例五的一種優(yōu)選的應(yīng)用軟件崩潰數(shù)據(jù)的處理裝置的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0045]下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0046]實(shí)施例一
[0047]圖1是根據(jù)本發(fā)明實(shí)施例一的一種應(yīng)用軟件崩潰數(shù)據(jù)的處理方法的步驟流程圖,該實(shí)施例可以應(yīng)用于終端設(shè)備側(cè),可以應(yīng)用到例如安全衛(wèi)士等應(yīng)用軟件中。在本申請中,終端設(shè)備包括但不限于安裝有安卓操作系統(tǒng)的以下電子設(shè)備:移動(dòng)電話、平板電腦、筆記本計(jì)算機(jī)、導(dǎo)航儀、音頻和/或視頻播放器、收音機(jī)、移動(dòng)電視、多功能遙控器等便攜式計(jì)算設(shè)備;臺(tái)式計(jì)算機(jī)、大型計(jì)算機(jī)、打印機(jī)、傳真機(jī)、復(fù)印機(jī)、多功能一體機(jī)、機(jī)頂盒、公共信息查詢設(shè)備、多媒體信息交互設(shè)備等固定式計(jì)算設(shè)備。如圖1所示,該方法包括:
[0048]步驟102,確定終端設(shè)備上的應(yīng)用軟件產(chǎn)生崩潰,其中,該終端設(shè)備使用的操作系統(tǒng)是安卓系統(tǒng);該應(yīng)用軟件也稱為APP、應(yīng)用、或應(yīng)用程序。在監(jiān)測到崩潰后,程序會(huì)自動(dòng)退出。
[0049]在本發(fā)明實(shí)施例的一個(gè)優(yōu)選實(shí)例中,終端設(shè)備先調(diào)用監(jiān)聽器判斷應(yīng)用軟件的線程中是否有未處理的異常線程,如果是,確定應(yīng)用軟件產(chǎn)生崩潰。安卓系統(tǒng)使用的JAVA語言,在JAVA里,每個(gè)線程都可能有出現(xiàn)異常,有些異常時(shí)可以處理的,例如,不能上網(wǎng);有些異常不能處理,例如,向某個(gè)設(shè)備發(fā)送通知,如果該設(shè)備不存在,則該異常無法處理,當(dāng)程序里有無法處理的異常時(shí),先調(diào)用監(jiān)聽器對該異常進(jìn)行處理,記錄該異常,將該異常的相關(guān)信息保存在文件中,并將該文件存儲(chǔ)在私有目錄中,然后,線程拋出該異常。通過該方式,能夠方便地確定系統(tǒng)中應(yīng)用軟件是否發(fā)生崩潰。
[0050]步驟104,該終端設(shè)備獲取產(chǎn)生崩潰的應(yīng)用軟件的崩潰數(shù)據(jù)。
[0051]在本發(fā)明實(shí)施例的另一個(gè)優(yōu)選實(shí)例中,在應(yīng)用軟件產(chǎn)生崩潰之后,終端設(shè)備會(huì)獲取該應(yīng)用軟件的崩潰數(shù)據(jù),該崩潰數(shù)據(jù)可以包括:終端設(shè)備的型號、應(yīng)用軟件的軟件版本號、異常棧、正在運(yùn)行的進(jìn)程、國際移動(dòng)設(shè)備身份碼(International Mobile EquipmentIdentity, IMEI)號加密的消息摘要算法第 5 版(Message Digest Algorithm5, MD5)值、終端設(shè)備的生廠商、終端設(shè)備使用的中央處理器(Central Processing Unit,CPU)型號、終端設(shè)備使用的網(wǎng)絡(luò)類型、崩潰類型、和終端設(shè)備使用的安卓系統(tǒng)的版本號。優(yōu)選的,崩潰類型包括以下至少之一:內(nèi)存不足導(dǎo)致的軟件崩潰、指針錯(cuò)誤導(dǎo)致的軟件崩潰、系統(tǒng)服務(wù)異常導(dǎo)致的軟件崩潰、和狀態(tài)錯(cuò)誤導(dǎo)致的軟件崩潰。
[0052]步驟106,該終端設(shè)備向服務(wù)器發(fā)送崩潰數(shù)據(jù),其中,該崩潰數(shù)據(jù)用于在服務(wù)器處對應(yīng)用軟件的崩潰進(jìn)行分析。
[0053]在具體實(shí)現(xiàn)過程中,終端設(shè)備可以先生成對崩潰數(shù)據(jù)進(jìn)行打包的壓縮請求;使用腳本語言對壓縮請求進(jìn)行解析;將獲取的崩潰數(shù)據(jù)進(jìn)行打包;然后,再將打包后的崩潰數(shù)據(jù)通過超文本傳輸協(xié)議(Hyper Text Transport Protocol,HTTP)傳輸(POST)發(fā)送給服務(wù)器。這樣,終端設(shè)備將數(shù)據(jù)進(jìn)行壓縮后再傳遞,然后服務(wù)端拿到數(shù)據(jù)解壓縮后再處理。此時(shí),可以選擇使用Gzip壓縮格式對崩潰數(shù)據(jù)進(jìn)行壓縮,其中,Gzip格式是GNUzip的縮寫。在通常情況下,使用Gzip壓縮格式,壓縮后的數(shù)據(jù)大小是壓縮前的五分之一左右,甚至更小,從而使得數(shù)據(jù)傳輸時(shí)間大大降低,用戶體驗(yàn)大大提高。
[0054]下面對Gzip壓縮方式進(jìn)行具體說明,當(dāng)終端設(shè)備檢測到待發(fā)送的業(yè)務(wù)量大于預(yù)定值時(shí),為待請求的業(yè)務(wù)信息生成一個(gè)壓縮請求,該預(yù)定值可以根據(jù)需要設(shè)置,該壓縮請求可以為Gzip格式,發(fā)送Gzip格式的壓縮請求可以縮減請求大小,加快傳輸速度。壓縮可以分成多個(gè)階段,包括:預(yù)處理(access)階段和內(nèi)容處理(content)階段,其中,access階段用來對壓縮請求做一些預(yù)處理content階段用來處理最終的響應(yīng)數(shù)據(jù),例如,使用Gzip壓縮格式對崩潰數(shù)據(jù)進(jìn)行壓縮;在預(yù)處理階段可以使用腳本語言對壓縮請求進(jìn)行解析,例如,可以使用腳本語言例如Lua調(diào)用數(shù)據(jù)壓縮庫(zlib)或者使用Lua調(diào)用外部函數(shù)接口(Foreign Function Interface,FFI)對壓縮請求進(jìn)行解析;當(dāng)然也可以使用其他類型的腳本語言例如Perl替代Lua。在預(yù)處理階段可以通過C語言或其他編程語言創(chuàng)建一個(gè)封裝zlib的解壓縮模塊,通過該解壓縮模塊中的zlib來解壓縮壓縮請求中的Gzip數(shù)據(jù),然后,將非壓縮數(shù)據(jù)交給超文本預(yù)處理器(Hypertext Preprocessor, PHP),由PHP完成最終的處理,從而實(shí)現(xiàn)對數(shù)據(jù)的壓縮。
[0055]優(yōu)選的,終端設(shè)備可以將一段時(shí)間內(nèi)(例如,2小時(shí)內(nèi))本地獲取的崩潰數(shù)據(jù)進(jìn)行打包,然后,在預(yù)定時(shí)刻將打包后的崩潰數(shù)據(jù)通過HTTP POST發(fā)送給服務(wù)器。通過這樣的方式,終端設(shè)備僅需要在預(yù)定時(shí)刻發(fā)送崩潰數(shù)據(jù),而不需要隨時(shí)上報(bào)數(shù)據(jù),從而降低終端設(shè)備通信模塊的使用頻率,能夠達(dá)到省電的效果。另外,由于通信系統(tǒng)在某些時(shí)刻負(fù)載會(huì)較重,某些時(shí)刻負(fù)載會(huì)較輕,因此,可以將預(yù)定時(shí)刻設(shè)置在負(fù)載較輕的時(shí)刻,從而避免通信網(wǎng)絡(luò)負(fù)載過重。
[0056]在本發(fā)明實(shí)施例的又一個(gè)優(yōu)選實(shí)例中,可以在再次啟動(dòng)崩潰的應(yīng)用軟件時(shí),提示用戶選擇是否向服務(wù)器發(fā)送崩潰數(shù)據(jù),例如,可以使用提示框進(jìn)行提示,當(dāng)然,也可以采用其他方式進(jìn)行提示,此處不做限制;當(dāng)用戶選擇向服務(wù)器發(fā)送崩潰數(shù)據(jù)時(shí),終端設(shè)備會(huì)接收來自用戶的確定向服務(wù)器發(fā)送崩潰數(shù)據(jù)的指令,然后再向服務(wù)器發(fā)送崩潰數(shù)據(jù);當(dāng)用戶選擇不向服務(wù)器發(fā)送崩潰數(shù)據(jù)時(shí),終端設(shè)備會(huì)接收來自用戶的確定不向服務(wù)器發(fā)送崩潰數(shù)據(jù)的指令,在這種情況下,終端設(shè)備不會(huì)向服務(wù)器發(fā)送該崩潰數(shù)據(jù)。在本實(shí)施例中,只有在用戶同意的情況下,終端設(shè)備才會(huì)向服務(wù)器發(fā)送崩潰的應(yīng)用軟件的崩潰數(shù)據(jù),避免了在用戶不知情的情況下泄露終端設(shè)備的相關(guān)信息。[0057]在現(xiàn)有技術(shù)中,當(dāng)使用安卓系統(tǒng)的終端設(shè)備中的應(yīng)用軟件崩潰時(shí),系統(tǒng)不對該應(yīng)用軟件的崩潰進(jìn)行任何操作,從而無法針對這些崩潰對應(yīng)用軟件進(jìn)行分析。在本實(shí)施例中,當(dāng)使用安卓系統(tǒng)的終端設(shè)備中的應(yīng)用軟件崩潰時(shí),終端設(shè)備將崩潰數(shù)據(jù)發(fā)送給服務(wù)器,使得服務(wù)器能夠根據(jù)該崩潰數(shù)據(jù)對崩潰進(jìn)行分析,以便后續(xù)對應(yīng)用軟件進(jìn)行相應(yīng)的改進(jìn)。
[0058]實(shí)施例二
[0059]圖2是根據(jù)本發(fā)明實(shí)施例二的一種應(yīng)用軟件崩潰數(shù)據(jù)的處理方法的步驟流程圖,該實(shí)施例可以應(yīng)用于服務(wù)器側(cè)。如圖2所示,該方法包括:
[0060]步驟202,服務(wù)器接收終端設(shè)備發(fā)送的應(yīng)用軟件的崩潰數(shù)據(jù),其中,該終端設(shè)備使用的操作系統(tǒng)是安卓系統(tǒng),該崩潰數(shù)據(jù)是終端設(shè)備在確定其上的應(yīng)用軟件產(chǎn)生崩潰之后獲取的,該應(yīng)用軟件也稱為APP或應(yīng)用。
[0061]在本發(fā)明實(shí)施例的一個(gè)優(yōu)選實(shí)例中,在應(yīng)用軟件產(chǎn)生崩潰之后,終端設(shè)備會(huì)獲取該應(yīng)用軟件的崩潰數(shù)據(jù),并將該崩潰數(shù)據(jù)發(fā)送給服務(wù)器,從而服務(wù)器能夠接收到該崩潰數(shù)據(jù)。該崩潰數(shù)據(jù)可以包括:終端設(shè)備的型號、應(yīng)用軟件的軟件版本號、異常棧、正在運(yùn)行的進(jìn)程、IMEI號加密的MD5值、終端設(shè)備的生廠商、終端設(shè)備使用的CPU型號、終端設(shè)備使用的網(wǎng)絡(luò)類型、崩潰類型、和終端設(shè)備使用的安卓系統(tǒng)的版本號。優(yōu)選的,崩潰類型包括以下至少之一:內(nèi)存不足導(dǎo)致的軟件崩潰、指針錯(cuò)誤導(dǎo)致的軟件崩潰、系統(tǒng)服務(wù)異常導(dǎo)致的軟件崩潰、和狀態(tài)錯(cuò)誤導(dǎo)致的軟件崩潰。
[0062]優(yōu)選的,服務(wù)器接收到的可以是包含崩潰數(shù)據(jù)的崩潰信息包,其中,崩潰信息包包括:終端設(shè)備的型號(例如手機(jī)型號)、IMEI號的MD5哈希(hash)碼、操作系統(tǒng)及其版本、CPU型號、ROM版本、手機(jī)生產(chǎn)商、崩潰日期時(shí)間、軟件包名、版本號、版本名稱、崩潰消息、和崩潰棧信息。服務(wù)器,即,服務(wù)器接收到的崩潰數(shù)據(jù)是終端設(shè)備進(jìn)行打包之后的數(shù)據(jù)。這樣,可以減少終端設(shè)備到服務(wù)器之間的傳送數(shù)據(jù)量,降低網(wǎng)絡(luò)傳輸量。例如,服務(wù)器在預(yù)定時(shí)刻接收終端設(shè)備發(fā)送的崩潰數(shù)據(jù),其中,終端設(shè)備發(fā)送的崩潰數(shù)據(jù)是終端設(shè)備將一段時(shí)間內(nèi)獲取的崩潰數(shù)據(jù)進(jìn)行打包獲得的數(shù)據(jù)。通過這樣的方式,服務(wù)器僅需要在預(yù)定時(shí)刻接收崩潰數(shù)據(jù),而不需要隨時(shí)掃描崩潰數(shù)據(jù),從而提高了工作效率。另外,由于通信系統(tǒng)在某些時(shí)刻負(fù)載會(huì)較重,某些時(shí)刻負(fù)載會(huì)較輕,因此,可以將預(yù)定時(shí)刻設(shè)置在負(fù)載較輕的時(shí)刻,從而避免通信網(wǎng)絡(luò)負(fù)載過重。
[0063]在本發(fā)明實(shí)施例的另一個(gè)優(yōu)選實(shí)例中,服務(wù)器在接收終端設(shè)備發(fā)送的應(yīng)用軟件的崩潰數(shù)據(jù)之后,將一段時(shí)間內(nèi)(例如,I天)服務(wù)器接收到的崩潰數(shù)據(jù)進(jìn)行打包,并保存打包之后的崩潰數(shù)據(jù)。通過該實(shí)例,可以減少服務(wù)器保存的文件的數(shù)量。
[0064]步驟204,根據(jù)該崩潰數(shù)據(jù),服務(wù)器對應(yīng)用軟件的崩潰進(jìn)行分析。
[0065]在本發(fā)明實(shí)施例的又一個(gè)優(yōu)選實(shí)例中,服務(wù)器可以僅選取接收到的崩潰信息包中的一部分崩潰數(shù)據(jù)進(jìn)行分析,例如,服務(wù)器根據(jù)崩潰數(shù)據(jù)中的第一信息,將相同的第一信息對應(yīng)的崩潰數(shù)據(jù)放到同一個(gè)桶中,將不同的第一信息對應(yīng)的崩潰數(shù)據(jù)放在不同的桶中,這樣,每個(gè)第一信息對應(yīng)的崩潰數(shù)據(jù)都保存在一個(gè)桶中;統(tǒng)計(jì)每個(gè)桶中崩潰數(shù)據(jù)的數(shù)量;根據(jù)第一信息和桶的對應(yīng)關(guān)系以及每個(gè)桶中崩潰數(shù)據(jù)的數(shù)量,確定第一信息與應(yīng)用軟件的崩潰之間的關(guān)系。優(yōu)選的,該第一信息包括以下至少之一:該終端設(shè)備的型號、崩潰類型、和該終端設(shè)備使用的安卓系統(tǒng)的版本號。例如,當(dāng)?shù)谝恍畔⑹鞘謾C(jī)型號時(shí),服務(wù)器如果接收到的手機(jī)型號為三星S5660和三星S4手機(jī)的針對應(yīng)用軟件S的崩潰數(shù)據(jù),將三星S5660的崩潰數(shù)據(jù)放在桶A中,將三星S4的崩潰數(shù)據(jù)放在桶B中,統(tǒng)計(jì)桶A中的崩潰數(shù)據(jù)為100條,統(tǒng)計(jì)桶A中的崩潰數(shù)據(jù)為10條,則可以確定應(yīng)用軟件S在三星S4中比在三星S5660中更穩(wěn)定。當(dāng)手機(jī)型號還包括其他型號時(shí),也可以采用上述方法進(jìn)行分析,從而可以選出對應(yīng)最多崩潰的N個(gè)手機(jī)型號,其中,N是正整數(shù),可以設(shè)置N為100。當(dāng)?shù)谝恍畔⑹瞧渌畔r(shí),可以采用類似的方式進(jìn)行分析,在此不再贅述。通過該實(shí)施例,可以結(jié)合崩潰數(shù)據(jù),對應(yīng)用軟件進(jìn)行有效地分析。
[0066]服務(wù)器端收集崩潰數(shù)據(jù)之后,根據(jù)用戶傳回的信息來修復(fù)軟件問題,然后在接下來的版本中發(fā)布改進(jìn)后的軟件。例如,找出根據(jù)一段時(shí)間內(nèi)數(shù)量比較多的崩潰類型進(jìn)行處理,然后在軟件的下一版本中修復(fù)并更新。
[0067]在現(xiàn)有技術(shù)中,當(dāng)使用安卓系統(tǒng)的終端設(shè)備中的應(yīng)用軟件崩潰時(shí),系統(tǒng)不對該應(yīng)用軟件的崩潰進(jìn)行任何操作,從而無法針對這些崩潰進(jìn)行分析。在本實(shí)施例中,當(dāng)使用安卓系統(tǒng)的終端設(shè)備中的應(yīng)用軟件崩潰時(shí),服務(wù)器從終端設(shè)備接收該應(yīng)用軟件的崩潰數(shù)據(jù),然后,根據(jù)該崩潰數(shù)據(jù)對崩潰進(jìn)行分析,從而實(shí)現(xiàn)了對應(yīng)用軟件的崩潰進(jìn)行分析,以便對應(yīng)用軟件進(jìn)行相應(yīng)的改進(jìn)。
[0068]實(shí)施例三
[0069]圖3是根據(jù)本發(fā)明實(shí)施例三的一種應(yīng)用軟件崩潰數(shù)據(jù)的處理方法的步驟流程圖,如圖3所示,該方法包括:
[0070]步驟302,確定終端設(shè)備上的應(yīng)用軟件產(chǎn)生崩潰,其中,該終端設(shè)備使用的操作系統(tǒng)是安卓系統(tǒng);該應(yīng)用軟件也稱為APP或應(yīng)用。
[0071]在本發(fā)明實(shí)施例的一個(gè)優(yōu)選實(shí)例中,終端設(shè)備調(diào)用監(jiān)聽器判斷應(yīng)用軟件的線程中是否有未處理的異常線程,如果是,則確定應(yīng)用軟件產(chǎn)生崩潰。安卓系統(tǒng)使用的JAVA語言,在JAVA里,每個(gè)線程都可能有出現(xiàn)異常,有些異常時(shí)可以處理的,例如,不能上網(wǎng);有些異常不能處理,例如,向某個(gè)設(shè)備發(fā)送通知,如果該設(shè)備不存在,則該異常無法處理,當(dāng)程序里有無法處理的異常時(shí),先調(diào)用監(jiān)聽器對該異常進(jìn)行處理,記錄該異常,將該異常的相關(guān)信息保存在文件中,并將該文件存儲(chǔ)在私有目錄中,然后,線程拋出該異常。通過該方式,能夠方便地確定系統(tǒng)中應(yīng)用軟件是否發(fā)生崩潰。
[0072]步驟304,該終端設(shè)備獲取產(chǎn)生崩潰的應(yīng)用軟件的崩潰數(shù)據(jù)。
[0073]在本發(fā)明實(shí)施例的另一個(gè)優(yōu)選實(shí)例中,在應(yīng)用軟件產(chǎn)生崩潰之后,終端設(shè)備會(huì)獲取該應(yīng)用軟件的崩潰數(shù)據(jù),該崩潰數(shù)據(jù)可以包括:終端設(shè)備的型號、應(yīng)用軟件的軟件版本號、異常棧、正在運(yùn)行的進(jìn)程、IMEI號加密的MD5值、終端設(shè)備的生廠商、終端設(shè)備使用的CPU型號、終端設(shè)備使用的網(wǎng)絡(luò)類型、崩潰類型、和終端設(shè)備使用的安卓系統(tǒng)的版本號。優(yōu)選的,崩潰類型包括以下至少之一:內(nèi)存不足導(dǎo)致的軟件崩潰、指針錯(cuò)誤導(dǎo)致的軟件崩潰、系統(tǒng)服務(wù)異常導(dǎo)致的軟件崩潰、和狀態(tài)錯(cuò)誤導(dǎo)致的軟件崩潰。
[0074]步驟306,用戶是否選擇向服務(wù)器發(fā)送崩潰數(shù)據(jù);如果是,則執(zhí)行步驟308 ;否則,流程結(jié)束。
[0075]在再次啟動(dòng)崩潰的應(yīng)用軟件時(shí),提示用戶選擇是否向服務(wù)器發(fā)送崩潰數(shù)據(jù),例如,可以使用提示框進(jìn)行提示,當(dāng)然,也可以采用其他方式進(jìn)行提示,此處不做限制;當(dāng)用戶選擇向服務(wù)器發(fā)送崩潰數(shù)據(jù)時(shí),終端設(shè)備會(huì)接收來自用戶的確定向服務(wù)器發(fā)送崩潰數(shù)據(jù)的指令,然后再向服務(wù)器發(fā)送崩潰數(shù)據(jù);當(dāng)用戶選擇不向服務(wù)器發(fā)送崩潰數(shù)據(jù)時(shí),終端設(shè)備會(huì)接收來自用戶的確定不向服務(wù)器發(fā)送崩潰數(shù)據(jù)的指令,在這種情況下,終端設(shè)備不會(huì)向服務(wù)器發(fā)送該崩潰數(shù)據(jù)。在本實(shí)施例中,只有在用戶同意的情況下,終端設(shè)備才會(huì)向服務(wù)器發(fā)送崩潰的應(yīng)用軟件的崩潰數(shù)據(jù),避免了在用戶不知情的情況下泄露終端設(shè)備的相關(guān)信息。
[0076]步驟308,該終端設(shè)備向服務(wù)器發(fā)送崩潰數(shù)據(jù)。
[0077]在具體實(shí)現(xiàn)過程中,
[0078]終端設(shè)備可以先生成對崩潰數(shù)據(jù)進(jìn)行打包的壓縮請求;使用腳本語言對壓縮請求進(jìn)行解析;將獲取的崩潰數(shù)據(jù)進(jìn)行打包;然后,再將打包后的崩潰數(shù)據(jù)通過超文本傳輸協(xié)議(Hyper Text Transport Protocol, HTTP)傳輸(POST)發(fā)送給服務(wù)器。這樣,終端設(shè)備將數(shù)據(jù)進(jìn)行壓縮后再傳遞,然后服務(wù)端拿到數(shù)據(jù)解壓縮后再處理。此時(shí),可以選擇使用Gzip壓縮格式對崩潰數(shù)據(jù)進(jìn)行壓縮,其中,Gzip格式是GNUzip的縮寫。在通常情況下,使用Gzip壓縮格式,壓縮后的數(shù)據(jù)大小是壓縮前的五分之一左右,甚至更小,從而使得數(shù)據(jù)傳輸時(shí)間大大降低,用戶體驗(yàn)大大提高。
[0079]下面對Gzip壓縮方式進(jìn)行具體說明,當(dāng)終端設(shè)備檢測到待發(fā)送的業(yè)務(wù)量大于預(yù)定值時(shí),為待請求的業(yè)務(wù)信息生成一個(gè)壓縮請求,該預(yù)定值可以根據(jù)需要設(shè)置,該壓縮請求可以為Gzip格式,發(fā)送Gzip格式的壓縮請求可以縮減請求大小,加快傳輸速度。壓縮可以分成多個(gè)階段,包括:預(yù)處理(access)階段和內(nèi)容處理(content)階段,其中,access階段用來對壓縮請求做一些預(yù)處理content階段用來處理最終的響應(yīng)數(shù)據(jù),例如,使用Gzip壓縮格式對崩潰數(shù)據(jù)進(jìn)行壓縮;在預(yù)處理階段可以使用腳本語言對壓縮請求進(jìn)行解析,例如,可以使用腳本語言例如Lua調(diào)用數(shù)據(jù)壓縮庫(zlib)或者使用Lua調(diào)用外部函數(shù)接口(Foreign Function Interface,FFI)對壓縮請求進(jìn)行解析;當(dāng)然也可以使用其他類型的腳本語言例如Perl替代Lua。在預(yù)處理階段可以通過C語言或其他編程語言創(chuàng)建一個(gè)封裝zlib的解壓縮模塊,通過該解壓縮模塊中的zlib來解壓縮壓縮請求中的Gzip數(shù)據(jù),從而實(shí)現(xiàn)對數(shù)據(jù)的壓縮。
[0080]優(yōu)選的,終端設(shè)備可以將一段時(shí)間內(nèi)(例如,2小時(shí)內(nèi))本地獲取的崩潰數(shù)據(jù)進(jìn)行打包,然后,在預(yù)定時(shí)刻將打包后的崩潰數(shù)據(jù)發(fā)送給服務(wù)器。通過這樣的方式,終端設(shè)備僅需要在預(yù)定時(shí)刻發(fā)送崩潰數(shù)據(jù),而不需要隨時(shí)上報(bào)數(shù)據(jù),從而降低終端設(shè)備通信模塊的使用頻率,能夠達(dá)到省電的效果。另外,由于通信系統(tǒng)在某些時(shí)刻負(fù)載會(huì)較重,某些時(shí)刻負(fù)載會(huì)較輕,因此,可以將預(yù)定時(shí)刻設(shè)置在負(fù)載較輕的時(shí)刻,從而避免通信網(wǎng)絡(luò)負(fù)載過重。
[0081]服務(wù)器在接收終端設(shè)備發(fā)送的應(yīng)用軟件的崩潰數(shù)據(jù)之后,可以將一段時(shí)間內(nèi)(例如,I天)服務(wù)器接收到的崩潰數(shù)據(jù)進(jìn)行打包,并保存打包之后的崩潰數(shù)據(jù)。通過該實(shí)例,可以減少服務(wù)器保存的文件的數(shù)量。
[0082]步驟310,根據(jù)該崩潰數(shù)據(jù),服務(wù)器對應(yīng)用軟件的崩潰進(jìn)行分析。
[0083]在本發(fā)明實(shí)施例的又一個(gè)優(yōu)選實(shí)例中,服務(wù)器根據(jù)崩潰數(shù)據(jù)中的第一信息,將相同的第一信息對應(yīng)的崩潰數(shù)據(jù)放到同一個(gè)桶中,將不同的第一信息對應(yīng)的崩潰數(shù)據(jù)放在不同的桶中,這樣,每個(gè)第一信息對應(yīng)的崩潰數(shù)據(jù)都保存在一個(gè)桶中;統(tǒng)計(jì)每個(gè)桶中崩潰數(shù)據(jù)的數(shù)量;根據(jù)第一信息和桶的對應(yīng)關(guān)系以及每個(gè)桶中崩潰數(shù)據(jù)的數(shù)量,確定第一信息與應(yīng)用軟件的崩潰之間的關(guān)系。優(yōu)選的,該第一信息包括以下至少之一:該終端設(shè)備的型號、崩潰類型、和該終端設(shè)備使用的安卓系統(tǒng)的版本號。例如,當(dāng)?shù)谝恍畔⑹鞘謾C(jī)型號時(shí),服務(wù)器如果接收到的手機(jī)型號為三星S5660和三星S4手機(jī)的針對應(yīng)用軟件S的崩潰數(shù)據(jù),將三星S5660的崩潰數(shù)據(jù)放在桶A中,將三星S4的崩潰數(shù)據(jù)放在桶B中,統(tǒng)計(jì)桶A中的崩潰數(shù)據(jù)為100條,統(tǒng)計(jì)桶A中的崩潰數(shù)據(jù)為10條,則可以確定應(yīng)用軟件S在三星S4中比在三星S5660中更穩(wěn)定。當(dāng)手機(jī)型號還包括其他型號時(shí),也可以采用上述方法進(jìn)行分析,從而可以選出對應(yīng)最多崩潰的N個(gè)手機(jī)型號,其中,N是正整數(shù),可以設(shè)置N為100。當(dāng)?shù)谝恍畔⑹瞧渌畔r(shí),可以采用類似的方式進(jìn)行分析,在此不再贅述。通過該實(shí)施例,可以結(jié)合崩潰數(shù)據(jù),對應(yīng)用軟件進(jìn)行有效地分析。
[0084]在現(xiàn)有技術(shù)中,當(dāng)使用安卓系統(tǒng)的終端設(shè)備中的應(yīng)用軟件崩潰時(shí),系統(tǒng)不對該應(yīng)用軟件的崩潰進(jìn)行任何操作,從而無法針對這些崩潰進(jìn)行分析。在本實(shí)施例中,當(dāng)使用安卓系統(tǒng)的終端設(shè)備中的應(yīng)用軟件崩潰時(shí),服務(wù)器從終端設(shè)備接收該應(yīng)用軟件的崩潰數(shù)據(jù),然后,根據(jù)該崩潰數(shù)據(jù)對崩潰進(jìn)行分析,從而實(shí)現(xiàn)了對應(yīng)用軟件的崩潰進(jìn)行分析,以便對應(yīng)用軟件進(jìn)行相應(yīng)的改進(jìn)。
[0085]實(shí)施例四
[0086]圖4是根據(jù)本發(fā)明實(shí)施例四的一種應(yīng)用軟件崩潰數(shù)據(jù)的處理裝置的結(jié)構(gòu)框圖,該裝置可以是使用安卓系統(tǒng)的終端設(shè)備,也可以是用在使用安卓系統(tǒng)的終端設(shè)備中的裝置。該裝置可以用于執(zhí)行上述終端設(shè)備側(cè)的方法,因此,上述終端設(shè)備側(cè)方法的特征可以結(jié)合到本實(shí)施例中。如圖4所示,該裝置包括:
[0087]確定單元402,用于確定終端設(shè)備的應(yīng)用軟件產(chǎn)生崩潰,其中,終端設(shè)備使用的操作系統(tǒng)是安卓系統(tǒng);
[0088]獲取單元404,用于獲取應(yīng)用軟件的崩潰數(shù)據(jù);
[0089]發(fā)送單元406,用于向服務(wù)器發(fā)送崩潰數(shù)據(jù),其中,崩潰數(shù)據(jù)用于在服務(wù)器處對應(yīng)用軟件的崩潰進(jìn)行分析。
[0090]在本發(fā)明實(shí)施例的優(yōu)選實(shí)例中,確定單元402還用于:調(diào)用監(jiān)聽器判斷應(yīng)用軟件的線程中是否有未處理的異常線程,如果是,則確定應(yīng)用軟件產(chǎn)生崩潰。
[0091]在本發(fā)明實(shí)施例的優(yōu)選實(shí)例中,發(fā)送單元406還用于:生成對崩潰數(shù)據(jù)進(jìn)行打包的壓縮請求;使用腳本語言對壓縮請求進(jìn)行解析;將崩潰數(shù)據(jù)進(jìn)行打包;將打包后的崩潰數(shù)據(jù)通過HTTP POST發(fā)送給服務(wù)器。
[0092]在本發(fā)明實(shí)施例的優(yōu)選實(shí)例中,發(fā)送單元406還用于:將一段時(shí)間內(nèi)終端設(shè)備獲取的崩潰數(shù)據(jù)進(jìn)行打包;在預(yù)定時(shí)刻將打包后的崩潰數(shù)據(jù)通過HTTP POST發(fā)送給服務(wù)器。
[0093]圖5是根據(jù)本發(fā)明實(shí)施例四的一種優(yōu)選的應(yīng)用軟件崩潰數(shù)據(jù)的處理裝置的結(jié)構(gòu)框圖,如圖5所示,上述裝置還包括:
[0094]提示單元502,用于在向服務(wù)器發(fā)送崩潰數(shù)據(jù)之前,當(dāng)再次啟動(dòng)應(yīng)用軟件時(shí),提示用戶選擇是否向服務(wù)器發(fā)送崩潰數(shù)據(jù);
[0095]接收單元504,用于接收來自用戶的確定向服務(wù)器發(fā)送崩潰數(shù)據(jù)的指令。
[0096]在本發(fā)明實(shí)施例的優(yōu)選實(shí)例中,崩潰數(shù)據(jù)包括以下至少之一:終端設(shè)備的型號、應(yīng)用軟件的軟件版本號、異常棧、正在運(yùn)行的進(jìn)程、頂EI號加密的MD5值、終端設(shè)備的生廠商、終端設(shè)備使用的CPU型號、終端設(shè)備使用的網(wǎng)絡(luò)類型、崩潰類型、和終端設(shè)備使用的安卓系統(tǒng)的版本號。
[0097]在本發(fā)明實(shí)施例的優(yōu)選實(shí)例中,崩潰類型包括以下至少之一:內(nèi)存不足導(dǎo)致的軟件崩潰、指針錯(cuò)誤導(dǎo)致的軟件崩潰、系統(tǒng)服務(wù)異常導(dǎo)致的軟件崩潰、和狀態(tài)錯(cuò)誤導(dǎo)致的軟件崩潰。
[0098]在現(xiàn)有技術(shù)中,當(dāng)使用安卓系統(tǒng)的終端設(shè)備中的應(yīng)用軟件崩潰時(shí),系統(tǒng)不對該應(yīng)用軟件的崩潰進(jìn)行任何操作,從而無法針對這些崩潰對應(yīng)用軟件進(jìn)行分析。在本實(shí)施例中,當(dāng)使用安卓系統(tǒng)的終端設(shè)備中的應(yīng)用軟件崩潰時(shí),終端設(shè)備將崩潰數(shù)據(jù)發(fā)送給服務(wù)器,使得服務(wù)器能夠根據(jù)該崩潰數(shù)據(jù)對崩潰進(jìn)行分析,以便后續(xù)對應(yīng)用軟件進(jìn)行相應(yīng)的改進(jìn)。
[0099]實(shí)施例五
[0100]圖6是根據(jù)本發(fā)明實(shí)施例五的一種應(yīng)用軟件崩潰數(shù)據(jù)的處理裝置的結(jié)構(gòu)框圖,該裝置可以是服務(wù)器,也可以是用在服務(wù)器中的裝置。該裝置可以用于執(zhí)行上述服務(wù)器側(cè)的方法,因此,上述服務(wù)器側(cè)方法的特征可以結(jié)合到本實(shí)施例中。如圖6所示,該裝置包括:
[0101]接收單元602,用于接收終端設(shè)備發(fā)送的應(yīng)用軟件的崩潰數(shù)據(jù),其中,終端設(shè)備使用的操作系統(tǒng)是安卓系統(tǒng),崩潰數(shù)據(jù)是終端設(shè)備在確定應(yīng)用軟件產(chǎn)生崩潰之后獲取的;
[0102]分析單元604,用于根據(jù)崩潰數(shù)據(jù),對應(yīng)用軟件的崩潰進(jìn)行分析。
[0103]在本發(fā)明實(shí)施例的優(yōu)選實(shí)例中,分析單元604還用于:根據(jù)崩潰數(shù)據(jù)中的第一信息,將相同的第一信息對應(yīng)的崩潰數(shù)據(jù)放到同一個(gè)桶中,將不同的第一信息對應(yīng)的崩潰數(shù)據(jù)放在不同的桶中;統(tǒng)計(jì)每個(gè)桶中崩潰數(shù)據(jù)的數(shù)量;根據(jù)第一信息和桶的對應(yīng)關(guān)系以及每個(gè)桶中崩潰數(shù)據(jù)的數(shù)量,確定第一信息與應(yīng)用軟件的崩潰之間的關(guān)系。
[0104]在本發(fā)明實(shí)施例的優(yōu)選實(shí)例中,第一信息包括以下至少之一:終端設(shè)備的型號、崩潰類型、和終端設(shè)備使用的安卓系統(tǒng)的版本號。
[0105]在本發(fā)明實(shí)施例的優(yōu)選實(shí)例中,上述崩潰數(shù)據(jù)是終端設(shè)備進(jìn)行打包之后的數(shù)據(jù)。
[0106]在本發(fā)明實(shí)施例的優(yōu)選實(shí)例中,接收單元602還用于在預(yù)定時(shí)刻接收終端設(shè)備發(fā)送的崩潰數(shù)據(jù),其中,終端設(shè)備發(fā)送的崩潰數(shù)據(jù)是終端設(shè)備將一段時(shí)間內(nèi)獲取的崩潰數(shù)據(jù)進(jìn)行打包獲得的數(shù)據(jù)。
[0107]圖7是根據(jù)本發(fā)明實(shí)施例五的一種優(yōu)選的應(yīng)用軟件崩潰數(shù)據(jù)的處理裝置的結(jié)構(gòu)框圖,如圖7所示,該裝置還包括:
[0108]打包單元702,用于在服務(wù)器接收終端設(shè)備發(fā)送的應(yīng)用軟件的崩潰數(shù)據(jù)之后,將一段時(shí)間內(nèi)服務(wù)器接收到的崩潰數(shù)據(jù)進(jìn)行打包;
[0109]保存單元704,用于保存打包之后的崩潰數(shù)據(jù)。在這種情況下,分析模塊604可以使用保存模塊704保存的崩潰數(shù)據(jù)進(jìn)行分析。
[0110]在本發(fā)明實(shí)施例的優(yōu)選實(shí)例中,崩潰數(shù)據(jù)包括以下至少之一:終端設(shè)備的型號、應(yīng)用軟件的軟件版本號、異常棧、正在運(yùn)行的進(jìn)程、IMEI號加密的版MD5值、終端設(shè)備的生廠商、終端設(shè)備使用的CPU型號、終端設(shè)備使用的網(wǎng)絡(luò)類型、崩潰類型、和終端設(shè)備使用的安卓系統(tǒng)的版本號。
[0111]在本發(fā)明實(shí)施例的優(yōu)選實(shí)例中,崩潰類型包括以下至少之一:內(nèi)存不足導(dǎo)致的軟件崩潰、指針錯(cuò)誤導(dǎo)致的軟件崩潰、系統(tǒng)服務(wù)異常導(dǎo)致的軟件崩潰、和狀態(tài)錯(cuò)誤導(dǎo)致的軟件崩潰。
[0112]在現(xiàn)有技術(shù)中,當(dāng)使用安卓系統(tǒng)的終端設(shè)備中的應(yīng)用軟件崩潰時(shí),系統(tǒng)不對該應(yīng)用軟件的崩潰進(jìn)行任何操作,從而無法針對這些崩潰進(jìn)行分析。在本實(shí)施例中,當(dāng)使用安卓系統(tǒng)的終端設(shè)備中的應(yīng)用軟件崩潰時(shí),服務(wù)器從終端設(shè)備接收該應(yīng)用軟件的崩潰數(shù)據(jù),然后,根據(jù)該崩潰數(shù)據(jù)對崩潰進(jìn)行分析,從而實(shí)現(xiàn)了對應(yīng)用軟件的崩潰進(jìn)行分析,以便對應(yīng)用軟件進(jìn)行相應(yīng)的改進(jìn)。
[0113]在此提供的應(yīng)用軟件崩潰數(shù)據(jù)的處理方案不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造具有本發(fā)明方案的系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。
[0114]在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。
[0115]類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循【具體實(shí)施方式】的權(quán)利要求書由此明確地并入該【具體實(shí)施方式】,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
[0116]本領(lǐng)域那些技術(shù)人員可以理解,可以對實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們設(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來代替。
[0117]此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。
[0118]本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號處理器(DSP )來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的應(yīng)用軟件崩潰數(shù)據(jù)的處理方案中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
[0119]應(yīng)該注意的是上述實(shí)施例對本發(fā)明進(jìn)行說明而不是對本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過同一個(gè)硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
[0120]本發(fā)明實(shí)施例公開了 Al、一種應(yīng)用軟件崩潰數(shù)據(jù)的處理方法,包括:
[0121]確定所述終端設(shè)備的應(yīng)用軟件產(chǎn)生崩潰,其中,所述終端設(shè)備使用的操作系統(tǒng)是安卓系統(tǒng);
[0122]獲取所述應(yīng)用軟件的崩潰數(shù)據(jù);
[0123]向服務(wù)器發(fā)送所述崩潰數(shù)據(jù),其中,所述崩潰數(shù)據(jù)用于在所述服務(wù)器處對所述應(yīng)用軟件的崩潰進(jìn)行分析。
[0124]A2、根據(jù)Al所述的方法,其中,確定終端設(shè)備的應(yīng)用軟件產(chǎn)生崩潰包括:
[0125]調(diào)用監(jiān)聽器判斷所述應(yīng)用軟件的線程中是否有未處理的異常線程,如果是,則確定所述應(yīng)用軟件產(chǎn)生崩潰。
[0126]A3、根據(jù)Al所述的方法,其中,向服務(wù)器發(fā)送所述崩潰數(shù)據(jù)包括:
[0127]生成對所述崩潰數(shù)據(jù)進(jìn)行打包的壓縮請求;
[0128]使用腳本語言對所述壓縮請求進(jìn)行解析;
[0129]將所述崩潰數(shù)據(jù)進(jìn)行打包;
[0130]將所述打包后的崩潰數(shù)據(jù)通過超文本傳輸協(xié)議傳輸HTTP POST發(fā)送給所述服務(wù)器。
[0131]A4、根據(jù)A3所述的方法,其中,
[0132]將所述崩潰數(shù)據(jù)進(jìn)行打包包括:將一段時(shí)間內(nèi)所述終端設(shè)備獲取的所述崩潰數(shù)據(jù)進(jìn)行打包;
[0133]將所述打包后的崩潰數(shù)據(jù)通過超文本傳輸協(xié)議傳輸HTTP POST發(fā)送給所述服務(wù)器包括:在預(yù)定時(shí)刻將所述打包后的崩潰數(shù)據(jù)通過HTTP POST發(fā)送給所述服務(wù)器。
[0134]A5、根據(jù)Al至4任一項(xiàng)所述的方法,其中,在向服務(wù)器發(fā)送所述崩潰數(shù)據(jù)之前,所述方法還包括:
[0135]當(dāng)再次啟動(dòng)所述應(yīng)用軟件時(shí),提示用戶選擇是否向所述服務(wù)器發(fā)送所述崩潰數(shù)據(jù);
[0136]接收來自用戶的確定向所述服務(wù)器發(fā)送所述崩潰數(shù)據(jù)的指令。
[0137]A6、根據(jù)Al至4任一項(xiàng)所述的方法,其中,所述崩潰數(shù)據(jù)包括以下至少之一:
[0138]所述終端設(shè)備的型號、所述應(yīng)用軟件的軟件版本號、異常棧、正在運(yùn)行的進(jìn)程、國際移動(dòng)設(shè)備身份碼MEI號加密的消息摘要算法第5版MD5值、所述終端設(shè)備的生廠商、所述終端設(shè)備使用的中央處理器CPU型號、所述終端設(shè)備使用的網(wǎng)絡(luò)類型、崩潰類型、和所述終端設(shè)備使用的安卓系統(tǒng)的版本號。
[0139]A7、根據(jù)A6所述的方法,其中,所述崩潰類型包括以下至少之一:內(nèi)存不足導(dǎo)致的軟件崩潰、指針錯(cuò)誤導(dǎo)致的軟件崩潰、系統(tǒng)服務(wù)異常導(dǎo)致的軟件崩潰、和狀態(tài)錯(cuò)誤導(dǎo)致的軟件崩潰。
[0140]本發(fā)明實(shí)施例公開了 B8、一種應(yīng)用軟件崩潰數(shù)據(jù)的處理方法,包括:[0141]服務(wù)器接收終端設(shè)備發(fā)送的應(yīng)用軟件的崩潰數(shù)據(jù),其中,所述終端設(shè)備使用的操作系統(tǒng)是安卓系統(tǒng),所述崩潰數(shù)據(jù)是所述終端設(shè)備在確定所述應(yīng)用軟件產(chǎn)生崩潰之后獲取的;
[0142]根據(jù)所述崩潰數(shù)據(jù),對所述應(yīng)用軟件的崩潰進(jìn)行分析。
[0143]B9、根據(jù)B8所述的方法,其中,根據(jù)所述崩潰數(shù)據(jù),對所述應(yīng)用軟件的崩潰進(jìn)行分析,包括:
[0144]根據(jù)所述崩潰數(shù)據(jù)中的第一信息,將相同的第一信息對應(yīng)的崩潰數(shù)據(jù)放到同一個(gè)桶中,將不同的第一信息對應(yīng)的崩潰數(shù)據(jù)放在不同的桶中;
[0145]統(tǒng)計(jì)每個(gè)桶中崩潰數(shù)據(jù)的數(shù)量;
[0146]根據(jù)所述第一信息和桶的對應(yīng)關(guān)系以及所述每個(gè)桶中崩潰數(shù)據(jù)的數(shù)量,確定所述第一信息與所述應(yīng)用軟件的崩潰之間的關(guān)系。
[0147]B10、根據(jù)B9所述的方法,其中,所述第一信息包括以下至少之一:
[0148]所述終端設(shè)備的型號、崩潰類型、和所述終端設(shè)備使用的安卓系統(tǒng)的版本號。
[0149]B11、根據(jù)B8所述的方法,其中,所述崩潰數(shù)據(jù)是所述終端設(shè)備進(jìn)行打包之后的數(shù)據(jù)。
[0150]B12、根據(jù)B8所述的方法,其中,服務(wù)器接收終端設(shè)備發(fā)送的應(yīng)用軟件的崩潰數(shù)據(jù)包括:
[0151]所述服務(wù)器在預(yù)定時(shí)刻接收所述終端設(shè)備發(fā)送的所述崩潰數(shù)據(jù),其中,所述終端設(shè)備發(fā)送的所述崩潰數(shù)據(jù)是所述終端設(shè)備將一段時(shí)間內(nèi)獲取的崩潰數(shù)據(jù)進(jìn)行打包獲得的數(shù)據(jù)。
[0152]B13、根據(jù)B8至12任一項(xiàng)所述的方法,其中,在服務(wù)器接收終端設(shè)備發(fā)送的應(yīng)用軟件的崩潰數(shù)據(jù)之后,所述方法還包括:
[0153]將一段時(shí)間內(nèi)所述服務(wù)器接收到的崩潰數(shù)據(jù)進(jìn)行打包,并保存打包之后的崩潰數(shù)據(jù)。
[0154]B14、根據(jù)B8至12任一項(xiàng)所述的方法,其中,所述崩潰數(shù)據(jù)包括以下至少之一:
[0155]所述終端設(shè)備的型號、所述應(yīng)用軟件的軟件版本號、異常棧、正在運(yùn)行的進(jìn)程、國際移動(dòng)設(shè)備身份碼MEI號加密的消息摘要算法第5版MD5值、所述終端設(shè)備的生廠商、所述終端設(shè)備使用的中央處理器CPU型號、所述終端設(shè)備使用的網(wǎng)絡(luò)類型、崩潰類型、和所述終端設(shè)備使用的安卓系統(tǒng)的版本號。
[0156]B15、根據(jù)B14所述的方法,其中,所述崩潰類型包括以下至少之一:內(nèi)存不足導(dǎo)致的軟件崩潰、指針錯(cuò)誤導(dǎo)致的軟件崩潰、系統(tǒng)服務(wù)異常導(dǎo)致的軟件崩潰、和狀態(tài)錯(cuò)誤導(dǎo)致的軟件崩潰。
[0157]本發(fā)明實(shí)施例公開了 C16、一種應(yīng)用軟件崩潰數(shù)據(jù)的處理裝置,包括:
[0158]確定單元,用于確定終端設(shè)備的應(yīng)用軟件產(chǎn)生崩潰,其中,所述終端設(shè)備使用的操作系統(tǒng)是安卓系統(tǒng);
[0159]獲取單元,用于獲取所述應(yīng)用軟件的崩潰數(shù)據(jù);
[0160]發(fā)送單元,用于向服務(wù)器發(fā)送所述崩潰數(shù)據(jù),其中,所述崩潰數(shù)據(jù)用于在所述服務(wù)器處對所述應(yīng)用軟件的崩潰進(jìn)行分析。
[0161]C17、根據(jù)C16所述的裝置,其中,所述確定單元還用于:[0162]調(diào)用監(jiān)聽器判斷所述應(yīng)用軟件的線程中是否有未處理的異常線程,如果是,則確定所述應(yīng)用軟件產(chǎn)生崩潰。
[0163]C18、根據(jù)C16所述的裝置,其中,所述發(fā)送單元還用于:
[0164]生成對所述崩潰數(shù)據(jù)進(jìn)行打包的壓縮請求;
[0165]使用腳本語言對所述壓縮請求進(jìn)行解析;
[0166]將所述崩潰數(shù)據(jù)進(jìn)行打包;
[0167]將所述打包后的崩潰數(shù)據(jù)通過超文本傳輸協(xié)議傳輸HTTP POST發(fā)送給所述服務(wù)器。
[0168]C19、根據(jù)C18所述的裝置,其中,所述發(fā)送單元用于:
[0169]將一段時(shí)間內(nèi)所述終端設(shè)備獲取的所述崩潰數(shù)據(jù)進(jìn)行打包;
[0170]在預(yù)定時(shí)刻將所述打包后的崩潰數(shù)據(jù)通過HTTP POST發(fā)送給所述服務(wù)器。
[0171]C20、根據(jù)C16至19任一項(xiàng)所述的裝置,其中,所述裝置還包括:
[0172]提示單元,用于在向服務(wù)器發(fā)送所述崩潰數(shù)據(jù)之前,當(dāng)再次啟動(dòng)所述應(yīng)用軟件時(shí),提示用戶選擇是否向所述服務(wù)器發(fā)送所述崩潰數(shù)據(jù);
[0173]接收單元,用于接收來自用戶的確定向所述服務(wù)器發(fā)送所述崩潰數(shù)據(jù)的指令。
[0174]C21、根據(jù)C16至19任一項(xiàng)所述的裝置,其中,所述崩潰數(shù)據(jù)包括以下至少之一:
[0175]所述終端設(shè)備的型號、所述應(yīng)用軟件的軟件版本號、異常棧、正在運(yùn)行的進(jìn)程、國際移動(dòng)設(shè)備身份碼MEI號加密的消息摘要算法第5版MD5值、所述終端設(shè)備的生廠商、所述終端設(shè)備使用的中央處理器CPU型號、所述終端設(shè)備使用的網(wǎng)絡(luò)類型、崩潰類型、和所述終端設(shè)備使用的安卓系統(tǒng)的版本號。
[0176]C22、根據(jù)C21所述的裝置,其中,所述崩潰類型包括以下至少之一:內(nèi)存不足導(dǎo)致的軟件崩潰、指針錯(cuò)誤導(dǎo)致的軟件崩潰、系統(tǒng)服務(wù)異常導(dǎo)致的軟件崩潰、和狀態(tài)錯(cuò)誤導(dǎo)致的軟件崩潰。
[0177]本發(fā)明實(shí)施例公開了 D23、一種應(yīng)用軟件崩潰數(shù)據(jù)的處理裝置,包括:
[0178]接收單元,用于接收終端設(shè)備發(fā)送的應(yīng)用軟件的崩潰數(shù)據(jù),其中,所述終端設(shè)備使用的操作系統(tǒng)是安卓系統(tǒng),所述崩潰數(shù)據(jù)是所述終端設(shè)備在確定所述應(yīng)用軟件產(chǎn)生崩潰之后獲取的;
[0179]分析單元,用于根據(jù)所述崩潰數(shù)據(jù),對所述應(yīng)用軟件的崩潰進(jìn)行分析。
[0180]D24、根據(jù)D23所述的裝置,其中,所述分析單元還用于:
[0181]根據(jù)所述崩潰數(shù)據(jù)中的第一信息,將相同的第一信息對應(yīng)的崩潰數(shù)據(jù)放到同一個(gè)桶中,將不同的第一信息對應(yīng)的崩潰數(shù)據(jù)放在不同的桶中;
[0182]統(tǒng)計(jì)每個(gè)桶中崩潰數(shù)據(jù)的數(shù)量;
[0183]根據(jù)所述第一信息和桶的對應(yīng)關(guān)系以及所述每個(gè)桶中崩潰數(shù)據(jù)的數(shù)量,確定所述第一信息與所述應(yīng)用軟件的崩潰之間的關(guān)系。
[0184]D25、根據(jù)D24所述的裝置,其中,所述第一信息包括以下至少之一:
[0185]所述終端設(shè)備的型號、崩潰類型、和所述終端設(shè)備使用的安卓系統(tǒng)的版本號。
[0186]D26、根據(jù)D23所述的裝置,其中,所述崩潰數(shù)據(jù)是所述終端設(shè)備進(jìn)行打包之后的數(shù)據(jù)。
[0187]D27、根據(jù)D23所述的裝置,其中,所述接收單元還用于在預(yù)定時(shí)刻接收所述終端設(shè)備發(fā)送的所述崩潰數(shù)據(jù),其中,所述終端設(shè)備發(fā)送的所述崩潰數(shù)據(jù)是所述終端設(shè)備將一段時(shí)間內(nèi)獲取的崩潰數(shù)據(jù)進(jìn)行打包獲得的數(shù)據(jù)。
[0188]D28、根據(jù)D23至27任一項(xiàng)所述的裝置,其中,所述裝置還包括:
[0189]打包單元,用于在服務(wù)器接收終端設(shè)備發(fā)送的應(yīng)用軟件的崩潰數(shù)據(jù)之后,將一段時(shí)間內(nèi)所述服務(wù)器接收到的崩潰數(shù)據(jù)進(jìn)行打包;
[0190]保存單元,用于保存打包之后的崩潰數(shù)據(jù)。
[0191]D29、根據(jù)D23至27任一項(xiàng)所述的裝置,其中,所述崩潰數(shù)據(jù)包括以下至少之一:
[0192]所述終端設(shè)備的型號、所述應(yīng)用軟件的軟件版本號、異常棧、正在運(yùn)行的進(jìn)程、國際移動(dòng)設(shè)備身份碼MEI號加密的消息摘要算法第5版MD5值、所述終端設(shè)備的生廠商、所述終端設(shè)備使用的中央處理器CPU型號、所述終端設(shè)備使用的網(wǎng)絡(luò)類型、崩潰類型、和所述終端設(shè)備使用的安卓系統(tǒng)的版本號。
[0193]D30、根據(jù)D29所述的裝置,其中,所述崩潰類型包括以下至少之一:內(nèi)存不足導(dǎo)致的軟件崩潰、指針錯(cuò)誤導(dǎo)致的軟件崩潰、系統(tǒng)服務(wù)異常導(dǎo)致的軟件崩潰、和狀態(tài)錯(cuò)誤導(dǎo)致的軟件崩潰。
【權(quán)利要求】
1.一種應(yīng)用軟件崩潰數(shù)據(jù)的處理方法,包括: 確定所述終端設(shè)備的應(yīng)用軟件產(chǎn)生崩潰,其中,所述終端設(shè)備使用的操作系統(tǒng)是安卓系統(tǒng); 獲取所述應(yīng)用軟件的崩潰數(shù)據(jù); 向服務(wù)器發(fā)送所述崩潰數(shù)據(jù),其中,所述崩潰數(shù)據(jù)用于在所述服務(wù)器處對所述應(yīng)用軟件的崩潰進(jìn)行分析。
2.根據(jù)權(quán)利要求1所述的方法,其中,確定終端設(shè)備的應(yīng)用軟件產(chǎn)生崩潰包括: 調(diào)用監(jiān)聽器判斷所述應(yīng)用軟件的線程中是否有未處理的異常線程,如果是,則確定所述應(yīng)用軟件產(chǎn)生崩潰。
3.根據(jù)權(quán)利要求1所述的方法,其中,向服務(wù)器發(fā)送所述崩潰數(shù)據(jù)包括: 生成對所述崩潰數(shù)據(jù)進(jìn)行打包的壓縮請求; 使用腳本語言對所述壓縮請求進(jìn)行解析; 將所述崩潰數(shù)據(jù)進(jìn)行打包; 將所述打包后的崩潰數(shù)據(jù)通過超文本傳輸協(xié)議傳輸HTTP POST發(fā)送給所述服務(wù)器。
4.根據(jù)權(quán)利要求3所述的方法,其中, 將所述崩潰數(shù)據(jù)進(jìn)行打包包括:將一段時(shí)間內(nèi)所述終端設(shè)備獲取的所述崩潰數(shù)據(jù)進(jìn)行打包; 將所述打包后的崩潰數(shù)據(jù)通過超文本傳輸協(xié)議傳輸HTTP POST發(fā)送給所述服務(wù)器包括:在預(yù)定時(shí)刻將所述打包后的崩潰數(shù)據(jù)通過HTTP POST發(fā)送給所述服務(wù)器。
5.一種應(yīng)用軟件崩潰數(shù)據(jù)的處理方法,包括: 服務(wù)器接收終端設(shè)備發(fā)送的應(yīng)用軟件的崩潰數(shù)據(jù),其中,所述終端設(shè)備使用的操作系統(tǒng)是安卓系統(tǒng),所述崩潰數(shù)據(jù)是所述終端設(shè)備在確定所述應(yīng)用軟件產(chǎn)生崩潰之后獲取的; 根據(jù)所述崩潰數(shù)據(jù),對所述應(yīng)用軟件的崩潰進(jìn)行分析。
6.根據(jù)權(quán)利要求5所述的方法,其中,根據(jù)所述崩潰數(shù)據(jù),對所述應(yīng)用軟件的崩潰進(jìn)行分析,包括: 根據(jù)所述崩潰數(shù)據(jù)中的第一信息,將相同的第一信息對應(yīng)的崩潰數(shù)據(jù)放到同一個(gè)桶中,將不同的第一信息對應(yīng)的崩潰數(shù)據(jù)放在不同的桶中; 統(tǒng)計(jì)每個(gè)桶中崩潰數(shù)據(jù)的數(shù)量; 根據(jù)所述第一信息和桶的對應(yīng)關(guān)系以及所述每個(gè)桶中崩潰數(shù)據(jù)的數(shù)量,確定所述第一信息與所述應(yīng)用軟件的崩潰之間的關(guān)系。
7.根據(jù)權(quán)利要求6所述的方法,其中,所述第一信息包括以下至少之一: 所述終端設(shè)備的型號、崩潰類型、和所述終端設(shè)備使用的安卓系統(tǒng)的版本號。
8.根據(jù)權(quán)利要求5所述的方法,其中,所述崩潰數(shù)據(jù)是所述終端設(shè)備進(jìn)行打包之后的數(shù)據(jù)。
9.一種應(yīng)用軟件崩潰數(shù)據(jù)的處理裝置,包括: 確定單元,用于確定終端設(shè)備的應(yīng)用軟件產(chǎn)生崩潰,其中,所述終端設(shè)備使用的操作系統(tǒng)是安卓系統(tǒng); 獲取單元,用于獲取所述應(yīng)用軟件的崩潰數(shù)據(jù); 發(fā)送單元,用于向服務(wù)器發(fā)送所述崩潰數(shù)據(jù),其中,所述崩潰數(shù)據(jù)用于在所述服務(wù)器處對所述應(yīng)用軟件的崩潰進(jìn)行分析。
10.一種應(yīng)用軟件崩潰數(shù)據(jù)的處理裝置,包括: 接收單元,用于接收終端設(shè)備發(fā)送的應(yīng)用軟件的崩潰數(shù)據(jù),其中,所述終端設(shè)備使用的操作系統(tǒng)是安卓系統(tǒng),所述崩潰數(shù)據(jù)是所述終端設(shè)備在確定所述應(yīng)用軟件產(chǎn)生崩潰之后獲取的; 分析單元,用于根據(jù)所述崩潰數(shù)據(jù)`,對所述應(yīng)用軟件的崩潰進(jìn)行分析。
【文檔編號】G06F11/34GK103678091SQ201310705958
【公開日】2014年3月26日 申請日期:2013年12月19日 優(yōu)先權(quán)日:2013年12月19日
【發(fā)明者】張勇 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
枣庄市| 贺兰县| 汕头市| 玛纳斯县| 逊克县| 开阳县| 景谷| 肥乡县| 青神县| 资阳市| 南安市| 玛纳斯县| 华安县| 澄江县| 十堰市| 兴化市| 洪湖市| 上杭县| 醴陵市| 和田县| 台南市| 班玛县| 丁青县| 始兴县| 富蕴县| 堆龙德庆县| 余姚市| 宁安市| 荃湾区| 钟山县| 阳泉市| 益阳市| 婺源县| 阳江市| 新巴尔虎左旗| 沙田区| 常宁市| 抚州市| 乡宁县| 宁晋县| 莆田市|