本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,具體涉及恢復(fù)方法及相關(guān)裝置。
背景技術(shù):
終端(例如智能手機(jī))在運(yùn)行過程中,如關(guān)鍵業(yè)務(wù)(服務(wù))出現(xiàn)故障,需要進(jìn)行人為干預(yù),例如,用戶通過手工操作對(duì)終端的操作系統(tǒng)進(jìn)行重裝(俗稱刷機(jī)),或進(jìn)行返修。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例提供一種恢復(fù)方法及相關(guān)裝置,以在關(guān)鍵業(yè)務(wù)出現(xiàn)故障時(shí)對(duì)其進(jìn)行自動(dòng)恢復(fù)。
為實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例提供如下技術(shù)方案:
一種恢復(fù)方法,應(yīng)用于終端,所述恢復(fù)方法包括:
在所述終端啟動(dòng)后,獲取正在運(yùn)行的關(guān)鍵業(yè)務(wù)的列表;
監(jiān)測(cè)所述列表中各關(guān)鍵業(yè)務(wù)的運(yùn)行狀態(tài);所述運(yùn)行狀態(tài)包括正常狀態(tài)和異常狀態(tài);
判斷所述列表中的關(guān)鍵業(yè)務(wù)是否處于異常狀態(tài);
響應(yīng)于所述列表中至少一個(gè)關(guān)鍵業(yè)務(wù)處于異常狀態(tài),獲取存儲(chǔ)在所述終端中的相應(yīng)安裝包;
使用獲取的安裝包對(duì)相應(yīng)的、處于異常狀態(tài)的關(guān)鍵業(yè)務(wù)進(jìn)行恢復(fù)。
一種恢復(fù)裝置,應(yīng)用于終端,所述恢復(fù)裝置包括:
獲取單元,用于在所述終端啟動(dòng)后,獲取正在運(yùn)行的關(guān)鍵業(yè)務(wù)的列表;
監(jiān)測(cè)單元,用于監(jiān)測(cè)所述列表中各關(guān)鍵業(yè)務(wù)的運(yùn)行狀態(tài);所述運(yùn)行狀態(tài)包括正常狀態(tài)和異常狀態(tài);
判斷單元,用于判斷所述列表中的關(guān)鍵業(yè)務(wù)是否處于異常狀態(tài);
安裝包獲取單元,用于響應(yīng)于所述列表中至少一個(gè)關(guān)鍵業(yè)務(wù)處于異常狀態(tài),獲取存儲(chǔ)在所述終端中的相應(yīng)安裝包;
恢復(fù)單元,用于使用獲取的安裝包對(duì)相應(yīng)的、處于異常狀態(tài)的關(guān)鍵業(yè)務(wù)進(jìn)行恢復(fù)。
一種終端,包括上述的恢復(fù)裝置。
基于上述恢復(fù)技術(shù)方案,本發(fā)明實(shí)施例在終端啟動(dòng)后,可自動(dòng)監(jiān)測(cè)正在運(yùn)行的關(guān)鍵業(yè)務(wù)的運(yùn)行狀態(tài),并可自動(dòng)使用安裝包恢復(fù)處于異常狀態(tài)的關(guān)鍵業(yè)務(wù),進(jìn)而實(shí)現(xiàn)在關(guān)鍵業(yè)務(wù)出現(xiàn)故障時(shí)對(duì)其進(jìn)行自動(dòng)恢復(fù)。在此過程中,不需人工干預(yù)。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1、2、3a、3b為本發(fā)明實(shí)施例提供的恢復(fù)方法示例性流程圖;
圖4為本發(fā)明實(shí)施例提供的恢復(fù)裝置的示例性結(jié)構(gòu)圖;
圖5為本發(fā)明實(shí)施例提供的終端的計(jì)算機(jī)架構(gòu)示例圖。
具體實(shí)施方式
本發(fā)明提供恢復(fù)方法、恢復(fù)裝置及終端。
上述恢復(fù)方法或裝置可應(yīng)用于諸如移動(dòng)終端(例如智能手機(jī))、ministation微游戲機(jī)等的終端中。
更具體的,上述恢復(fù)裝置可為操作系統(tǒng)(例如android系統(tǒng))的監(jiān)測(cè)模塊。
圖1示出了上述恢復(fù)方法的一種示例性流程,其至少可包括如下步驟:
s1:在終端啟動(dòng)后,獲取正在運(yùn)行的關(guān)鍵業(yè)務(wù)的列表;
上述關(guān)鍵業(yè)務(wù)可為操作系統(tǒng)的關(guān)鍵業(yè)務(wù)(或稱為關(guān)鍵模塊、核心模塊),在出廠前,可配置操作系統(tǒng)中的哪些業(yè)務(wù)為關(guān)鍵業(yè)務(wù),哪些業(yè)務(wù)不是關(guān)鍵業(yè)務(wù)。
此外,除操作系統(tǒng)的關(guān)鍵業(yè)務(wù)外,也可允許用戶設(shè)置終端上的應(yīng)用為關(guān)鍵業(yè)務(wù)。
在一個(gè)示例中,可在終端啟動(dòng)后獲取一次列表,然后不再獲取。
操作系統(tǒng)的關(guān)鍵業(yè)務(wù)一般開機(jī)后就運(yùn)行,不過有些關(guān)鍵業(yè)務(wù)運(yùn)行一段時(shí)間后,休眠或者不再運(yùn)行,有些關(guān)鍵業(yè)務(wù)則會(huì)一直運(yùn)行。因此,在另一個(gè)示例中,也可周期性獲取列表。
s2:監(jiān)測(cè)上述列表中各關(guān)鍵業(yè)務(wù)的運(yùn)行狀態(tài);上述運(yùn)行狀態(tài)包括正常狀態(tài)和異常狀態(tài)。
更具體的,恢復(fù)裝置可維護(hù)監(jiān)測(cè)表,在監(jiān)測(cè)表中記錄著上述列表中各關(guān)鍵業(yè)務(wù)對(duì)應(yīng)的運(yùn)行狀態(tài)信息。運(yùn)行狀態(tài)信息用于表征運(yùn)行狀態(tài)。
進(jìn)一步的,上述監(jiān)測(cè)表中的運(yùn)行狀態(tài)信息可包括第一取值和第二取值,上述第二取值用于表征正常狀態(tài)。第二取值具體可為1。第一取值具體可為0,或者第二取值具體可為0,第一取值具體可為1。當(dāng)然,第一取值、第二取值的具體數(shù)值還可有其他選擇,只要二者可相互區(qū)分即可。
此外,監(jiān)測(cè)表中的運(yùn)行狀態(tài)信息還可包括第三取值,第三取值用于表征運(yùn)行終止。第三取值具體可為2。當(dāng)然,第三取值的具體數(shù)值還可有其他選擇,只要與第一取值、第二取值可相互區(qū)分即可。
s3:判斷上述列表中的關(guān)鍵業(yè)務(wù)是否處于異常狀態(tài)。
可選的,可周期性執(zhí)行步驟s2和s3。
恢復(fù)裝置可以計(jì)時(shí)器進(jìn)行計(jì)時(shí)。
計(jì)時(shí)器啟動(dòng),一個(gè)監(jiān)測(cè)周期開始,計(jì)時(shí)器計(jì)時(shí)到達(dá)設(shè)定的時(shí)長,則該監(jiān)測(cè)周期結(jié)束。在監(jiān)測(cè)周期內(nèi),恢復(fù)裝置可監(jiān)測(cè)上述列表中各關(guān)鍵業(yè)務(wù)的運(yùn)行狀態(tài),在監(jiān)測(cè)周期結(jié)束時(shí),恢復(fù)裝置判斷列表中的關(guān)鍵業(yè)務(wù)是否處于異常狀態(tài)。
此外,對(duì)于周期性獲取列表的場(chǎng)景,可在監(jiān)測(cè)周期開始時(shí)獲取列表。
可選的,用戶可設(shè)置計(jì)時(shí)器的時(shí)長,從而控制一個(gè)監(jiān)測(cè)周期的時(shí)長。
進(jìn)一步的,可根據(jù)監(jiān)測(cè)表判斷上述列表中的關(guān)鍵業(yè)務(wù)是否處于異常狀態(tài)。
s4:響應(yīng)于上述列表中至少一個(gè)關(guān)鍵業(yè)務(wù)處于異常狀態(tài),獲取存儲(chǔ)在上述終端中的相應(yīng)安裝包。
上述安裝包可存儲(chǔ)在終端的flash中。也可存儲(chǔ)在終端的其他存儲(chǔ)介質(zhì)中。
更具體的,恢復(fù)裝置可調(diào)用系統(tǒng)安裝/恢復(fù)業(yè)務(wù),由系統(tǒng)安裝/恢復(fù)業(yè)務(wù)獲取安裝包。
s5:使用獲取的安裝包對(duì)相應(yīng)的、處于異常狀態(tài)的關(guān)鍵業(yè)務(wù)進(jìn)行恢復(fù)。
相應(yīng)的,可由系統(tǒng)安裝/恢復(fù)業(yè)務(wù)在恢復(fù)裝置的指示下使用安裝包進(jìn)行重裝。
上述安裝包可為操作系統(tǒng)安裝包。也即,一旦某一關(guān)鍵業(yè)務(wù)故障,則重新安裝整個(gè)操作系統(tǒng)。在重新安裝過程中,可選擇保留用戶數(shù)據(jù)(例如普通手機(jī)app的數(shù)據(jù)),這樣,操作系統(tǒng)重裝后,用戶不用再重裝手機(jī)app。當(dāng)然,也可選擇不保留用戶數(shù)據(jù)。
此外,上述安裝包也可為針對(duì)關(guān)鍵業(yè)務(wù)的安裝包。也即,哪個(gè)關(guān)鍵業(yè)務(wù)故障了,僅安裝該關(guān)鍵業(yè)務(wù),不會(huì)對(duì)整個(gè)操作系統(tǒng)進(jìn)行重裝。
無論是哪種安裝包,可以是出廠時(shí)即存儲(chǔ)在終端中,這樣重裝后就恢復(fù)到了出廠設(shè)置。
也可定期下載最新版本的安裝包,這樣重新安裝后,用戶將無需進(jìn)一步升級(jí)。
基于上述恢復(fù)技術(shù)方案,本發(fā)明實(shí)施例在終端啟動(dòng)后,可自動(dòng)監(jiān)測(cè)正在運(yùn)行的關(guān)鍵業(yè)務(wù)的運(yùn)行狀態(tài),并可自動(dòng)使用安裝包恢復(fù)處于異常狀態(tài)的關(guān)鍵業(yè)務(wù),進(jìn)而實(shí)現(xiàn)在關(guān)鍵業(yè)務(wù)出現(xiàn)故障時(shí)對(duì)其進(jìn)行自動(dòng)恢復(fù)。在此過程中,不需人工干預(yù)。
需要說明的是,現(xiàn)有的筆記本或臺(tái)式機(jī)中,有任務(wù)管理器一項(xiàng)功能。但任務(wù)管理器需要用戶手動(dòng)啟用,并且,其在啟動(dòng)后雖可顯示各進(jìn)程的運(yùn)行狀態(tài),但只能用戶手動(dòng)選擇關(guān)閉某一進(jìn)程。
與之相比,本發(fā)明實(shí)施例所提供的技術(shù)方案,在終端啟動(dòng)后,可執(zhí)行自動(dòng)監(jiān)測(cè)及自動(dòng)恢復(fù)關(guān)鍵業(yè)務(wù)。并不需要用戶的參與。
下面,將對(duì)上述恢復(fù)方法的關(guān)鍵步驟進(jìn)行詳細(xì)介紹。
在本發(fā)明其他實(shí)施例中,請(qǐng)參見圖2,上述步驟s2可具體包括:
s21:獲取狀態(tài)報(bào)告信息。
上述狀態(tài)報(bào)告信息由關(guān)鍵業(yè)務(wù)生成。
在一個(gè)示例中,若關(guān)鍵業(yè)務(wù)運(yùn)行正常,則會(huì)生成并上報(bào)狀態(tài)報(bào)告信息,否則將不生成或不上報(bào)狀態(tài)報(bào)告信息。則在此示例中,狀態(tài)報(bào)告信息具體可包含相應(yīng)關(guān)鍵業(yè)務(wù)的唯一標(biāo)識(shí),以便于恢復(fù)裝置識(shí)別是由哪個(gè)關(guān)鍵業(yè)務(wù)發(fā)送的狀態(tài)報(bào)告信息。
在另一個(gè)示例中,除唯一標(biāo)識(shí)外,上述狀態(tài)報(bào)告信息還可包括相關(guān)的關(guān)鍵業(yè)務(wù)的上報(bào)類型。更具體的,上述上報(bào)類型可為周期性上報(bào)類型或非周期性上報(bào)類型。其中,非周期性上報(bào)類型的關(guān)鍵業(yè)務(wù)僅上報(bào)一次狀態(tài)報(bào)告信息;周期性上報(bào)類型的關(guān)鍵業(yè)務(wù)按設(shè)定的發(fā)送周期,周期性生成并上報(bào)狀態(tài)報(bào)告信息。
前述提及了,有些關(guān)鍵業(yè)務(wù)運(yùn)行一段時(shí)間后將休眠或者不再運(yùn)行,有些關(guān)鍵業(yè)務(wù)則會(huì)一直運(yùn)行。只運(yùn)行一段時(shí)間的關(guān)鍵業(yè)務(wù),其上報(bào)類型為非周期性上報(bào)類型,也即,該關(guān)鍵業(yè)務(wù)啟動(dòng)后只上報(bào)一次狀態(tài)報(bào)告信息。
而開機(jī)后一直運(yùn)行的關(guān)鍵業(yè)務(wù),其上報(bào)類型為周期性上報(bào)類型,也即,如運(yùn)行正常,此類關(guān)鍵業(yè)務(wù)將周期性上報(bào)狀態(tài)報(bào)告信息??蓪⑸蠄?bào)狀態(tài)報(bào)告信息的周期稱為上報(bào)周期。
在又一個(gè)示例中,即使關(guān)鍵業(yè)務(wù)運(yùn)行異常,只要還可上報(bào)狀態(tài)報(bào)告信息,便會(huì)進(jìn)行上報(bào)。此時(shí),狀態(tài)報(bào)告信息中除包含相應(yīng)關(guān)鍵業(yè)務(wù)的唯一標(biāo)識(shí)外,還可包括運(yùn)行狀態(tài)信息。其中,該狀態(tài)報(bào)告信息中的運(yùn)行狀態(tài)信息可為第一取值、第二取值或第三取值,第一取值用于表征異常狀態(tài),第二取值用于表征正常狀態(tài),第三取值用于表征運(yùn)行終止。也就是說,關(guān)鍵業(yè)務(wù)會(huì)通過狀態(tài)報(bào)告信息報(bào)告自己是處于正常狀態(tài)還是處于異常狀態(tài),在運(yùn)行終止時(shí),其也可發(fā)送包含第三取值的狀態(tài)報(bào)告信息,以便于恢復(fù)裝置知曉其運(yùn)行終止。
s22:根據(jù)上述狀態(tài)報(bào)告信息維護(hù)監(jiān)測(cè)表。
相應(yīng)的,步驟s3可進(jìn)一步包括如下步驟:
在本監(jiān)測(cè)周期結(jié)束時(shí),判定監(jiān)測(cè)表中運(yùn)行狀態(tài)信息為第一取值的關(guān)鍵業(yè)務(wù)的運(yùn)行狀態(tài)為異常狀態(tài),判定監(jiān)測(cè)表中運(yùn)行狀態(tài)信息為其他取值(例如第二取值、第三取值)的關(guān)鍵業(yè)務(wù)的運(yùn)行狀態(tài)為正常狀態(tài)。
下面,將對(duì)本技術(shù)方案進(jìn)行更為詳細(xì)的介紹。
請(qǐng)參見圖3a,上述恢復(fù)方法可具體包括:
s301:在終端啟動(dòng)后,獲取正在運(yùn)行的關(guān)鍵業(yè)務(wù)的列表。
301部分與上述步驟s1相類似,在此不作贅述。
s302:計(jì)時(shí)器清零,進(jìn)入監(jiān)測(cè)周期。
s303:在本監(jiān)測(cè)周期開始時(shí),將列表中的關(guān)鍵業(yè)務(wù)在監(jiān)測(cè)表中對(duì)應(yīng)的運(yùn)行狀態(tài)信息設(shè)置為第一取值。
可采用一個(gè)監(jiān)測(cè)表記錄列表中所有關(guān)鍵業(yè)務(wù)對(duì)應(yīng)的運(yùn)行狀態(tài)信息,也可采用兩個(gè)監(jiān)測(cè)表分別記錄周期性上報(bào)類型的關(guān)鍵業(yè)務(wù)的運(yùn)行狀態(tài)信息以及非周期性上報(bào)類型的關(guān)鍵業(yè)務(wù)的運(yùn)行狀態(tài)信息。
假設(shè)列表中正在運(yùn)行的關(guān)鍵業(yè)務(wù)有n個(gè),并且第一取值具體為1,則本監(jiān)測(cè)周期開始時(shí),所有關(guān)鍵業(yè)務(wù)的運(yùn)行狀態(tài)信息如下表1所示。
表1
s304:在本監(jiān)測(cè)周期開始時(shí),對(duì)非周期性上報(bào)類型的關(guān)鍵業(yè)務(wù),如在本監(jiān)測(cè)周期之前已獲取到了狀態(tài)報(bào)告信息,則修改對(duì)應(yīng)的運(yùn)行狀態(tài)信息為第二取值(例如0),否則,將運(yùn)行狀態(tài)信息保持為第一取值(例如1)。
假設(shè)列表中第m個(gè)關(guān)鍵業(yè)務(wù)為非周期性上報(bào)類型,并且在本監(jiān)測(cè)周期之前已獲取到其狀態(tài)報(bào)告信息,則將表1修改為如下表2所示。
表2
s305:在本監(jiān)測(cè)周期內(nèi),獲取狀態(tài)報(bào)告信息。
獲取到的某一狀態(tài)報(bào)告信息可來自周期性上報(bào)類型的關(guān)鍵業(yè)務(wù),也可來自非周期性上報(bào)類型的關(guān)鍵業(yè)務(wù)。
在一個(gè)示例中,恢復(fù)裝置可與操作系統(tǒng)中的關(guān)鍵業(yè)務(wù)直接通訊,從而可直接接收關(guān)鍵業(yè)務(wù)上報(bào)的狀態(tài)報(bào)告信息。
在另一個(gè)示例中,關(guān)鍵業(yè)務(wù)可將狀態(tài)報(bào)告信息上報(bào)(存儲(chǔ))到共享緩存區(qū)域中,恢復(fù)裝置可讀取出共享緩存區(qū)域中的狀態(tài)報(bào)告信息,從而獲取到狀態(tài)報(bào)告信息。
狀態(tài)報(bào)告信息的發(fā)送周期的時(shí)長需小于監(jiān)測(cè)周期的時(shí)長。
在又一個(gè)示例中,在本監(jiān)測(cè)周期內(nèi),恢復(fù)裝置可向列表中未上報(bào)狀態(tài)報(bào)告信息的關(guān)鍵業(yè)務(wù)發(fā)送問詢消息,收到問詢消息的關(guān)鍵業(yè)務(wù)可反饋狀態(tài)報(bào)告信息。
s306:將本監(jiān)測(cè)周期內(nèi)獲取到的狀態(tài)報(bào)告信息所對(duì)應(yīng)的關(guān)鍵業(yè)務(wù)、在監(jiān)測(cè)表中的運(yùn)行狀態(tài)信息設(shè)置為第二取值。
仍沿用前例,假定獲取到了表2中的第m個(gè)非周期性上報(bào)類型的關(guān)鍵業(yè)務(wù)的狀態(tài)報(bào)告信息,則將其運(yùn)行狀態(tài)信息設(shè)置為第二取值(0)。此時(shí),非周期性上報(bào)類型的關(guān)鍵業(yè)務(wù)的運(yùn)行狀態(tài)信息如下表3所示。
表3
s307:在本監(jiān)測(cè)周期結(jié)束時(shí),判定運(yùn)行狀態(tài)信息為第二取值的關(guān)鍵業(yè)務(wù)處于正常狀態(tài),判定運(yùn)行狀態(tài)信息為第一取值的關(guān)鍵業(yè)務(wù)處于異常狀態(tài)。
s308:判斷上述列表中的各關(guān)鍵業(yè)務(wù)是否均處于正常狀態(tài)(也即判斷監(jiān)測(cè)表中的運(yùn)行狀態(tài)信息是否均為第二取值),如果是,返回s302,否則,進(jìn)入s309。
s309:響應(yīng)于上述列表中至少一個(gè)關(guān)鍵業(yè)務(wù)處于異常狀態(tài),獲取存儲(chǔ)在上述終端中的相應(yīng)安裝包。
309部分與前述的s4相同,在此不作贅述。
s310:使用獲取的安裝包對(duì)相應(yīng)的、處于異常狀態(tài)的關(guān)鍵業(yè)務(wù)進(jìn)行恢復(fù)。
310部分與前述的s5相同,在此不作贅述。
在另一個(gè)實(shí)施例中,請(qǐng)參見圖3b,上述恢復(fù)方法可具體包括:
s3001:在終端啟動(dòng)后,獲取正在運(yùn)行的關(guān)鍵業(yè)務(wù)的列表。
3001部分與上述步驟s1相類似,在此不作贅述。
s3002:計(jì)時(shí)器清零,進(jìn)入監(jiān)測(cè)周期。
s3003:在本監(jiān)測(cè)周期開始時(shí),將列表中的關(guān)鍵業(yè)務(wù)在監(jiān)測(cè)表中對(duì)應(yīng)的運(yùn)行狀態(tài)信息設(shè)置為第一取值。
假設(shè)列表中正在運(yùn)行的關(guān)鍵業(yè)務(wù)有n個(gè),并且第一取值具體為1,則本監(jiān)測(cè)周期開始時(shí),所有關(guān)鍵業(yè)務(wù)的運(yùn)行狀態(tài)信息如下表4所示。
表4
s3004:在本監(jiān)測(cè)周期內(nèi),獲取狀態(tài)報(bào)告信息。
其中,狀態(tài)報(bào)告信息中包含相應(yīng)關(guān)鍵業(yè)務(wù)的唯一標(biāo)識(shí)及運(yùn)行狀態(tài)信息。狀態(tài)報(bào)告信息中的運(yùn)行狀態(tài)信息可為第一取值、第二取值或第三取值:第一取值用于表征異常狀態(tài),第二取值用于表征正常狀態(tài),第三取值用于表征運(yùn)行終止。在本實(shí)施例中,第一取值具體為1,第二取值具體為0,第三取值具體為2。
在一個(gè)示例中,恢復(fù)裝置可與操作系統(tǒng)中的關(guān)鍵業(yè)務(wù)直接通訊,從而可直接接收關(guān)鍵業(yè)務(wù)上報(bào)的狀態(tài)報(bào)告信息。
在另一個(gè)示例中,關(guān)鍵業(yè)務(wù)可將狀態(tài)報(bào)告信息上報(bào)(存儲(chǔ))到共享緩存區(qū)域中,恢復(fù)裝置可讀取出共享緩存區(qū)域中的狀態(tài)報(bào)告信息,從而獲取到狀態(tài)報(bào)告信息。
狀態(tài)報(bào)告信息的發(fā)送周期的時(shí)長需小于監(jiān)測(cè)周期的時(shí)長。
在又一個(gè)示例中,在本監(jiān)測(cè)周期內(nèi),恢復(fù)裝置可向列表中未上報(bào)狀態(tài)報(bào)告信息的關(guān)鍵業(yè)務(wù)發(fā)送問詢消息,收到問詢消息的關(guān)鍵業(yè)務(wù)可反饋狀態(tài)報(bào)告信息。
s3005:提取狀態(tài)報(bào)告信息中的運(yùn)行狀態(tài)信息。
s3006:根據(jù)提取出的運(yùn)行狀態(tài)信息更改監(jiān)測(cè)表中相應(yīng)關(guān)鍵業(yè)務(wù)的運(yùn)行狀態(tài)信息。
仍沿用前例,假定,第1個(gè)關(guān)鍵業(yè)務(wù)上報(bào)的狀態(tài)報(bào)告信息中的運(yùn)行狀態(tài)信息為1,第m個(gè)關(guān)鍵業(yè)務(wù)上報(bào)的狀態(tài)報(bào)告信息中的運(yùn)行狀態(tài)信息為2,未收到第n個(gè)關(guān)鍵業(yè)務(wù)上報(bào)的狀態(tài)報(bào)告信息,其他關(guān)鍵業(yè)務(wù)上報(bào)的狀態(tài)報(bào)告信息中的運(yùn)行狀態(tài)信息均為0。則表4更改為如下表5所示。
表5
s3007:在本監(jiān)測(cè)周期結(jié)束時(shí),判定運(yùn)行狀態(tài)信息為第一取值的關(guān)鍵業(yè)務(wù)處于異常狀態(tài),判定運(yùn)行狀態(tài)信息為其他取值(例如2、0)的關(guān)鍵業(yè)務(wù)處于正常狀態(tài)。
s3008:判斷上述列表中的各關(guān)鍵業(yè)務(wù)是否均處于正常狀態(tài)(也即判斷上述列表中的各關(guān)鍵業(yè)務(wù)的運(yùn)行狀態(tài)信息是否均不為第一取值),如果是,返回s3002,否則,進(jìn)入s3009。
s3009:響應(yīng)于上述列表中至少一個(gè)關(guān)鍵業(yè)務(wù)處于異常狀態(tài),獲取存儲(chǔ)在上述終端中的相應(yīng)安裝包。
3009部分與前述的s4相同,在此不作贅述。
s3010:使用獲取的安裝包對(duì)相應(yīng)的、處于異常狀態(tài)的關(guān)鍵業(yè)務(wù)進(jìn)行恢復(fù)。
3010部分與前述的s5相同,在此不作贅述。
在本發(fā)明其他實(shí)施例中,當(dāng)本監(jiān)測(cè)周期結(jié)束時(shí),若各關(guān)鍵業(yè)務(wù)均處于正常狀態(tài),恢復(fù)裝置還可對(duì)操作系統(tǒng)及運(yùn)行中的各app的狀態(tài)進(jìn)行快照,并保存快照數(shù)據(jù)。
而在某次監(jiān)測(cè)周期結(jié)束時(shí),如任一關(guān)鍵業(yè)務(wù)處于異常狀態(tài),除使用安裝包恢復(fù)外,還可在恢復(fù)后,查找存儲(chǔ)的快照數(shù)據(jù),將操作系統(tǒng)及各app的狀態(tài)恢復(fù)成前一監(jiān)測(cè)周期結(jié)束時(shí)的狀態(tài)。
下面將介紹恢復(fù)裝置。前已述及,該恢復(fù)裝置可應(yīng)用于終端。
圖4示出了上述恢復(fù)裝置的一種示例性結(jié)構(gòu),可包括:
獲取單元1,用于在上述終端啟動(dòng)后,獲取正在運(yùn)行的關(guān)鍵業(yè)務(wù)的列表;
監(jiān)測(cè)單元2,用于監(jiān)測(cè)上述列表中各關(guān)鍵業(yè)務(wù)的運(yùn)行狀態(tài);上述運(yùn)行狀態(tài)包括正常狀態(tài)和異常狀態(tài);
判斷單元3,用于判斷上述列表中的關(guān)鍵業(yè)務(wù)是否處于異常狀態(tài);
安裝包獲取單元4,用于響應(yīng)于上述列表中至少一個(gè)關(guān)鍵業(yè)務(wù)處于異常狀態(tài),獲取存儲(chǔ)在上述終端中的相應(yīng)安裝包;
恢復(fù)單元5,用于使用獲取的安裝包對(duì)相應(yīng)的、處于異常狀態(tài)的關(guān)鍵業(yè)務(wù)進(jìn)行恢復(fù)。
具體細(xì)節(jié)請(qǐng)參照本文方法部分的介紹,在此不作贅述。
在本發(fā)明其他實(shí)施例中,在上述監(jiān)測(cè)上述列表中各關(guān)鍵業(yè)務(wù)的運(yùn)行狀態(tài)的方面,上述所有實(shí)施例中的監(jiān)測(cè)單元1可具體用于:
獲取狀態(tài)報(bào)告信息;上述狀態(tài)報(bào)告信息由關(guān)鍵業(yè)務(wù)生成;
根據(jù)上述狀態(tài)報(bào)告信息維護(hù)監(jiān)測(cè)表;上述監(jiān)測(cè)表中包括上述列表中各關(guān)鍵業(yè)務(wù)對(duì)應(yīng)的運(yùn)行狀態(tài)信息。
具體細(xì)節(jié)請(qǐng)參照本文方法部分的介紹,在此不作贅述。
上述關(guān)鍵業(yè)務(wù)對(duì)應(yīng)有上報(bào)類型;上述狀態(tài)報(bào)告信息中包含相應(yīng)關(guān)鍵業(yè)務(wù)的唯一標(biāo)識(shí)及上報(bào)類型;上述上報(bào)類型為周期性上報(bào)類型或非周期性上報(bào)類型。
其中,非周期性上報(bào)類型的關(guān)鍵業(yè)務(wù)僅上報(bào)一次狀態(tài)報(bào)告信息;周期性上報(bào)類型的關(guān)鍵業(yè)務(wù)按設(shè)定的發(fā)送周期,周期性生成并上報(bào)狀態(tài)報(bào)告信息。
上述監(jiān)測(cè)表中的運(yùn)行狀態(tài)信息可至少包括第一取值和第二取值,其中,第二取值用于表征正常狀態(tài);
在本發(fā)明其他實(shí)施例中,在上述根據(jù)所述狀態(tài)報(bào)告信息維護(hù)監(jiān)測(cè)表的方面,上述所有實(shí)施例中的監(jiān)測(cè)單元1可用于:
在本監(jiān)測(cè)周期開始時(shí),將各關(guān)鍵業(yè)務(wù)在監(jiān)測(cè)表中的運(yùn)行狀態(tài)信息設(shè)置為第一取值;
如在本監(jiān)測(cè)周期之前已獲取到了非周期性上報(bào)類型的關(guān)鍵業(yè)務(wù)的狀態(tài)報(bào)告信息,則修改監(jiān)測(cè)表中對(duì)應(yīng)的運(yùn)行狀態(tài)信息為第二取值。
具體細(xì)節(jié)請(qǐng)參照本文方法部分的介紹,例如圖3a所示實(shí)例的介紹,在此不作贅述。
在本發(fā)明其他實(shí)施例中,在上述根據(jù)所述狀態(tài)報(bào)告信息維護(hù)監(jiān)測(cè)表的方面,上述所有實(shí)施例中的監(jiān)測(cè)單元1還可用于:
將本監(jiān)測(cè)周期內(nèi)獲取到的狀態(tài)報(bào)告信息所對(duì)應(yīng)的關(guān)鍵業(yè)務(wù)、在監(jiān)測(cè)表中的運(yùn)行狀態(tài)信息設(shè)置為第二取值;
上述發(fā)送周期的時(shí)長小于上述監(jiān)測(cè)周期的時(shí)長。
具體細(xì)節(jié)請(qǐng)參照本文方法部分的介紹,例如圖3a所示部分的介紹,在此不作贅述。
在本發(fā)明其他實(shí)施例中,上述所有實(shí)施例中的狀態(tài)報(bào)告信息可包含相應(yīng)關(guān)鍵業(yè)務(wù)的唯一標(biāo)識(shí)及運(yùn)行狀態(tài)信息;所述狀態(tài)報(bào)告信息中的運(yùn)行狀態(tài)信息為第一取值、第二取值或第三取值。其中,所述第一取值用于表征異常狀態(tài),所述第二取值用于表征正常狀態(tài),所述第三取值用于表征運(yùn)行終止。
相應(yīng)的,在上述根據(jù)所述狀態(tài)報(bào)告信息維護(hù)監(jiān)測(cè)表的方面,上述所有實(shí)施例中的監(jiān)測(cè)單元1可用于:
在本監(jiān)測(cè)周期開始時(shí),將所述列表中關(guān)鍵業(yè)務(wù)的運(yùn)行狀態(tài)信息設(shè)置為第一取值;
在本監(jiān)測(cè)周期內(nèi),接收狀態(tài)報(bào)告信息;
提取接收到的狀態(tài)報(bào)告信息中的運(yùn)行狀態(tài)信息;
根據(jù)提取出的運(yùn)行狀態(tài)信息更改所述監(jiān)測(cè)表中相應(yīng)關(guān)鍵業(yè)務(wù)的運(yùn)行狀態(tài)信息。
具體細(xì)節(jié)請(qǐng)參照本文方法部分的介紹,例如圖3b所示部分的介紹,在此不作贅述。
在本發(fā)明其他實(shí)施例中,在監(jiān)測(cè)上述列表中各關(guān)鍵業(yè)務(wù)的運(yùn)行狀態(tài)的方面,上述所有實(shí)施例中的監(jiān)測(cè)單元1還可用于:
在本監(jiān)測(cè)周期結(jié)束時(shí),當(dāng)上述列表中的各關(guān)鍵業(yè)務(wù)均處于正常狀態(tài)時(shí),進(jìn)入下一監(jiān)測(cè)周期。
具體細(xì)節(jié)請(qǐng)參照本文方法部分的介紹,例如圖3a和圖3b所示部分的介紹,在此不作贅述。
在本發(fā)明其他實(shí)施例中,在判斷述列表中的關(guān)鍵業(yè)務(wù)是否處于異常狀態(tài)的方面,判斷單元3可用于:
在本監(jiān)測(cè)周期結(jié)束時(shí),判定監(jiān)測(cè)表中運(yùn)行狀態(tài)信息為第一取值的關(guān)鍵業(yè)務(wù)處于異常狀態(tài),判定監(jiān)測(cè)表中運(yùn)行狀態(tài)信息為其他取值的關(guān)鍵業(yè)務(wù)處于正常狀態(tài)。
具體細(xì)節(jié)請(qǐng)參照本文方法部分的介紹,例如圖3a和圖3b所示部分的介紹,在此不作贅述。
圖5示出了上述終端的一種通用計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)。
上述計(jì)算機(jī)系統(tǒng)可包括總線、處理器501、存儲(chǔ)器502、通信接口503、輸入設(shè)備504和輸出設(shè)備505。處理器501、存儲(chǔ)器502、通信接口503、輸入設(shè)備504和輸出設(shè)備505通過總線相互連接。其中:
總線可包括一通路,在計(jì)算機(jī)系統(tǒng)各個(gè)部件之間傳送信息。
處理器501可以是通用處理器,例如通用中央處理器(cpu)、網(wǎng)絡(luò)處理 器(networkprocessor,簡稱np)、微處理器等,也可以是特定應(yīng)用集成電路(application-specificintegratedcircuit,asic),或一個(gè)或多個(gè)用于控制本發(fā)明方案程序執(zhí)行的集成電路。還可以是數(shù)字信號(hào)處理器(dsp)、專用集成電路(asic)、現(xiàn)成可編程門陣列(fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。
處理器501可包括主處理器,還可包括基帶芯片、調(diào)制解調(diào)器等。
存儲(chǔ)器502中保存有執(zhí)行本發(fā)明技術(shù)方案的程序,還可以保存有操作系統(tǒng)和其他關(guān)鍵業(yè)務(wù)。具體地,程序可以包括程序代碼,程序代碼包括計(jì)算機(jī)操作指令。更具體的,存儲(chǔ)器502可以包括只讀存儲(chǔ)器(read-onlymemory,rom)、可存儲(chǔ)靜態(tài)信息和指令的其他類型的靜態(tài)存儲(chǔ)設(shè)備、隨機(jī)存取存儲(chǔ)器(randomaccessmemory,ram)、可存儲(chǔ)信息和指令的其他類型的動(dòng)態(tài)存儲(chǔ)設(shè)備、磁盤存儲(chǔ)器、flash等等。此外,存儲(chǔ)器502可存儲(chǔ)安裝包。
輸入設(shè)備504可包括接收用戶輸入的數(shù)據(jù)和信息的裝置,例如鍵盤、鼠標(biāo)、攝像頭、掃描儀、光筆、語音輸入裝置、觸摸屏、計(jì)步器或重力感應(yīng)器等。
輸出設(shè)備505可包括允許輸出信息給用戶的裝置,例如顯示屏、打印機(jī)、揚(yáng)聲器等。
通信接口503可包括使用任何收發(fā)器一類的裝置,以便與其他設(shè)備或通信網(wǎng)絡(luò)通信,如以太網(wǎng),無線接入網(wǎng)(ran),無線局域網(wǎng)(wlan)等。
處理器501執(zhí)行存儲(chǔ)器502中所存放的程序,以及調(diào)用其他設(shè)備,可用于實(shí)現(xiàn)本發(fā)明前述實(shí)施例所提供的恢復(fù)方法中的各個(gè)步驟。
本說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。對(duì)于實(shí)施例公開的裝置而言,由于其與實(shí)施例公開的方法相對(duì)應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。
專業(yè)人員還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性 地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(ram)、內(nèi)存、只讀存儲(chǔ)器(rom)、電可編程rom、電可擦除可編程rom、寄存器、硬盤、可移動(dòng)磁盤、cd-rom、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。
對(duì)所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。