一種軟件升級方法、裝置及智能設備的制造方法
【技術領域】
[0001]本發(fā)明涉及軟件技術領域,特別涉及一種軟件升級方法、裝置及智能設備。
【背景技術】
[0002]隨著硬件技術的快速發(fā)展,應用智能設備的終端越來越多,例如,智能電視、智能冰箱等等。其中,智能設備主要包括:用于控制傳統(tǒng)硬件的主控板和用于訪問網(wǎng)絡的網(wǎng)絡模塊。考慮到用戶需求等因素不斷更新,實際應用中對主控板中應用程序進行軟件升級的需求越來越迫切。
[0003]通常情況下,主控板的閃存Flash中除了存在應用程序對應的存儲區(qū)域和啟動程序對應的存儲區(qū)域外,一般還存在一個預留的緩沖區(qū)域,該區(qū)域可用于存儲主控板中應用程序的升級文件,另外,上述的啟動程序為用于加載主控板中應用程序的程序。
[0004]具體的,現(xiàn)有技術中升級主控板中的應用程序時,主控板接收到服務器發(fā)送的軟件升級指令后,根據(jù)該指令從服務器下載升級文件至上述預留的緩沖區(qū)域中,待完成文件下載后,將所下載的文件拷貝至主控板中應用程序對應的存儲區(qū)域即可實現(xiàn)升級。
[0005]應用上述方法可以實現(xiàn)對主控板中應用程序的升級。然而由于大部分主控板的Flash資源有限,可能無法預留出上述緩沖區(qū)域,進而無法實現(xiàn)對主控板中的應用程序的升級。
【發(fā)明內容】
[0006]本發(fā)明實施例公開了一種軟件升級方法、裝置及智能設備,以使得主控板在存儲資源有限,無法預留出用于存儲升級文件的緩沖區(qū)域的情況下,也能實現(xiàn)對主控板中的應用程序的升級。
[0007]為達到上述目的,本發(fā)明實施例公開了一種軟件升級方法,應用于智能設備中的主控板,其中,所述智能設備至少包括:主控板和網(wǎng)絡模塊,所述方法包括:
[0008]接收所述網(wǎng)絡模塊發(fā)送的針對于所述主控板中應用程序的軟件升級指令,其中,所述軟件升級指令為:所述網(wǎng)絡模塊從服務器中將針對于所述主控板的應用程序的升級文件下載至自身存儲區(qū)域后所發(fā)送的;
[0009]根據(jù)所述軟件升級指令,從所述網(wǎng)絡模塊中下載所述升級文件至所述主控板中應用程序對應的存儲區(qū)域,進而實現(xiàn)對所述主控板中的應用程序的升級。
[0010]在本發(fā)明的一種具體實現(xiàn)方式中,所述根據(jù)所述軟件升級指令,從所述網(wǎng)絡模塊中下載所述升級文件至所述主控板中應用程序對應的存儲區(qū)域,進而實現(xiàn)對所述主控板中的應用程序的升級,包括:
[0011]根據(jù)所述軟件升級指令,更新所述主控板的狀態(tài)標識為“正在升級”狀態(tài)的標識,其中,所述主控板的狀態(tài)劃分為:標識為Sr的“請求升級”狀態(tài)、標識為S工的“正在升級”狀態(tài)和標識為&的“正常運行”狀態(tài);
[0012]通過重啟所述主控板的方式,調用所述主控板中的啟動程序,其中,所述啟動程序為用于加載所述主控板中的應用程序的程序;
[0013]在接收到所述啟動程序檢測到所述主控板的狀態(tài)標識為S1時所發(fā)出的下載觸發(fā)信號后,向所述網(wǎng)絡模塊發(fā)送文件下載指令;
[0014]接收所述網(wǎng)絡模塊根據(jù)所述文件下載指令反饋的所述升級文件,并將所反饋的文件存儲至所述主控板中應用程序對應的存儲區(qū)域,進而實現(xiàn)對所述主控板中的應用程序的升級。
[0015]在本發(fā)明的一種具體實現(xiàn)方式中,所述軟件升級方法還包括:
[0016]對所述主控板中的應用程序成功升級后,更新所述主控板的狀態(tài)標識為Sn,并通過重啟所述主控板的方式,將所述主控板的狀態(tài)由“正在升級”狀態(tài)切換至“正常運行”狀
??τ O
[0017]在本發(fā)明的一種具體實現(xiàn)方式中,所述軟件升級方法還包括:
[0018]接收異常狀態(tài)處理請求;
[0019]更新所述主控板的狀態(tài)標識為SR,并重啟所述主控板。
[0020]在本發(fā)明的一種具體實現(xiàn)方式中,所述異常狀態(tài)處理請求為針對以下任意一種異常狀態(tài)的處理請求:
[0021]接收到所述軟件升級指令后,更新所述主控板的狀態(tài)為S1時失敗;
[0022]對所述主控板中的應用程序成功升級后,更新所述主控板的狀態(tài)標識為Sn時失??;
[0023]從所述網(wǎng)絡模塊中下載所述升級文件失敗。
[0024]在本發(fā)明的一種具體實現(xiàn)方式中,所述軟件升級方法還包括:
[0025]通過重啟所述主控板的方式,調用所述主控板中的啟動程序向所述網(wǎng)絡模塊發(fā)送所述主控板的當前狀態(tài)標識;
[0026]接收所述網(wǎng)絡模塊檢測到所述主控板的當前狀態(tài)標識為Sr的情況下發(fā)送的所述軟件升級指令,并返回所述根據(jù)所述軟件升級指令,從所述網(wǎng)絡模塊中下載所述升級文件的步驟。
[0027]在本發(fā)明的一種具體實現(xiàn)方式中,所述軟件升級指令中包括:所述升級文件的校驗值;
[0028]所述根據(jù)所述軟件升級指令,從所述網(wǎng)絡模塊中下載所述升級文件至所述主控板中應用程序對應的存儲區(qū)域,進而實現(xiàn)對所述主控板中的應用程序的升級,包括:
[0029]根據(jù)所述軟件升級指令,從所述網(wǎng)絡模塊中下載所述升級文件至所述主控板中應用程序對應的存儲區(qū)域;
[0030]在下載所述升級文件的過程中,檢測是否已完成文件下載;
[0031]若已下載完成,根據(jù)所述軟件升級指令中包括的所述升級文件的校驗值,對所下載的文件進行校驗;
[0032]若校驗成功,則確定已實現(xiàn)對所述主控板中的應用程序的升級。
[0033]在本發(fā)明的一種具體實現(xiàn)方式中,所述軟件升級指令中還包括:所述升級文件的大小;
[0034]所述在下載所述升級文件的過程中,檢測是否已完成文件下載,包括:
[0035]在下載所述升級文件的過程中,檢測所下載文件的大小是否大于等于所述升級文件的大小,若為是,則判定已完成文件下載。
[0036]在本發(fā)明的一種具體實現(xiàn)方式中,所述軟件升級方法還包括:
[0037]在完成文件下載后,向所述網(wǎng)絡模塊反饋文件下載完成信息,以使得的所述網(wǎng)絡模塊解除所述升級文件的鎖定狀態(tài),其中,所述主控板從所述網(wǎng)絡模塊中開始下載文件之后,所述網(wǎng)絡模塊設置所述升級文件為鎖定狀態(tài)。
[0038]為達到上述目的,本發(fā)明實施例公開了一種軟件升級裝置,應用于智能設備中的主控板,其中,所述智能設備至少包括:主控板和網(wǎng)絡模塊,所述裝置包括:
[0039]軟件升級指令接收單元,用于接收所述網(wǎng)絡模塊發(fā)送的針對于所述主控板中應用程序的軟件升級指令,其中,所述軟件升級指令為:所述網(wǎng)絡模塊從服務器中將針對于所述主控板的應用程序的升級文件下載至自身存儲區(qū)域后所發(fā)送的;
[0040]升級文件下載單元,用于根據(jù)所述軟件升級指令,從所述網(wǎng)絡模塊中下載所述升級文件至所述主控板中應用程序對應的存儲區(qū)域,進而實現(xiàn)對所述主控板中的應用程序的升級。
[0041]在本發(fā)明的一種具體實現(xiàn)方式中,所述升級文件下載單元,包括:
[0042]狀態(tài)標識更新子單元,用于根據(jù)所述軟件升級指令,更新所述主控板的狀態(tài)標識為“正在升級”狀態(tài)的標識,其中,所述主控板的狀態(tài)劃分為:標識為&的“請求升級”狀態(tài)、標識為“正在升級”狀態(tài)和標識為S淑“正常運行”狀態(tài);
[0043]啟動程序調用子單元,用于通過重啟所述主控板的方式,調用所述主控板中的啟動程序,其中,所述啟動程序為用于加載所述主控板中的應用程序的程序;
[0044]文件下載指令發(fā)送子單元,用于在接收到所述啟動程序檢測到所述主控板的狀態(tài)標識為SJt所發(fā)出的下載觸發(fā)信號后,向所述網(wǎng)絡模塊發(fā)送文件下載指令;
[0045]升級文件接收與存儲子單元,用于接收所述網(wǎng)絡模塊根據(jù)所述文件下載指令反饋的所述升級文件,并將所反饋的文件存儲至所述主控板中應用程序對應的存儲區(qū)域,進而實現(xiàn)對所述主控板中的應用程序的升級。
[0046]在本發(fā)明的一種具體實現(xiàn)方式中,所述軟件升級裝置還包括:
[0047]狀態(tài)切換單元,用于對所述主控板中的應用程序成功升級后,更新所述主控板的狀態(tài)標識為SN,并通過重啟所述主控板的方式,將所述主控板的狀態(tài)由“正在升級”狀態(tài)切換至“正常運行”狀態(tài)。
[0048]在本發(fā)明的一種具體實現(xiàn)方式中,所述軟件升級裝置還包括:
[0049]處理請求接收單元,用于接收異常狀態(tài)處理請求;
[0050]狀態(tài)標識更新單元,用于更新所述主控板的狀態(tài)標識為SR,并重啟所述主控板。
[0051]在本發(fā)明的一種具體實現(xiàn)方式中,所述異常狀態(tài)處理請求為針對以下任意一種異常狀態(tài)的處理請求:
[0052]接收到所述軟件升級指令后,更新所述主控板的狀態(tài)為S1時失?。?br>[0053]對所述主控板中的應用程序成功升級后,更新所述主控板的狀態(tài)標識為Sn時失?。?br>[0054]從所述網(wǎng)絡模塊中下載所述升級文件失敗。
[0055]在本發(fā)明的一種具體實現(xiàn)方式中,所述軟件升級裝置還包括:
[0056]狀態(tài)標識發(fā)送單元,用于通過重啟所述主控板的方式,調用所述主控板中的啟動程序向所述網(wǎng)絡模塊發(fā)送所述主控板的當前狀態(tài)標識;
[0057]所述軟件升級指令接收單元,還用于接收所述網(wǎng)絡模塊檢測到所述主控板的當前狀態(tài)標識為&的情況下發(fā)送的所述軟件升級指令,并觸發(fā)所述升級文件下載單元下載升級文件。
[0058]在本發(fā)明的一種具體實現(xiàn)方式中,所述軟件升級指令中包括:所述升級文件的校驗值;
[0059]所述升級文件下載單元,包括:
[0060]升級文件下載子單元,用于根據(jù)所述軟件升級指令,從所述網(wǎng)絡模塊中下載所述升級文件至所述主控板中應用程序對應的存儲區(qū)域;
[0061]文件下載檢測子單元,用于在下載所述升級文件的過程中,檢測是否已完成文件下載;
[0062]文件校驗子單元,用于在所述文件下載檢測子單元的檢測結果為是的情況下,根據(jù)所述