智能終端的修復方法、智能終端以及服務器的制造方法
【專利摘要】本發明公開了一種智能終端的修復方法、智能終端以及服務器,所述方法包括,智能終端在第一存儲分區中獲取系統固件的第一分塊;計算第一分塊的實際校驗碼,并向服務器發送獲取第一分塊的參考校驗碼的第一請求;接收服務器返回的第一分塊的參考校驗碼,并判斷第一分塊的參考校驗碼是否與對應的述第一分塊的實際校驗碼相匹配;如果參考校驗碼與對應的實際校驗碼不匹配,向所述服務器發送獲取第一分塊的第二請求;接收服務器返回的第一分塊,并將第一分塊更新到所述第一存儲分區的對應存儲位置中。通過上述方式,本發明,能夠有效及時的對智能終端出現的錯誤進行及時自動修復。
【專利說明】
智能終端的修復方法、智能終端以及服務器
技術領域
[0001]本發明涉及移動終端技術領域,特別是涉及一種智能終端的修復方法、智能終端以及服務器。
【背景技術】
[0002]隨著通信技術的飛速發展和智能電子產品的普及,越來越多的智能終端或移動終端成為人們生活中不可或缺的一部分,如智能手機、智能電視、平板電腦等。并且在智能終端普及的同時,用戶對智能終端所具備的功能的種類和性能要求也越來越高,如音頻、視頻功能、拍照功能都已經成為智能終端的必備功能。
[0003]但是在伴隨著功能的逐漸豐富,用戶可能會存在自行修改智能終端的存儲芯片內的系統軟件,造成一些不可察覺的錯誤,或者由于智能終端在長期應用中,系統軟件可能自動的出現了少許bit級別的錯誤,如少量的bit從O變成了 I或者從I變成了 O等。雖然這些錯誤很小,但是一旦發生以后,很有可能會使智能終端出現工作不正常的情況,例如,導致系統無法升級等情況,影響智能終端的正常使用。
【發明內容】
[0004]本發明主要解決的技術問題是提供一種智能終端的修復方法、智能終端以及服務器,能夠有效及時的對智能終端出現的錯誤進行及時自動修復。
[0005]為解決上述技術問題,本發明采用的一個技術方案是:提供一種智能終端的修復方法,包括:所述智能終端在第一存儲分區中獲取系統固件的第一分塊;計算所述第一分塊的實際校驗碼,并向服務器發送獲取所述第一分塊的參考校驗碼的第一請求;接收所述服務器返回的所述第一分塊的參考校驗碼,并判斷所述第一分塊的參考校驗碼是否與對應的所述第一分塊的實際校驗碼相匹配;如果所述第一分塊的參考校驗碼與對應的所述實際校驗碼不匹配,向所述服務器發送獲取所述第一分塊的第二請求;接收所述服務器返回的所述第一分塊,并將所述第一分塊更新到所述存儲分區的對應存儲位置中。
[0006]其中,所述智能終端在第一存儲分區中獲取系統固件的第一分塊的步驟之前還包括如下步驟:所述智能終端在第二存儲分區中獲取所述系統固件的修復程序的第二分塊;計算所述第二分塊的實際校驗碼,并向服務器發送獲取所述第二分塊的參考校驗碼的第三請求;接收所述服務器返回的所述第二分塊的參考校驗碼,并判斷所述第二分塊的參考校驗碼是否與所述第二分塊的實際校驗碼相匹配;如果所述第二分塊的參考校驗碼與所述第二分塊的實際校驗碼相匹配,則執行所述在第一存儲分區中獲取系統固件的第一分塊步驟。
[0007]其中,所述智能終端在第二存儲分區中獲取所述系統固件的修復程序的第二分塊的步驟包括:智能終端從其系統文件中獲取修復程序的存儲地址列表,并根據所述存儲地址列表從所述第二存儲分區中獲取所述修復程序的第二分塊。其中,所述第一分塊以及所述第二分塊的大小與其存儲的存儲信息的長度相匹配。
[0008]其中,所述接收所述服務器返回的所述第一分塊,并將所述第一分塊更新到所述存儲分區的對應存儲位置中的步驟之后,還包括:通過所述系統固件的修復程序將所述第一分塊更新到所述系統固件中。
[0009]為解決上述技術問題,本發明采用的另一個技術方案是:提供一種智能終端的修復方法,所述修復方法包括:服務器接收所述智能終端發送的獲取系統固件的第一分塊的參考校驗碼的第一請求;其中,所述第一請求中包含所述第一分塊在所述系統固件中的第一位置信息;根據所述第一位置信息確定對應的預存第一分塊,并獲取所述預存第一分塊的參考校驗碼,向所述智能終端發送所述參考校驗碼;接收所述智能終端發送的獲取所述第一分塊的第二請求,其中,所述第二請求是所述智能終端確定本地存儲的第一分塊的實際校驗碼與所述參考校驗碼不匹配時向所述服務器發送的,所述第二請求包括第一分塊在所述系統固件中的第一位置信息;向所述智能終端發送所述第一位置地址對應的所述預存第一分塊。
[0010]其中,所述服務器接收所述智能終端發送的獲取系統固件的第一分塊的參考校驗碼的第一請求的步驟之前還包括如下步驟:所述服務器接收所述智能終端發送的獲取第二分塊的參考校驗碼的第三請求,其中,所述第二分塊為所述系統固件的修復程序的分塊,所述第二請求中包括所述第二分塊在所述修復程序中的第二位置信息;根據所述第二位置信息確定對應的預存第二分塊,并獲取所述預存第二分塊的參考校驗碼,向所述智能終端發送所述預存第二分塊的參考校驗碼,以使所述智能終端判斷所述參考校驗碼是否與所述智能終端計算得到的所述第二分塊的實際校驗碼相匹配,并在匹配時發送所述第一請求。
[0011]其中,所述服務器接收所述智能終端發送的獲取系統固件的第一分塊的參考校驗碼的第一請求的步驟之前還包括如下步驟:所述服務器將所述系統固件及其修復程序分塊,并計算每個所述分塊的校驗碼;保存所述每個分塊及其位置信息,并將每個分塊的校驗碼保存作為對應分塊的參考校驗碼。
[0012]為解決上述技術問題,本發明采用的再一個技術方案是:提供一種智能終端,所述智能終端包括第一分塊獲取模塊,第一請求發送模塊、判斷模塊、第二請求發送模塊以及更新模塊,所述第一分塊獲取模塊用于在第一存儲分區中獲取系統固件的第一分塊;所述第一請求發送模塊用于計算所述第一分塊的實際校驗碼,并向服務器發送獲取所述第一分塊的參考校驗碼的第一請求;所述判斷模塊用于接收所述服務器返回的所述第一分塊的參考校驗碼,并判斷所述第一分塊的參考校驗碼是否與對應的所述第一分塊的實際校驗碼相匹配;第二請求發送模塊用于在所述第一分塊的參考校驗碼與對應的所述實際校驗碼不匹配時,向所述服務器發送獲取所述第一分塊的第二請求;所述更新模塊用于接收所述服務器返回的所述第一分塊,并將所述第一分塊更新到所述存儲分區的對應存儲位置中。
[0013]為解決上述技術問題,本發明采用的又一個技術方案是:提供一種服務器,所述服務器包括接收模塊以及發送模塊,所述接收模塊用于收所述智能終端發送的獲取系統固件的第一分塊的參考校驗碼的第一請求;其中,所述第一請求中包含所述第一分塊在所述系統固件中的第一位置信息;所述發送模塊用于根據所述第一位置信息確定對應的預存第一分塊,并獲取所述預存第一分塊的參考校驗碼,向所述智能終端發送所述參考校驗碼;所述接收模塊還用于接收所述智能終端發送的獲取所述第一分塊的第二請求,其中,所述第二請求是所述智能終端確定本地存儲的第一分塊的實際校驗碼與所述參考校驗碼不匹配時向所述服務器發送的,所述第二請求包括第一分塊在所述系統固件中的第一位置信息;所述發送模塊還用于向所述智能終端發送所述第一位置地址對應的所述預存第一分塊。
[0014]本發明的有益效果是:區別于現有技術的情況,本發明的智能終端在出現錯誤時,首先在第一存儲分區中獲取系統固件的第一分塊,計算第一分塊的實際校驗碼,并向服務器發送獲取所述第一分塊的參考校驗碼的第一請求,并在接收到服務器返回的第一分塊的參考校驗碼后,判斷第一分塊的參考校驗碼是否與對應的第一分塊的實際校驗碼相匹配,在確定第一分塊的參考校驗碼與對應的實際校驗碼不匹配,即該第一分塊出現錯誤時,向服務器發送獲取所述第一分塊的第二請求,并從服務器接收其返回的第一分塊后,將第一分塊更新到第一存儲分區的對應存儲位置中,以起到修復第一分塊錯誤的作用。通過上述方式,不僅能夠實現智能終端在出現錯誤時的自動修復,而且,通過將系統固件進行劃分,分別對每一個小分塊進行檢測修復的方式避免了對整個系統固件進行下載修復所帶來的時間浪費和資源浪費,為用戶帶來方便。
【附圖說明】
[0015]圖1是本發明智能終端的修復系統一實施方式的結構示意圖;
[0016]圖2是本發明智能終端的修復方法一實施方式的流程示意圖;
[0017]圖3是本發明智能終端修復方法另一實施方式的流程示意圖;
[0018]圖4是本發明智能終端修復方法再一實施方式的流程示意圖;
[0019]圖5是本發明智能終端修復方法又一實施方式的流程示意圖;
[0020]圖6是本發明智能終端一實施方式的結構示意圖;
[0021 ]圖7是本發明智能終端另一實施方式的結構示意圖;
[0022]圖8是本發明服務器一實施方式的結構示意圖;
[0023]圖9是本發明智能終端另一實施方式的結構示意圖;
[0024]圖10是本發明服務器另一實施方式的結構示意圖。
【具體實施方式】
[0025]參閱圖1,圖1是本發明智能終端的修復系統一實施方式的結構示意圖。如圖1所示,本實施方式的修復系統包括待檢測修復的智能終端101以及服務器102。其中,該智能終端101與服務器102通過網絡連接。該智能終端101包括智能手機、平板電腦以及其他智能終端設備,該服務器102為網絡服務器。
[0026]在實際應用中,智能手機101的一些系統固件一般是從服務區器102的存儲器中直接下載獲取。為了使智能終端101的系統固件出現問題時,方便修復,本實施方式中,服務器102在發布系統固件之前,先將系統固件進行分塊,且每一個分塊的大小均與其存儲的數據長度相匹配,在一個優選的實施方式中,每一個分塊的大小均相等,如128kB,以方便統一管理。且為了實現智能終端的自動修復,該系統固件還包括修復該系統固件上述問題出現時的修復程序,由于修復程序的長度可能大于一個分塊的大小,因此,服務器102在將系統固件進行分塊時,也將該修復程序進行分塊。
[0027]服務器102在為系統固件及其修復程序進行分塊后,為了方便智能終端101盡快找出出現問題的分塊,服務器102對包括存儲修復程序的每一個分塊進行邏輯編號即確定其位置信息,且計算每一塊分塊的校驗碼,服務器102進一步地保存每個分塊及其位置信息,并將每個分塊的校驗碼進行保存作為對應分塊的參考校驗碼。需要說明的是,智能終端101在下載該系統固件時,每個分塊的邏輯編號即位置信息不會發生變化,與服務器102所存儲的位置信息對應。
[0028]服務器102在完成對系統固件的分塊后,將其發布到互聯網上,智能終端101從該服務器102下載需要的系統固件,并將該系統固件存儲在其第一存儲分區,將其修復程序存儲在第二存儲分區。
[0029 ]當智能終端1I出現與該修復程序對應的故障時,智能終端1I首先從其第一存儲分區中獲取系統固件的第一分塊,其中,該第一分塊為系統固件分塊中的任一塊。由于如果該第一分塊的程序出現錯誤,其校驗碼將會發生改變,為了確定是否為該第一分塊的程序出現錯誤,智能終端根據預定算法計算該第一分塊的實際校驗碼,并向服務器102發送獲取服務器102存儲的發布該系統固件前該第一分塊對應的參考校驗碼的第一請求,其中,該第一請求中包括該第一分塊在系統固件的第一位置信息。
[0030]對應的,服務器102接收該第一請求,并根據該第一位置信息確定對應的預存第一分塊,獲取該預存第一分塊的參考校驗碼后,將該參考校驗碼發送至智能終端101。
[0031]智能終端101接收服務器102返回的參考校驗碼,并將該參考校驗碼與計算的實際校驗碼進行比對,判斷該第一分塊的實際校驗碼與參考校驗碼是否匹配,如果匹配,則該第一分塊所存儲的程序并未出現錯誤,智能終端101進一步的對后續的分塊進行判斷。如果第一分塊的參考校驗碼與實際校驗碼不相匹配,則智能終端101向服務器102發送獲取所述第一分塊的第二請求,具體的為下載該第一分塊存儲程序或數據的請求。
[0032]對應地,服務器102接收該第二請求,并向該智能終端101發送第一分塊對應的數據或程序,智能終端101接收該第一分塊對應的數據或程序,并將該對應的數據或程序更新到所述第一存儲分區的對應存儲位置中,并且通過該系統固定的修復程序對整體程序進行修復,使更新后的系統固件正常工作。
[0033]具體地,參閱圖2,圖2是本發明智能終端的修復方法一實施方式的流程示意圖。其中,本實施方式的修復方法應用于圖1所述的系統。本修復方法包括如下步驟:
[0034]201:智能終端在第一存儲分區中獲取系統固件的第一分塊。
[0035]由于智能終端從服務器下載的系統固件雖然可能有很多分塊,但是一般而言,這多個分塊構成的是一個完整的系統固件,在出現修復程序能夠修復的錯誤時,為了避免將整個程序整體進行檢測帶來的時間浪費和資源浪費,智能終端對每一個分塊單獨進行檢測。
[0036]具體地,智能終端在出現與系統固件的修復程序對應的錯誤時,首先按照預定順序,如從第一個分塊開始對每一個分塊進行判斷,確定是否為該分塊出現問題,本實施方式中將被檢測的分塊稱為第一分塊,因而,智能終端首先從其存儲該系統固件的第一存儲分區中獲取第一分塊。
[0037]202:計算所述第一分塊的實際校驗碼,并向服務器發送獲取所述第一分塊的參考校驗碼的第一請求。
[0038]由于系統固件的每一個分塊的在系統的位置信息在服務器進行劃分時就已經確定,且每一個分塊都有標志其原始數據或程序未被更改的校驗碼,且也是在生成該分塊時已經形成。因此,在本實施方式中,判斷該校驗碼是否被改變為智能終端判斷該第一分塊是否出現錯誤的依據。具體地,智能終端首先根據第一分塊現有是數據信息計算第一分塊的實際校驗碼,為了確保校驗碼的一致性,智能終端生成實際校驗碼與服務器生成該第一分塊的參考校驗碼的算法相同。例如可通過md5算法生成,在此不做限定。并在計算得到該第一分塊的實際校驗碼的同時或之后,向服務器發送獲取該第一分塊參考校驗碼的第一請求。其中,該第一請求中包括該第一分塊位于該系統固件中的第一位置信息。
[0039]服務器在接收到第一請求后,根據該第一信息確定對應的預存第一分塊,并獲取預存第一分塊的參考校驗碼后,向所述智能終端發送參考校驗碼。
[0040]203:接收所述服務器返回的所述第一分塊的參考校驗碼,并判斷所述第一分塊的參考校驗碼是否與對應的所述第一分塊的實際校驗碼相匹配。
[0041]智能終端接收服務器返回的該第一分塊對應的數據或程序的參考校驗碼,并將該參考校驗碼與計算得到的實際校驗碼進行比對,確定該實際校驗碼與該參考校驗碼是否相匹配。
[0042]如果該實際校驗碼與該參考校驗碼相匹配,則當前檢測的第一分塊并沒有出現錯誤,智能終端進一步地按照預定順序對第一分塊后續的分塊按照上述方式繼續進行檢測判斷。
[0043]204:如果所述第一分塊的參考校驗碼與對應的所述實際校驗碼不匹配,向所述服務器發送獲取所述第一分塊的第二請求。
[0044]如果該第一分塊的參考校驗碼與實際校驗碼不相匹配,則說明該第一分塊存儲的數據或程序出現了錯誤,為了修復該系統固件,智能終端向服務器發送獲取該第一分塊的第二請求,即向服務器發送獲取該第一分塊的數據或程序的第二請求。其中,該第二請求中包括上述第一分塊在系統固件中的第一位置信息。
[0045]服務器在接收到該第二請求后,向所述智能終端發送所述第一位置地址對應的所述預存第一分塊。
[0046]205:接收所述服務器返回的所述第一分塊,并將所述第一分塊更新到所述第一存儲分區的對應存儲位置中。
[0047]智能終端接收該第一分塊,并將接收到的第一分塊的數據或程序更新到第一分塊在該第一存儲分區對應的存儲位置中,即與該第一位置信息對應的存儲位置中,并通過修復程序對該系統固件進行修復,使更新后的第一分塊與其他分塊銜接,以使該系統固件能夠正常工作。
[0048]在修復完成后,智能終端再次檢測之前存在的錯誤是否已經修復,如果修復了,則停止對后續分塊的檢測,如果上述錯誤仍存在,則繼續對后續的每一個分塊進行檢測,即對每一個參考校驗碼與實際校驗碼不相匹配的第一分塊均進行修復,直至該錯誤完全被修復。
[0049]由于該修復程序也是以至少一個小分塊的形式存儲在智能終端的第二存儲分區中,其中,該第一存儲分區與第二存儲分區是相對的概念,二者也可以合并在一起。因此,智能終端在對其每一個分塊進行檢測時,能夠檢測出修復程序是否出錯。但是由于修復程序一旦出現錯誤,即使第一分塊中出現一個細小的錯誤,系統固件也是不能完成修復的,因此,為了節省檢測時間以及效率,智能終端在按照預定順序對系統固件的每一個分塊進行檢測前,首先對存儲修復程序的第二分塊進行檢測。如圖3所示,圖3是本發明智能終端的修復方法另一個實施方式的流程示意圖。本實施方式的修復方法包括如下步驟:
[0050]301:智能終端在第二存儲分區中獲取所述系統固件的修復程序的第二分塊。
[0051 ]為了方便智能終端對存儲有修復程序的第二分塊的快速查找,以減少檢測時間,服務器在對修復程序進行分塊完成后,將存儲修復程序的第二分塊的第二位置信息形成存儲地址列表,并伴隨該系統固定一起發布。智能終端可直接根據該存儲地址列表對每一個第二分塊按照預定順序分別進行獲取。
[0052]302:計算所述第二分塊的實際校驗碼,并向服務器發送獲取所述第二分塊的參考fe驗碼的第二請求。
[0053]與第一分塊存儲的程序或數據類似,智能終端通過與服務器生成第二分塊參考校驗碼相同的算法如md5算法計算該第二分塊對應的修復程序的實際校驗碼,并在生產該實際校驗碼的同時或之后向服務器發送獲取該第二分塊參考校驗碼的第三請求,其中,該第三請求中包括該第二分塊在系統固件的第二位置信息,也可以理解為修復程序的第二位置?目息O
[0054]對應地,服務器接收該第三請求,并根據該第二位置信息確定對應的預存第二分塊,并在獲取該預存第二分塊的參考校驗碼后,向智能終端發送該第二分塊的參考校驗碼。
[0055]303:接收所述服務器返回的所述第二分塊的參考校驗碼,并判斷所述第二分塊的參考校驗碼是否與所述第二分塊的實際校驗碼相匹配。
[0056]智能終端接收到該存儲修復程序的第二分塊的參考校驗碼后,為了確定該第二分塊存儲的修復程序是否出錯,將該參考校驗碼與實際校驗碼進行比對,確定該第二分塊的參考校驗碼是否與實際校驗碼相匹配。
[0057]如果參考校驗碼與實際校驗碼不相匹配,則說明該修復程序出現錯誤,即現有的修復程序已經不能完成對系統固件的修復,此時智能終端可以通過其顯示屏向用戶顯示該系統固件出現錯誤,以提醒用戶是否重新下載完整的系統固件。
[0058]304:如果所述第二分塊的參考校驗碼與所述第二分塊的實際校驗碼相匹配,在第一存儲分區中獲取系統固件的第一分塊。
[0059]如果第二分塊的參考校驗碼與實際校驗碼相匹配,則按照上述存儲地址列表對每一個存儲修復程序的第二分塊繼續進行檢測,直至確定所有的第二分塊的參考校驗碼與實際校驗碼相匹配,即修復程序本身沒有出錯為止。
[0060]如果所有的第二分塊均未出錯,則繼續對存儲系統固件數據或程序的第一分塊進行檢測,由于步驟305?308與步驟202?205相同,具體請參閱圖2中的詳細文字描述,在此不再贅述。
[0061]區別于現有技術,本實施方式的智能終端在出現錯誤時,首先在第一存儲分區中獲取系統固件的第一分塊,計算第一分塊的實際校驗碼,并向服務器發送獲取所述第一分塊的參考校驗碼的第一請求,并在接收到服務器返回的第一分塊的參考校驗碼后,判斷第一分塊的參考校驗碼是否與對應的第一分塊的實際校驗碼相匹配,在確定第一分塊的參考校驗碼與對應的實際校驗碼不匹配,即該第一分塊出現錯誤時,向服務器發送獲取所述第一分塊的第二請求,并從服務器接收其返回的第一分塊后,將第一分塊更新到第一存儲分區的對應存儲位置中,以起到修復第一分塊錯誤的作用。通過上述方式,不僅能夠實現智能終端在出現錯誤時的自動修復,而且,通過將系統固件進行劃分,分別對每一個小分塊進行檢測修復的方式避免了對整個系統固件進行下載修復所帶來的時間浪費和資源浪費,為用戶帶來方便。
[0062]參閱圖4,圖4是本發明智能終端的修復方法再一實施方式的結構示意圖。其中,圖4所述的方法也應用于圖1所示的系統。本實施方式的修復方法包括如下步驟:
[0063]401:服務器接收所述智能終端發送的獲取系統固件的第一分塊的參考校驗碼的第一請求;其中,所述第一請求中包含所述第一分塊在所述系統固件中的第一位置信息。
[0064]為了方便智能終端的系統固件出現問題時及時修復,服務器在發布系統固件之前,先將系統固件及其修復程序均進行分塊,且每一個分塊的大小均與其存儲的數據長度相匹配,在一個優選的實施方式中,每一個分塊的大小均相等,如128kB,以方便統一管理。
[0065]完成分塊后,為了方便智能終端盡快找出出現問題的分塊,服務器對包括存儲修復程序的每一個分塊進行邏輯編號即確定其位置信息,且計算并存儲每一塊分塊的校驗碼,作為該分塊的參考校驗碼。需要說明的是,智能終端在下載該系統固件時,每個分塊的邏輯編號即位置信息不會發生變化,與服務器所存儲的位置信息一一對應。
[0066]服務器在完成對系統固件的分塊后,將其發布到互聯網上,智能終端從該服務器下載需要的系統固件,并將該系統固件存儲在其第一存儲分區中,將其修復程序存儲在第二存儲分區。
[0067]當智能終端出現與該修復程序對應的故障時,智能終端首先從其第一存儲分區中獲取系統固件的第一分塊,其中,該第一分塊為系統固件分塊中的任一塊。由于如果該第一分塊的程序出現錯誤,其校驗碼將會發生改變,為了確定是否為該第一分塊的程序出現錯誤,智能終端根據預定算法計算該第一分塊的實際校驗碼,并向服務器發送獲取服務器存儲的發布該系統固件前該第一分塊對應的參考校驗碼的第一請求,其中,該第一請求中包括該第一分塊在系統固件的第一位置信息。
[0068]其中,為了確保校驗碼的一致性,智能終端生成實際校驗碼與服務器生成該第一分塊的參考校驗碼的算法相同。
[0069]對應的,服務器接收該第一請求。
[0070]402:根據所述第一位置信息確定對應的預存第一分塊,并獲取所述預存第一分塊的參考校驗碼,向所述智能終端發送所述參考校驗碼。
[0071]對應地,智能終端接收服務器返回的該第一分塊對應的數據或程序的參考校驗碼,并將該參考校驗碼與計算得到的實際校驗碼進行比對,確定該實際校驗碼與該參考校驗碼是否相匹配。
[0072]如果該實際校驗碼與該參考校驗碼相匹配,則當前檢測的第一分塊并沒有出現錯誤,智能終端進一步地按照預定順序對第一分塊后續的分塊按照上述方式繼續進行檢測判斷。
[0073]如果該第一分塊的參考校驗碼與實際校驗碼不相匹配,則說明該第一分塊存儲的數據或程序出現了錯誤,為了修復該系統固件,智能終端向服務器發送獲取該第一分塊的第二請求,即向服務器發送獲取該第一分塊的數據或程序的第二請求。
[0074]服務器接收所述智能終端發送的獲取所述第一分塊的第二請求,所述第二請求包括第一分塊在所述系統固件中的第一位置信息。
[0075]403:向所述智能終端發送所述第一位置地址對應的所述預存第一分塊。
[0076]對應地,智能終端接收該第一分塊,并將接收到的第一分塊的數據或程序更新到第一分塊在該第一存儲分區對應的存儲位置中,即與該第一位置信息對應的存儲位置中,并通過修復程序對該系統固件進行修復,使更新后的第一分塊與其他分塊銜接,以使該系統固件能夠正常工作。
[0077]在修復完成后,智能終端再次檢測之前存在的錯誤是否已經修復,如果修復了,則停止對后續分塊的檢測,如果上述錯誤仍存在,則繼續對后續的每一個分塊進行檢測,即對每一個參考校驗碼與實際校驗碼不相匹配的第一分塊均進行修復,直至該錯誤完全被修復。
[0078]由于該修復程序也是以至少一個小分塊的形式存儲在智能終端的第二存儲分區中,其中,該第一存儲分區與第二存儲分區是相對的概念,二者也可以合并在一起。因此,智能終端在對其每一個分塊進行檢測時,能夠檢測出修復程序是否出錯。但是由于修復程序一旦出現錯誤,即使第一分塊中出現一個細小的錯誤,系統固件也是不能完成修復的,因此,為了節省檢測時間以及效率,服務器在獲取第一請求的步驟之前還包括如下步驟:
[0079]501:服務器接收所述智能終端發送的獲取第二分塊的參考校驗碼的第三請求,其中,所述第二分塊為所述系統固件的修復程序的分塊,所述第二請求中包括所述第二分塊在所述修復程序中的第二位置信息。
[0080]具體地,服務器在對修復程序進行分塊完成后,將存儲修復程序的第二分塊的第二位置信息形成存儲地址列表,并伴隨該系統固定一起發布。智能終端可直接根據該存儲地址列表對每一個第二分塊按照預定順序分別進行獲取,通過與服務器生成第二分塊參考校驗碼相同的算法如md5算法計算該第二分塊對應的修復程序的實際校驗碼,并在生成該第二分塊實際校驗碼的同時或之后向服務器發送獲取該第二分塊參考校驗碼的第三請求。[0081 ]對應地,服務器接收該第三請求。
[0082]502:根據所述第二位置信息確定對應的預存第二分塊,并獲取所述預存第二分塊的參考校驗碼,向所述智能終端發送所述預存第二分塊的參考校驗碼,以使所述智能終端判斷所述參考校驗碼是否與所述智能終端計算得到的所述第二分塊的實際校驗碼相匹配,并在匹配時發送所述第一請求。
[0083]具體地,智能終端對上述第二分塊的參考校驗碼與實際校驗碼進行比對判斷后,如果參考校驗碼與實際校驗碼不相匹配,則說明該修復程序出現錯誤,即現有的修復程序已經不能完成對系統固件的修復,此時智能終端可以通過其顯示屏向用戶顯示該系統固件出現錯誤,以提醒用戶是否重新下載完整的系統固件。
[0084]如果第二分塊的參考校驗碼與實際校驗碼相匹配,則智能終端按照上述存儲地址列表對每一個存儲修復程序的第二分塊繼續進行檢測,直至確定所有的第二分塊的參考校驗碼與實際校驗碼相匹配,即修復程序本身沒有出錯為止。
[0085]如果所有的第二分塊均未出錯,則繼續對存儲系統固件數據或程序的第一分塊進行檢測,并向服務器發送獲取該第一分塊參考校驗碼的第一請求,繼續步驟503?505的步驟,由于步驟503?505與步驟401?403相同,具體請參閱圖4及其相關文字描述,再此不再贅述。
[0086]區別于現有技術,本實施方式的服務器接收所述智能終端發送的獲取系統固件的第一分塊的參考校驗碼的第一請求,根據所述第一位置信息確定對應的預存第一分塊,并獲取所述預存第一分塊的參考校驗碼,向所述智能終端發送所述參考校驗碼,并在智能終端確定第一分塊的參考校驗碼與實際校驗碼不相匹配時,向所述智能終端發送所述第一位置地址對應的所述預存第一分塊。通過上述方式,不僅能夠實現智能終端在出現錯誤時的自動修復,而且,通過將系統固件進行劃分,分別對每一個小分塊進行檢測修復的方式避免了對整個系統固件進行下載修復所帶來的時間浪費和資源浪費,為用戶帶來方便。
[0087]參閱圖6,圖6是本發明智能終端一實施方式的結構示意圖。如圖6所示,本實施方式的智能終端包括第一分塊獲取模塊601,第一請求發送模塊602、判斷模塊603、第二請求發送模塊604以及更新模塊605,
[0088]第一分塊獲取模塊601用于在第一存儲分區中獲取系統固件的第一分塊。
[0089]智能終端在系統固件出現錯誤時,為了避免將整個程序整體進行檢測帶來的時間浪費和資源浪費,智能終端對每一個分塊單獨進行檢測。具體地,第一分塊獲取模塊601按照預定順序,如從第一個分塊開始對每一個分塊進行判斷,首先從其存儲該系統固件的第一存儲分區中獲取第一分塊。
[0090]第一請求發送模塊602用于計算所述第一分塊的實際校驗碼,并向服務器發送獲取所述第一分塊的參考校驗碼的第一請求。
[0091]由于系統固件的每一個分塊的在系統的位置信息在服務器進行劃分時就已經確定,且每一個分塊都有標志其原始數據或程序未被更改的校驗碼,且也是在生成該分塊時已經形成。因此,在本實施方式中,判斷該校驗碼是否被改變為智能終端判斷該第一分塊是否出現錯誤的依據。
[0092]具體地,第一請求發送模塊602首先計算第一分塊的實際校驗碼,為了確保校驗碼的一致性,生成實際校驗碼與服務器生成該第一分塊的參考校驗碼的算法相同。并在計算得到該第一分塊的實際校驗碼的同時或之后,向服務器發送獲取該第一分塊參考校驗碼的第一請求。其中,該第一請求中包括該第一分塊位于該系統固件中的第一位置信息。
[0093]服務器在接收到第一請求后,根據該第一信息確定對應的預存第一分塊,并獲取預存第一分塊的參考校驗碼后,向所述智能終端發送參考校驗碼。
[0094]判斷模塊603用于接收所述服務器返回的所述第一分塊的參考校驗碼,并判斷所述第一分塊的參考校驗碼是否與對應的所述第一分塊的實際校驗碼相匹配。
[0095]如果該實際校驗碼與該參考校驗碼相匹配,則當前檢測的第一分塊并沒有出現錯誤,進一步地按照預定順序對第一分塊后續的分塊按照上述方式繼續進行檢測判斷。
[0096]第二請求發送模塊604用于在所述第一分塊的參考校驗碼與對應的所述實際校驗碼不匹配時,向所述服務器發送獲取所述第一分塊的第二請求。
[0097]如果該第一分塊的參考校驗碼與實際校驗碼不相匹配,則說明該第一分塊存儲的數據或程序出現了錯誤,為了修復該系統固件,第二請求發送模塊604向服務器發送獲取該第一分塊的第二請求,即向服務器發送獲取該第一分塊的數據或程序的第二請求。其中,該第二請求中包括上述第一分塊在系統固件中的第一位置信息。
[0098]更新模塊605用于接收所述服務器返回的所述第一分塊,并將所述第一分塊更新到所述存儲分區的對應存儲位置中。
[0099]服務器在接收到該第二請求后,向所述智能終端發送所述第一位置地址對應的所述預存第一分塊。更新模塊605接收該第一分塊,并將接收到的第一分塊的數據或程序更新到第一分塊在該第一存儲分區對應的存儲位置中,即與該第一位置信息對應的存儲位置中,并通過修復程序對該系統固件進行修復,使更新后的第一分塊與其他分塊銜接,以使該系統固件能夠正常工作。
[0100]在修復完成后,智能終端再次檢測之前存在的錯誤是否已經修復,如果修復了,則停止對后續分塊的檢測,如果上述錯誤仍存在,則繼續對后續的每一個分塊進行檢測,即對每一個參考校驗碼與實際校驗碼不相匹配的第一分塊均進行修復,直至該錯誤完全被修復。
[0101]在另一個實施方式中,為了節省檢測時間以及效率,智能終端在按照預定順序對系統固件的每一個分塊進行檢測前,首先對存儲修復程序的第二分塊進行檢測。如圖7所示,本實施方式的智能終端還包括第二分塊確定模塊706、第三請求發送模塊707,
[0102]第二分塊確定模塊706用于在第二存儲分區中獲取所述系統固件的修復程序的第二分塊。具體地,第二分塊確定模塊706可按照服務器預先形成的存儲地址列表對每一個第二分塊按照預定順序分別進行獲取。
[0103]第三請求發送模塊707用于計算所述第二分塊的實際校驗碼,并向服務器發送獲取所述第二分塊的參考校驗碼的第三請求。其中,該第三請求中包括該第二分塊在系統固件的第二位置信息,也可以理解為修復程序的第二位置信息。
[0104]在服務器向智能終端返回第二分塊的參考校驗碼后,判斷模塊703接收所述服務器返回的所述第二分塊的參考校驗碼,并判斷所述第二分塊的參考校驗碼是否與所述第二分塊的實際校驗碼相匹配。并在確定相匹配時,第一分塊確定模塊701再在第一存儲分區中獲取系統固件的第一分塊。
[0105]如果經過判斷模塊703確認第二分塊的參考校驗碼與實際校驗碼不相匹配,則說明該修復程序出現錯誤,即現有的修復程序已經不能完成對系統固件的修復,此時智能終端可以通過其顯示屏向用戶顯示該系統固件出現錯誤,以提醒用戶是否重新下載完整的系統固件。
[0106]區別于現有技術,本實施方式的智能終端不僅能夠實現在出現錯誤時的自動修復,而且,通過將系統固件進行劃分,分別對每一個小分塊進行檢測修復的方式避免了對整個系統固件進行下載修復所帶來的時間浪費和資源浪費,為用戶帶來方便。
[0107]參閱圖8,圖8是本發明服務器一實施方式的結構示意圖,本實施方式的服務器包括接收模塊801以及發送模塊802,
[0108]接收模塊801用于收所述智能終端發送的獲取系統固件的第一分塊的參考校驗碼的第一請求;其中,所述第一請求中包含所述第一分塊在所述系統固件中的第一位置信息.
[0109]當智能終端出現與修復程序對應的故障錯誤時,智能終端首先從其第一存儲分區中獲取系統固件的第一分塊,其中,該第一分塊為系統固件分塊中的任一塊。由于如果該第一分塊的程序出現錯誤,其校驗碼將會發生改變,為了確定是否為該第一分塊的程序出現錯誤,智能終端根據預定算法計算該第一分塊的實際校驗碼,并向服務器發送獲取服務器存儲的發布該系統固件前該第一分塊對應的參考校驗碼的第一請求,其中,該第一請求中包括該第一分塊在系統固件的第一位置信息。
[0110]對應地,接收模塊801接收該第一請求。
[0111]發送模塊802用于根據所述第一位置信息確定對應的預存第一分塊,并獲取所述預存第一分塊的參考校驗碼,向所述智能終端發送所述參考校驗碼。
[0112]對應地,智能終端接收服務器返回的該第一分塊對應的數據或程序的參考校驗碼,并將該參考校驗碼與計算得到的實際校驗碼進行比對,確定該實際校驗碼與該參考校驗碼是否相匹配。如果該實際校驗碼與該參考校驗碼相匹配,則當前檢測的第一分塊并沒有出現錯誤,智能終端進一步地按照預定順序對第一分塊后續的分塊按照上述方式繼續進行檢測判斷。如果該第一分塊的參考校驗碼與實際校驗碼不相匹配,則說明該第一分塊存儲的數據或程序出現了錯誤,為了修復該系統固件,智能終端向服務器發送獲取該第一分塊的第二請求,即向服務器發送獲取該第一分塊的數據或程序的第二請求。
[0113]接收模塊801還用于接收所述智能終端發送的獲取所述第一分塊的第二請求,所述第二請求包括第一分塊在所述系統固件中的第一位置信息。
[0114]發送模塊802還用于向所述智能終端發送所述第一位置地址對應的所述預存第一分塊。
[0115]對應地,智能終端接收該第一分塊,并將接收到的第一分塊的數據或程序更新到第一分塊在該第一存儲分區對應的存儲位置中,即與該第一位置信息對應的存儲位置中,并通過修復程序對該系統固件進行修復,使更新后的第一分塊與其他分塊銜接,以使該系統固件能夠正常工作。
[0116]在修復完成后,智能終端再次檢測之前存在的錯誤是否已經修復,如果修復了,則停止對后續分塊的檢測,如果上述錯誤仍存在,則繼續對后續的每一個分塊進行檢測,即對每一個參考校驗碼與實際校驗碼不相匹配的第一分塊均進行修復,直至該錯誤完全被修復。
[0117]由于修復程序一旦出現錯誤,即使第一分塊中出現一個細小的錯誤,系統固件也是不能完成修復的,因此,為了節省檢測時間以及效率,服務器在對修復程序進行分塊完成后,將存儲修復程序的第二分塊的第二位置信息形成存儲地址列表,并伴隨該系統固定一起發布。智能終端可直接根據該存儲地址列表對每一個第二分塊按照預定順序分別進行獲取,并在生成該第二分塊實際校驗碼的同時或之后向服務器發送獲取該第二分塊參考校驗碼的第三請求。
[0118]對應地,接收模塊801還用于接收該第三請求,發送模塊802還用于根據所述第二位置信息確定對應的預存第二分塊,并獲取所述預存第二分塊的參考校驗碼,向所述智能終端發送所述預存第二分塊的參考校驗碼,以使所述智能終端判斷所述參考校驗碼是否與所述智能終端計算得到的所述第二分塊的實際校驗碼相匹配,并在匹配時發送所述第一請求。
[0119]如果智能終端對上述第二分塊的參考校驗碼與實際校驗碼進行比對判斷后,如果參考校驗碼與實際校驗碼不相匹配,則說明該修復程序出現錯誤,即現有的修復程序已經不能完成對系統固件的修復,此時智能終端可以通過其顯示屏向用戶顯示該系統固件出現錯誤,以提醒用戶是否重新下載完整的系統固件。
[0120]區別于現有技術,本實施方式的服務器不僅能夠實現智能終端在出現錯誤時的自動修復,而且,通過將系統固件進行劃分,分別對每一個小分塊進行檢測修復的方式避免了對整個系統固件進行下載修復所帶來的時間浪費和資源浪費,為用戶帶來方便。
[0121]參閱圖9,圖9是本發明智能終端再一實施方式的結構示意圖。本實施方式的智能終端包括處理器901以及存儲器902,處理器901與存儲器902通過總線903耦合在一起,其中總線903除包括數據總線之外,還可以包括電源總線、控制總線和狀態信號總線等。但是為了清楚說明起見,在圖中將各種總線都標為總線903。
[0122]處理器301用于在第一存儲分區中獲取系統固件的第一分塊。
[0123]智能終端在系統固件出現錯誤時,為了避免將整個程序整體進行檢測帶來的時間浪費和資源浪費,智能終端對每一個分塊單獨進行檢測。具體地,處理器901按照預定順序,如從第一個分塊開始對每一個分塊進行判斷,首先從其存儲該系統固件的第一存儲分區中獲取第一分塊。
[0124]處理器901還用于計算所述第一分塊的實際校驗碼,并向服務器發送獲取所述第一分塊的參考校驗碼的第一請求。
[0125]具體地,處理器901首先計算第一分塊的實際校驗碼,為了確保校驗碼的一致性,生成實際校驗碼與服務器生成該第一分塊的參考校驗碼的算法相同。并在計算得到該第一分塊的實際校驗碼的同時或之后,向服務器發送獲取該第一分塊參考校驗碼的第一請求。其中,該第一請求中包括該第一分塊位于該系統固件中的第一位置信息。
[0126]服務器在接收到第一請求后,根據該第一信息確定對應的預存第一分塊,并獲取預存第一分塊的參考校驗碼后,向所述智能終端發送參考校驗碼。
[0127]處理器901還用于接收所述服務器返回的所述第一分塊的參考校驗碼,并判斷所述第一分塊的參考校驗碼是否與對應的所述第一分塊的實際校驗碼相匹配。
[0128]如果該實際校驗碼與該參考校驗碼相匹配,則當前檢測的第一分塊并沒有出現錯誤,處理器901進一步地按照預定順序對第一分塊后續的分塊按照上述方式繼續進行檢測判斷。
[0129]處理器901還用于在所述第一分塊的參考校驗碼與對應的所述實際校驗碼不匹配時,向所述服務器發送獲取所述第一分塊的第二請求。
[0130]如果該第一分塊的參考校驗碼與實際校驗碼不相匹配,則說明該第一分塊存儲的數據或程序出現了錯誤,為了修復該系統固件,處理器901向服務器發送獲取該第一分塊的第二請求,即向服務器發送獲取該第一分塊的數據或程序的第二請求。其中,該第二請求中包括上述第一分塊在系統固件中的第一位置信息。
[0131]處理器901還用于接收所述服務器返回的所述第一分塊,并將所述第一分塊更新到所述存儲分區的對應存儲位置中。
[0132]具體地,智能終端通過修復程序對該系統固件進行修復,使更新后的第一分塊與其他分塊銜接,以使該系統固件能夠正常工作。
[0133]在修復完成后,處理器901再次檢測之前存在的錯誤是否已經修復,如果修復了,則停止對后續分塊的檢測,如果上述錯誤仍存在,則繼續對后續的每一個分塊進行檢測,即對每一個參考校驗碼與實際校驗碼不相匹配的第一分塊均進行修復,直至該錯誤完全被修復。
[0134]在另一個實施方式中,為了節省檢測時間以及效率,處理器901在按照預定順序對系統固件的每一個分塊進行檢測前,首先對存儲修復程序的第二分塊進行檢測。
[0135]具體地,處理器901在第二存儲分區中獲取所述系統固件的修復程序的第二分塊,在優選的實施方式中,處理器901可按照服務器預先形成的存儲地址列表對每一個第二分塊按照預定順序分別進行獲取。而后,處理器901還用于計算所述第二分塊的實際校驗碼,并向服務器發送獲取所述第二分塊的參考校驗碼的第三請求。其中,該第三請求中包括該第二分塊在系統固件的第二位置信息,也可以理解為修復程序的第二位置信息。在服務器向智能終端返回第二分塊的參考校驗碼后,處理器901接收服務器返回的第二分塊的參考校驗碼,并判斷第二分塊的參考校驗碼是否與所述第二分塊的實際校驗碼相匹配。并在確定相匹配時,再在第一存儲分區中獲取系統固件的第一分塊。
[0136]如果確認第二分塊的參考校驗碼與實際校驗碼不相匹配,則說明該修復程序出現錯誤,即現有的修復程序已經不能完成對系統固件的修復,此時智能終端可以通過其顯示屏向用戶顯示該系統固件出現錯誤,以提醒用戶是否重新下載完整的系統固件。
[0137]存儲器902用于存儲所述處理器中運行的程序、以及所述程序運行過程中產生的數據。可以包括只讀存儲器和隨機存取存儲器,并向處理器901提供指令和數據。存儲器902的一部分還可以包括非易失性隨機存取存儲器(NVRAM)。
[0138]存儲器902存儲了如下的元素,可執行單元或者數據結構,或者它們的子集,或者它們的擴展集:
[0139]操作指令:包括各種操作指令,用于實現各種操作。
[0140]操作系統:包括各種系統程序,用于實現各種基礎業務以及處理基于硬件的任務。
[0141]在本發明實施例中,處理器901通過調用存儲器902存儲的操作指令(該操作指令可存儲在操作系統中),來執行上述操作。
[0142]處理器901還可以稱為CPU(Central Processing Unit,中央處理單元)。存儲器902可以包括只讀存儲器和隨機存取存儲器,并向處理器301提供指令和數據。存儲器902的一部分還可以包括非易失性隨機存取存儲器(NVRAM)。
[0143]上述本發明實施例揭示的方法可以應用于處理器901中,或者由處理器901實現。處理器901可能是一種集成電路芯片,具有信號的處理能力。在實現過程中,上述方法的各步驟可以通過處理器901中的硬件的集成邏輯電路或者軟件形式的指令完成。上述的處理器901可以是通用處理器、數字信號處理器(DSP)、專用集成電路(ASIC)、現成可編程門陣列(FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。可以實現或者執行本發明實施例中的公開的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器也可以是任何常規的處理器等。結合本發明實施例所公開的方法的步驟可以直接體現為硬件譯碼處理器執行完成,或者用譯碼處理器中的硬件及軟件單元組合執行完成。軟件單元可以位于隨機存儲器,閃存、只讀存儲器,可編程只讀存儲器或者電可擦寫可編程存儲器、寄存器等本領域成熟的存儲介質中。該存儲介質位于存儲器902,處理器901讀取存儲器902中的信息,結合其硬件完成上述方法的步驟。
[0144]區別于現有技術,本實施方式的智能終端不僅能夠實現在出現錯誤時的自動修復,而且,通過將系統固件進行劃分,分別對每一個小分塊進行檢測修復的方式避免了對整個系統固件進行下載修復所帶來的時間浪費和資源浪費,為用戶帶來方便。
[0145]參閱圖10,圖10是本發明服務器另一實施方式的結構示意圖。如圖10所示,本實施方式的服務器包括處理器1001以及存儲器1002,處理器1001與存儲器1002通過總線1003耦合在一起,其中總線1003除包括數據總線之外,還可以包括電源總線、控制總線和狀態信號總線等。但是為了清楚說明起見,在圖中將各種總線都標為總線1003。
[0146]處理器1001用于在第一存儲分區中獲取系統固件的第一分塊。
[0147]當智能終端出現與修復程序對應的故障錯誤時,智能終端首先從其第一存儲分區中獲取系統固件的第一分塊,其中,該第一分塊為系統固件分塊中的任一塊。再根據預定算法計算該第一分塊的實際校驗碼,并向服務器發送獲取服務器存儲的發布該系統固件前該第一分塊對應的參考校驗碼的第一請求,其中,該第一請求中包括該第一分塊在系統固件的第一位置信息。對應地,處理器1001接收該第一請求。
[0148]處理器1002還用于根據所述第一位置信息確定對應的預存第一分塊,并獲取所述預存第一分塊的參考校驗碼,向所述智能終端發送所述參考校驗碼。
[0149]智能終端接收服務器返回的該第一分塊對應的數據或程序的參考校驗碼,確定該實際校驗碼與該參考校驗碼是否相匹配。如果該實際校驗碼與該參考校驗碼相匹配,則當前檢測的第一分塊并沒有出現錯誤,智能終端進一步地按照預定順序對第一分塊后續的分塊按照上述方式繼續進行檢測判斷。如果該第一分塊的參考校驗碼與實際校驗碼不相匹配,則向服務器發送獲取該第一分塊的第二請求,即向服務器發送獲取該第一分塊的數據或程序的第二請求。
[0150]處理器1001還用于接收所述智能終端發送的獲取所述第一分塊的第二請求,所述第二請求包括第一分塊在所述系統固件中的第一位置信息。并向所述智能終端發送所述第一位置地址對應的所述預存第一分塊。
[0151]對應地,智能終端接收該第一分塊,并將接收到的第一分塊的數據或程序更新到第一分塊在該第一存儲分區對應的存儲位置中,即與該第一位置信息對應的存儲位置中,并通過修復程序對該系統固件進行修復,使更新后的第一分塊與其他分塊銜接,以使該系統固件能夠正常工作。
[0152]在其他實施方式中,為了節省檢測時間以及效率,處理器1001在對修復程序進行分塊完成后,將存儲修復程序的第二分塊的第二位置信息形成存儲地址列表,并伴隨該系統固定一起發布。智能終端可直接根據該存儲地址列表對每一個第二分塊按照預定順序分別進行獲取,并在生成該第二分塊實際校驗碼的同時或之后向服務器發送獲取該第二分塊參考校驗碼的第三請求。
[0153]對應地,處理器1001還用于接收該第三請求,根據所述第二位置信息確定對應的預存第二分塊,并獲取所述預存第二分塊的參考校驗碼,向所述智能終端發送所述預存第二分塊的參考校驗碼,以使所述智能終端判斷所述參考校驗碼是否與所述智能終端計算得到的所述第二分塊的實際校驗碼相匹配,并在匹配時發送所述第一請求。
[0154]如果智能終端對上述第二分塊的參考校驗碼與實際校驗碼進行比對判斷后,如果參考校驗碼與實際校驗碼不相匹配,則說明該修復程序出現錯誤,即現有的修復程序已經不能完成對系統固件的修復,此時智能終端可以通過其顯示屏向用戶顯示該系統固件出現錯誤,以提醒用戶是否重新下載完整的系統固件。
[0155]存儲器1002用于存儲所述處理器中運行的程序、以及所述程序運行過程中產生的數據。可以包括只讀存儲器和隨機存取存儲器,并向處理器1001提供指令和數據。存儲器1002的一部分還可以包括非易失性隨機存取存儲器(NVRAM)。
[0156]存儲器1002存儲了如下的元素,可執行單元或者數據結構,或者它們的子集,或者它們的擴展集:
[0157]操作指令:包括各種操作指令,用于實現各種操作。
[0158]操作系統:包括各種系統程序,用于實現各種基礎業務以及處理基于硬件的任務。
[0159]在本發明實施例中,處理器1001通過調用存儲器1002存儲的操作指令(該操作指令可存儲在操作系統中),來執行上述操作。
[0160]處理器1001還可以稱為CPU(Central Processing Unit,中央處理單元)。存儲器1002可以包括只讀存儲器和隨機存取存儲器,并向處理器301提供指令和數據。存儲器1002的一部分還可以包括非易失性隨機存取存儲器(NVRAM)。
[0161]上述本發明實施例揭示的方法可以應用于處理器1001中,或者由處理器1001實現。處理器1001可能是一種集成電路芯片,具有信號的處理能力。在實現過程中,上述方法的各步驟可以通過處理器1001中的硬件的集成邏輯電路或者軟件形式的指令完成。上述的處理器901可以是通用處理器、數字信號處理器(DSP)、專用集成電路(ASIC)、現成可編程門陣列(FPGA)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。可以實現或者執行本發明實施例中的公開的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器也可以是任何常規的處理器等。結合本發明實施例所公開的方法的步驟可以直接體現為硬件譯碼處理器執行完成,或者用譯碼處理器中的硬件及軟件單元組合執行完成。軟件單元可以位于隨機存儲器,閃存、只讀存儲器,可編程只讀存儲器或者電可擦寫可編程存儲器、寄存器等本領域成熟的存儲介質中。該存儲介質位于存儲器1002,處理器1001讀取存儲器1002中的信息,結合其硬件完成上述方法的步驟。
[0162]區別于現有技術,本實施方式的服務器不僅能夠實現智能終端在出現錯誤時的自動修復,而且,通過將系統固件進行劃分,分別對每一個小分塊進行檢測修復的方式避免了對整個系統固件進行下載修復所帶來的時間浪費和資源浪費,為用戶帶來方便。
[0163]以上所述僅為本發明的實施方式,并非因此限制本發明的專利范圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的技術領域,均同理包括在本發明的專利保護范圍內。
【主權項】
1.一種智能終端的修復方法,其特征在于,所述修復方法包括: 所述智能終端在第一存儲分區中獲取系統固件的第一分塊; 計算所述第一分塊的實際校驗碼,并向服務器發送獲取所述第一分塊的參考校驗碼的第一請求; 接收所述服務器返回的所述第一分塊的參考校驗碼,并判斷所述第一分塊的參考校驗碼是否與對應的所述第一分塊的實際校驗碼相匹配; 如果所述第一分塊的參考校驗碼與對應的所述實際校驗碼不匹配,向所述服務器發送獲取所述第一分塊的第二請求; 接收所述服務器返回的所述第一分塊,并將所述第一分塊更新到所述第一存儲分區的對應存儲位置中。2.根據權利要求1所述的修復方法,其特征在于,所述智能終端在第一存儲分區中獲取系統固件的第一分塊的步驟之前還包括如下步驟: 所述智能終端在第二存儲分區中獲取所述系統固件的修復程序的第二分塊; 計算所述第二分塊的實際校驗碼,并向服務器發送獲取所述第二分塊的參考校驗碼的第三請求; 接收所述服務器返回的所述第二分塊的參考校驗碼,并判斷所述第二分塊的參考校驗碼是否與所述第二分塊的實際校驗碼相匹配; 如果所述第二分塊的參考校驗碼與所述第二分塊的實際校驗碼相匹配,則執行所述在第一存儲分區中獲取系統固件的第一分塊步驟。3.根據權利要求2所述的修復方法,其特征在于,所述智能終端在第二存儲分區中獲取所述系統固件的修復程序的第二分塊的步驟包括: 智能終端從其系統文件中獲取修復程序的存儲地址列表,并根據所述存儲地址列表從所述第二存儲分區中獲取所述修復程序的第二分塊。4.根據權利要求1或2所述的修復方法,其特征在于,所述第一分塊以及所述第二分塊的大小與其存儲的存儲信息的長度相匹配。5.根據權利要求1所述的修復方法,其特征在于,所述接收所述服務器返回的所述第一分塊,并將所述第一分塊更新到所述存儲分區的對應存儲位置中的步驟之后,還包括: 通過所述系統固件的修復程序將所述第一分塊更新到所述系統固件中。6.一種智能終端的修復方法,其特征在于,所述修復方法包括: 服務器接收所述智能終端發送的獲取系統固件的第一分塊的參考校驗碼的第一請求;其中,所述第一請求中包含所述第一分塊在所述系統固件中的第一位置信息; 根據所述第一位置信息確定對應的預存第一分塊,并獲取所述預存第一分塊的參考校驗碼,向所述智能終端發送所述參考校驗碼; 向所述智能終端發送所述第一位置地址對應的所述預存第一分塊。7.根據權利要求6所述的修復方法,其特征在于,所述服務器接收所述智能終端發送的獲取系統固件的第一分塊的參考校驗碼的第一請求的步驟之前還包括如下步驟: 所述服務器接收所述智能終端發送的獲取第二分塊的參考校驗碼的第三請求,其中,所述第二分塊為所述系統固件的修復程序的分塊,所述第二請求中包括所述第二分塊在所述修復程序中的第二位置信息; 根據所述第二位置信息確定對應的預存第二分塊,并獲取所述預存第二分塊的參考校驗碼,向所述智能終端發送所述預存第二分塊的參考校驗碼,以使所述智能終端判斷所述參考校驗碼是否與所述智能終端計算得到的所述第二分塊的實際校驗碼相匹配,并在匹配時發送所述第一請求。8.根據權利要求6所述的修復方法,其特征在于,所述服務器接收所述智能終端發送的獲取系統固件的第一分塊的參考校驗碼的第一請求的步驟之前還包括如下步驟: 所述服務器將所述系統固件及其修復程序分塊,并計算每個所述分塊的校驗碼; 保存所述每個分塊及其位置信息,并將每個分塊的校驗碼保存作為對應分塊的參考校驗碼。9.一種智能終端,其特征在于,所述智能終端包括第一分塊獲取模塊、第一請求發送模塊、判斷模塊、第二請求發送模塊以及更新模塊, 所述第一分塊獲取模塊用于在第一存儲分區中獲取系統固件的第一分塊; 所述第一請求發送模塊用于計算所述第一分塊的實際校驗碼,并向服務器發送獲取所述第一分塊的參考校驗碼的第一請求; 所述判斷模塊用于接收所述服務器返回的所述第一分塊的參考校驗碼,并判斷所述第一分塊的參考校驗碼是否與對應的所述第一分塊的實際校驗碼相匹配; 第二請求發送模塊用于在所述第一分塊的參考校驗碼與對應的所述實際校驗碼不匹配時,向所述服務器發送獲取所述第一分塊的第二請求; 所述更新模塊用于接收所述服務器返回的所述第一分塊,并將所述第一分塊更新到所述存儲分區的對應存儲位置中。10.一種服務器,其特征在于,所述服務器包括接收模塊以及發送模塊, 所述接收模塊用于收所述智能終端發送的獲取系統固件的第一分塊的參考校驗碼的第一請求;其中,所述第一請求中包含所述第一分塊在所述系統固件中的第一位置信息;所述發送模塊用于根據所述第一位置信息確定對應的預存第一分塊,并獲取所述預存第一分塊的參考校驗碼,向所述智能終端發送所述參考校驗碼; 所述接收模塊還用于接收所述智能終端發送的獲取所述第一分塊的第二請求,其中,所述第二請求是所述智能終端確定本地存儲的第一分塊的實際校驗碼與所述參考校驗碼不匹配時向所述服務器發送的,所述第二請求包括第一分塊在所述系統固件中的第一位置信息; 所述發送模塊還用于向所述智能終端發送所述第一位置地址對應的所述預存第一分塊。
【文檔編號】G06F11/07GK106021003SQ201610293854
【公開日】2016年10月12日
【申請日】2016年5月5日
【發明人】鄧鐵軍
【申請人】捷開通訊(深圳)有限公司