軟件在線升級(jí)修復(fù)方法
【專利摘要】本發(fā)明提供一種軟件在線升級(jí)修復(fù)方法,主要是在上位機(jī)與下位機(jī)建立通信的基礎(chǔ)上,使上位機(jī)通過查詢下位機(jī)的斷點(diǎn)應(yīng)答信息,并判斷斷點(diǎn)應(yīng)答信息是否有斷點(diǎn)信息,若是則從斷點(diǎn)位置開始逐幀傳輸上一次升級(jí)過程中未傳輸完的文件數(shù)據(jù),并傳輸完成后發(fā)送一表征為傳輸文件結(jié)束指令的文件數(shù)據(jù),而在下位機(jī)端,在接收到表征為傳輸文件結(jié)束指令的文件數(shù)據(jù)之前,每次將接收到的文件數(shù)據(jù)寫入本下位機(jī)的嵌入式系統(tǒng)的存儲(chǔ)介質(zhì)的相應(yīng)位置,當(dāng)寫入完成后將該位置更新記錄為中斷位置,以作為斷點(diǎn)信息,若在之后,則依據(jù)所接收到的所有文件數(shù)據(jù)進(jìn)行在線升級(jí)修復(fù)操作,進(jìn)而實(shí)現(xiàn)在嵌入式系統(tǒng)軟件在線升級(jí)修復(fù)過程中的斷點(diǎn)續(xù)傳的功能,可有效地提高升級(jí)修復(fù)效率。
【專利說明】軟件在線升級(jí)修復(fù)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種軟件在線升級(jí)修復(fù)方法,特別是涉及一種用以解決嵌入式系統(tǒng)在軟件升級(jí)過程中因異常而中斷的情況下,如何通過斷點(diǎn)續(xù)傳的方式來修復(fù)嵌入式系統(tǒng)軟件的在線升級(jí)功能的軟件在線升級(jí)修復(fù)方法。
【背景技術(shù)】
[0002]為了使嵌入式系統(tǒng)中的軟件、數(shù)據(jù)等資訊信息處于最新狀態(tài),需實(shí)時(shí)對嵌入式系統(tǒng)進(jìn)行升級(jí)維護(hù),但當(dāng)在惡劣環(huán)境中進(jìn)行在線升級(jí)時(shí),因升級(jí)過程中容易受到干擾、線路異常中斷通等異常事件,可造成升級(jí)失敗,致使嵌入系統(tǒng)不能正常工作,從而引發(fā)不良后果。
[0003]而目前在業(yè)界內(nèi)使用的嵌入系統(tǒng)軟件在線升級(jí)方法是基于穩(wěn)定鏈路環(huán)境下不間斷的升級(jí),當(dāng)在線升級(jí)過程中,出現(xiàn)升級(jí)中斷時(shí)需重頭開始重新升級(jí),采用此類升級(jí)模式,則在通訊干擾強(qiáng)烈、信道不穩(wěn)定等的惡劣環(huán)境下,軟件在線升級(jí)將很難成功。
[0004]因此,基于以上不足,有必要提供一種按情況適量縮短升級(jí)過程的軟件在線升級(jí)修復(fù)方法,以保證即使在惡劣環(huán)境下也能快速而有效地完成軟件在線升級(jí)任務(wù)。
【發(fā)明內(nèi)容】
[0005]鑒于以上所述現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明的目的在于提供一種可按情況適量縮短升級(jí)過程的軟件在線升級(jí)修復(fù)方法。
[0006]為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種軟件在線升級(jí)修復(fù)方法,其應(yīng)用于可相互通信的上位機(jī)與下位機(jī)之間,用于實(shí)現(xiàn)對下位機(jī)中的嵌入式系統(tǒng)軟件在上一次升級(jí)過程中發(fā)生異常狀況的修復(fù)升級(jí)功能,且當(dāng)下位機(jī)在升級(jí)過程中發(fā)生異常狀況時(shí)記錄有斷點(diǎn)信息,其特征在于,所述軟件在線升級(jí)修復(fù)方法至少包括:(I)建立所述上位機(jī)與所述下位機(jī)之間的通信;(2)于所述上位機(jī)端,向所述下位機(jī)發(fā)送斷點(diǎn)信息查詢指令;(3)于所述下位機(jī)端,響應(yīng)所述上位機(jī)所發(fā)送的指令,并上傳本下位機(jī)上一次升級(jí)過程中所記錄的斷點(diǎn)應(yīng)答信息至所述上位機(jī);(4)于所述上位機(jī)端,根據(jù)所述下位機(jī)所上傳的斷點(diǎn)應(yīng)答信息,判斷該斷點(diǎn)應(yīng)答信息是否有斷點(diǎn)信息,若是,則進(jìn)至步驟(5),若否,則進(jìn)至步驟(6);
(5)于所述上位機(jī)端,從需要傳輸給下位機(jī)的升級(jí)文件起始位置開始一幀一幀傳輸文件數(shù)據(jù),并于文件數(shù)據(jù)傳輸完成后,發(fā)送一表征為傳輸文件結(jié)束指令的文件數(shù)據(jù),接著,進(jìn)行步驟(7) ; (6)于所述上位機(jī)端,從斷點(diǎn)位置開始一巾貞一巾貞傳輸上一次升級(jí)過程中未傳輸完的文件數(shù)據(jù),并于文件數(shù)據(jù)傳輸完成后,發(fā)送一表征為傳輸文件結(jié)束指令的文件數(shù)據(jù);(7)于所述下位機(jī)端,判斷所接收到的文件數(shù)據(jù)是否表征為文件傳輸結(jié)束指令,若是,則依據(jù)所接收到的所有文件數(shù)據(jù)進(jìn)行在線升級(jí)修復(fù)操作,若否,則進(jìn)至步驟(8) ;(8)于所述下位機(jī)端,將接收到的文件數(shù)據(jù)寫入本下位機(jī)的嵌入式系統(tǒng)的存儲(chǔ)介質(zhì)的相應(yīng)位置,當(dāng)寫入完成后將該位置更新記錄為中斷位置,以作為斷點(diǎn)信息,并上傳一本下位機(jī)已正確接收到一幀數(shù)據(jù)的應(yīng)答信息至所述上位機(jī);以及(9)于所述上位機(jī)端,根據(jù)所述下位機(jī)所上傳的已正確接收到一幀數(shù)據(jù)的應(yīng)答信息,繼續(xù)傳輸下一幀文件數(shù)據(jù),接著,返回至步驟(7)。[0007]優(yōu)選地,上述步驟(1)進(jìn)一步包括:通過RS232、RS485或網(wǎng)絡(luò)建立所述上位機(jī)與所述下位機(jī)之間的通信。其中,所述網(wǎng)絡(luò)可例如為無線網(wǎng)絡(luò)或有線網(wǎng)絡(luò)。所述斷點(diǎn)信息包括上一次升級(jí)過程中在中斷時(shí)所記錄的傳輸數(shù)據(jù)長度和傳輸數(shù)據(jù)地址。
[0008]在本發(fā)明的軟件在線升級(jí)修復(fù)方法的一個(gè)實(shí)施例中,所述軟件在線升級(jí)修復(fù)方法支持廣播通訊模式。
[0009]如上所述,本發(fā)明的軟件在線升級(jí)修復(fù)方法主要是利用了斷點(diǎn)續(xù)傳的原理,在上位機(jī)與下位機(jī)建立通信的基礎(chǔ)上,使上位機(jī)通過查詢下位機(jī)的斷點(diǎn)應(yīng)答信息,之后于上位機(jī)端依據(jù)下位機(jī)所上傳的斷點(diǎn)應(yīng)答信息,判斷該斷點(diǎn)應(yīng)答信息是否有斷點(diǎn)信息,若否,則從需要傳輸給下位機(jī)的升級(jí)文件起始位置開始一幀一幀傳輸文件數(shù)據(jù),若是,則從斷點(diǎn)位置開始一幀一幀傳輸上一次升級(jí)過程中未傳輸完的文件數(shù)據(jù),無論是哪種情況,均于文件數(shù)據(jù)傳輸完成后,發(fā)送一表征為傳輸文件結(jié)束指令的文件數(shù)據(jù),而在下位機(jī)端,在接收到表征為傳輸文件結(jié)束指令的文件數(shù)據(jù)之前,每次將接收到的文件數(shù)據(jù)寫入本下位機(jī)的嵌入式系統(tǒng)的存儲(chǔ)介質(zhì)的相應(yīng)位置,當(dāng)寫入完成后將該位置更新記錄為中斷位置,以作為斷點(diǎn)信息,直至接收到表征為傳輸文件結(jié)束指令的文件數(shù)據(jù)之后,依據(jù)所接收到的所有文件數(shù)據(jù)進(jìn)行在線升級(jí)修復(fù)操作。如此,即可避免現(xiàn)有技術(shù)中當(dāng)出現(xiàn)升級(jí)中斷時(shí)需重頭開始重新升級(jí),不但浪費(fèi)時(shí)間,而且,對于遭遇例如通訊干擾強(qiáng)烈、信道不穩(wěn)定等惡劣環(huán)境而時(shí)常發(fā)生中斷時(shí),則以此種方式進(jìn)行軟件在線升級(jí)將很難成功等問題。
【專利附圖】
【附圖說明】
[0010]圖1顯示為本發(fā)明的軟件在線升級(jí)修復(fù)方法的操作流程示意圖。
[0011]元件標(biāo)號(hào)說明
[0012]SlO ~S80步驟【具體實(shí)施方式】
·[0013]以下通過特定的具體實(shí)例說明本發(fā)明的實(shí)施方式,本領(lǐng)域技術(shù)人員可由本說明書所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點(diǎn)與功效。本發(fā)明還可以通過另外不同的【具體實(shí)施方式】加以實(shí)施或應(yīng)用,本說明書中的各項(xiàng)細(xì)節(jié)也可以基于不同觀點(diǎn)與應(yīng)用,在沒有背離本發(fā)明的精神下進(jìn)行各種修飾或改變。
[0014]請參閱圖1,是顯示本發(fā)明的軟件在線升級(jí)修復(fù)方法的操作流程圖。本發(fā)明的軟件在線升級(jí)修復(fù)方法是應(yīng)用于可相互通信的上位機(jī)與下位機(jī)之間,用于實(shí)現(xiàn)對下位機(jī)中的嵌入式系統(tǒng)軟件在上一次升級(jí)過程中發(fā)生異常狀況而中斷的修復(fù)升級(jí)功能,且當(dāng)下位機(jī)在升級(jí)過程中發(fā)生異常狀況時(shí)記錄有斷點(diǎn)信息,其中,該斷點(diǎn)信息包括上一次升級(jí)過程中在中斷時(shí)所記錄的傳輸數(shù)據(jù)長度和傳輸數(shù)據(jù)地址。以下即對本發(fā)明的軟件在線升級(jí)修復(fù)方法的操作流程進(jìn)行詳細(xì)說明。
[0015]如圖1所示,首先執(zhí)行步驟S10,建立該上位機(jī)與該下位機(jī)之間的通信,更詳而言之,是通過RS232、RS485或網(wǎng)絡(luò)(該網(wǎng)絡(luò)可例如為無線網(wǎng)絡(luò)或有線網(wǎng)絡(luò))等建立該上位機(jī)與該下位機(jī)之間的通信,但不以此為限,舉凡可實(shí)現(xiàn)上位機(jī)與下位機(jī)之間的指令、數(shù)據(jù)等的通信往來的技術(shù)均可。接著,進(jìn)行步驟S20。
[0016]在步驟S20中,于該上位機(jī)端,向該下位機(jī)發(fā)送斷點(diǎn)信息查詢指令。接著,進(jìn)行步驟 S30。
[0017]在步驟S30中,于該下位機(jī)端,響應(yīng)該上位機(jī)所發(fā)送的指令,并上傳本下位機(jī)上一次升級(jí)過程中所記錄的斷點(diǎn)應(yīng)答信息至該上位機(jī)。接著,進(jìn)行步驟S40。
[0018]在步驟S40中,于該上位機(jī)端,根據(jù)該下位機(jī)所上傳的斷點(diǎn)應(yīng)答信息,判斷該斷點(diǎn)應(yīng)答信息是否有斷點(diǎn)信息,若是,則進(jìn)至步驟S51,若否,則進(jìn)至步驟S52。
[0019]在步驟S51中,于該上位機(jī)端,從需要傳輸給下位機(jī)的升級(jí)文件起始位置開始一幀一幀傳輸文件數(shù)據(jù),并于文件數(shù)據(jù)傳輸完成后,發(fā)送一表征為傳輸文件結(jié)束指令的文件數(shù)據(jù)。接著,進(jìn)行步驟S60。
[0020]在步驟S52中,于該上位機(jī)端,從斷點(diǎn)位置開始一幀一幀傳輸上一次升級(jí)過程中未傳輸完的文件數(shù)據(jù),并于文件數(shù)據(jù)傳輸完成后,發(fā)送一表征為傳輸文件結(jié)束指令的文件數(shù)據(jù)。接著,進(jìn)行步驟S60。
[0021]在步驟S60中,于該下位機(jī)端,判斷所接收到的文件數(shù)據(jù)是否表征為文件傳輸結(jié)束指令,若是,則進(jìn)至步驟S71,若否,則進(jìn)至步驟S72。
[0022]在步驟S71中,于該下位機(jī)端,依據(jù)所接收到的所有文件數(shù)據(jù)進(jìn)行在線升級(jí)修復(fù)操作,此時(shí),即可結(jié)束本次軟件在線升級(jí)修復(fù)過程。
[0023]在步驟S72中,于該下位機(jī)端,將接收到的文件數(shù)據(jù)寫入本下位機(jī)的嵌入式系統(tǒng)的存儲(chǔ)介質(zhì)的相應(yīng)位置,當(dāng)寫入完成后將該位置更新記錄為中斷位置,以作為斷點(diǎn)信息,并上傳一本下位機(jī)已正確接收到一幀數(shù)據(jù)的應(yīng)答信息至該上位機(jī)。接著,進(jìn)行步驟S80。
[0024]在步驟S80中,于該上位機(jī)端,根據(jù)該下位機(jī)所上傳的已正確接收到一幀數(shù)據(jù)的應(yīng)答信息,繼續(xù)傳輸下一幀文件數(shù)據(jù),接著,返回至步驟S60。
[0025]此處需予以說明的是,在本發(fā)明的一個(gè)實(shí)施例中,本發(fā)明的軟件在線升級(jí)修復(fù)方法可同時(shí)支持廣播通訊模式。
[0026]綜上所述,本發(fā)明的軟件在線升級(jí)修復(fù)方法主要是解決了嵌入式系統(tǒng)在軟件升級(jí)過程中因環(huán)境惡劣發(fā)生異常而中斷的情況下,如何通過斷點(diǎn)續(xù)傳的方式來修復(fù)嵌入式系統(tǒng)軟件的在線升級(jí)問題,主要是通過在升級(jí)中斷時(shí)記錄斷點(diǎn)信息,以于再次升級(jí)時(shí)根據(jù)記錄的斷點(diǎn)信息從上次斷點(diǎn)處開始繼續(xù)升級(jí),實(shí)現(xiàn)了嵌入式系統(tǒng)軟件在線升級(jí)過程中支持?jǐn)帱c(diǎn)續(xù)傳的功能,這種方法設(shè)計(jì)簡單、修復(fù)升級(jí)速度快、實(shí)現(xiàn)成本低,具有良好的經(jīng)濟(jì)效益。
[0027]上述實(shí)施例僅例示性說明本發(fā)明的原理及其功效,而非用于限制本發(fā)明。任何熟悉此技術(shù)的人士皆可在不違背本發(fā)明的精神及范疇下,對上述實(shí)施例進(jìn)行修飾或改變。因此,舉凡所屬【技術(shù)領(lǐng)域】中具有通常知識(shí)者在未脫離本發(fā)明所揭示的精神與技術(shù)思想下所完成的一切等效修飾或改變,仍應(yīng)由本發(fā)明的權(quán)利要求所涵蓋。
【權(quán)利要求】
1.一種軟件在線升級(jí)修復(fù)方法,其應(yīng)用于可相互通信的上位機(jī)與下位機(jī)之間,用于實(shí)現(xiàn)對下位機(jī)中的嵌入式系統(tǒng)軟件在上一次升級(jí)過程中發(fā)生異常狀況而中斷的修復(fù)升級(jí)功能,且當(dāng)下位機(jī)在升級(jí)過程中發(fā)生異常狀況時(shí)記錄有斷點(diǎn)信息,其特征在于,所述軟件在線升級(jí)修復(fù)方法至少包括: 1)建立所述上位機(jī)與所述下位機(jī)之間的通信; 2)于所述上位機(jī)端,向所述下位機(jī)發(fā)送斷點(diǎn)信息查詢指令; 3)于所述下位機(jī)端,響應(yīng)所述上位機(jī)所發(fā)送的指令,并上傳本下位機(jī)上一次升級(jí)過程中所記錄的斷點(diǎn)應(yīng)答信息至所述上位機(jī); 4)于所述上位機(jī)端,根據(jù)所述下位機(jī)所上傳的斷點(diǎn)應(yīng)答信息,判斷該斷點(diǎn)應(yīng)答信息是否有斷點(diǎn)信息,若是,則進(jìn)至步驟5),若否,則進(jìn)至步驟6); 5)于所述上位機(jī)端,從需要傳輸給下位機(jī)的升級(jí)文件起始位置開始一幀一幀傳輸文件數(shù)據(jù),并于文件數(shù)據(jù)傳輸完成后,發(fā)送一表征為傳輸文件結(jié)束指令的文件數(shù)據(jù),接著,進(jìn)行步驟7); 6)于所述上位機(jī)端,從斷點(diǎn)位置開始一巾貞一巾貞傳輸上一次升級(jí)過程中未傳輸完的文件數(shù)據(jù),并于文件數(shù)據(jù)傳輸完成后,發(fā)送一表征為傳輸文件結(jié)束指令的文件數(shù)據(jù); 7)于所述下位機(jī)端,判斷所接收到的文件數(shù)據(jù)是否表征為文件傳輸結(jié)束指令,若是,則依據(jù)所接收到的所有文件數(shù)據(jù)進(jìn)行在線升級(jí)修復(fù)操作,若否,則進(jìn)至步驟8); 8)于所述下位機(jī)端,將接收到的文件數(shù)據(jù)寫入本下位機(jī)的嵌入式系統(tǒng)的存儲(chǔ)介質(zhì)的相應(yīng)位置,當(dāng)寫入完成后將該位置更新記錄為中斷位置,以作為斷點(diǎn)信息,并上傳一本下位機(jī)已正確接收到一幀數(shù)據(jù)的應(yīng)答信息至所述上位機(jī);以及 9)于所述上位機(jī)端,根據(jù)所述下位機(jī)所上傳的已正確接收到一幀數(shù)據(jù)的應(yīng)答信息,繼續(xù)傳輸下一幀文件數(shù)據(jù),接著,返回至步驟7)。
2.根據(jù)權(quán)利要求1所述的軟件在線升級(jí)修復(fù)方法,其特征在于:所述步驟I)進(jìn)一步包括:通過RS232、RS485或網(wǎng)絡(luò)建立所述上位機(jī)與所述下位機(jī)之間的通信。
3.根據(jù)權(quán)利要求2所述的軟件在線升級(jí)修復(fù)方法,其特征在于:所述網(wǎng)絡(luò)為無線網(wǎng)絡(luò)或有線網(wǎng)絡(luò)。
4.根據(jù)權(quán)利要求1所述的軟件在線升級(jí)修復(fù)方法,其特征在于:所述斷點(diǎn)信息包括上一次升級(jí)過程中在中斷時(shí)所記錄的傳輸數(shù)據(jù)長度和傳輸數(shù)據(jù)地址。
5.根據(jù)權(quán)利要求1所述的軟件在線升級(jí)修復(fù)方法,其特征在于:所述軟件在線升級(jí)修復(fù)方法支持廣播通訊模式。
【文檔編號(hào)】G06F9/445GK103631622SQ201310627629
【公開日】2014年3月12日 申請日期:2013年11月29日 優(yōu)先權(quán)日:2013年11月29日
【發(fā)明者】劉靜, 李陽超 申請人:中達(dá)電通股份有限公司