專利名稱:一種應(yīng)用程序運(yùn)行狀態(tài)的檢測(cè)方法、恢復(fù)方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于電子技術(shù)領(lǐng)域,尤其涉及一種應(yīng)用程序狀態(tài)的檢測(cè)方法、恢復(fù) 方法及裝置。
背景技術(shù):
基于Linux操作系統(tǒng)的終端,由于系統(tǒng)中應(yīng)用程序相對(duì)復(fù)雜,所以應(yīng)用程 序在其運(yùn)行過程中出現(xiàn)運(yùn)行狀態(tài)異常的現(xiàn)象在所難免。應(yīng)用程序的運(yùn)行狀態(tài)出 現(xiàn)異常后,用戶將無法對(duì)終端進(jìn)行操作,即通常所說的死機(jī),此時(shí)用戶只能通 過拔電池或按復(fù)位4建重啟應(yīng)用程序以使終端恢復(fù)到可被操作的界面。這種手動(dòng) 恢復(fù)模式給用戶的使用帶來很多不便,用戶體驗(yàn)差,例如,如果在用戶不知情 的情況下出現(xiàn)應(yīng)用程序運(yùn)行狀態(tài)異常的現(xiàn)象,將會(huì)影響用戶的正常使用。所以,
Linux操作系統(tǒng)的終端技術(shù)亟需發(fā)展完善的一個(gè)重要方面。
與本發(fā)明相關(guān)的一種現(xiàn)有技術(shù)中,在Linux操作系統(tǒng)中插入了腳本,通過 腳本來監(jiān)控應(yīng)用程序的運(yùn)行狀態(tài),在此過程中,若應(yīng)用程序由于特殊原因異常 終止后,系統(tǒng)將生成一個(gè)錯(cuò)誤碼并發(fā)送給腳本,腳本獲取到錯(cuò)誤碼后,確定應(yīng) 用程序異常終止,則執(zhí)行重啟該應(yīng)用程序的命令。
上述通過腳本控制應(yīng)用程序重啟的方案中,如果應(yīng)用程序進(jìn)程只是阻塞在 某個(gè)系統(tǒng)調(diào)用而非異常終止,即應(yīng)用程序進(jìn)程處于某種異常狀態(tài),但是該應(yīng)用 程序進(jìn)程并沒有終止,在這種情況下系統(tǒng)不會(huì)生成錯(cuò)誤碼,所以從腳本的角度 來說由于其未獲取到錯(cuò)誤碼,則認(rèn)為當(dāng)前應(yīng)用程序進(jìn)程仍然正常運(yùn)行,則不會(huì) 執(zhí)行重啟應(yīng)用程序的命令,在用戶發(fā)現(xiàn)之前該應(yīng)用程序?qū)⒗^續(xù)處于異常狀態(tài), 影響用戶的正常使用。并且,上述通過手動(dòng)控制應(yīng)用程序重啟的方案和通過腳
本控制應(yīng)用程序重啟的方案中,在應(yīng)用程序重啟后,應(yīng)用程序只能恢復(fù)到初始 操作界面,還需要用戶參與設(shè)置應(yīng)用程序在異常前對(duì)應(yīng)的運(yùn)行狀態(tài)信息,例如
話機(jī)鎖、PIN碼驗(yàn)證、選卡等,用戶操作不便。
發(fā)明內(nèi)容
本發(fā)明提供一種應(yīng)用程序狀態(tài)的檢測(cè)方法及裝置,用以解決現(xiàn)有技術(shù)不能 及時(shí)發(fā)現(xiàn)應(yīng)用程序的運(yùn)行狀態(tài)出現(xiàn)異常的問題。
本發(fā)明還提供一種應(yīng)用程序狀態(tài)的恢復(fù)方法及裝置,用以解決現(xiàn)有技術(shù)不 能及時(shí)發(fā)現(xiàn)應(yīng)用程序的運(yùn)行狀態(tài)出現(xiàn)異常的問題,以及在應(yīng)用程序的運(yùn)行狀態(tài) 出現(xiàn)異常且重啟該應(yīng)用程序后無法恢復(fù)該應(yīng)用程序在異常前對(duì)應(yīng)的運(yùn)行狀態(tài) 的問題。
本發(fā)明實(shí)施例通過如下技術(shù)方案實(shí)現(xiàn) 本發(fā)明實(shí)施例提供了一種應(yīng)用程序狀態(tài)的檢測(cè)方法,包括 在應(yīng)用程序啟動(dòng)后,;險(xiǎn)測(cè)所述應(yīng)用程序是否生成用于標(biāo)識(shí)其運(yùn)行狀態(tài)正常 的響應(yīng)信息;
當(dāng)未^r測(cè)到所述響應(yīng)信息時(shí),確定所述應(yīng)用程序的運(yùn)行狀態(tài)異常。 本發(fā)明實(shí)施例還提供了一種應(yīng)用程序狀態(tài)的^r測(cè)裝置,包括 信息檢測(cè)單元,用于在應(yīng)用程序啟動(dòng)后,檢測(cè)所述應(yīng)用程序是否生成用于
標(biāo)識(shí)其運(yùn)行狀態(tài)正常的響應(yīng)信息;
狀態(tài)確定單元,用于當(dāng)所述信息檢測(cè)單元未^r測(cè)到所述響應(yīng)信息時(shí),確定
所述應(yīng)用程序的運(yùn)行狀態(tài)異常。
本發(fā)明實(shí)施例提供了 一種應(yīng)用程序狀態(tài)的恢復(fù)方法,包括
在應(yīng)用程序啟動(dòng)后,;險(xiǎn)測(cè)所述應(yīng)用程序是否生成用于標(biāo)識(shí)其運(yùn)行狀態(tài)正常
的響應(yīng)信息;
當(dāng)未檢測(cè)到所述響應(yīng)信息時(shí),確定所述應(yīng)用程序的運(yùn)行狀態(tài)異常;
重啟所述應(yīng)用程序,并加載所述應(yīng)用程序在其運(yùn)行過程中保存的運(yùn)行狀態(tài)
信息。
本發(fā)明實(shí)施例還提供了 一種應(yīng)用程序狀態(tài)的恢復(fù)裝置,包括
信息檢測(cè)單元,用于在應(yīng)用程序啟動(dòng)后,檢測(cè)所述應(yīng)用程序是否生成用于
標(biāo)識(shí)其運(yùn)行狀態(tài)正常的響應(yīng)信息;
狀態(tài)確定單元,用于當(dāng)所述信息檢測(cè)單元未檢測(cè)到所述響應(yīng)信息時(shí),確定 所述應(yīng)用程序的運(yùn)行狀態(tài)異常;
常時(shí),重啟所述應(yīng)用程序,并加載所述應(yīng)用程序在其運(yùn)行過程中保存的運(yùn)行狀
態(tài)4& '^1 。
本發(fā)明實(shí)施例通過上述技術(shù)方案,在應(yīng)用程序啟動(dòng)后,4企測(cè)該應(yīng)用程序是 否生成用于標(biāo)識(shí)其運(yùn)行狀態(tài)正常的響應(yīng)信息,當(dāng)未4全測(cè)到應(yīng)用程序生成的響應(yīng) 信息時(shí),說明該應(yīng)用程序生成響應(yīng)信息失敗,據(jù)此確定該應(yīng)用程序的運(yùn)行狀態(tài) 異常,從而可以及時(shí)地發(fā)現(xiàn)應(yīng)用程序出現(xiàn)異常的情況。并且在確定應(yīng)用程序的 運(yùn)行狀態(tài)異常后,重新啟動(dòng)該應(yīng)用程序,并加載該應(yīng)用程序在其運(yùn)行過程中保 存的運(yùn)行狀態(tài)信息,從而可以使該應(yīng)用程序重啟后恢復(fù)到異常前的運(yùn)行狀態(tài), 不需要用戶重新設(shè)置,給用戶提供了方便,增加了用戶體驗(yàn)。
圖1為本發(fā)明實(shí)施例提供的檢測(cè)應(yīng)用程序運(yùn)行狀態(tài)的流程圖一; 圖2為本發(fā)明實(shí)施例提供的檢測(cè)應(yīng)用程序運(yùn)行狀態(tài)的流程圖二; 圖3為本發(fā)明實(shí)施例提供的應(yīng)用程序狀態(tài)的檢測(cè)裝置結(jié)構(gòu)圖一; 圖4為本發(fā)明實(shí)施例提供的應(yīng)用程序狀態(tài)的檢測(cè)裝置結(jié)構(gòu)圖二; 圖5為本發(fā)明實(shí)施例提供的應(yīng)用程序狀態(tài)的檢測(cè)裝置結(jié)構(gòu)圖三; 圖6為本發(fā)明實(shí)施例提供的應(yīng)用程序狀態(tài)的恢復(fù)裝置結(jié)構(gòu)圖一; 圖7為本發(fā)明實(shí)施例提供的應(yīng)用程序狀態(tài)的恢復(fù)裝置結(jié)構(gòu)圖二; 圖8為本發(fā)明實(shí)施例提供的應(yīng)用程序狀態(tài)的恢復(fù)裝置結(jié)構(gòu)圖三。
具體實(shí)施例方式
針對(duì)現(xiàn)有應(yīng)用程序狀態(tài)的檢測(cè)和恢復(fù)方法存在的上述不足,本發(fā)明實(shí)施例 提出了一種應(yīng)用程序狀態(tài)的檢測(cè)方法、恢復(fù)方法及裝置,下面結(jié)合說明書附圖 對(duì)本發(fā)明實(shí)施例的主要實(shí)現(xiàn)原理、具體實(shí)施過程及其對(duì)應(yīng)能夠達(dá)到的有益效果 進(jìn)行詳細(xì)的闡述。
本發(fā)明實(shí)施例中,當(dāng)用戶終端開機(jī)后,首先啟動(dòng)系統(tǒng)中的腳本,啟動(dòng)腳本 的目的在于通過腳本控制后臺(tái)監(jiān)控程序的啟動(dòng)和終止,該后臺(tái)監(jiān)控程序用于在 應(yīng)用程序啟動(dòng)后;f企測(cè)應(yīng)用程序的運(yùn)行狀態(tài)。當(dāng)后臺(tái)監(jiān)控程序才企測(cè)到應(yīng)用程序的 運(yùn)行狀態(tài)異常時(shí),通過腳本控制該應(yīng)用程序重啟,根據(jù)需要在重啟應(yīng)用程序之 前需要先終止該應(yīng)用程序,例如,應(yīng)用程序由于阻塞在某個(gè)系統(tǒng)調(diào)用流程但該 應(yīng)用程序并未終止時(shí),需要先終止該應(yīng)用程序。該實(shí)施例中,用戶終端可以為
基于Linux操作系統(tǒng)的終端,應(yīng)用程序可以為用戶終端開機(jī)后的待機(jī)應(yīng)用程序。 一個(gè)實(shí)施例中,應(yīng)用程序在其運(yùn)行過程中需要根據(jù)其運(yùn)行狀態(tài)生成響應(yīng)信 息。該響應(yīng)信息用于標(biāo)識(shí)該應(yīng)用程序當(dāng)前運(yùn)行狀態(tài)正常,具體應(yīng)用中,應(yīng)用程 序可以每經(jīng)過設(shè)定時(shí)長(zhǎng)生成響應(yīng)信息,該響應(yīng)信息可以以臨時(shí)文件的形式存 在,該臨時(shí)文件可以是當(dāng)前正在運(yùn)行的應(yīng)用程序在系統(tǒng)中創(chuàng)建的空文件。若應(yīng) 用程序當(dāng)前運(yùn)行狀態(tài)正常,則生成響應(yīng)信息,若應(yīng)用程序當(dāng)前運(yùn)行狀態(tài)異常, 例如出現(xiàn)死機(jī),該應(yīng)用程序?qū)⑻幱跓o響應(yīng)狀態(tài),所以無法生成響應(yīng)信息,后臺(tái) 監(jiān)控程序可以據(jù)此檢測(cè)應(yīng)用程序的運(yùn)行狀態(tài),即通過檢測(cè)應(yīng)用程序是否生成響 應(yīng)信息以判斷該應(yīng)用程序的運(yùn)行狀態(tài)是否正常。
本實(shí)施例中,需要在應(yīng)用程序中預(yù)置一段代碼,該代碼用于指示應(yīng)用程序 生成響應(yīng)信息。該代碼可以在實(shí)際應(yīng)用中靈活設(shè)置,例如,可以在代碼中規(guī)定 一段時(shí)長(zhǎng)以及規(guī)定響應(yīng)信息的一種形式(如上文中提到的空文件形式)。應(yīng)用 程序在運(yùn)行過程中每經(jīng)過代碼中規(guī)定的時(shí)長(zhǎng)后,根據(jù)代碼中規(guī)定的形式生成響 應(yīng)信息(例如創(chuàng)建一個(gè)空文件)。 一般情況下,代碼中規(guī)定的時(shí)長(zhǎng)設(shè)置為大于
應(yīng)用程序生成響應(yīng)信息所需的時(shí)長(zhǎng),例如,應(yīng)用程序生成響應(yīng)信息需要1秒, 該固定時(shí)長(zhǎng)可以設(shè)為10秒。為了給后臺(tái)監(jiān)控程序的檢測(cè)工作提供方便,本實(shí) 施例中,可以只保留一個(gè)由應(yīng)用程序生成的響應(yīng)信息,具體可以通過如下任意
一種方式實(shí)現(xiàn)
方式一、在規(guī)定的時(shí)長(zhǎng)到達(dá)時(shí),檢測(cè)當(dāng)前是否有生成的響應(yīng)信息,若未檢 測(cè)到響應(yīng)信息,則生成響應(yīng)信息,若^r測(cè)到響應(yīng)信息,則不^f故處理或者在響應(yīng) 信息攜帶時(shí)間信息的情況下,利用當(dāng)前的時(shí)間更新該響應(yīng)信息對(duì)應(yīng)的時(shí)間。
方式二、在規(guī)定的時(shí)長(zhǎng)到達(dá)時(shí),生成響應(yīng)信息,并利用該生成的響應(yīng)信息 更新前一次生成的響應(yīng)信息。
方式三、在規(guī)定的時(shí)長(zhǎng)到達(dá)時(shí),生成響應(yīng)信息,并刪除前一次生成的響應(yīng) 信息。
需要指出的是,本發(fā)明實(shí)施例中,并不限于上述通過在應(yīng)用程序中預(yù)置代 碼的方式控制應(yīng)用程序生成響應(yīng)信息,也可以通過一個(gè)計(jì)時(shí)器,當(dāng)計(jì)時(shí)器的計(jì) 時(shí)達(dá)到設(shè)定時(shí)長(zhǎng)時(shí),向應(yīng)用程序發(fā)送一個(gè)可被應(yīng)用程序識(shí)別的指令,該指令用 于指示應(yīng)用程序生成響應(yīng)信息。對(duì)于應(yīng)用程序生成響應(yīng)信息的方式此處不—— 列舉。
上述過程中,后臺(tái)監(jiān)控程序檢測(cè)應(yīng)用程序是否生成響應(yīng)信息以判斷該應(yīng)用 程序的運(yùn)行狀態(tài)是否正常,具體可以為
檢測(cè)應(yīng)用程序是否生成用于標(biāo)識(shí)其運(yùn)行狀態(tài)正常的響應(yīng)信息,當(dāng)檢測(cè)到應(yīng) 用程序生成的響應(yīng)信息時(shí),刪除該響應(yīng)信息;當(dāng)未4全測(cè)到應(yīng)用程序生成的響應(yīng) 信息時(shí),確定該應(yīng)用程序當(dāng)前運(yùn)行狀態(tài)異常。該過程中,可以周期性地檢測(cè)應(yīng) 用程序是否生成響應(yīng)信息,例如,每經(jīng)過設(shè)定時(shí)長(zhǎng)^f企測(cè)應(yīng)用程序是否生成響應(yīng) 信息;也可以非周期性地;險(xiǎn)測(cè)應(yīng)用程序是否生成響應(yīng)信息,例如,對(duì)時(shí)間進(jìn)行 采樣,在采樣點(diǎn)對(duì)應(yīng)的時(shí)刻檢測(cè)應(yīng)用程序是否生成響應(yīng)信息,具體應(yīng)用中可靈 活設(shè)置,此處不——列舉。
一般情況下,周期性地檢測(cè)應(yīng)用程序是否生成響應(yīng)信息,可以更有效地對(duì) 應(yīng)用程序的運(yùn)行狀態(tài)進(jìn)行監(jiān)控。如圖1所示, 一個(gè)實(shí)施例中,后臺(tái)監(jiān)控程序周
期性檢測(cè)應(yīng)用程序的運(yùn)行狀態(tài),主要執(zhí)行如下步驟 步驟IOI、應(yīng)用程序啟動(dòng),等待30秒。 該步驟中等待的時(shí)間為應(yīng)用程序啟動(dòng)所需要的時(shí)間。 步驟102、等待10秒鐘。
該步驟中等待的時(shí)長(zhǎng)可以靈活設(shè)置,但至少設(shè)為應(yīng)用程序生成響應(yīng)信息所 間隔的時(shí)長(zhǎng)以及應(yīng)用程序生成響應(yīng)信息所需要的時(shí)長(zhǎng)之和。為了更及時(shí)地檢測(cè) 到應(yīng)用程序的運(yùn)行狀態(tài)異常時(shí)的情況,該等待的時(shí)長(zhǎng)不宜設(shè)置的太大。
步驟103、檢測(cè)應(yīng)用程序是否生成用于標(biāo)識(shí)其運(yùn)行狀態(tài)正常的響應(yīng)信息, 若檢測(cè)到該響應(yīng)信息,則執(zhí)行步驟104,否則執(zhí)行步驟105。
步驟104、確定當(dāng)前應(yīng)用程序的運(yùn)行狀態(tài)正常,刪除4企測(cè)到的響應(yīng)信息, 返回步驟102。
步驟105、確定該應(yīng)用程序的運(yùn)行狀態(tài)異常。
經(jīng)過上述流程可以及時(shí)地檢測(cè)到應(yīng)用程序的運(yùn)行狀態(tài)異常時(shí)的情況,本發(fā) 明又一實(shí)施例中,考慮到CPU (Central Processing Unit,中央處理器)的使用 率可能影響到應(yīng)用程序生成響應(yīng)信息所需要的時(shí)長(zhǎng)和應(yīng)用程序生成響應(yīng)信息 所間隔的時(shí)長(zhǎng), 一般CPU的使用率越高,對(duì)應(yīng)用程序生成響應(yīng)信息所需要的時(shí) 長(zhǎng)和應(yīng)用程序生成響應(yīng)信息所間隔的時(shí)長(zhǎng)的影響越大,所以,本實(shí)施例中,當(dāng) 后臺(tái)監(jiān)控程序未檢測(cè)到應(yīng)用程生成的響應(yīng)信息時(shí),進(jìn)一步確定CPU的使用率,
保證應(yīng)用程序有充足時(shí)間生成響應(yīng)信息,避免對(duì)應(yīng)用程序運(yùn)行狀態(tài)的誤判斷。 如圖2所示,為后臺(tái)監(jiān)控程序檢測(cè)應(yīng)用程序運(yùn)行狀態(tài)是否正常的一個(gè)具體
等待時(shí)長(zhǎng)的過程,主要執(zhí)行如下步驟 步驟201、應(yīng)用程序啟動(dòng),等待30秒。
步驟202、等待10秒鐘。
步驟203、檢測(cè)應(yīng)用程序是否生成用于標(biāo)識(shí)其運(yùn)行狀態(tài)正常的響應(yīng)信息, 若沖企測(cè)到,則執(zhí)行步驟204,否則執(zhí)行步驟205。
步驟204、確定當(dāng)前應(yīng)用程序的運(yùn)行狀態(tài)正常,刪除檢測(cè)到的響應(yīng)信息, 返回步驟202。
步驟201 步驟204的具體執(zhí)行過程與上述步驟101 步驟104的具體執(zhí)行過 程基本相同,此處不再詳細(xì)描述。
步驟205、確定當(dāng)前CPU的使用率,根據(jù)CPU的使用率確定等待時(shí)長(zhǎng)。
該步驟中,可以預(yù)設(shè)CPU的使用率與時(shí)長(zhǎng)的對(duì)應(yīng)關(guān)系,以方便地根據(jù)CPU 的使用率以及該對(duì)應(yīng)關(guān)系確定出等待時(shí)長(zhǎng),也可以預(yù)設(shè)一個(gè)計(jì)算公式(如等待 時(shí)長(zhǎng)-10+CPU的使用率x 10,單位為秒),可以根據(jù)CPU的使用率及該公式得 到等待時(shí)長(zhǎng)。 一般情況下,CUP的使用率越高,確定出的等待時(shí)長(zhǎng)越大。
步驟206、經(jīng)過確定出的等待時(shí)長(zhǎng)后,再次檢測(cè)應(yīng)用程序是否生成用于標(biāo) 識(shí)其運(yùn)行狀態(tài)正常的響應(yīng)信息,若檢測(cè)到響應(yīng)信息,則執(zhí)行步驟204,否則執(zhí) 行步驟207。
步驟207、確定該應(yīng)用程序的運(yùn)行狀態(tài)異常。
本發(fā)明又一實(shí)施例中,應(yīng)用程序在其運(yùn)行過程中,保存該應(yīng)用程序?qū)?yīng)的 運(yùn)行狀態(tài)信息,該運(yùn)行狀態(tài)信息包括應(yīng)用程序當(dāng)前運(yùn)行狀態(tài)對(duì)應(yīng)的用戶設(shè)置信 息,例如話機(jī)鎖、PIN碼、選卡信息等,運(yùn)行狀態(tài)信息也可以包括該應(yīng)用程序 當(dāng)前運(yùn)行狀態(tài)對(duì)應(yīng)的環(huán)境參數(shù),例如,程序界面的顯示字體、字號(hào)等。具體應(yīng) 用中,該運(yùn)行狀態(tài)信息可以保存在Cache (高速緩沖存儲(chǔ)器)文件中,以加快 程序訪問的響應(yīng)速度。當(dāng)后臺(tái)監(jiān)控程序檢測(cè)到應(yīng)用程序的運(yùn)行狀態(tài)異常時(shí),通 過腳本控制該應(yīng)用程序終止后(如果應(yīng)用程序是異常終止,則無需執(zhí)行此步 驟),重啟該應(yīng)用程序,并在應(yīng)用程序的重啟的過程中,檢測(cè)該應(yīng)用程序在運(yùn) 行狀態(tài)異常前保存的運(yùn)行狀態(tài)信息,并自動(dòng)加載檢測(cè)到的運(yùn)行狀態(tài)信息,從而 達(dá)到自動(dòng)恢復(fù)應(yīng)用程序異常前狀態(tài)的目的,筒化了用戶重新設(shè)置的過程。
上述過程中,應(yīng)用程序可以每經(jīng)過設(shè)定時(shí)長(zhǎng)保存一次當(dāng)前運(yùn)行狀態(tài)對(duì)應(yīng)的 運(yùn)行狀態(tài)信息,也可以在4企測(cè)到當(dāng)前應(yīng)用程序?qū)?yīng)的運(yùn)行狀態(tài)信息發(fā)生變化 時(shí),利用變化后的運(yùn)行狀態(tài)信息更新已保存的運(yùn)行狀態(tài)信息。
本發(fā)明實(shí)施例還提供了 一種應(yīng)用程序狀態(tài)的檢測(cè)裝置,該裝置的具體結(jié)構(gòu)
可如圖3所示,包括信息;險(xiǎn)測(cè)單元301以及狀態(tài)確定單元302。
其中,信息;險(xiǎn)測(cè)單元301,用于在應(yīng)用程序啟動(dòng)后,每經(jīng)過設(shè)定的第一時(shí) 長(zhǎng)檢測(cè)該應(yīng)用程序是否生成用于標(biāo)識(shí)其運(yùn)行狀態(tài)正常的響應(yīng)信息。
狀態(tài)確定單元302,用于當(dāng)信息檢測(cè)單元301未檢測(cè)到應(yīng)用程序生成的響 應(yīng)信息時(shí),確定該應(yīng)用程序的運(yùn)行狀態(tài)異常。
如圖4所示,又一實(shí)施例中,上述檢測(cè)裝置還可以進(jìn)一步包括時(shí)長(zhǎng)確定單 元303,該單元用于當(dāng)信息4全測(cè)單元301未4企測(cè)到應(yīng)用程序生成的響應(yīng)信息, 并且在狀態(tài)確定單元302確定該應(yīng)用程序的運(yùn)行狀態(tài)異常之前,確定當(dāng)前中央 處理器CPU的使用率,并根據(jù)確定出的CPU的使用率確定第二時(shí)長(zhǎng);相應(yīng)地, 上述信息;險(xiǎn)測(cè)單元301還用于,經(jīng)過時(shí)長(zhǎng)確定單元303確定出的第二時(shí)長(zhǎng)后, 再次檢測(cè)該應(yīng)用程序是否生成用于標(biāo)識(shí)其運(yùn)行狀態(tài)正常的響應(yīng)信息;上述狀態(tài) 確定單元302進(jìn)一步用于,當(dāng)信息檢測(cè)單元301兩次都未檢測(cè)到應(yīng)用程序生成 的響應(yīng)信息時(shí),確定該應(yīng)用程序異常。
如圖5所示,又一實(shí)施例中,上述檢測(cè)裝置還可以進(jìn)一步包括刪除單元 304,該單元用于當(dāng)信息4企測(cè)單元301 4企測(cè)到應(yīng)用程序生成的用于標(biāo)識(shí)其運(yùn)行 狀態(tài)正常的響應(yīng)信息時(shí),刪除該響應(yīng)信息,以保證下一次檢測(cè)的準(zhǔn)確性。
本發(fā)明實(shí)施例還提供了 一種應(yīng)用程序狀態(tài)的恢復(fù)裝置,該裝置用于檢測(cè)應(yīng) 用程序的運(yùn)行狀態(tài),并根據(jù)檢測(cè)結(jié)果進(jìn)行相應(yīng)的處理。其具體結(jié)構(gòu)可如圖6所 示,包括信息檢測(cè)單元601、狀態(tài)確定單元602以及啟動(dòng)控制單元603。
其中,信息檢測(cè)單元601,用于在應(yīng)用程序啟動(dòng)后,每經(jīng)過設(shè)定的第一時(shí) 長(zhǎng)檢測(cè)該應(yīng)用程序是否生成用于標(biāo)識(shí)其運(yùn)行狀態(tài)正常的響應(yīng)信息。
狀態(tài)確定單元602,用于當(dāng)信息;險(xiǎn)測(cè)單元601未^r測(cè)到應(yīng)用程序生成的響
應(yīng)信息時(shí),確定該應(yīng)用程序的運(yùn)行狀態(tài)異常。
啟動(dòng)控制單元603,用于當(dāng)狀態(tài)確定單元602確定該應(yīng)用程序的運(yùn)行狀態(tài) 異常后,重啟該應(yīng)用程序,并加載該應(yīng)用程序在其運(yùn)行過程中保存的運(yùn)行狀態(tài) 信息。
根據(jù)需要,該啟動(dòng)控制單元603還用于,在重啟應(yīng)用程序之前,終止該應(yīng) 用程序。
如圖7所示,又一實(shí)施例中,上述恢復(fù)裝置還可以進(jìn)一步包括時(shí)長(zhǎng)確定單 元604,該單元用于當(dāng)信息檢測(cè)單元601未檢測(cè)到應(yīng)用程序生成的響應(yīng)信息, 并且在狀態(tài)確定單元602確定該應(yīng)用程序的運(yùn)行狀態(tài)異常之前,確定當(dāng)前中央 處理器CPU的使用率,并根據(jù)確定出的CPU的^f吏用率確定第二時(shí)長(zhǎng);相應(yīng)地, 上述信息檢測(cè)單元601還用于,經(jīng)過時(shí)長(zhǎng)確定單元604確定出的第二時(shí)長(zhǎng)后, 再次檢測(cè)該應(yīng)用程序是否生成用于標(biāo)識(shí)其運(yùn)行狀態(tài)正常的響應(yīng)信息;上述狀態(tài) 確定單元602進(jìn)一步用于,當(dāng)信息檢測(cè)單元601兩次都未4全測(cè)到應(yīng)用程序生成 的響應(yīng)信息時(shí),確定該應(yīng)用程序異常。
如圖8所示,又一實(shí)施例中,上述^r測(cè)裝置還可以進(jìn)一步包括刪除單元 605,該單元用于當(dāng)信息檢測(cè)單元601檢測(cè)到應(yīng)用程序生成的用于標(biāo)識(shí)其運(yùn)行 狀態(tài)正常的響應(yīng)信息時(shí),刪除該響應(yīng)信息,以保證下一次檢測(cè)的準(zhǔn)確性。
本發(fā)明實(shí)施例通過上述技術(shù)方案,在應(yīng)用程序啟動(dòng)后,每經(jīng)過設(shè)定的第一 時(shí)長(zhǎng)^r測(cè)該應(yīng)用程序是否生成用于標(biāo)識(shí)其運(yùn)行狀態(tài)正常的響應(yīng)信息,當(dāng)未^r測(cè) 到應(yīng)用程序生成的響應(yīng)信息時(shí),說明該應(yīng)用程序生成響應(yīng)信息失敗,據(jù)此確定 該應(yīng)用程序的運(yùn)行狀態(tài)異常,從而可以及時(shí)地發(fā)現(xiàn)應(yīng)用程序出現(xiàn)異常的情況。 并且在確定應(yīng)用程序的運(yùn)行狀態(tài)異常后,重新啟動(dòng)該應(yīng)用程序,并加載該應(yīng)用 程序在其運(yùn)行過程中保存的運(yùn)行狀態(tài)信息,從而可以使該應(yīng)用程序重啟后恢復(fù) 到異常前的運(yùn)行狀態(tài),不需要用戶重新設(shè)置,給用戶提供了方便,增加了用戶 體驗(yàn)。
另外,本發(fā)明實(shí)施例中,在應(yīng)用程序狀態(tài)的檢測(cè)過程中充分考慮CPU使 用率的因素,根據(jù)CPU使用率的高低動(dòng)態(tài)延長(zhǎng)檢測(cè)應(yīng)用程序是否生成響應(yīng)信 息的等待時(shí)長(zhǎng),以避免對(duì)應(yīng)用程序運(yùn)行狀態(tài)的誤判斷。
明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及 其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1、一種應(yīng)用程序運(yùn)行狀態(tài)的檢測(cè)方法,其特征在于,包括在應(yīng)用程序啟動(dòng)后,檢測(cè)所述應(yīng)用程序是否生成用于標(biāo)識(shí)其運(yùn)行狀態(tài)正常的響應(yīng)信息;當(dāng)未檢測(cè)到所述響應(yīng)信息時(shí),確定所述應(yīng)用程序的運(yùn)行狀態(tài)異常。
2、 如權(quán)利要求1所述的檢測(cè)方法,其特征在于,當(dāng)未檢測(cè)到所述響應(yīng)信 息,并且在確定所述應(yīng)用程序的運(yùn)行狀態(tài)異常之前,還包括確定中央處理器CPU的使用率;根據(jù)所述CPU的使用率確定第一時(shí)長(zhǎng),并經(jīng)過該第一時(shí)長(zhǎng)檢測(cè)所述應(yīng)用 程序是否生成所述響應(yīng)信息;所述確定所述應(yīng)用程序的運(yùn)行狀態(tài)異常,具體為當(dāng)經(jīng)過第一時(shí)長(zhǎng)未>^測(cè)到所述響應(yīng)信息時(shí),確定所述應(yīng)用程序的運(yùn)行狀態(tài) 異常。
3、 如權(quán)利要求1或2所述的檢測(cè)方法,其特征在于,當(dāng)檢測(cè)到所述響應(yīng) 信息時(shí),刪除所述響應(yīng)信息。
4、 如權(quán)利要求1所述的檢測(cè)方法,其特征在于,所述應(yīng)用程序生成用于 標(biāo)識(shí)其運(yùn)行狀態(tài)正常的響應(yīng)信息,包括所述應(yīng)用程序每經(jīng)過設(shè)定的第二時(shí)長(zhǎng)生成所述響應(yīng)信息。
5、 如權(quán)利要求1所述的檢測(cè)方法,其特征在于,檢測(cè)所述應(yīng)用程序是否 生成用于標(biāo)識(shí)其運(yùn)行狀態(tài)正常的響應(yīng)信息,包括根據(jù)設(shè)定周期檢測(cè)所述響應(yīng)信息。
6、 一種應(yīng)用程序運(yùn)行狀態(tài)的檢測(cè)裝置,其特征在于,包括 信息檢測(cè)單元,用于在應(yīng)用程序啟動(dòng)后,檢測(cè)所述應(yīng)用程序是否生成用于標(biāo)識(shí)其運(yùn)行狀態(tài)正常的響應(yīng)信息;狀態(tài)確定單元,用于當(dāng)所述信息檢測(cè)單元未檢測(cè)到所述響應(yīng)信息時(shí),確定 所述應(yīng)用程序的運(yùn)行狀態(tài)異常。
7、 如權(quán)利要求6所述的檢測(cè)裝置,其特征在于,還包括 時(shí)長(zhǎng)確定單元,用于當(dāng)所述信息檢測(cè)單元未檢測(cè)到所述響應(yīng)信息,并且在器CPU的使用率,并根據(jù)所述CPU的使用率確定第一時(shí)長(zhǎng);所述信息檢測(cè)單元還用于,經(jīng)過所述時(shí)長(zhǎng)確定單元確定出的第一時(shí)長(zhǎng),枱,測(cè)所述應(yīng)用程序是否生成所述響應(yīng)信息;所述狀態(tài)確定單元進(jìn)一步用于,當(dāng)所述信息檢測(cè)單元兩次都未檢測(cè)到所述響應(yīng)信息時(shí),確定所述應(yīng)用程序異常。
8、 一種應(yīng)用程序運(yùn)行狀態(tài)的恢復(fù)方法,其特征在于,包括在應(yīng)用程序啟動(dòng)后,;險(xiǎn)測(cè)所述應(yīng)用程序是否生成用于標(biāo)識(shí)其運(yùn)行狀態(tài)正常 的響應(yīng)信息;當(dāng)未檢測(cè)到所述響應(yīng)信息時(shí),確定所述應(yīng)用程序的運(yùn)行狀態(tài)異常; 重啟所述應(yīng)用程序,并加載所述應(yīng)用程序在其運(yùn)行過程中保存的運(yùn)行狀態(tài) 信息。
9、 如權(quán)利要求8所述的恢復(fù)方法,其特征在于,所述運(yùn)行狀態(tài)信息包括 用戶設(shè)置信息以及所述應(yīng)用程序在運(yùn)行狀態(tài)正常時(shí)對(duì)應(yīng)的運(yùn)行環(huán)境參數(shù)。
10、 一種應(yīng)用程序狀態(tài)的恢復(fù)裝置,其特征在于,包括 信息檢測(cè)單元,用于在應(yīng)用程序啟動(dòng)后,檢測(cè)所述應(yīng)用程序是否生成用于標(biāo)識(shí)其運(yùn)行狀態(tài)正常的響應(yīng)信息;狀態(tài)確定單元,用于當(dāng)所述信息檢測(cè)單元未檢測(cè)到所述響應(yīng)信息時(shí),確定 所述應(yīng)用程序的運(yùn)行狀態(tài)異常;啟動(dòng)控制單元,用于當(dāng)所述狀態(tài)確定單元確定所述應(yīng)用程序的運(yùn)行狀態(tài)異 常時(shí),重啟所述應(yīng)用程序,并加載所述應(yīng)用程序在其運(yùn)行過程中保存的運(yùn)行狀 態(tài)信息。
全文摘要
本發(fā)明公開了一種應(yīng)用程序狀態(tài)的檢測(cè)方法、恢復(fù)方法及裝置,用以解決現(xiàn)有技術(shù)不能及時(shí)發(fā)現(xiàn)應(yīng)用程序的運(yùn)行狀態(tài)出現(xiàn)異常以及重啟應(yīng)用程序后無法恢復(fù)應(yīng)用程序在異常前對(duì)應(yīng)的運(yùn)行狀態(tài)的問題。主要技術(shù)方案包括在應(yīng)用程序啟動(dòng)后,檢測(cè)所述應(yīng)用程序是否生成用于標(biāo)識(shí)其運(yùn)行狀態(tài)正常的響應(yīng)信息;當(dāng)未檢測(cè)到所述響應(yīng)信息時(shí),確定所述應(yīng)用程序的運(yùn)行狀態(tài)異常。通過該技術(shù)方案,能夠及時(shí)地發(fā)現(xiàn)應(yīng)用程序出現(xiàn)異常的情況,并且可以使該應(yīng)用程序重啟后恢復(fù)到異常前的運(yùn)行狀態(tài),不需要用戶重新設(shè)置,給用戶提供了方便,增加了用戶體驗(yàn)。
文檔編號(hào)G06F11/36GK101354677SQ200810211849
公開日2009年1月28日 申請(qǐng)日期2008年9月11日 優(yōu)先權(quán)日2008年9月11日
發(fā)明者徐國(guó)慶 申請(qǐng)人:青島海信移動(dòng)通信技術(shù)股份有限公司