專利名稱:一種嵌入式設(shè)備遠程批量升級的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其是涉及一種嵌入式設(shè)備遠程批量升級的方法和裝置。
背景技術(shù):
目前對遠程嵌入式設(shè)備的升級主要是工程師到設(shè)備現(xiàn)場,通過計算機串口發(fā)送控制命令,并通過以太網(wǎng)口傳輸升級數(shù)據(jù),逐一對設(shè)備進行升級。隨著嵌入式設(shè)備應(yīng)用的日益廣泛,嵌入式設(shè)備的數(shù)量不斷增加,分布的場所越來越復(fù)雜,因此設(shè)備的升級難度也越來越大,該升級方式已經(jīng)很難滿足需求。
為解決上述問題,現(xiàn)在采用遠程登陸的方法來升級嵌入式設(shè)備,實現(xiàn)了嵌入式設(shè)備的遠程升級,無需工程師到設(shè)備現(xiàn)場進行升級。該方法首先通過telnet或串口服務(wù)器遠程登陸到待升級設(shè)備上,然后通過單播方式將升級數(shù)據(jù)發(fā)送到該設(shè)備,該設(shè)備收到升級數(shù)據(jù)后,用升級數(shù)據(jù)覆蓋原有數(shù)據(jù),完成對該設(shè)備的遠程升級。如果有多個待升級設(shè)備,則重復(fù)上述操作,實現(xiàn)對所有待升級設(shè)備的升級。
例如,一種嵌入式設(shè)備遠程升級的系統(tǒng)如圖1所示,包括升級數(shù)據(jù)發(fā)送裝置11、網(wǎng)絡(luò)12、嵌入式設(shè)備13、嵌入式設(shè)備14、嵌入式設(shè)備15和嵌入式設(shè)備16,其中網(wǎng)絡(luò)12分別與升級數(shù)據(jù)發(fā)送裝置11、嵌入式設(shè)備13、嵌入式設(shè)備14、嵌入式設(shè)備15和嵌入式設(shè)備16連接。當嵌入式設(shè)備13、嵌入式設(shè)備14、嵌入式設(shè)備15和嵌入式設(shè)備16需要進行升級時,其升級過程包括以下步驟步驟A1,通過telnet遠程登陸到嵌入式設(shè)備13上;步驟A2,升級數(shù)據(jù)發(fā)送裝置11采用單播方式,通過網(wǎng)絡(luò)12將升級數(shù)據(jù)發(fā)送到嵌入式設(shè)備13;
步驟A3,嵌入式設(shè)備13收到升級數(shù)據(jù)后,用升級數(shù)據(jù)覆蓋原有數(shù)據(jù),完成嵌入式設(shè)備13的遠程升級;步驟A4,對嵌入式設(shè)備14、嵌入式設(shè)備15和嵌入式設(shè)備16重復(fù)步驟A1至A3,完成各設(shè)備的遠程升級。
但是,因為該方法采用單播方式傳輸數(shù)據(jù),需要與各個設(shè)備分別建立連接并發(fā)送升級數(shù)據(jù),網(wǎng)絡(luò)資源利用率低。又因為該方法是逐一升級各個設(shè)備,所以當有大量設(shè)備需要升級時,升級周期長。
而且,該方法采用直接用升級數(shù)據(jù)覆蓋原有數(shù)據(jù)的方法對設(shè)備進行升級,當發(fā)生網(wǎng)絡(luò)故障或設(shè)備端異常時可能造成升級失敗,并且不可恢復(fù),需要工程師到現(xiàn)場通過串口重新升級或者恢復(fù)系統(tǒng)。
發(fā)明內(nèi)容
本發(fā)明要解決的問題是提供一種嵌入式設(shè)備遠程批量升級的方法和裝置,采用組播方式傳輸升級數(shù)據(jù),同時也可以實現(xiàn)升級后的數(shù)據(jù)恢復(fù),提高網(wǎng)絡(luò)資源利用率和升級的可靠性。
為達到上述目的,本發(fā)明提供一種嵌入式設(shè)備遠程批量升級的方法,包括以下步驟通過組播方式將升級數(shù)據(jù)發(fā)送至待升級設(shè)備;所述待升級設(shè)備保留升級前的數(shù)據(jù),并利用所接收到的升級數(shù)據(jù)進行升級。
按照本發(fā)明的一個方面,在發(fā)送升級數(shù)據(jù)之前,還包括根據(jù)嵌入式設(shè)備的版本信息選取待升級設(shè)備;選取待升級設(shè)備后,將所述待升級設(shè)備進行分組,并分別將其加入對應(yīng)的組播組。
按照本發(fā)明的另一個方面,在升級數(shù)據(jù)發(fā)送至待升級設(shè)備后,還包括檢驗所述升級數(shù)據(jù)的正確性。
按照本發(fā)明的再一個方面,所述待升級設(shè)備保留升級前的數(shù)據(jù),并利用升級數(shù)據(jù)進行升級具體為將升級數(shù)據(jù)存儲入空閑存儲區(qū)域;設(shè)置升級標識,標記所述空閑存儲區(qū)域為當前存儲區(qū)域、原當前存儲區(qū)域為空閑存儲區(qū)域。
按照本發(fā)明的再一個方面,在所述待升級設(shè)備升級完成后,還包括判斷所述設(shè)備是否運行正常,如果出現(xiàn)異常,則將所述設(shè)備恢復(fù)到利用升級前的數(shù)據(jù)運行的狀態(tài)。
按照本發(fā)明的再一個方面,將所述設(shè)備恢復(fù)到利用升級前的數(shù)據(jù)運行的狀態(tài)具體為設(shè)置升級標識,標記空閑存儲區(qū)域為當前存儲區(qū)域、原當前存儲區(qū)域為空閑存儲區(qū)域。
按照本發(fā)明的再一個方面,所述待升級設(shè)備升級完成后,還包括所述待升級設(shè)備向升級數(shù)據(jù)發(fā)送端反饋升級后的版本信息;根據(jù)所述反饋的版本信息,所述升級數(shù)據(jù)發(fā)送端更新所述待升級設(shè)備的原版本信息。
本發(fā)明提供一種嵌入式設(shè)備升級數(shù)據(jù)發(fā)送裝置,包括組播組管理單元,生成組播組并向所述組播組發(fā)送升級數(shù)據(jù);升級管理單元,向待升級設(shè)備發(fā)送對應(yīng)組播組的組播地址,將所述設(shè)備加入所述組播組。
按照本發(fā)明的再一個方面,所述升級管理單元還用于選取待升級設(shè)備、將所述待升級設(shè)備進行分組,并為每組待升級設(shè)備分配組播組。
按照本發(fā)明的再一個方面,還包括版本信息存儲單元;所述升級管理單元接收到設(shè)備升級后反饋的版本信息后,將所述版本信息存儲入所述版本信息存儲單元。
本發(fā)明提供一種嵌入式設(shè)備,包括升級管理單元、第一存儲單元和第二存儲單元;所述升級管理單元,發(fā)送加入組播組請求報文,從所述組播組接收升級數(shù)據(jù),并控制所述嵌入式設(shè)備進行升級;所述第一存儲單元和第二存儲單元,分別存儲所接收到的升級數(shù)據(jù)和升級前的數(shù)據(jù)。
按照本發(fā)明的再一個方面,所述升級管理單元進一步包括升級標識設(shè)置子單元,設(shè)置用于標記所述第一存儲單元和第二存儲單元為當前存儲區(qū)域或空閑存儲區(qū)域的升級標識。
按照本發(fā)明的再一個方面,所述升級管理單元還包括數(shù)據(jù)檢驗子單元,檢驗接收到的升級數(shù)據(jù)的正確性。
按照本發(fā)明的再一個方面,還包括版本信息反饋單元,在所述升級管理單元的控制下,生成升級后的版本信息,并向升級數(shù)據(jù)發(fā)送端反饋所述版本信息。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點
本發(fā)明可以同時對多個設(shè)備進行升級,升級周期短;而且,本發(fā)明采用組播方式傳輸升級數(shù)據(jù),可以節(jié)約網(wǎng)絡(luò)帶寬、降低網(wǎng)絡(luò)負載;另外,本發(fā)明采用冗余升級方式,可以實現(xiàn)升級后的數(shù)據(jù)恢復(fù),提高升級的可靠性;進一步,本發(fā)明通過版本信息存儲單元對所有設(shè)備的版本信息進行統(tǒng)一管理。
圖1是一種嵌入式設(shè)備遠程升級的系統(tǒng)圖;圖2是本發(fā)明的一種升級數(shù)據(jù)發(fā)送裝置的結(jié)構(gòu)圖;圖3是本發(fā)明的一種嵌入式設(shè)備的結(jié)構(gòu)圖;圖4是本發(fā)明的一種嵌入式設(shè)備遠程批量升級的流程圖。
具體實施例方式
下面結(jié)合附圖和實施例,對本發(fā)明的具體實施方式
作進一步詳細描述本發(fā)明的一種升級數(shù)據(jù)發(fā)送裝置如圖2所示,包括組播組管理單元21、升級管理單元22和版本信息存儲單元23;其中升級管理單元22分別與組播組管理單元21和版本信息存儲單元23連接。
組播組管理單元21用于生成組播組并向所述組播組發(fā)送升級數(shù)據(jù)。升級管理單元22用于選取待升級設(shè)備,將該待升級設(shè)備進行分組,為每組待升級設(shè)備分配組播組;并向該待升級設(shè)備發(fā)送對應(yīng)組播組的組播地址,將該待升級設(shè)備加入組播組;并且,當設(shè)備升級后反饋版本信息時,升級管理單元22還用于接收該版本信息,并將該版本信息存儲入版本信息存儲單元23。版本信息存儲單元23用于存儲嵌入式設(shè)備的版本信息,該版本信息包括當前版本、歷史版本、升級時間、升級人員和升級原因中的一項或多項。
本發(fā)明的一種嵌入式設(shè)備的結(jié)構(gòu)如圖3所示,包括升級管理單元31、存儲單元32、存儲單元33和版本信息反饋單元34;其中升級管理單元31分別與存儲單元32、存儲單元33和版本信息反饋單元34連接。
升級管理單元31用于向組播組發(fā)送加入組播組請求報文;在加入組播組后,從所述組播組接收升級數(shù)據(jù),并控制嵌入式設(shè)備進行升級。升級管理單元31還包括升級標識設(shè)置子單元311和數(shù)據(jù)檢驗子單元312;當從所述組播組接收到升級數(shù)據(jù)后,數(shù)據(jù)檢驗子單元312檢驗所述升級數(shù)據(jù)的正確性;升級標識設(shè)置子單元311設(shè)置升級標識,所述升級標識用于標記存儲單元32和存儲單元33為當前存儲區(qū)域或空閑存儲區(qū)域;例如,當所述升級標識設(shè)置為1時,存儲單元32為當前存儲區(qū)域,存儲單元33為空閑存儲區(qū)域;當所述升級標識設(shè)置為0時,存儲單元32為空閑存儲區(qū)域,存儲單元33為當前存儲區(qū)域。
存儲單元32和存儲單元33可以分別設(shè)置為當前存儲區(qū)域或空閑存儲區(qū)域,用于存儲所接收到的升級數(shù)據(jù)和升級前的數(shù)據(jù)。例如,存儲單元32目前為當前存儲區(qū)域,存儲單元33為空閑存儲區(qū)域,在接收到升級數(shù)據(jù)后,所述升級數(shù)據(jù)被存儲入存儲單元33,存儲單元32保存著升級前的數(shù)據(jù)。
版本信息反饋單元34在升級管理單元31的控制下,生成升級后的版本信息,并向升級數(shù)據(jù)發(fā)送端反饋所述版本信息。
當圖1所示的嵌入式設(shè)備遠程升級的系統(tǒng)中采用圖2所示升級數(shù)據(jù)發(fā)送裝置和圖3所示嵌入式設(shè)備時,本發(fā)明的一種嵌入式設(shè)備遠程批量升級的流程如圖4所示。本發(fā)明首先通過組播方式將升級數(shù)據(jù)發(fā)送至待升級設(shè)備;然后所述待升級設(shè)備保留升級前的數(shù)據(jù),并利用所接收到的升級數(shù)據(jù)進行升級。參照圖4,本發(fā)明包括以下步驟步驟s401,升級管理單元22根據(jù)版本信息存儲單元23存儲的嵌入式設(shè)備的版本信息,選取待升級設(shè)備;該版本信息包括當前版本、歷史版本、升級時間、升級人員和升級原因中的一項或多項。本實施例中待升級設(shè)備為嵌入式設(shè)備13、嵌入式設(shè)備14、嵌入式設(shè)備15和嵌入式設(shè)備16。
步驟s402,組播組管理單元21生成組播組。本實施例中生成組播組1和組播組2。其生成組播組1的過程為組播組管理單元21向一個空閑組播地址發(fā)送IGMP(Internet Group Management Protocol,互聯(lián)網(wǎng)組管理協(xié)議)報文,通知路由器組播組管理單元21加入組播地址為該空閑組播地址的組播組,并確定該組播組為發(fā)送升級文件的組播組1。組播組2的生成過程與組播組1相同。
步驟s403,升級管理單元22將嵌入式設(shè)備13和嵌入式設(shè)備14分為一組,并將該組分配到組播組1;將嵌入式設(shè)備15和嵌入式設(shè)備16分為一組,并將該組分配到組播組2。
步驟s404,升級管理單元22將嵌入式設(shè)備13和嵌入式設(shè)備14加入組播組1,將嵌入式設(shè)備15和嵌入式設(shè)備16加入組播組2。其加入過程具體為首先升級管理單元22將組播組1的組播地址發(fā)送到嵌入式設(shè)備13和嵌入式設(shè)備14,將組播組2的組播地址發(fā)送到嵌入式設(shè)備15和嵌入式設(shè)備16;然后嵌入式設(shè)備13和嵌入式設(shè)備14的升級管理單元31,向組播組1發(fā)送加入組播組請求報文,加入組播組1,該加入組播組請求報文為IGMP報文;嵌入式設(shè)備15和嵌入式設(shè)備16的升級管理單元31,向組播組2發(fā)送加入組播組請求報文,加入組播組2,該加入組播組請求報文為IGMP報文。
步驟s405,組播組管理單元21向組播組1和組播組2中發(fā)送升級數(shù)據(jù)。
步驟s406,嵌入式設(shè)備13和嵌入式設(shè)備14的升級管理單元31從組播組1中接收升級數(shù)據(jù);嵌入式設(shè)備15和嵌入式設(shè)備16的升級管理單元31從組播組2中接收升級數(shù)據(jù)。
步驟s407,數(shù)據(jù)檢驗子單元312檢驗升級數(shù)據(jù)的正確性。如果正確,則轉(zhuǎn)步驟s408,否則結(jié)束。
步驟s408,判斷升級類型為系統(tǒng)升級還是文件升級,如果為系統(tǒng)升級,則轉(zhuǎn)步驟s409,否則轉(zhuǎn)步驟s414。
步驟s409,升級管理單元31根據(jù)升級標識,選擇空閑存儲區(qū)域為升級數(shù)據(jù)存儲的存儲單元。本實施例中當所述升級標識設(shè)置為1時,存儲單元32為當前存儲區(qū)域,存儲單元33為空閑存儲區(qū)域;當所述升級標識設(shè)置為0時,存儲單元32為空閑存儲區(qū)域,存儲單元33為當前存儲區(qū)域。當前升級標識設(shè)置為1,所以選擇存儲單元33存儲升級數(shù)據(jù)。
步驟s410,將升級數(shù)據(jù)存儲入存儲單元33。
步驟s411,利用升級數(shù)據(jù)進行升級。即升級管理單元31設(shè)置升級標識為0,將存儲單元33標記為當前存儲區(qū)域,將存儲單元32標記為空閑存儲區(qū)域,并重新啟動設(shè)備。因為存儲單元33為當前存儲區(qū)域,所以所述設(shè)備從存儲單元33存儲的系統(tǒng)啟動,實現(xiàn)了所述設(shè)備的升級。
步驟s412,判斷所述設(shè)備是否運行正常,如果出現(xiàn)異常,則轉(zhuǎn)步驟s413,否則轉(zhuǎn)步驟s415。
步驟s413,將設(shè)備恢復(fù)到升級前的運行狀態(tài)并結(jié)束。即升級管理單元31設(shè)置升級標識為1,將存儲單元32標記為當前存儲區(qū)域,將存儲單元33標記為空閑存儲區(qū)域,重新啟動設(shè)備。因為存儲單元32為當前存儲區(qū)域,所以所述設(shè)備從存儲單元32存儲的系統(tǒng)啟動,使設(shè)備恢復(fù)到升級前的運行狀態(tài)。
步驟s414,將升級數(shù)據(jù)存儲入當前存儲區(qū)域,覆蓋原有數(shù)據(jù)。本實施例中當前升級標識設(shè)置為1,所以存儲單元32為當前存儲區(qū)域,升級數(shù)據(jù)被存儲入存儲單元32,覆蓋其中的原有數(shù)據(jù)。
步驟s415,升級管理單元31控制版本信息反饋單元34生成升級后的版本信息,并發(fā)送該版本信息到升級數(shù)據(jù)發(fā)送裝置。該版本信息包括當前版本、歷史版本、升級時間、升級人員和升級原因中的一項或多項。
步驟s416,升級數(shù)據(jù)發(fā)送裝置判斷是否有設(shè)備升級后反饋的版本信息,如果有,則轉(zhuǎn)步驟s417,否則結(jié)束。
步驟s417,升級管理單元22接收設(shè)備升級后反饋的版本信息,并將該版本信息存儲入版本信息存儲單元23,更新原嵌入式設(shè)備的版本信息并結(jié)束。
其中,從步驟s406到步驟s415的升級操作,嵌入式設(shè)備13、嵌入式設(shè)備14、嵌入式設(shè)備15和嵌入式設(shè)備16是同時進行的。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。
權(quán)利要求
1.一種嵌入式設(shè)備遠程批量升級的方法,其特征在于,包括以下步驟通過組播方式將升級數(shù)據(jù)發(fā)送至待升級設(shè)備;所述待升級設(shè)備保留升級前的數(shù)據(jù),并利用所接收到的升級數(shù)據(jù)進行升級。
2.如權(quán)利要求1所述嵌入式設(shè)備遠程批量升級的方法,其特征在于,在發(fā)送升級數(shù)據(jù)之前,還包括根據(jù)嵌入式設(shè)備的版本信息選取待升級設(shè)備;選取待升級設(shè)備后,將所述待升級設(shè)備進行分組,并分別將其加入對應(yīng)的組播組。
3.如權(quán)利要求1所述嵌入式設(shè)備遠程批量升級的方法,其特征在于,在升級數(shù)據(jù)發(fā)送至待升級設(shè)備后,還包括檢驗所述升級數(shù)據(jù)的正確性。
4.如權(quán)利要求1所述嵌入式設(shè)備遠程批量升級的方法,其特征在于,所述待升級設(shè)備保留升級前的數(shù)據(jù),并利用升級數(shù)據(jù)進行升級具體為將升級數(shù)據(jù)存儲入空閑存儲區(qū)域;設(shè)置升級標識,標記所述空閑存儲區(qū)域為當前存儲區(qū)域、原當前存儲區(qū)域為空閑存儲區(qū)域。
5.如權(quán)利要求1所述嵌入式設(shè)備遠程批量升級的方法,其特征在于,在所述待升級設(shè)備升級完成后,還包括判斷所述設(shè)備是否運行正常,如果出現(xiàn)異常,則將所述設(shè)備恢復(fù)到利用升級前的數(shù)據(jù)運行的狀態(tài)。
6.如權(quán)利要求5所述嵌入式設(shè)備遠程批量升級的方法,其特征在于,將所述設(shè)備恢復(fù)到利用升級前的數(shù)據(jù)運行的狀態(tài)具體為設(shè)置升級標識,標記空閑存儲區(qū)域為當前存儲區(qū)域、原當前存儲區(qū)域為空閑存儲區(qū)域。
7.如權(quán)利要求1所述嵌入式設(shè)備遠程批量升級的方法,其特征在于,所述待升級設(shè)備升級完成后,還包括所述待升級設(shè)備向升級數(shù)據(jù)發(fā)送端反饋升級后的版本信息;根據(jù)所述反饋的版本信息,所述升級數(shù)據(jù)發(fā)送端更新所述待升級設(shè)備的原版本信息。
8.一種嵌入式設(shè)備升級數(shù)據(jù)發(fā)送裝置,其特征在于,包括組播組管理單元,生成組播組并向所述組播組發(fā)送升級數(shù)據(jù);升級管理單元,向待升級設(shè)備發(fā)送對應(yīng)組播組的組播地址,將所述設(shè)備加入所述組播組。
9.如權(quán)利要求8所述嵌入式設(shè)備升級數(shù)據(jù)發(fā)送裝置,其特征在于,所述升級管理單元還用于選取待升級設(shè)備、將所述待升級設(shè)備進行分組,并為每組待升級設(shè)備分配組播組。
10.如權(quán)利要求8所述嵌入式設(shè)備升級數(shù)據(jù)發(fā)送裝置,其特征在于,還包括版本信息存儲單元;所述升級管理單元接收到設(shè)備升級后反饋的版本信息后,將所述版本信息存儲入所述版本信息存儲單元。
11.一種嵌入式設(shè)備,其特征在于,包括升級管理單元、第一存儲單元和第二存儲單元;所述升級管理單元,發(fā)送加入組播組請求報文,從所述組播組接收升級數(shù)據(jù),并控制所述嵌入式設(shè)備進行升級;所述第一存儲單元和第二存儲單元,分別存儲所接收到的升級數(shù)據(jù)和升級前的數(shù)據(jù)。
12.如權(quán)利要求11所述嵌入式設(shè)備,其特征在于,所述升級管理單元進一步包括升級標識設(shè)置子單元,設(shè)置用于標記所述第一存儲單元和第二存儲單元為當前存儲區(qū)域或空閑存儲區(qū)域的升級標識。
13.如權(quán)利要求11所述嵌入式設(shè)備,其特征在于,所述升級管理單元還包括數(shù)據(jù)檢驗子單元,檢驗接收到的升級數(shù)據(jù)的正確性。
14.如權(quán)利要求11所述嵌入式設(shè)備,其特征在于,還包括版本信息反饋單元,在所述升級管理單元的控制下,生成升級后的版本信息,并向升級數(shù)據(jù)發(fā)送端反饋所述版本信息。
全文摘要
本發(fā)明公開了一種嵌入式設(shè)備遠程批量升級的方法,包括通過組播方式將升級數(shù)據(jù)發(fā)送至待升級設(shè)備;所述待升級設(shè)備保留升級前的數(shù)據(jù),并利用所述升級數(shù)據(jù)進行升級。本發(fā)明還公開了一種嵌入式設(shè)備升級數(shù)據(jù)發(fā)送裝置和一種嵌入式設(shè)備。本發(fā)明可以同時對多個設(shè)備進行升級,升級周期短;而且,本發(fā)明采用組播方式傳輸升級數(shù)據(jù),可以節(jié)約網(wǎng)絡(luò)帶寬;另外,本發(fā)明采用冗余升級方式,可以實現(xiàn)升級后的數(shù)據(jù)恢復(fù),提高升級的可靠性。
文檔編號H04L12/24GK1996894SQ20061017021
公開日2007年7月11日 申請日期2006年12月25日 優(yōu)先權(quán)日2006年12月25日
發(fā)明者陳磊 申請人:杭州華為三康技術(shù)有限公司