一種基于泛洪機(jī)制的軟件升級(jí)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于泛洪機(jī)制的軟件升級(jí)方法,適用于包含窄帶衛(wèi)星廣播信道的專用網(wǎng)絡(luò)。
【背景技術(shù)】
該專用網(wǎng)絡(luò)目前使用的軟件升級(jí)方式包括直接升級(jí)和間接升級(jí)兩種方式。當(dāng)網(wǎng)絡(luò)初始開(kāi)通時(shí),只能依靠直接升級(jí)的方式,直接升級(jí)要求人員與設(shè)備在一起,升級(jí)設(shè)備和被升級(jí)設(shè)備直接連接。間接升級(jí)在路由已通的情況下完成,遠(yuǎn)程連接升級(jí)。直接升級(jí)的成本太高,需要人員到現(xiàn)場(chǎng),間接升級(jí)不可靠,因?yàn)槁酚蓵r(shí)常不穩(wěn)定,導(dǎo)致升級(jí)不成功。
[0002]急需一種方法能夠在網(wǎng)絡(luò)物理鏈路連通的情況下,能夠?qū)崿F(xiàn)全網(wǎng)的軟件升級(jí)。由于網(wǎng)絡(luò)中可能包含窄帶衛(wèi)星廣播鏈路,必須考慮軟件升級(jí)功能在信道上的開(kāi)銷(xiāo)問(wèn)題,盡可能減少升級(jí)消息對(duì)廣播信道的使用。該方法不依賴于網(wǎng)絡(luò)路由,只需要物理鏈路連通,支持傳輸IP報(bào)文。
【發(fā)明內(nèi)容】
[0003]本發(fā)明提供了一種基于泛洪機(jī)制的軟件升級(jí)方法,通過(guò)對(duì)泛洪機(jī)制進(jìn)行改進(jìn)減小升級(jí)消息對(duì)窄帶衛(wèi)星廣播信道的占用。該方法包括:
使用基本的泛洪算法在有線互聯(lián)的區(qū)域內(nèi)進(jìn)行軟件升級(jí),連接衛(wèi)星的節(jié)點(diǎn)向升級(jí)源節(jié)點(diǎn)發(fā)起衛(wèi)星信道通知消息,由源節(jié)點(diǎn)選擇最先回復(fù)的節(jié)點(diǎn)作向衛(wèi)星信道升級(jí)節(jié)點(diǎn),通過(guò)衛(wèi)星信道將升級(jí)文件發(fā)送到其他區(qū)域。在其他區(qū)域內(nèi)部按照基本的泛洪算法完成軟件升級(jí)。
[0004]軟件升級(jí)人員在某一節(jié)點(diǎn)將升級(jí)文件上傳到連接的路由交換設(shè)備。路由交換設(shè)備向全網(wǎng)泛洪一個(gè)軟件升級(jí)請(qǐng)求消息,各節(jié)點(diǎn)采用基本的泛洪算法在區(qū)域內(nèi)轉(zhuǎn)發(fā)軟件升級(jí)請(qǐng)求消息。軟件升級(jí)請(qǐng)求消息中包含發(fā)起升級(jí)的源節(jié)點(diǎn)、升級(jí)文件的版本信息、升級(jí)文件的長(zhǎng)度、升級(jí)文件的整體校驗(yàn)信息。各節(jié)點(diǎn)記錄軟件升級(jí)請(qǐng)求消息的內(nèi)容,等待接收升級(jí)文件。
[0005]報(bào)文在網(wǎng)絡(luò)泛洪的時(shí)候,各節(jié)點(diǎn)記錄接收源節(jié)點(diǎn)報(bào)文的接口,形成確知路徑,下一次轉(zhuǎn)發(fā)到目的節(jié)點(diǎn)為該節(jié)點(diǎn)的報(bào)文時(shí),使用確知路徑轉(zhuǎn)發(fā),減少報(bào)文泛洪對(duì)信道的開(kāi)銷(xiāo)。同時(shí),各節(jié)點(diǎn)根據(jù)報(bào)文內(nèi)容判斷,不轉(zhuǎn)發(fā)報(bào)文到接收接口,從同一接口接收到了相同的報(bào)文不再向該接口轉(zhuǎn)發(fā)相同報(bào)文,避免形成環(huán)路。
[0006]連接了衛(wèi)星信道并且衛(wèi)星信道準(zhǔn)備好的節(jié)點(diǎn),向升級(jí)源節(jié)點(diǎn)發(fā)送衛(wèi)星信道通知消息,通知源節(jié)點(diǎn)本節(jié)點(diǎn)連接了衛(wèi)星信道。由源節(jié)點(diǎn)選擇最先返回的節(jié)點(diǎn)作為繼續(xù)向衛(wèi)星信道轉(zhuǎn)發(fā)升級(jí)文件的節(jié)點(diǎn),源節(jié)點(diǎn)向該節(jié)點(diǎn)發(fā)送衛(wèi)星信道升級(jí)消息。衛(wèi)星信道通知消息和衛(wèi)星信道升級(jí)消息指定接收的目的節(jié)點(diǎn),其他節(jié)點(diǎn)接收到消息之后,采用確知路徑轉(zhuǎn)發(fā)。通過(guò)指定節(jié)點(diǎn)向衛(wèi)星信道轉(zhuǎn)發(fā)消息,避免了同一區(qū)域內(nèi)的多個(gè)節(jié)點(diǎn)將消息發(fā)送到衛(wèi)星信道,浪費(fèi)信道資源。
[0007]軟件升級(jí)請(qǐng)求消息發(fā)送5秒后未收到衛(wèi)星信道通知消息,或者發(fā)送衛(wèi)星信道升級(jí)消息5秒之后,開(kāi)始發(fā)送升級(jí)文件消息。升級(jí)源節(jié)點(diǎn)將升級(jí)文件壓縮后分割成1400字節(jié)的報(bào)文,封裝報(bào)文頭部形成升級(jí)文件消息。升級(jí)文件消息中包含發(fā)送源節(jié)點(diǎn)、報(bào)文的序號(hào)、文件尾部標(biāo)識(shí)、報(bào)文內(nèi)容、報(bào)文的校驗(yàn)和。
[0008]網(wǎng)絡(luò)中的各節(jié)點(diǎn)將升級(jí)文件消息泛洪,衛(wèi)星信道升級(jí)節(jié)點(diǎn)向衛(wèi)星信道轉(zhuǎn)發(fā)升級(jí)文件消息。節(jié)點(diǎn)接收到升級(jí)文件消息后,對(duì)消息內(nèi)容中的升級(jí)報(bào)文進(jìn)行校驗(yàn),校驗(yàn)有效則存儲(chǔ)。當(dāng)文件尾部標(biāo)識(shí)被置位后,將所有的升級(jí)報(bào)文組裝成升級(jí)文件,對(duì)整個(gè)文件的長(zhǎng)度和校驗(yàn)進(jìn)行驗(yàn)證。單個(gè)報(bào)文校驗(yàn)不正確時(shí),丟棄報(bào)文,使用從其他接口接收的相同報(bào)文。如果所有接口接收的報(bào)文均不正確,則認(rèn)為本節(jié)點(diǎn)升級(jí)文件接收失敗。
[0009]接收到升級(jí)文件的節(jié)點(diǎn),將升級(jí)文件存儲(chǔ)到備份區(qū)域,然后試運(yùn)行該文件,運(yùn)行正常替換原有文件。
[0010]節(jié)點(diǎn)啟動(dòng)時(shí),向鄰居發(fā)起軟件版本請(qǐng)求消息攜帶本節(jié)點(diǎn)的軟件版本,如果鄰居節(jié)點(diǎn)的軟件版本不一致,則回復(fù)軟件版本響應(yīng)消息。收到軟件版本響應(yīng)消息后,軟件版本低的節(jié)點(diǎn)向軟件版本高的節(jié)點(diǎn)發(fā)起升級(jí)文件請(qǐng)求消息,高版本節(jié)點(diǎn)發(fā)送升級(jí)文件給請(qǐng)求節(jié)點(diǎn)。
[0011]本發(fā)明的有益技術(shù)效果是:該方法采用改進(jìn)的泛洪機(jī)制實(shí)現(xiàn)專用網(wǎng)絡(luò)的軟件升級(jí)功能,支持跨區(qū)域的網(wǎng)絡(luò)設(shè)備軟件升級(jí),只需滿足物理鏈路正常連接,支持IP報(bào)文傳輸即可,不再依靠直接升級(jí)和依托于路由遠(yuǎn)程升級(jí)。該方法能夠最大限度的節(jié)省窄帶衛(wèi)星廣播信道的資源,實(shí)現(xiàn)升級(jí)文件在全網(wǎng)的共享,保證所有節(jié)點(diǎn)軟件版本一致。
【附圖說(shuō)明】
[0012]圖1、網(wǎng)絡(luò)拓?fù)涫疽鈭D;
圖2、報(bào)文傳播流程;
圖3、報(bào)文封裝格式。
【具體實(shí)施方式】
[0013]為了實(shí)現(xiàn)專用網(wǎng)絡(luò)的軟件升級(jí)功能,需要處理以下三個(gè)方面的內(nèi)容。
[0014]泛洪算法的實(shí)現(xiàn)及改進(jìn),減少泛洪消息占用窄帶衛(wèi)星廣播信道的資源。具體步驟實(shí)施如下:
1.有線連接區(qū)域內(nèi)的節(jié)點(diǎn)采用基本的泛洪算法向鄰居節(jié)點(diǎn)轉(zhuǎn)發(fā)消息
2.連接衛(wèi)星信道且信道正常的節(jié)點(diǎn)向軟件升級(jí)源節(jié)點(diǎn)發(fā)送衛(wèi)星信道通知消息
3.軟件升級(jí)源節(jié)點(diǎn)選擇最先收到衛(wèi)星信道通知消息的節(jié)點(diǎn)作為向衛(wèi)星信道升級(jí)節(jié)點(diǎn)
4.軟件升級(jí)源節(jié)點(diǎn)向衛(wèi)星信道升級(jí)節(jié)點(diǎn)發(fā)送衛(wèi)星信道升級(jí)消息
5.接收到衛(wèi)星信道升級(jí)消息的節(jié)點(diǎn),向衛(wèi)星信道轉(zhuǎn)發(fā)消息
6.從衛(wèi)星信道接收到消息的節(jié)點(diǎn),在有線連接的區(qū)域內(nèi)采用基本的泛洪算法轉(zhuǎn)發(fā)升級(jí)消息
升級(jí)文件的處理:
1.軟件升級(jí)的源節(jié)點(diǎn)將升級(jí)文件上傳到連接的路由交換設(shè)備
2.路由交換設(shè)備將升級(jí)文件壓縮后,分割成升級(jí)報(bào)文組裝消息對(duì)外發(fā)送
3.各節(jié)點(diǎn)將接收到的合法升級(jí)報(bào)文組裝成升級(jí)文件,校驗(yàn)正確后存儲(chǔ)到備份區(qū)域
4.設(shè)備試運(yùn)行升級(jí)文件,試運(yùn)行正常,替換原有文件設(shè)備啟動(dòng)的處理流程:
1.設(shè)備啟動(dòng)時(shí),向鄰居發(fā)起軟件版本請(qǐng)求消息,攜帶自己的軟件版本
2.接收到軟件版本請(qǐng)求消息的節(jié)點(diǎn),如果軟件版本不一致回復(fù)軟件版本響應(yīng)消息3.接收到軟件版本響應(yīng)消息后,低版本的節(jié)點(diǎn)向高版本的節(jié)點(diǎn)發(fā)起升級(jí)文件請(qǐng)求消息
4.接收到升級(jí)文件請(qǐng)求消息的節(jié)點(diǎn)發(fā)送升級(jí)文件給請(qǐng)求節(jié)點(diǎn)。
【主權(quán)項(xiàng)】
1.一種基于泛洪機(jī)制的軟件升級(jí)方法,其特征在于:通過(guò)基本泛洪算法在區(qū)域內(nèi)完成軟件升級(jí),采用改進(jìn)的泛洪算法在區(qū)域之間通過(guò)窄帶衛(wèi)星廣播信道完成軟件升級(jí);節(jié)點(diǎn)啟動(dòng)時(shí)與鄰居節(jié)點(diǎn)比較軟件版本,軟件版本不一致時(shí),低版本節(jié)點(diǎn)向高版本節(jié)點(diǎn)請(qǐng)求升級(jí)文件,高版本節(jié)點(diǎn)下發(fā)升級(jí)文件給低版本節(jié)點(diǎn)。
2.根據(jù)權(quán)利要求1所述的軟件升級(jí)方法,其特征在于: 1)采用基本的泛洪算法完成區(qū)域內(nèi)的軟件升級(jí),節(jié)點(diǎn)之間的泛洪消息使用IP組播方式發(fā)送,節(jié)點(diǎn)接收到泛洪消息后,根據(jù)消息內(nèi)容判斷是否需要繼續(xù)轉(zhuǎn)發(fā)和轉(zhuǎn)發(fā)至哪些接口,防止環(huán)路產(chǎn)生; 2)由區(qū)域內(nèi)連接衛(wèi)星信道且信道正常的節(jié)點(diǎn)告知升級(jí)源節(jié)點(diǎn),升級(jí)源節(jié)點(diǎn)選擇最先返回的節(jié)點(diǎn)作為衛(wèi)星信道升級(jí)節(jié)點(diǎn); 3)節(jié)點(diǎn)啟動(dòng)時(shí),與鄰居節(jié)點(diǎn)比較軟件版本; 4)軟件版本不一致時(shí),低版本節(jié)點(diǎn)向高版本節(jié)點(diǎn)請(qǐng)求升級(jí)文件,高版本節(jié)點(diǎn)下發(fā)升級(jí)文件給低版本節(jié)點(diǎn); 5)升級(jí)源節(jié)點(diǎn)將升級(jí)文件壓縮后分割成1400字節(jié)的報(bào)文,封裝成升級(jí)文件消息對(duì)外泛洪,其他節(jié)點(diǎn)接收后校驗(yàn)報(bào)文,然后組裝成升級(jí)文件,存放到備份區(qū)域; 6)節(jié)點(diǎn)試運(yùn)行升級(jí)文件,試運(yùn)行正常替換原有文件。
3.根據(jù)權(quán)利要求2所述的軟件升級(jí)方法,其特征在于:步驟I)中,只需要物理鏈路連通,支持傳輸IP報(bào)文,節(jié)點(diǎn)之間即可泛洪消息,接收到消息的接口不再將相同的消息轉(zhuǎn)發(fā)至接收接口,不再轉(zhuǎn)發(fā)消息至接收過(guò)相同消息的接口,避免環(huán)路產(chǎn)生。
4.根據(jù)權(quán)利要求2所述的軟件升級(jí)方法,其特征在于:步驟2)中,連接衛(wèi)星的節(jié)點(diǎn)先不轉(zhuǎn)發(fā)消息到衛(wèi)星信道,給軟件升級(jí)源節(jié)點(diǎn)發(fā)送衛(wèi)星信道通知消息,由升級(jí)源節(jié)點(diǎn)選擇最先回復(fù)的節(jié)點(diǎn)作為衛(wèi)星信道升級(jí)節(jié)點(diǎn),通過(guò)衛(wèi)星信道向其他區(qū)域轉(zhuǎn)發(fā)消息,避免同一區(qū)域多個(gè)節(jié)點(diǎn)向衛(wèi)星信道發(fā)送消息造成資源浪費(fèi)。
5.根據(jù)權(quán)利要求2所述的軟件升級(jí)方法,其特征在于:步驟3)中,節(jié)點(diǎn)啟動(dòng)時(shí),向鄰居節(jié)點(diǎn)發(fā)起軟件版本請(qǐng)求消息,消息中攜帶本節(jié)點(diǎn)的軟件版本,接收到的節(jié)點(diǎn)軟件版本不一致時(shí)回復(fù)軟件版本響應(yīng)消息,減少衛(wèi)星廣播信道上報(bào)文數(shù)量。
6.根據(jù)權(quán)利要求2所述的軟件升級(jí)方法,其特征在于:步驟4)中,軟件版本不一致時(shí),選擇從其中的一個(gè)高版本節(jié)點(diǎn)請(qǐng)求升級(jí)文件,避免多高版本節(jié)點(diǎn)同時(shí)下發(fā)升級(jí)文件。
【專利摘要】本發(fā)明公開(kāi)了一種基于改進(jìn)的泛洪機(jī)制實(shí)現(xiàn)的軟件升級(jí)方法。該方法包括:采用基本的泛洪算法完成區(qū)域內(nèi)的軟件升級(jí),連接衛(wèi)星的節(jié)點(diǎn)向升級(jí)源節(jié)點(diǎn)返回衛(wèi)星信道通知消息,源節(jié)點(diǎn)選擇最先返回的節(jié)點(diǎn)向其他區(qū)域轉(zhuǎn)發(fā)升級(jí)文件,保證區(qū)域內(nèi)只有一個(gè)節(jié)點(diǎn)向衛(wèi)星信道轉(zhuǎn)發(fā)消息。節(jié)點(diǎn)啟動(dòng)時(shí)與鄰居節(jié)點(diǎn)之間比較軟件版本,低版本的節(jié)點(diǎn)向高版本的節(jié)點(diǎn)請(qǐng)求升級(jí)文件,高版本的節(jié)點(diǎn)下發(fā)升級(jí)文件給低版本的節(jié)點(diǎn)。該方法支持跨區(qū)域的網(wǎng)絡(luò)設(shè)備軟件升級(jí)功能,只需滿足物理鏈路正常能夠傳輸IP報(bào)文即可,不再依靠就近直接升級(jí)和依托于路由遠(yuǎn)程升級(jí),能夠最大限度的節(jié)省窄帶衛(wèi)星廣播信道的資源,實(shí)現(xiàn)升級(jí)文件在全網(wǎng)的共享,保證網(wǎng)絡(luò)所有節(jié)點(diǎn)軟件版本一致。
【IPC分類(lèi)】H04B7-185, G06F9-445
【公開(kāi)號(hào)】CN104834540
【申請(qǐng)?zhí)枴緾N201510135363
【發(fā)明人】蔣元兵, 劉先橋, 王楊, 王凱, 王波, 陳量
【申請(qǐng)人】重慶金美通信有限責(zé)任公司
【公開(kāi)日】2015年8月12日
【申請(qǐng)日】2015年3月26日