專利名稱:實現(xiàn)遠程軟件升級的系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及遠程管理技術(shù)領(lǐng)域,具體涉及一種實現(xiàn)遠程軟件升級的系統(tǒng)及方法。
背景技術(shù):
IPTV(網(wǎng)絡(luò)電視)是一種利用寬帶有線電視網(wǎng),集互聯(lián)網(wǎng)、多媒體、通訊等多種技術(shù)于一體,向用戶提供包括數(shù)字電視在內(nèi)的多種交互式服務(wù)的嶄新技術(shù)。IPTV是互聯(lián)網(wǎng)與傳統(tǒng)電視相互融合的結(jié)果,視頻流經(jīng)過高效的壓縮編碼后被廣播到IP網(wǎng)絡(luò)上,通過位于寬帶網(wǎng)絡(luò)邊緣的IP電視頭端設(shè)備把直播電視、按需視頻和個人錄像等IPTV服務(wù)傳送給用戶。用戶可以有兩種方式享受IPTV服務(wù)計算機;網(wǎng)絡(luò)機頂盒+普通電視機。它能夠很好地適應(yīng)當今網(wǎng)絡(luò)飛速發(fā)展的趨勢,充分有效地利用網(wǎng)絡(luò)資源。
IPTV(網(wǎng)絡(luò)電視)中遠程管理系統(tǒng)以家庭網(wǎng)絡(luò)為基礎(chǔ),家庭網(wǎng)絡(luò)中的任何一臺設(shè)備都是被管理的對象,該系統(tǒng)主要是由頭端的管理服務(wù)器和終端的數(shù)個被管理的設(shè)備組成。IPTV中的遠程管理系統(tǒng)要求頭端的管理服務(wù)器和終端的被管理設(shè)備間能夠互相操作,進行特定軟件的升級,獲得特定客戶端主機的配置信息、設(shè)備信息,通過RMS(區(qū)域管理系統(tǒng))對客戶端主機進行配置參數(shù)管理和設(shè)備管理,根據(jù)所獲得的信息,進行遠程排錯等功能。
數(shù)字電視機頂盒的軟件系統(tǒng)是一種基于嵌入式操作系統(tǒng)的嵌入式軟件系統(tǒng)。在實際使用中,為了解決軟件中存在的問題,提高機頂盒運行性能,進一步擴展機頂盒的功能,需要對機頂盒的軟件系統(tǒng)及時進行更新。目前,對機頂盒的軟件遠程更新的方式是利用網(wǎng)絡(luò)中數(shù)據(jù)廣播(含有待更新軟件程序)進行在線升級。比如,EuroLoader,其利用數(shù)字電視中普遍使用的廣播,DSM-CC(Digital Stroage Media Command and Control,數(shù)字媒體存儲命令和控制)等數(shù)據(jù)下發(fā)技術(shù)。這種方法雖然比較好地與數(shù)字電視的傳輸機制相融合,但是下發(fā)方式不夠靈活,同時依賴于業(yè)務(wù)信息、DSM-CC等數(shù)字電視特有的元素,只能進行廣播方式的軟件更新,沒有相應(yīng)的更新策略支持,也沒有與DNG(Delivery network gateway,傳輸網(wǎng)網(wǎng)關(guān))相互結(jié)合。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種實現(xiàn)遠程軟件升級的系統(tǒng),以使對設(shè)備的遠程管理更靈活、方便,保持網(wǎng)絡(luò)中設(shè)備所運行的軟件版本始終保持最新,提高設(shè)備性能。
本發(fā)明的另一個目的是提供一種實現(xiàn)遠程軟件升級的方法,以建立靈活的下發(fā)方式,滿足IPTV對軟件升級多節(jié)點、多時間、盡量占用較少的接入網(wǎng)帶寬的要求。
為此,本發(fā)明提供如下的技術(shù)方案一種實現(xiàn)遠程軟件升級的系統(tǒng),所述系統(tǒng)包括遠程管理服務(wù)器、傳輸網(wǎng)網(wǎng)關(guān)和至少一個本地客戶端設(shè)備,所述本地客戶端設(shè)備通過所述傳輸網(wǎng)網(wǎng)關(guān)與所述遠程管理服務(wù)器進行信息交互,獲取軟件更新信息,并完成其軟件更新。
所述遠程管理服務(wù)器包括軟件存儲單元,用于存儲升級的軟件版本信息及軟件壓縮包;升級控制器,用于從所述軟件存儲單元獲取本地客戶端設(shè)備需要升級的軟件壓縮包,并通過所述傳輸網(wǎng)網(wǎng)關(guān)發(fā)送給所述本地客戶端設(shè)備。
優(yōu)選地,所述遠程管理服務(wù)器進一步包括升級策略定制器,用于制定并向所述升級控制器提供軟件升級策略。
所述升級策略定制器制定的軟件升級策略包括
根據(jù)所述本地客戶端設(shè)備的請求單播發(fā)送需要升級的軟件壓縮包,和/或由遠程管理服務(wù)器主動廣播/組播發(fā)送需要升級的軟件版本信息或軟件壓縮包。
可選地,所述升級控制器通過讀取所述升級策略定制器獲取軟件升級策略;或者由所述升級策略定制器將所述軟件升級策略發(fā)送給所述升級控制器。
所述傳輸網(wǎng)網(wǎng)關(guān)包括版本數(shù)據(jù)庫,用于存儲與所述傳輸網(wǎng)網(wǎng)關(guān)相連的所有本地客戶端設(shè)備上的軟件信息;升級決策單元,用于接收所述本地客戶端設(shè)備的升級請求,并根據(jù)該升級請求中的信息及所述版本數(shù)據(jù)庫中的信息決策是否從本地獲取升級軟件包,如果從本地獲取升級軟件包,則將其發(fā)送給所述本地客戶端設(shè)備,否則將所述升級請求消息轉(zhuǎn)發(fā)給所述遠程管理服務(wù)器,并接收其下發(fā)的升級軟件包,根據(jù)該升級軟件包的版本信息更新所述版本數(shù)據(jù)庫中的軟件信息,并將該軟件包的拷貝下發(fā)給所述本地客戶端設(shè)備,同時以廣播或組播或單播的方式發(fā)送給網(wǎng)絡(luò)內(nèi)其他的客戶端設(shè)備。
所述版本數(shù)據(jù)庫存儲的軟件信息至少包括軟件對應(yīng)的設(shè)備標識、軟件名稱、軟件版本號、本地存放路徑。
所述遠程管理服務(wù)器進一步包括版本檢測單元,與所述傳輸網(wǎng)網(wǎng)關(guān)相互通信,獲取所述本地客戶端設(shè)備當前的軟件版本號,并將獲取的軟件版本號傳送給所述升級控制器。
所述本地客戶端設(shè)備包括版本注冊單元,用于維護本本地客戶端設(shè)備上所有軟件的版本信息,并在所述本地客戶端設(shè)備開機時將本地版本信息注冊到所述版本數(shù)據(jù)庫中。
升級接口單元,用于發(fā)送升級請求到所述傳輸網(wǎng)網(wǎng)關(guān),同時接收從所述傳輸網(wǎng)網(wǎng)關(guān)傳送的升級軟件信息,并根據(jù)所述版本注冊單元存儲的版本信息判斷是否需要對本本地客戶端設(shè)備進行軟件升級;升級執(zhí)行單元,用于根據(jù)所述升級接口單元的指令對本本地客戶端設(shè)備進行軟件升級。
由所述傳輸網(wǎng)網(wǎng)關(guān)維護所述遠程管理服務(wù)器的地址。
一種實現(xiàn)遠程軟件升級的方法,所述方法包括步驟A、遠程管理服務(wù)器按預(yù)定方式將需要升級的軟件信息發(fā)送給傳輸網(wǎng)網(wǎng)關(guān);B、傳輸網(wǎng)網(wǎng)關(guān)根據(jù)收到的軟件信息更新本地存儲的客戶端設(shè)備軟件,并將需要更新的軟件的相關(guān)信息發(fā)送給需要升級的本地客戶端設(shè)備;C、本地客戶端設(shè)備根據(jù)收到的軟件的相關(guān)信息完成對本設(shè)備的升級過程。
可選地,所述預(yù)定方式具體為根據(jù)命令和/或定時組播發(fā)送,或者根據(jù)本地客戶端設(shè)備的升級請求單播發(fā)送。
所述步驟B包括所述傳輸網(wǎng)網(wǎng)關(guān)根據(jù)收到的軟件信息判斷其版本是否高于本地存儲的本地客戶端設(shè)備對應(yīng)軟件的版本;如果是,則用收到的軟件替換本地存儲的對應(yīng)軟件,并將收到的軟件的相關(guān)信息發(fā)送給需要升級的本地客戶端設(shè)備;如是不是,則將本地存儲的相應(yīng)軟件的相關(guān)信息發(fā)送給需要升級的本地客戶端設(shè)備。
可選地,所述傳輸網(wǎng)網(wǎng)關(guān)將需要更新的軟件的相關(guān)信息發(fā)送給需要升級的本地客戶端設(shè)備的步驟具體為通過廣播方式將所述需要更新的軟件的版本信息發(fā)送給網(wǎng)絡(luò)內(nèi)所有本地客戶端設(shè)備。
所述步驟C包括本地客戶端設(shè)備根據(jù)收到的軟件的版本信息及本設(shè)備上的相應(yīng)軟件版本號判斷是否需要對本設(shè)備進行升級;當需要對本設(shè)備進行升級時,向所述傳輸網(wǎng)網(wǎng)關(guān)發(fā)送升級請求;所述傳輸網(wǎng)網(wǎng)關(guān)根據(jù)收到的升級請求將需要更新的軟件數(shù)據(jù)以廣播或組播或單播的方式發(fā)送給請求升級的本地客戶端設(shè)備;所述本地客戶端設(shè)備根據(jù)收到的軟件數(shù)據(jù)更新本設(shè)備上的軟件,完成升級過程。
所述傳輸網(wǎng)網(wǎng)關(guān)根據(jù)收到的升級請求將需要更新的軟件數(shù)據(jù)發(fā)送給請求升級的本地客戶端設(shè)備的步驟包括所述傳輸網(wǎng)網(wǎng)關(guān)根據(jù)收到的升級請求獲取請求升級的軟件版本號;判斷本地是否有高于該軟件版本號的對應(yīng)軟件;如果有,則將本地的軟件數(shù)據(jù)發(fā)送給請求升級的本地客戶端設(shè)備;如果沒有,則將所述升級請求轉(zhuǎn)發(fā)給所述遠程管理服務(wù)器,并獲取遠程管理服務(wù)器下發(fā)的軟件數(shù)據(jù);用收到的軟件數(shù)據(jù)替換本地存儲的對應(yīng)軟件,并將收到的軟件數(shù)據(jù)發(fā)送給請求升級的本地客戶端設(shè)備。
所述傳輸網(wǎng)網(wǎng)關(guān)按以下方式將需要更新的軟件數(shù)據(jù)發(fā)送給請求升級的本地客戶端設(shè)備根據(jù)在預(yù)定時間內(nèi)收到的升級請求數(shù)目確定采用組播或廣播發(fā)送方式;將所述軟件數(shù)據(jù)封裝為組播或廣播數(shù)據(jù)包,并下發(fā)給特定的組播組或下發(fā)給網(wǎng)絡(luò)內(nèi)所有本地客戶端設(shè)備。
所述傳輸網(wǎng)網(wǎng)關(guān)根據(jù)收到的升級請求將所述軟件數(shù)據(jù)發(fā)送給請求升級的本地客戶端設(shè)備的步驟具體為根據(jù)收到的升級請求確定本地客戶端設(shè)備地址;
根據(jù)確定的本地客戶端設(shè)備地址將所述軟件數(shù)據(jù)封裝為單播數(shù)據(jù)包,并下發(fā)給所述本地客戶端設(shè)備。
可選地,所述傳輸網(wǎng)網(wǎng)關(guān)將需要更新的軟件的相關(guān)信息發(fā)送給需要升級的本地客戶端設(shè)備的步驟具體為通過廣播方式將所述需要更新的軟件數(shù)據(jù)發(fā)送給網(wǎng)絡(luò)內(nèi)所有本地客戶端設(shè)備。
由所述傳輸網(wǎng)網(wǎng)關(guān)維護所述遠程管理服務(wù)器的地址。
由以上本發(fā)明提供的技術(shù)方案可以看出,本發(fā)明通過傳輸網(wǎng)網(wǎng)關(guān)建立遠程管理服務(wù)器和本地客戶端設(shè)備之間的聯(lián)系,使其進行信息交互,從而實現(xiàn)客戶端設(shè)備的軟件更新,這種方式可以很好地滿足IPTV網(wǎng)絡(luò)設(shè)備對軟件升級的多節(jié)點、多時間的要求,使網(wǎng)絡(luò)內(nèi)部的所有客戶端設(shè)備的軟件版本保持最新。更進一步,通過靈活地設(shè)定單播和/或組播的軟件下發(fā)方式,方便了系統(tǒng)的應(yīng)用;通過在傳輸網(wǎng)網(wǎng)關(guān)上存儲軟件信息并對需要升級的軟件版本信息的檢查,有效地減少了接入網(wǎng)的數(shù)據(jù)流量,減輕了接入網(wǎng)的負擔。
圖1是本發(fā)明系統(tǒng)的原理框圖;圖2是本發(fā)明系統(tǒng)第一實施例的原理框圖;圖3是本發(fā)明系統(tǒng)第二實施例的原理框圖;圖4是本發(fā)明系統(tǒng)第三實施例的原理框圖;圖5是本發(fā)明系統(tǒng)中的遠程服務(wù)器運行流程;圖6是本發(fā)明系統(tǒng)中的傳輸網(wǎng)網(wǎng)關(guān)運行流程;圖7是傳輸網(wǎng)網(wǎng)關(guān)廣播下發(fā)數(shù)據(jù)包流程;圖8是傳輸網(wǎng)網(wǎng)關(guān)組播發(fā)送更新軟件的流程;圖9是傳輸網(wǎng)網(wǎng)關(guān)廣播發(fā)送更新軟件的流程;
圖10是本發(fā)明系統(tǒng)中的本地客戶端設(shè)備運行流程;圖11是本發(fā)明方法的實現(xiàn)流程;圖12是本地客戶端設(shè)備通過升級請求完成軟件升級的流程。
具體實施例方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和實施方式對本發(fā)明作進一步的詳細說明。
參照圖1所示本發(fā)明系統(tǒng)原理框圖該系統(tǒng)包括遠程管理服務(wù)器S1、傳輸網(wǎng)網(wǎng)關(guān)S2和一個或多個本地客戶端設(shè)備,在該圖中示出了兩個本地客戶端設(shè)備S3、S4。比如,在IPTV網(wǎng)絡(luò)中,本地客戶端設(shè)備可以是機頂盒、計算機、個人數(shù)字錄像機等設(shè)備。這些本地客戶端設(shè)備通過傳輸網(wǎng)網(wǎng)關(guān)S2與遠程管理服務(wù)器S1進行信息交互,從遠程管理服務(wù)器S1或者直接從傳輸網(wǎng)網(wǎng)關(guān)S2獲取需要升級的軟件壓縮包,完成對其軟件的更新。
遠程管理服務(wù)器S1與傳輸網(wǎng)網(wǎng)關(guān)S2通過IP網(wǎng)絡(luò)相連,傳輸網(wǎng)網(wǎng)關(guān)S2可以提供多種接入方式與本地客戶端設(shè)備相連,比如,有線、無線、遠紅外等方式。
在該系統(tǒng)中,由傳輸網(wǎng)網(wǎng)關(guān)管理遠程管理服務(wù)器的地址,這樣,遠程客戶端不需要了解遠程管理服務(wù)器的地址,只需知道傳輸網(wǎng)網(wǎng)關(guān)的地址即可實現(xiàn)向遠程管理服務(wù)器請求升級的軟件,并完成升級過程。
為了向本地客戶端設(shè)備提供有效的軟件信息,需要在遠程服務(wù)器S1中保存有各種本地客戶端所需的升級軟件信息,并通過一定的方式將相應(yīng)的升級軟件信息發(fā)送給需要升級的本地客戶端,以使其內(nèi)部的軟件版本保持最新。
參照圖2本發(fā)明系統(tǒng)第一實施例的原理框圖在遠程管理服務(wù)器S1中設(shè)置有軟件存儲單元S11和升級控制器S12。其中,軟件存儲單元S11用于存儲升級的軟件版本信息及軟件壓縮包。遠程管理服務(wù)器S1可以提供一個人機交互接口,通過該接口由管理人員直接對軟件存儲單元S11所存儲的軟件進行增加、刪除、修改等操作。可以通過軟件信息表的方式來存儲升級的軟件版本信息及軟件壓縮包,該軟件信息表至少包括軟件的名稱、版本號、軟件存儲地址。升級控制器S12用于從軟件存儲單元S11獲取本地客戶端設(shè)備需要升級的軟件壓縮包,并按一定的方式通過傳輸網(wǎng)網(wǎng)關(guān)發(fā)送給本地客戶端設(shè)備S3。比如,可以由本地客戶端設(shè)備通過請求來對其進行升級,此時,需要針對每個本地客戶端設(shè)備,通過單播的方式分別下發(fā)與其請求相應(yīng)的升級軟件壓縮包;還可以由遠程服務(wù)器請求對所有或部分或單個本地客戶端設(shè)備進行升級,此時就需要根據(jù)請求方式的不同采用廣播/組播/單播的方式下發(fā)相應(yīng)的升級軟件版本號信息或升級軟件壓縮包,使各本地客戶端設(shè)備根據(jù)自己的軟件信息進行選擇,完成軟件版本的更新。
為了使升級方式根據(jù)網(wǎng)絡(luò)及用戶需要,靈活、方便地進行設(shè)備,還可以在遠程服務(wù)器中設(shè)置一個升級策略定制器S13,以便由系統(tǒng)管理員根據(jù)需要制定軟件升級策略,并將該軟件升級策略提供給升級控制器S12,使其按照該升級策略進行相應(yīng)的控制。
同樣,可以由遠程管理服務(wù)器S1可以提供一個人機交互接口,通過該接口使系統(tǒng)管理員方便地進行策略定制。管理員可以定制如下策略(1)觸發(fā)單播發(fā)送的情況當由本地客戶端設(shè)備發(fā)起升級請求時,遠程管理服務(wù)器以單播形式發(fā)送軟件的壓縮包到發(fā)起請求的本地客戶端設(shè)備;(2)觸發(fā)組播的情況當由遠程管理服務(wù)器端發(fā)起升級請求時,以組播形式將軟件的壓縮包發(fā)送到約定的組播組內(nèi)。
管理員可以調(diào)整由遠程管理服務(wù)器端發(fā)起的軟件升級的頻率,如果網(wǎng)絡(luò)中設(shè)備變動比較頻繁,可以加大升級頻率;相應(yīng)地,如果網(wǎng)絡(luò)中設(shè)備變動不是很頻繁,則可以減小升級頻率。可以指定將升級軟件的信息發(fā)送給特定的IP地址;也可以指定接收特定IP地址的升級請求。
如果由遠程管理服務(wù)器端發(fā)起升級請求,則可以通過定時方式,也可以通過命令控制,立即進行升級。
升級策略定制器S13制定出升級策略后,將其保存在本地,提供接口,由升級控制器S12調(diào)用該接口來獲取升級策略;也可以由升級策略定制器S13定時將其發(fā)送給升級控制器S12。
為了提高本地客戶端設(shè)備的軟件升級效率,減少升級時下發(fā)升級軟件壓縮包的數(shù)據(jù)流量。也可以在傳輸網(wǎng)網(wǎng)關(guān)上建立一個版本數(shù)據(jù)庫,存儲與該傳輸網(wǎng)網(wǎng)關(guān)相連的所有本地客戶端設(shè)備上的當前軟件信息。當傳輸網(wǎng)網(wǎng)關(guān)收到本地客戶端設(shè)備的升級請求后,首先從本地來查找是否有相應(yīng)的升級軟件,如果有,則直接將其下發(fā)給該本地客戶端設(shè)備,而無需再將升級請求發(fā)送給遠程管理服務(wù)器,從而可以有效地減輕接入網(wǎng)的負擔。
參照圖3所示本發(fā)明系統(tǒng)的第二實施例原理框圖傳輸網(wǎng)網(wǎng)關(guān)S2包括版本數(shù)據(jù)庫S21和升級決策單元S22。其中,版本數(shù)據(jù)庫S21用于存儲與傳輸網(wǎng)網(wǎng)關(guān)S2相連的所有本地客戶端設(shè)備上的所有軟件信息。版本數(shù)據(jù)庫存儲的軟件信息至少包括軟件對應(yīng)的設(shè)備標識、軟件名稱、軟件版本號、本地存放路徑。當本地客戶端設(shè)備的軟件版本發(fā)生變化后,則根據(jù)本地客戶端發(fā)送過來的版本信息,更新其存儲的軟件信息數(shù)據(jù)。并且在遠程管理服務(wù)器向客戶端設(shè)備下發(fā)新的升級軟件后,由升級決策單元S22檢測該升級軟件的版本是否高于版本數(shù)據(jù)庫S21中相應(yīng)軟件的版本,如果是,則將該升級軟件進行拷貝存儲在本地,同時更新版本數(shù)據(jù)庫S21中的相應(yīng)軟件信息,以便在收到其他客戶端設(shè)備的升級請求后,直接根據(jù)該軟件數(shù)據(jù)信息對客戶端設(shè)備進行升級,而無需再將所述升級請求發(fā)送給遠程管理服務(wù)器S1,從而有效地節(jié)省接入網(wǎng)的帶寬。
升級決策單元S22用于接收本地客戶端設(shè)備的升級請求,并根據(jù)該升級請求中的信息及版本數(shù)據(jù)庫S21中的信息決策是否從本地獲取升級軟件包,如果從本地獲取升級軟件包,則將其發(fā)送給相應(yīng)的本地客戶端設(shè)備,否則將所述升級請求消息轉(zhuǎn)發(fā)給遠程管理服務(wù)器S1,并接收其下發(fā)的升級軟件包,根據(jù)該升級軟件包的版本信息更新版本數(shù)據(jù)庫中的軟件信息,并將該軟件包的拷貝下發(fā)給相應(yīng)的本地客戶端設(shè)備。
升級決策單元S22需要處理以下兩種過程(1)接收客戶端請求的處理過程升級決策單元S22接收本地客戶端設(shè)備發(fā)出的單播升級請求消息,首先根據(jù)該消息中的設(shè)備標識符和軟件名稱,在版本數(shù)據(jù)庫S21中進行查找,找到相應(yīng)的設(shè)備上特定軟件的版本號,與升級請求消息中的版本號相互比較。如果升級請求消息中的版本號比從版本數(shù)據(jù)庫S21中查找出來的版本低,則在版本數(shù)據(jù)庫S21中指定的特定版本軟件升級包的本地存放位置查找,如果查找成功,則將查找到的升級軟件包的拷貝以單播形式發(fā)送給請求升級的本地客戶端設(shè)備。否則,則將所述請求消息以單播形式發(fā)送給傳輸網(wǎng)網(wǎng)關(guān)S2上所指定的遠程管理服務(wù)器。如果消息中的版本號比從版本數(shù)據(jù)庫S21中查找出的版本高,也同樣轉(zhuǎn)發(fā)該請求消息到指定的遠程管理服務(wù)器。
(2)接收單播或者組播下發(fā)軟件壓縮包的處理過程升級決策單元S22還同時接收遠程管理服務(wù)器S1下發(fā)的軟件壓縮包,將軟件的版本號與本地存儲的相應(yīng)軟件的版本號進行比較,如果遠程管理服務(wù)器下發(fā)的軟件版本號比本地存儲的軟件版本號高,則修改版本數(shù)據(jù)庫S21中對應(yīng)的軟件的版本號,并用下發(fā)的軟件壓縮包替換掉本地存儲的對應(yīng)的軟件壓縮包;然后轉(zhuǎn)發(fā)該軟件壓縮包到指定的本地客戶端設(shè)備。
同時,升級決策單元S22還發(fā)送廣播數(shù)據(jù)包,數(shù)據(jù)包中封裝有更新后的軟件名稱和版本號信息。該廣播發(fā)送重復(fù)若干次,發(fā)送的次數(shù)和時間間隔可以預(yù)先設(shè)定。同時接受其他客戶端設(shè)備發(fā)來的關(guān)于該軟件的單播的升級請求。讀取升級請求中的客戶端地址信息,以此信息為目標地址信息組建數(shù)據(jù)包,包中包含更新的升級軟件壓縮包,并以單播或組播形式下發(fā)給指定客戶端設(shè)備。
如果遠程管理服務(wù)器S1下發(fā)的軟件壓縮包的版本比傳輸網(wǎng)網(wǎng)關(guān)本地存放的相應(yīng)軟件的版本低,則升級決策單元S22讀取遠程管理服務(wù)器S1下發(fā)的數(shù)據(jù)包中的目標設(shè)備的地址信息,同時丟棄該數(shù)據(jù)包。根據(jù)軟件名稱從本地的版本數(shù)據(jù)庫S21中獲取該軟件的本地存儲地址,從該存儲地址讀取出存儲在本地的軟件壓縮包,然后根據(jù)所獲得的目標地址信息,將該軟件壓縮包發(fā)送到指定的客戶端設(shè)備。
為了使遠程管理服務(wù)器更好地了解客戶端設(shè)備上的軟件版本信息,為需要升級的客戶端提供合適的升級軟件,還可以在遠程管理服務(wù)器S1上設(shè)置一個版本檢測單元S13,負責從傳輸網(wǎng)網(wǎng)關(guān)S2上獲取特定本地客戶端設(shè)備上的當前軟件版本號,并將獲取到的軟件版本號傳送給升級控制器S12。以使升級控制器S12根據(jù)預(yù)先確定的升級策略確定是否需要對本地客戶端設(shè)備進行升級。
參照圖4所示本發(fā)明第三實施例原理框圖本地客戶端設(shè)備S3包括升級接口單元S31、版本注冊單元S32、升級執(zhí)行單元S33。其中,版本注冊單元S32用于維護本客戶端上所有軟件的版本信息,并在設(shè)備開機時將本設(shè)備的軟件信息提供給版本數(shù)據(jù)庫S21。本地客戶端設(shè)備通過升級接口單元S31發(fā)送升級請求到傳輸網(wǎng)網(wǎng)關(guān)S2,同時接收從傳輸網(wǎng)網(wǎng)關(guān)S2傳送的升級軟件信息,并根據(jù)版本注冊單元存儲的版本信息判斷是否需要對本本地客戶端設(shè)備進行軟件升級。如果需要進行升級,則指示升級執(zhí)行單元S33完成對本設(shè)備的軟件升級過程。
下面分別對本發(fā)明系統(tǒng)中的遠程管理服務(wù)器、傳輸網(wǎng)網(wǎng)關(guān)及本地客戶端設(shè)備的工作過程進行詳細說明。
參照圖5所示本發(fā)明系統(tǒng)中的遠程服務(wù)器運行流程,包括以下步驟步驟501制定軟件升級策略,并等待滿足策略要求的條件出現(xiàn)。
步驟502判斷是否收到單播升級請求。如果收到,則轉(zhuǎn)到步驟503;否則,轉(zhuǎn)到步驟507。
步驟503根據(jù)制定的軟件升級策略判斷發(fā)出升級請求的客戶端設(shè)備是否被允許進行軟件更新。如果允許,則進到步驟504;否則,返回步驟501。
步驟504根據(jù)升級請求消息獲取請求升級的特定設(shè)備的特定軟件版本號。
步驟505判斷獲取的軟件版本號是否比本地存儲的升級壓縮包中的相應(yīng)軟件版本低。如果是,則轉(zhuǎn)到步驟506;否則,返回步驟501。
步驟506以單播方式將升級軟件壓縮包發(fā)送到指定的傳輸網(wǎng)網(wǎng)關(guān)上,然后,返回步驟501。
步驟507判斷是否滿足頭端定義的其他升級策略,這些策略包括但不限于是否到達指定的升級時間,是否管理員要立即發(fā)起升級行為等。如果滿足,則轉(zhuǎn)到步驟508;否則,返回步驟501。
步驟508組播發(fā)送特定的軟件升級壓縮包,然后,返回步驟501。
參照圖6所示本發(fā)明系統(tǒng)中的傳輸網(wǎng)網(wǎng)關(guān)運行流程,包括以下步驟步驟601從網(wǎng)絡(luò)接口上接收數(shù)據(jù)。
步驟602判斷接收的數(shù)據(jù)是否是客戶端設(shè)備的升級請求消息。如果是,則轉(zhuǎn)到步驟603;否則,轉(zhuǎn)到步驟607。
步驟603判斷從升級請求消息中取出的版本號是否比本機所存儲的相應(yīng)軟件的版本號低。如果是,則轉(zhuǎn)到步驟604;否則,轉(zhuǎn)到步驟611。
步驟604在本地查找升級軟件包,具體是根據(jù)版本號,在版本數(shù)據(jù)庫中查找到相應(yīng)軟件的存放路徑,然后到該路徑下去查找軟件。
步驟605判斷是否在該路徑下查找到該軟件。如果查找到,則轉(zhuǎn)到步驟606;否則,轉(zhuǎn)到步驟611。
步驟606將查找到的軟件壓縮包以單播方式發(fā)送到特定客戶端設(shè)備上,然后,返回步驟601。
步驟607判斷從網(wǎng)絡(luò)接口上接收的數(shù)據(jù)是否為遠程管理服務(wù)器下發(fā)的軟件。如果是,則轉(zhuǎn)到步驟608;否則,返回步驟601。
步驟608判斷收到軟件的版本號是否比本地存放的相應(yīng)軟件的版本號高。如果是,則轉(zhuǎn)到步驟609;否則,轉(zhuǎn)到步驟612。
步驟609更新本地版本數(shù)據(jù)庫中的版本信息,并且存儲該軟件的一份拷貝在指定路徑下,覆蓋原先的文件。同時將更新的版本號以及軟件名稱廣播發(fā)送到整個家庭網(wǎng)絡(luò)中。
步驟610發(fā)送該軟件到特定設(shè)備,然后返回步驟601。
步驟611發(fā)送該升級請求到指定的遠程管理服務(wù)器,然后返回步驟601。
步驟612用本地的軟件包替代下發(fā)的軟件包,保留目標設(shè)備的地址信息,然后轉(zhuǎn)到步驟610。
前面已經(jīng)提到,根據(jù)實際應(yīng)用需要,可以設(shè)定不同的升級策略。針對不同的升級策略,對升級軟件的信息下發(fā)方式也可以有多種,比如,由傳輸網(wǎng)網(wǎng)關(guān)廣播升級軟件的版本號信息,由客戶端設(shè)備根據(jù)廣播信息向傳輸網(wǎng)網(wǎng)關(guān)發(fā)送升級請求,然后再由傳輸網(wǎng)網(wǎng)關(guān)根據(jù)客戶端的請求將軟件壓縮包單播發(fā)送給該客戶端;也可以在廣播軟件版本信息后,等待一段時間,在此期間,如果接收到的用戶的更新請求數(shù)目達到一定值,則啟用廣播或者組播發(fā)送軟件壓縮包。或者直接廣播下發(fā)更新的軟件壓縮包,而無需事先下發(fā)軟件的版本信息。具體應(yīng)用時可根據(jù)實際需要來確定發(fā)送方式。下面分別詳細說明其流程。
圖7示出了傳輸網(wǎng)網(wǎng)關(guān)廣播下發(fā)數(shù)據(jù)包的流程,包括以下步驟步驟701通過升級決策模塊廣播更新軟件的版本號信息。
步驟702等待接收客戶端設(shè)備的升級請求消息。
步驟703判斷是否收到客戶端的升級請求消息。如果是,則轉(zhuǎn)到步驟704;否則,轉(zhuǎn)到步驟702。
步驟704獲取升級請求消息中的客戶端設(shè)備地址。
步驟705從版本數(shù)據(jù)庫中讀取升級軟件。
步驟706將步驟704中獲取的客戶端設(shè)備地址作為目標地址,將讀取的升級軟件封裝成單播數(shù)據(jù)包。
步驟707將封裝后的單播數(shù)據(jù)包發(fā)送給指定客戶端設(shè)備。
圖8示出了傳輸網(wǎng)網(wǎng)關(guān)組播發(fā)送更新軟件的流程,該流程表示在升級決策單元中設(shè)定用戶的等待時間,當?shù)却龝r間到達后,檢查是否獲得了指定數(shù)量的升級請求,如果達到或者超時,則向特定組播組內(nèi)發(fā)送升級軟件。該流程包括以下步驟步驟801通過升級決策模塊廣播更新軟件的版本號信息。
步驟802等待接收客戶端設(shè)備的升級請求消息。
步驟803判斷是否到達規(guī)定的等待時間。如果到達,則進到步驟804;否則,轉(zhuǎn)到步驟802。
步驟804判斷是否收到客戶端的升級請求消息。如果是,則轉(zhuǎn)到步驟805;否則,結(jié)束本次升級過程。
步驟805判斷收到的升級請求是否達到規(guī)定的請求數(shù)目。如果達到,則進到步驟806;否則,進到步驟809。
步驟806獲取特定組播組地址。
步驟807從版本數(shù)據(jù)庫中讀取升級軟件,并將其封裝成組播數(shù)據(jù)包。
步驟808將封裝后的組播數(shù)據(jù)包發(fā)送給特定組播組。然后,結(jié)束本次升級過程。
步驟809根據(jù)收到的請求依次獲取對應(yīng)的客戶端設(shè)備地址。
步驟810從版本數(shù)據(jù)庫中讀取升級軟件,并依次將其封裝成單播數(shù)據(jù)包。
步驟811將封裝后的單播數(shù)據(jù)包發(fā)送給指定客戶端設(shè)備。然后,結(jié)束本次升級過程。
圖9示出了傳輸網(wǎng)網(wǎng)關(guān)廣播發(fā)送更新軟件的流程,該流程表示在升級決策單元中設(shè)定用戶的等待時間,當?shù)却龝r間到達后,檢查是否獲得了指定數(shù)量的升級請求,如果達到或者超時,則以廣播方式向整個網(wǎng)絡(luò)中的客戶端發(fā)送升級軟件。該流程包括以下步驟步驟901通過升級決策模塊廣播更新軟件的版本號信息。
步驟902等待接收客戶端設(shè)備的升級請求消息。
步驟903判斷是否到達規(guī)定的等待時間。如果到達,則進到步驟904;否則,轉(zhuǎn)到步驟902。
步驟904判斷是否收到客戶端的升級請求消息。如果是,則轉(zhuǎn)到步驟905;否則,結(jié)束本次升級過程。
步驟905判斷收到的升級請求是否達到規(guī)定的請求數(shù)目。如果達到,則進到步驟906;否則,進到步驟908。
步驟906從版本數(shù)據(jù)庫中讀取升級軟件,并將其封裝成廣播數(shù)據(jù)包。
步驟907將封裝后的廣播數(shù)據(jù)包發(fā)送給整個網(wǎng)絡(luò)。然后,結(jié)束本次升級過程。
步驟908根據(jù)收到的請求依次獲取對應(yīng)的客戶端設(shè)備地址。
步驟909從版本數(shù)據(jù)庫中讀取升級軟件,并依次將其封裝成單播數(shù)據(jù)包。
步驟910將封裝后的單播數(shù)據(jù)包發(fā)送給指定客戶端設(shè)備。然后,結(jié)束本次升級過程。
圖10示出了本發(fā)明系統(tǒng)中的本地客戶端設(shè)備運行流程,包括以下步驟步驟101本地客戶端設(shè)備上的升級接口單元一直偵聽有無數(shù)據(jù)進來,其感興趣的數(shù)據(jù)包括但不限于單波下發(fā)的軟件更新包,組播下發(fā)的軟件更新包,廣播下發(fā)的版本更新信息。
步驟102判斷是否接收到軟件更新包。如果是,則轉(zhuǎn)到步驟103;否則,轉(zhuǎn)到步驟106。
步驟103讀取軟件升級包中的版本號。
步驟104判斷是否比本機上的該軟件的版本號高。如果是,則轉(zhuǎn)到步驟105;否則,返回步驟101。
步驟105接受該軟件升級包,并升級設(shè)備軟件,然后返回步驟101。
步驟106判斷是否是接收到版本更新的廣播信息。如果是,則轉(zhuǎn)到步驟107;否則,返回步驟101。
步驟107廣播信息中的版本號是否比本機該軟件的版本號高。如果是,則轉(zhuǎn)到步驟108;否則,返回步驟101。
步驟108發(fā)送單播升級請求到網(wǎng)絡(luò)中的傳輸網(wǎng)網(wǎng)關(guān),然后返回步驟101。
基于遠程管理服務(wù)器、傳輸網(wǎng)網(wǎng)關(guān)和至少一個本地客戶端設(shè)備所組成的系統(tǒng),本發(fā)明實現(xiàn)遠程軟件升級的方法的流程如圖11所示步驟111遠程管理服務(wù)器按預(yù)定方式將需要升級的軟件信息發(fā)送給傳輸網(wǎng)網(wǎng)關(guān)。
所述預(yù)定方式具體為根據(jù)命令和/或定時組播發(fā)送,或者根據(jù)本地客戶端設(shè)備的升級請求單播發(fā)送??梢栽诜?wù)器端提供人機接口,由管理員通過該接口并根據(jù)實際應(yīng)用需要進行設(shè)置。
步驟112當傳輸網(wǎng)網(wǎng)關(guān)接收到升級軟件包后,判斷其版本是否高于本地存儲的本地客戶端設(shè)備對應(yīng)軟件的版本。如果是,則轉(zhuǎn)到步驟113;否則,轉(zhuǎn)到步驟114。
步驟113用收到的軟件替換本地存儲的對應(yīng)軟件,并將收到的軟件的相關(guān)信息發(fā)送給需要升級的本地客戶端設(shè)備,然后,轉(zhuǎn)到步驟115。
步驟114將本地存儲的軟件的相關(guān)信息發(fā)送給需要升級的本地客戶端設(shè)備。
步驟115本地客戶端設(shè)備根據(jù)收到的軟件的相關(guān)信息完成對本設(shè)備的升級過程。
在上述傳輸網(wǎng)網(wǎng)關(guān)將需要更新的軟件的相關(guān)信息發(fā)送給需要升級的本地客戶端設(shè)備的步驟具體為通過廣播方式將需要更新的軟件的版本信息發(fā)送給網(wǎng)絡(luò)內(nèi)所有本地客戶端設(shè)備;或者通過廣播方式直接將需要更新的軟件數(shù)據(jù)發(fā)送給網(wǎng)絡(luò)內(nèi)所有本地客戶端設(shè)備。
如果本地客戶端設(shè)備收到的是升級軟件包,則根據(jù)自己當前的軟件版本信息,決定是否進行升級,如果需要升級,則直接用升級軟件包替換設(shè)備對應(yīng)的當前軟件,完成升級過程。如果本地客戶端設(shè)備收到的只是升級軟件的版本信息,本地客戶端設(shè)備還需要根據(jù)收到的軟件的版本信息及本設(shè)備上的相應(yīng)軟件版本號判斷是否需要對本設(shè)備進行升級;當需要對本設(shè)備進行升級時,向傳輸網(wǎng)網(wǎng)關(guān)發(fā)送升級請求,請求相應(yīng)的升級軟件數(shù)據(jù),來完成升級過程。
實現(xiàn)流程如圖12所示步驟121本地客戶端設(shè)備向傳輸網(wǎng)網(wǎng)關(guān)發(fā)送升級請求消息,在該請求中攜帶需要升級的設(shè)備標識、軟件名稱、版本號等信息。
步驟122傳輸網(wǎng)網(wǎng)關(guān)根據(jù)升級請求中的信息檢查本地是否有高于該軟件版本號的對應(yīng)軟件。如果有,則進到步驟123;否則,進到步驟124。
步驟123將本地的軟件數(shù)據(jù)發(fā)送給請求升級的本地客戶端設(shè)備,然后轉(zhuǎn)到步驟126。
步驟124將升級請求轉(zhuǎn)發(fā)給遠程管理服務(wù)器,并獲取遠程管理服務(wù)器下發(fā)的軟件數(shù)據(jù)。
傳輸網(wǎng)網(wǎng)關(guān)將升客戶端設(shè)備的升級請求轉(zhuǎn)發(fā)給遠程管理服務(wù)器后,遠程管理服務(wù)器也需要查找是否有比客戶端設(shè)備請求的軟件版本高的軟件包,如果有,則將其發(fā)送給傳輸網(wǎng)網(wǎng)關(guān),再由傳輸網(wǎng)網(wǎng)關(guān)下發(fā)給相應(yīng)的客戶端設(shè)備。如果沒有,則遠程管理服務(wù)器可以不響應(yīng)該請求。
傳輸網(wǎng)網(wǎng)關(guān)在進行升級軟件包下發(fā)時,可以有多種方式,將在后面詳細描述。
步驟125傳輸網(wǎng)網(wǎng)關(guān)用收到的軟件數(shù)據(jù)替換本地存儲的對應(yīng)軟件,并將收到的軟件數(shù)據(jù)發(fā)送給請求升級的本地客戶端設(shè)備。
步驟126本地客戶端設(shè)備根據(jù)收到的軟件數(shù)據(jù)更新本設(shè)備上的軟件,完成升級過程。
在上述過程中,傳輸網(wǎng)網(wǎng)關(guān)可以按以下方式將需要更新的軟件數(shù)據(jù)發(fā)送給請求升級的本地客戶端設(shè)備(1)根據(jù)在預(yù)定時間內(nèi)收到的升級請求確定組播組地址;根據(jù)確定的組播組地址將軟件數(shù)據(jù)封裝為組播數(shù)據(jù)包,并下發(fā)給所述組播組。
(2)當在預(yù)定時間內(nèi)收到的升級請求達到預(yù)定數(shù)目時,將軟件數(shù)據(jù)封裝為廣播數(shù)據(jù)包,并下發(fā)網(wǎng)絡(luò)內(nèi)所有本地客戶端設(shè)備。
(3)根據(jù)收到的升級請求確定本地客戶端設(shè)備地址;根據(jù)確定的本地客戶端設(shè)備地址將軟件數(shù)據(jù)封裝為單播數(shù)據(jù)包,并下發(fā)給本地客戶端設(shè)備。
本發(fā)明系統(tǒng)和方法可以適應(yīng)于多種網(wǎng)絡(luò)升級管理中,尤其是在IPTV網(wǎng)絡(luò)中,可以很好地適應(yīng)其客戶端眾多、更新時間不一致的情況。
例如,在家庭網(wǎng)絡(luò)中機頂盒的固件升級可以采用以下兩種實現(xiàn)場景1.升級服務(wù)器主動進行固件升級壓縮包下發(fā)(1)升級服務(wù)器根據(jù)已經(jīng)制定的策略,下發(fā)固件升級壓縮包到分發(fā)網(wǎng)網(wǎng)關(guān);(2)網(wǎng)關(guān)對照本地維護的固件版本數(shù)據(jù)庫,判斷本地是否有版本號更加大的版本;(3)如果沒有則網(wǎng)關(guān)把固件升級壓縮包發(fā)送到指定機頂盒上;(4)如果有,則把本地存儲的固件升級壓縮包發(fā)送到指定機頂盒上,同時按照以組播或者廣播的方式向家庭網(wǎng)絡(luò)中其他設(shè)備廣播。
2.家庭網(wǎng)絡(luò)中的機頂盒請求進行固件升級(1)機頂盒發(fā)送請求升級的消息,消息內(nèi)包含本機固件版本號;(2)網(wǎng)關(guān)接收到該消息,讀取消息中的版本號,與本地數(shù)據(jù)庫對比,判斷本地是否有該機頂盒需要的固件升級壓縮包;(3)如果有,則發(fā)送本地存儲的壓縮包到指定機頂盒,進行升級操作;(4)如果沒有,轉(zhuǎn)發(fā)到升級服務(wù)器。
(5)由升級服務(wù)器將固件升級壓縮包發(fā)送到指定機頂盒上,進行升級操作。
雖然通過實施例描繪了本發(fā)明,本領(lǐng)域普通技術(shù)人員知道,本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本發(fā)明的精神。
權(quán)利要求
1.一種實現(xiàn)遠程軟件升級的系統(tǒng),其特征在于,所述系統(tǒng)包括遠程管理服務(wù)器、傳輸網(wǎng)網(wǎng)關(guān)和至少一個本地客戶端設(shè)備,所述本地客戶端設(shè)備通過所述傳輸網(wǎng)網(wǎng)關(guān)與所述遠程管理服務(wù)器進行信息交互,獲取軟件更新信息,并完成其軟件更新。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述遠程管理服務(wù)器包括軟件存儲單元,用于存儲升級的軟件版本信息及軟件壓縮包;升級控制器,用于從所述軟件存儲單元獲取本地客戶端設(shè)備需要升級的軟件壓縮包,并通過所述傳輸網(wǎng)網(wǎng)關(guān)發(fā)送給所述本地客戶端設(shè)備。
3.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,所述遠程管理服務(wù)器進一步包括升級策略定制器,用于制定并向所述升級控制器提供軟件升級策略。
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其特征在于,所述升級策略定制器制定的軟件升級策略包括根據(jù)所述本地客戶端設(shè)備的請求單播發(fā)送需要升級的軟件壓縮包,和/或由遠程管理服務(wù)器主動廣播/組播發(fā)送需要升級的軟件版本信息或軟件壓縮包。
5.根據(jù)權(quán)利要求3所述的系統(tǒng),其特征在于,所述升級控制器通過讀取所述升級策略定制器獲取軟件升級策略;或者由所述升級策略定制器將所述軟件升級策略發(fā)送給所述升級控制器。
6.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述傳輸網(wǎng)網(wǎng)關(guān)包括版本數(shù)據(jù)庫,用于存儲與所述傳輸網(wǎng)網(wǎng)關(guān)相連的所有本地客戶端設(shè)備上的軟件信息;升級決策單元,用于接收所述本地客戶端設(shè)備的升級請求,并根據(jù)該升級請求中的信息及所述版本數(shù)據(jù)庫中的信息決策是否從本地獲取升級軟件包,如果從本地獲取升級軟件包,則將其發(fā)送給所述本地客戶端設(shè)備,否則將所述升級請求消息轉(zhuǎn)發(fā)給所述遠程管理服務(wù)器,并接收其下發(fā)的升級軟件包,根據(jù)該升級軟件包的版本信息更新所述版本數(shù)據(jù)庫中的軟件信息,并將該軟件包的拷貝下發(fā)給所述本地客戶端設(shè)備,同時以廣播或組播或單播的方式發(fā)送給網(wǎng)絡(luò)內(nèi)其他的客戶端設(shè)備。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述版本數(shù)據(jù)庫存儲的軟件信息至少包括軟件對應(yīng)的設(shè)備標識、軟件名稱、軟件版本號、本地存放路徑。
8.根據(jù)權(quán)利要求2至7任一項所述的系統(tǒng),其特征在于,所述遠程管理服務(wù)器進一步包括版本檢測單元,與所述傳輸網(wǎng)網(wǎng)關(guān)相互通信,獲取所述本地客戶端設(shè)備當前的軟件版本號,并將獲取的軟件版本號傳送給所述升級控制器。
9.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述本地客戶端設(shè)備包括版本注冊單元,用于維護本本地客戶端設(shè)備上所有軟件的版本信息,并在所述本地客戶端設(shè)備開機時將本地版本信息注冊到所述版本數(shù)據(jù)庫中。升級接口單元,用于發(fā)送升級請求到所述傳輸網(wǎng)網(wǎng)關(guān),同時接收從所述傳輸網(wǎng)網(wǎng)關(guān)傳送的升級軟件信息,并根據(jù)所述版本注冊單元存儲的版本信息判斷是否需要對本本地客戶端設(shè)備進行軟件升級;升級執(zhí)行單元,用于根據(jù)所述升級接口單元的指令對本本地客戶端設(shè)備進行軟件升級。
10.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,由所述傳輸網(wǎng)網(wǎng)關(guān)維護所述遠程管理服務(wù)器的地址。
11.一種基于權(quán)利要求1所述系統(tǒng)實現(xiàn)遠程軟件升級的方法,所述系統(tǒng)包括遠程管理服務(wù)器、傳輸網(wǎng)網(wǎng)關(guān)和至少一個本地客戶端設(shè)備,特征在于,所述方法包括步驟A、所述遠程管理服務(wù)器按預(yù)定方式將需要升級的軟件信息發(fā)送給所述傳輸網(wǎng)網(wǎng)關(guān);B、所述傳輸網(wǎng)網(wǎng)關(guān)根據(jù)收到的軟件信息更新本地存儲的客戶端設(shè)備軟件,并將需要更新的軟件的相關(guān)信息發(fā)送給需要升級的本地客戶端設(shè)備;C、所述本地客戶端設(shè)備根據(jù)收到的軟件的相關(guān)信息完成對本設(shè)備的升級過程。
12.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述預(yù)定方式具體為根據(jù)命令和/或定時組播發(fā)送,或者根據(jù)本地客戶端設(shè)備的升級請求單播發(fā)送。
13.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述步驟B包括所述傳輸網(wǎng)網(wǎng)關(guān)根據(jù)收到的軟件信息判斷其版本是否高于本地存儲的本地客戶端設(shè)備對應(yīng)軟件的版本;如果是,則用收到的軟件替換本地存儲的對應(yīng)軟件,并將收到的軟件的相關(guān)信息發(fā)送給需要升級的本地客戶端設(shè)備;如是不是,則將本地存儲的相應(yīng)軟件的相關(guān)信息發(fā)送給需要升級的本地客戶端設(shè)備。
14.根據(jù)權(quán)利要求11至13任一項所述的方法,其特征在于,所述傳輸網(wǎng)網(wǎng)關(guān)將需要更新的軟件的相關(guān)信息發(fā)送給需要升級的本地客戶端設(shè)備的步驟具體為通過廣播方式將所述需要更新的軟件的版本信息發(fā)送給網(wǎng)絡(luò)內(nèi)所有本地客戶端設(shè)備。
15.根據(jù)權(quán)利要求14所述的方法,其特征在于,所述步驟C包括本地客戶端設(shè)備根據(jù)收到的軟件的版本信息及本設(shè)備上的相應(yīng)軟件版本號判斷是否需要對本設(shè)備進行升級;當需要對本設(shè)備進行升級時,向所述傳輸網(wǎng)網(wǎng)關(guān)發(fā)送升級請求;所述傳輸網(wǎng)網(wǎng)關(guān)根據(jù)收到的升級請求將需要更新的軟件數(shù)據(jù)以廣播或組播或單播的方式發(fā)送給請求升級的本地客戶端設(shè)備;所述本地客戶端設(shè)備根據(jù)收到的軟件數(shù)據(jù)更新本設(shè)備上的軟件,完成升級過程。
16.根據(jù)權(quán)利要求15所述的方法,其特征在于,所述傳輸網(wǎng)網(wǎng)關(guān)根據(jù)收到的升級請求將需要更新的軟件數(shù)據(jù)發(fā)送給請求升級的本地客戶端設(shè)備的步驟包括所述傳輸網(wǎng)網(wǎng)關(guān)根據(jù)收到的升級請求獲取請求升級的軟件版本號;判斷本地是否有高于該軟件版本號的對應(yīng)軟件;如果有,則將本地的軟件數(shù)據(jù)發(fā)送給請求升級的本地客戶端設(shè)備;如果沒有,則將所述升級請求轉(zhuǎn)發(fā)給所述遠程管理服務(wù)器,并獲取遠程管理服務(wù)器下發(fā)的軟件數(shù)據(jù);用收到的軟件數(shù)據(jù)替換本地存儲的對應(yīng)軟件,并將收到的軟件數(shù)據(jù)發(fā)送給請求升級的本地客戶端設(shè)備。
17.根據(jù)權(quán)利要求15所述的方法,其特征在于,所述傳輸網(wǎng)網(wǎng)關(guān)按以下方式將需要更新的軟件數(shù)據(jù)發(fā)送給請求升級的本地客戶端設(shè)備根據(jù)在預(yù)定時間內(nèi)收到的升級請求數(shù)目確定采用組播或廣播發(fā)送方式;將所述軟件數(shù)據(jù)封裝為組播或廣播數(shù)據(jù)包,并下發(fā)給特定的組播組或下發(fā)給網(wǎng)絡(luò)內(nèi)所有本地客戶端設(shè)備。
18.根據(jù)權(quán)利要求15所述的方法,其特征在于,所述傳輸網(wǎng)網(wǎng)關(guān)根據(jù)收到的升級請求將所述軟件數(shù)據(jù)發(fā)送給請求升級的本地客戶端設(shè)備的步驟具體為根據(jù)收到的升級請求確定本地客戶端設(shè)備地址;根據(jù)確定的本地客戶端設(shè)備地址將所述軟件數(shù)據(jù)封裝為單播數(shù)據(jù)包,并下發(fā)給所述本地客戶端設(shè)備。
19.根據(jù)權(quán)利要求11至13任一項所述的方法,其特征在于,所述傳輸網(wǎng)網(wǎng)關(guān)將需要更新的軟件的相關(guān)信息發(fā)送給需要升級的本地客戶端設(shè)備的步驟具體為通過廣播方式將所述需要更新的軟件數(shù)據(jù)發(fā)送給網(wǎng)絡(luò)內(nèi)所有本地客戶端設(shè)備。
20.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述方法進一步包括由所述傳輸網(wǎng)網(wǎng)關(guān)維護所述遠程管理服務(wù)器的地址。
全文摘要
本發(fā)明公開了一種實現(xiàn)遠程軟件升級的系統(tǒng),所述系統(tǒng)包括遠程管理服務(wù)器、傳輸網(wǎng)網(wǎng)關(guān)和至少一個本地客戶端設(shè)備,本地客戶端設(shè)備通過傳輸網(wǎng)網(wǎng)關(guān)與遠程管理服務(wù)器進行信息交互,獲取軟件更新信息,并完成其軟件更新。本發(fā)明還公開了一種實現(xiàn)遠程軟件升級的方法,包括步驟遠程管理服務(wù)器按預(yù)定方式將需要升級的軟件信息發(fā)送給所述傳輸網(wǎng)網(wǎng)關(guān);傳輸網(wǎng)網(wǎng)關(guān)根據(jù)收到的軟件信息更新本地存儲的客戶端設(shè)備軟件,并將需要更新的軟件的相關(guān)信息發(fā)送給需要升級的本地客戶端設(shè)備;本地客戶端設(shè)備根據(jù)收到的軟件的相關(guān)信息完成對本設(shè)備的升級過程。利用本發(fā)明,可以建立靈活的軟件下發(fā)方式,使本地客戶端設(shè)備的軟件版本保持最新。
文檔編號H04L12/28GK101060427SQ200610076618
公開日2007年10月24日 申請日期2006年4月19日 優(yōu)先權(quán)日2006年4月19日
發(fā)明者顏俊賢, 陳莉 申請人:華為技術(shù)有限公司