工廠中網(wǎng)絡(luò)設(shè)備批量自動(dòng)升級(jí)的系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及嵌入式設(shè)備,具體是指一種工廠中網(wǎng)絡(luò)設(shè)備批量自動(dòng)升級(jí)的系統(tǒng)及方法。
【背景技術(shù)】
[0002]在全球市場中,由于不同國家和地區(qū)客戶的偏好、語言、環(huán)境以及所遵行的政府法規(guī)的不同,單一產(chǎn)品常常需要有多個(gè)型號(hào)和版本來各自滿足特定地區(qū)客戶的特定要求。例如,通訊產(chǎn)品由于支持它的通訊協(xié)議不同,同一產(chǎn)品在不同地區(qū)或與不同運(yùn)營商對(duì)接時(shí)行為會(huì)有所差異。為了讓同一款產(chǎn)品支持不同的地方客戶和運(yùn)營商,就得為同一款產(chǎn)品開發(fā)不同版本的軟件。但是對(duì)于各個(gè)版本的需求往往無法準(zhǔn)確預(yù)測。預(yù)測錯(cuò)誤導(dǎo)致對(duì)一些版本的產(chǎn)品過多預(yù)測,而對(duì)另一些版本則過少預(yù)測,其結(jié)果就是一些產(chǎn)品庫存過多而另一些則缺貨。為了避免這樣的問題,工廠可以采取的解決方案是先生產(chǎn)一個(gè)版本,不針對(duì)任何地方版本或真對(duì)可能出貨最多的地方版本。然后根據(jù)需求在出貨前只需再將內(nèi)部的軟件升級(jí)到相對(duì)應(yīng)的版本即可。然而,使用手動(dòng)的升級(jí)方法效率太低,工廠是不能接受的。因此,需要一套批量能夠進(jìn)行批量升級(jí)的系統(tǒng)。網(wǎng)絡(luò)設(shè)備如路由器、0NU等,這些設(shè)備是一些嵌入式設(shè)備,系統(tǒng)安裝在設(shè)備的Flash里,又稱固件,升級(jí)就是指燒錄在Flash內(nèi)系統(tǒng)文件。
[0003]目前,這樣的嵌入式網(wǎng)絡(luò)設(shè)備自動(dòng)升級(jí)分為兩種方式:
[0004]1、主動(dòng)方式:網(wǎng)絡(luò)設(shè)備在特定條件下主動(dòng)獲取升級(jí)信息,例如到升級(jí)服務(wù)器查詢是否存在新的升級(jí)軟件,然后從升級(jí)服務(wù)器下載升級(jí)軟件進(jìn)行升級(jí)。這種方法需要在網(wǎng)絡(luò)設(shè)備上設(shè)置升級(jí)服務(wù)器的IP地址等信息,當(dāng)升級(jí)服務(wù)器改變(如進(jìn)行升級(jí)服務(wù)器迀移,IP地址改變等)時(shí),修改所有網(wǎng)絡(luò)設(shè)備上的升級(jí)服務(wù)器信息就成了一件繁重的工作。
[0005]2、被動(dòng)方式:當(dāng)升級(jí)服務(wù)器有新的升級(jí)軟件時(shí),升級(jí)服務(wù)器下發(fā)升級(jí)信息給網(wǎng)絡(luò)設(shè)備,網(wǎng)絡(luò)設(shè)備在接收到升級(jí)信息后判斷升級(jí)服務(wù)器上是否存在新的升級(jí)軟件,然后從升級(jí)服務(wù)器下載升級(jí)軟件進(jìn)行升級(jí)。這種方法一般都需要采取組播的方式下發(fā)升級(jí)信息,容易造成網(wǎng)絡(luò)的擁堵。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的是克服了上述現(xiàn)有技術(shù)的缺點(diǎn),提供了一種自動(dòng)升級(jí)功能在啟動(dòng)中的BOOT中實(shí)現(xiàn)、不需要網(wǎng)絡(luò)設(shè)備完全啟動(dòng)后再請(qǐng)求升級(jí)、提高了工廠生產(chǎn)效率的工廠中網(wǎng)絡(luò)設(shè)備批量自動(dòng)升級(jí)的系統(tǒng)及方法。
[0007]為了實(shí)現(xiàn)上述目的,本發(fā)明的工廠中網(wǎng)絡(luò)設(shè)備批量自動(dòng)升級(jí)的系統(tǒng)及方法具有如下構(gòu)成:
[0008]該工廠中網(wǎng)絡(luò)設(shè)備批量自動(dòng)升級(jí)的系統(tǒng),其主要特點(diǎn)是,所述的系統(tǒng)包括:
[0009]升級(jí)服務(wù)器,用以存儲(chǔ)升級(jí)文件,以及在局域網(wǎng)中廣播升級(jí)通知信息;
[0010]多機(jī)服務(wù)器,用以根據(jù)區(qū)分不同的網(wǎng)絡(luò)設(shè)備;
[0011 ]交換機(jī),用以連接至少一個(gè)網(wǎng)絡(luò)設(shè)備;
[0012]網(wǎng)絡(luò)設(shè)備,用以在所述的網(wǎng)絡(luò)設(shè)備的系統(tǒng)引導(dǎo)階段接收所述的升級(jí)服務(wù)器發(fā)送的升級(jí)通知信息,并根據(jù)所述的升級(jí)通知信息獲取升級(jí)文件后升級(jí)。
[0013]本發(fā)明還涉及一種工廠中網(wǎng)絡(luò)設(shè)備批量自動(dòng)升級(jí)的方法,其主要特點(diǎn)是,所述的方法包括以下步驟:
[0014](1)所述的升級(jí)服務(wù)器選擇需要的升級(jí)文件并在局域網(wǎng)中廣播升級(jí)通知信息;
[0015](2)所述的網(wǎng)絡(luò)設(shè)備連接至所述的局域網(wǎng)中,并在系統(tǒng)引導(dǎo)階段接收所述的升級(jí)通知信息后向所述的升級(jí)服務(wù)器請(qǐng)求升級(jí)文件;
[0016](3)所述的升級(jí)服務(wù)器在另一線程中向所述的網(wǎng)絡(luò)設(shè)備發(fā)送所述的升級(jí)文件;
[0017](4)所述的網(wǎng)絡(luò)設(shè)備根據(jù)所述的升級(jí)文件進(jìn)行升級(jí)。
[0018]進(jìn)一步地,所述的步驟(1)具體包括以下步驟:
[0019](1.1)所述的升級(jí)服務(wù)器根據(jù)實(shí)際需求選擇至少一個(gè)不同類型的升級(jí)文件;
[0020](1.2)所述的升級(jí)服務(wù)器根據(jù)選擇的升級(jí)文件設(shè)置文件掩碼;
[0021 ] (1.3)獲取所述的升級(jí)服務(wù)器的MAC地址;
[0022](1.4)所述的升級(jí)服務(wù)器形成升級(jí)通知信息并局域網(wǎng)中廣播該升級(jí)通知信息。
[0023 ]更進(jìn)一步地,所述的步驟(1.1)具體為:
[0024]所述的升級(jí)服務(wù)器根據(jù)實(shí)際需求選擇至少一個(gè)包括BOOT類型、頂AGE類型、CONFIG類型、PLUGIN類型、ENV類型或者FLASH類型的不同的升級(jí)文件。
[0025]進(jìn)一步地,所述的步驟(2)具體包括以下步驟:
[0026](2.1)所述的網(wǎng)絡(luò)設(shè)備在系統(tǒng)引導(dǎo)階段接收所述的升級(jí)通知信息后,停止啟動(dòng);
[0027](2.2)所述的網(wǎng)絡(luò)設(shè)備從所述的升級(jí)通知信息中解析出升級(jí)信息;
[0028](2.3)所述的網(wǎng)絡(luò)設(shè)備向所述的升級(jí)服務(wù)器請(qǐng)求升級(jí)文件。
[0029]進(jìn)一步地,所述的步驟(3)具體為:
[0030]所述的升級(jí)服務(wù)器在另一線程中向所述的網(wǎng)絡(luò)設(shè)備發(fā)送所述的升級(jí)文件,并監(jiān)聽整個(gè)發(fā)送過程,并將發(fā)送過程和狀態(tài)呈現(xiàn)在升級(jí)服務(wù)器的顯示界面。
[0031]進(jìn)一步地,所述的步驟(4)具體包括以下步驟:
[0032](4.1)所述的升級(jí)服務(wù)器發(fā)送所述的升級(jí)文件完成后,更新所述的升級(jí)服務(wù)器上的升級(jí)狀態(tài);
[0033](4.2)所述的網(wǎng)絡(luò)設(shè)備對(duì)發(fā)送完成的升級(jí)文件進(jìn)行校驗(yàn)后寫入網(wǎng)絡(luò)設(shè)備的flash中并升級(jí);
[0034](4.3)所述的網(wǎng)絡(luò)設(shè)備將升級(jí)結(jié)果發(fā)送至升級(jí)服務(wù)器;
[0035](4.4)所述的升級(jí)服務(wù)器將該升級(jí)結(jié)果輸出至一日志中并保存。
[0036]采用了該發(fā)明中的工廠中網(wǎng)絡(luò)設(shè)備批量自動(dòng)升級(jí)的系統(tǒng)及方法,與現(xiàn)有技術(shù)相比,具有以下有益的技術(shù)效果:
[0037]本發(fā)明中局域網(wǎng)中的待升級(jí)網(wǎng)絡(luò)設(shè)備從升級(jí)服務(wù)器的廣播通知消息中獲取升級(jí)信息和獲取升級(jí)文件,因此要保證待升級(jí)網(wǎng)絡(luò)設(shè)備與升級(jí)服務(wù)器的正常通信,就可以實(shí)現(xiàn)網(wǎng)絡(luò)設(shè)備自動(dòng)升級(jí)。升級(jí)廣播通知中包含服務(wù)器信息因此,不需要在升級(jí)服務(wù)器變化時(shí),重新對(duì)所有的網(wǎng)絡(luò)設(shè)備進(jìn)行配置。待升級(jí)網(wǎng)絡(luò)設(shè)備會(huì)在啟動(dòng)過程的引導(dǎo)階段收到升級(jí)的通知,然后向升級(jí)服務(wù)器逐個(gè)請(qǐng)求升級(jí)文件,并寫入flash,實(shí)現(xiàn)軟件升級(jí)或配置升級(jí),而無需啟動(dòng)整個(gè)系統(tǒng),滿足工廠對(duì)生產(chǎn)效率的需求。
【附圖說明】
[0038]圖1為本發(fā)明的工廠中網(wǎng)絡(luò)設(shè)備批量自動(dòng)升級(jí)的系統(tǒng)的結(jié)構(gòu)示意圖。
[0039]圖2為本發(fā)明的工廠中網(wǎng)絡(luò)設(shè)備批量自動(dòng)升級(jí)的方法的步驟流程圖。
[0040]圖3為本發(fā)明的升級(jí)服務(wù)器的處理步驟流程圖。
[0041]圖4為本發(fā)明的網(wǎng)絡(luò)設(shè)備的處理步驟流程圖。
[0042]圖5為本發(fā)明的升級(jí)服務(wù)器上的升級(jí)通知信息的格式。
[0043]圖6為本發(fā)明的網(wǎng)絡(luò)設(shè)備上的升級(jí)通知信息的格式。
【具體實(shí)施方式】
[0044]為了能夠更清楚地描述本發(fā)明的技術(shù)內(nèi)容,下面結(jié)合具體實(shí)施例來進(jìn)行進(jìn)一步的描述。
[0045]請(qǐng)參閱圖1至圖6所示,本發(fā)明提供了一種工廠中網(wǎng)絡(luò)設(shè)備批量自動(dòng)升級(jí)的方法及系統(tǒng),是針對(duì)工廠出貨前將已經(jīng)生產(chǎn)的網(wǎng)絡(luò)設(shè)備的軟件升級(jí)到所需版本這一需求進(jìn)行設(shè)計(jì)的,升級(jí)服務(wù)器主動(dòng)在局域網(wǎng)中通過UDP廣播在一個(gè)局域網(wǎng)內(nèi)廣播升級(jí)通知信息,信息中可以包含多個(gè)不同的升級(jí)文件或配置文件,以適應(yīng)升級(jí)系統(tǒng),升級(jí)配置,升級(jí)boot等不同需求。待升級(jí)網(wǎng)絡(luò)設(shè)備會(huì)在啟動(dòng)過程的引導(dǎo)階段收到升級(jí)的通知,然后向升級(jí)服務(wù)器逐個(gè)請(qǐng)求升級(jí)文件,并寫入flash,實(shí)現(xiàn)軟件升級(jí)或配置升級(jí),而無需啟動(dòng)整個(gè)系統(tǒng),滿足工廠對(duì)生產(chǎn)效率的需求。該系統(tǒng)中,待升級(jí)的網(wǎng)絡(luò)設(shè)備接入到局域網(wǎng)中,還包括保存有升級(jí)文件的升級(jí)服務(wù)器,用于建立VLAN與IP地址映射的多機(jī)服務(wù)器和交換機(jī)。
[0046]請(qǐng)參閱圖2所示,本發(fā)明的工廠中網(wǎng)絡(luò)設(shè)備批量自動(dòng)升級(jí)的方法包括以下步驟:
[0047](1)升級(jí)服務(wù)器選擇需要的升級(jí)文件,將升級(jí)服務(wù)器的IP地址,端口號(hào),MAC地址,升級(jí)文件掩碼,以及升級(jí)文件名列表等信息以UDP廣播的形式發(fā)送到一個(gè)局域網(wǎng)內(nèi)。
[0048](2)網(wǎng)絡(luò)設(shè)備連接到局域網(wǎng)后上電,在系統(tǒng)引導(dǎo)階段收到升級(jí)通知后停止啟動(dòng),解析報(bào)文內(nèi)的信息,得到升級(jí)文件列表。網(wǎng)絡(luò)設(shè)備通過TFTP協(xié)議向升級(jí)服務(wù)器逐個(gè)請(qǐng)求升級(jí)文件。
[0049](3)升級(jí)服務(wù)器另起一個(gè)線程向請(qǐng)求文件的網(wǎng)絡(luò)設(shè)備通過TFTP協(xié)議傳輸文件,并監(jiān)控整個(gè)過程,記錄升級(jí)進(jìn)度和狀態(tài)。
[0050](4)網(wǎng)絡(luò)設(shè)備下載完升級(jí)文件經(jīng)過checksum校驗(yàn)后將其寫入flash。并上報(bào)給升級(jí)服務(wù)器升級(jí)結(jié)果。
[0051]在一種優(yōu)選的實(shí)施方式中,所述的步驟(1)具體包括以下步驟:
[0052](1.1)可以根據(jù)需求選擇不定數(shù)量的升級(jí)文件,其類型包括BOOT、頂AGE、⑶NFIG、PLUGIN、ENV、FLASH。同一類型的文件只能選擇一個(gè)。
[0053](1.2)根據(jù)選擇的不同文件設(shè)置對(duì)應(yīng)的文件掩碼,文件掩碼占8bi t從低位到高位按順序分別代表B00TaMAGE、C0NFIG、PLUGIN、ENV、FLASH。當(dāng)選擇了對(duì)應(yīng)文件后服務(wù)器會(huì)把對(duì)應(yīng)的位置1。它的作用是告訴待升級(jí)網(wǎng)絡(luò)設(shè)備需要升級(jí)哪些內(nèi)容。
[0054](1.3)根據(jù)TFTP服務(wù)器的IP地址獲取它的MAC地址。TFTP服務(wù)器可以是升級(jí)服務(wù)器本身也可以是局域網(wǎng)中的其他主機(jī)。
[0055](1.4)將信息封裝到升級(jí)通知報(bào)文中,廣播給局域網(wǎng)中的所有待升級(jí)網(wǎng)絡(luò)設(shè)備。
[0056]在一種優(yōu)選的實(shí)施方式中,所述的步驟(2)具體包括以下步驟:
[0057](2.1)待升級(jí)的網(wǎng)絡(luò)設(shè)備啟動(dòng),在引導(dǎo)階段接受到服務(wù)器發(fā)出的通知報(bào)文后停止啟動(dòng)進(jìn)入升級(jí)模式。
[0058](2.2)待升級(jí)的網(wǎng)絡(luò)設(shè)備從服務(wù)器的廣播報(bào)文中解析出升級(jí)信息。包括需要升級(jí)的內(nèi)容和TFTP服務(wù)器的IP地址端口號(hào)和MAC地址。
[0