本發(fā)明涉及固件升級技術領域,尤其涉及一種通信設備遠程固件升級方法及系統(tǒng)。
背景技術:
固件升級,指的是對硬件設備的內嵌固件進行升級。固件升級可以完善機器功能、增強機器穩(wěn)定性、修補機器漏洞。由于高版本常常修復低版本的部分BUG(漏洞),所以經(jīng)歷了固件升級的升級版本,一般都會比原版本的性能更好,得到優(yōu)化的效果,用戶也能有更好的體驗。
由于固件升級中升級的硬件設備往往是不夠智能的硬件設備,尤其是通信設備,難以像軟件升級的控制方式一般,在發(fā)布新版本之后,通過智能終端自動檢測版本信息,接收用戶輸入的更新指令,然后再進行更新。因此,對于通信設備無法自動檢測版本信息的情況下,需要通過人工的方式逐一到現(xiàn)場進行每個通信設備的升級控制,該方式人力成本高。
技術實現(xiàn)要素:
基于此,有必要提供一種節(jié)約人力成本的通信設備遠程固件升級方法及系統(tǒng)。
一種通信設備遠程固件升級方法,包括:
接收服務平臺發(fā)送的升級數(shù)據(jù)包;所述服務平臺發(fā)送的升級數(shù)據(jù)包,包括升級固件的固件代碼標識、版本號及第一校驗碼;
根據(jù)接收的升級數(shù)據(jù)包從所述服務平臺獲取所述固件代碼標識及所述版本號對應的固件,并對獲取的固件進行校驗得到第二校驗碼;
若所述第一校驗碼與所述第二校驗碼一致,則進行固件升級。
一種通信設備遠程固件升級系統(tǒng),其特征在于,包括通信設備;所述通信設備包括:
數(shù)據(jù)包接收模塊,用于接收服務平臺發(fā)送的升級數(shù)據(jù)包;所述服務平臺發(fā)送的升級數(shù)據(jù)包,包括升級固件的固件代碼標識、版本號及第一校驗碼;
校驗碼獲取模塊,用于根據(jù)接收的升級數(shù)據(jù)包從所述服務平臺獲取所述固件代碼標識及所述版本號對應的固件,并對獲取的固件進行校驗得到第二校驗碼;
固件升級模塊,用于若所述第一校驗碼與所述第二校驗碼一致,則進行固件升級。
上述通信設備遠程固件升級方法及系統(tǒng),接收服務平臺發(fā)送的升級數(shù)據(jù)包,根據(jù)接收的升級數(shù)據(jù)包獲取所述固件代碼標識及所述版本號對應的固件,并在獲取的固件通過檢驗時,進行固件升級。如此,實現(xiàn)通信設備的遠程固件升級,無需通過人工的方式逐一到現(xiàn)場進行每個通信設備的固件升級。因此,該通信設備遠程固件升級方法及系統(tǒng)省去了專人親臨現(xiàn)場升級的麻煩,可以節(jié)約人力成本、提高升級效率。
附圖說明
圖1為一實施例的通信設備遠程固件升級方法的流程圖;
圖2為圖1的通信設備遠程固件升級方法的一個步驟的具體流程圖;
圖3為另一實施例的通信設備遠程固件升級方法的流程圖;
圖4為一實施例的通信設備遠程固件升級系統(tǒng)的結構圖;
圖5為圖4的通信設備遠程固件升級系統(tǒng)的一個模塊的單元結構圖;
圖6為另一實施例的通信設備遠程固件升級系統(tǒng)的結構圖。
具體實施方式
為了便于理解本發(fā)明,下面將參照相關附圖對本發(fā)明進行更全面的描述。附圖中給出了本發(fā)明的較佳的實施例。但是,本發(fā)明可以以許多不同的形式來實現(xiàn),并不限于本文所描述的實施例。相反地,提供這些實施例的目的是使對本發(fā)明的公開內容的理解更加透徹全面。
除非另有定義,本文所使用的所有的技術和科學術語與屬于本發(fā)明的技術領域的技術人員通常理解的含義相同。本文中在本發(fā)明的說明書中所使用的術語只是為了描述具體的實施例的目的,不是旨在于限制本發(fā)明。本文所使用的術語“或/及”包括一個或多個相關的所列項目的任意的和所有的組合。
為方便說明,首先介紹本發(fā)明的運行環(huán)境,包括交互平臺、服務平臺及通信設備。其中,服務平臺為存儲有升級固件及升級固件的固件信息、升級對象信息的服務器,優(yōu)選為云服務器,具體可以為GDCS(Gizwits Device Connection System,機智云設備接入系統(tǒng))服務器;交互平臺為提供用戶與服務平臺的交互服務的服務器,具體可以為GDMS(Gizwits Device Management System,機智云設備管理系統(tǒng))服務器;升級對象信息為通信設備的設備信息,設備信息包括通信設備的地址信息,優(yōu)選為MAC地址(MediaAccess Control或者Medium Access Control地址,媒體訪問控制,或稱為物理地址、硬件地址,用來定義網(wǎng)絡設備的位置)。通信設備是可以與交互平臺及服務平臺進行通信的設備。通信設備可以為WiFi(WIreless-FIdelity,無線保真)模塊,WiFi模塊存儲有實現(xiàn)具體通信功能的固件;可以理解地,通信設備中存儲有實現(xiàn)具體通信功能的固件。
如圖1所示,本發(fā)明一實施例的通信設備遠程固件升級方法,運行于通信設備上,包括:
S110:接收服務平臺發(fā)送的升級數(shù)據(jù)包。服務平臺發(fā)送的升級數(shù)據(jù)包,包括升級固件的固件代碼標識、版本號及第一校驗碼。
服務平臺根據(jù)升級對象信息以及升級固件的固件代碼標識、版本號及第一校驗碼,發(fā)送升級數(shù)據(jù)包至通信設備。其中,第一校驗碼為服務平臺對升級固件進行校驗得到的校驗碼。服務平臺將第一校驗碼及固件代碼標識、版本號封裝形成升級數(shù)據(jù)包,發(fā)送至升級對象信息對應的通信設備。通信設備接收該升級數(shù)據(jù)包。
具體地,服務平臺對升級固件進行校驗得到第一校驗碼;將升級數(shù)據(jù)信息,即第一校驗碼、升級固件的固件代碼標識及版本號,形成升級數(shù)據(jù)包,發(fā)送至MAC地址對應的通信設備。
S130:根據(jù)接收的升級數(shù)據(jù)包從服務平臺獲取固件代碼標識及版本號對應的固件,并對獲取的固件進行校驗得到第二校驗碼。
通信設備根據(jù)接收的升級數(shù)據(jù)包從服務平臺獲取固件代碼標識及版本號對應的固件,并對獲取的固件進行校驗得到第二校驗碼。
S150:若第一校驗碼與第二校驗碼一致,則進行固件升級。
如此,確定通信設備接收到的升級數(shù)據(jù)包中包含的服務平臺對升級固件進行校驗得到的第一校驗碼與通信設備接收到的升級固件并對其進行校驗得到的第二校驗碼一致,從而,確定接收到的升級數(shù)據(jù)包及升級固件無誤,通信設備便進行固件升級。
上述通信設備遠程固件升級方法,接收服務平臺發(fā)送的升級數(shù)據(jù)包,根據(jù)接收的升級數(shù)據(jù)包獲取固件代碼標識及版本號對應的固件,并在獲取的固件通過檢驗時,進行固件升級。如此,實現(xiàn)通信設備的遠程固件升級,無需通過人工的方式逐一到現(xiàn)場進行每個通信設備的固件升級。因此,該通信設備遠程固件升級方法省去了專人親臨現(xiàn)場升級的麻煩,可以節(jié)約人力成本、提高升級效率。
請參閱圖2,在其中一個實施例中,若第一校驗碼與第二校驗碼一致,則通信設備進行固件升級的步驟,包括:
S251:若第一校驗碼與第二校驗碼一致,將接收的升級數(shù)據(jù)包存儲至臨時存放區(qū),并運行初運行區(qū)中的固件。
S253:當獲取的固件是對自身進行升級的固件時,將獲取的固件存儲至升級后運行區(qū)。
S255:對升級后運行區(qū)中存儲的固件進行校驗得到第三校驗碼。
S257:當?shù)谌r灤a與第一校驗碼一致時,將臨時存儲區(qū)的升級數(shù)據(jù)包存儲至升級后運行區(qū),并切換至升級后運行區(qū)運行。
可以理解地,在本實施例中,通信設備包括初運行區(qū)、臨時存放區(qū)及升級后運行區(qū)。其中,初運行區(qū)為出廠時燒錄通信設備對應的固件的運行區(qū)域;升級后運行區(qū)為后續(xù)對通信設備進行升級之后,通信設備的運行區(qū)域;臨時存放區(qū)用于存儲一些臨時文件或數(shù)據(jù)。進一步地,當?shù)谝恍r灤a與第二校驗碼一致,將接收的升級數(shù)據(jù)包存儲至通信設備的臨時存放區(qū),并運行通信設備的初運行區(qū)中的固件,然后確定根據(jù)接收的升級數(shù)據(jù)包從服務平臺獲取固件代碼標識及版本號對應的固件是否為升級自身。在確定為升級自身時,通信設備進行固件升級。具體地,通信設備進行固件升級的步驟包括:通信設備將獲取的固件存儲至通信設備中的升級后運行區(qū);通信設備將通信設備中臨時存儲區(qū)的升級數(shù)據(jù)包存儲至升級后運行區(qū),并切換至升級后運行區(qū)運行。更具體地,通信設備將獲取的固件存儲至通信設備中的升級后運行區(qū)之后,對升級后運行區(qū)中存儲的固件進行校驗得到第三校驗碼;當?shù)谌r灤a與第一校驗碼一致時,通信設備將通信設備中臨時存儲區(qū)的升級數(shù)據(jù)包存儲至升級后運行區(qū),并切換至升級后運行區(qū)運行。如此,確保升級后運行區(qū)中存儲的固件的校驗碼與服務平臺發(fā)送至通信設備的升級數(shù)據(jù)包中的校驗碼一致,從而確保升級后運行區(qū)中的升級數(shù)據(jù)包及固件無誤,也即,保證傳輸?shù)臏蚀_性和成功率,才運行升級后運行區(qū),實現(xiàn)通信設備的遠程固件升級。
開始升級但未升級完成之前通信設備中運行的是初運行區(qū)的固件,當升級數(shù)據(jù)包及獲取的固件存儲至升級后運行區(qū)后,才切換至升級后運行區(qū)運行,如果升級數(shù)據(jù)包或/及獲取的固件未成功存儲至升級后運行區(qū),則保持運行初運行區(qū)的固件。如此,保證通信設備在因斷電或數(shù)據(jù)傳輸錯誤/失敗情況下通信設備仍能正常運行,提高了通信設備的魯棒性。
在其中一個具體實施例中,步驟S257,包括:
當?shù)谌r灤a與存儲在臨時存放區(qū)的第一校驗碼一致時,將臨時存儲區(qū)的升級數(shù)據(jù)包存儲至升級后運行區(qū);
當存儲至升級后運行區(qū)中的第一校驗碼與第三校驗碼一致時,切換至升級后運行區(qū)運行。
如此,保證升級后運行區(qū)中的第一校驗碼與升級后運行區(qū)中的固件的第三校驗碼一致,從而確保通信設備升級后運行區(qū)中的升級數(shù)據(jù)包及固件無誤。
優(yōu)選地,上述實施例中的校驗碼可以為MD5校驗碼。
通信設備可以通過固件代碼標識確定是否為升級自身。具體地,可以通過比對通信設備中當前運行固件的固件代碼標識是否與接收的升級數(shù)據(jù)包中的固件代碼標識一致來確定是否為升級自身。若一致,則為升級自身,否則不為升級自身。當確定為升級自身時,進行固件升級??梢岳斫獾兀ㄐ旁O備也可以通過設備標識確定是否為升級自身,即通過比對通信設備的設備標識與接收的升級數(shù)據(jù)包中的設備標識是否一致來確定是否為升級自身。
在其中一個實施例中,步驟S257之后,還包括:
當升級后運行區(qū)中的固件運行預設時間后未發(fā)生故障,則將升級后運行區(qū)中的固件發(fā)送到初級運行區(qū)進行存儲。從而不必每次固件升級后都返回到最初的版本完成升級過程。
請參閱圖3,在其中一個實施例中,接收服務平臺發(fā)送的升級數(shù)據(jù)包的步驟之前,還包括:
S304:交互平臺接收升級配置指令;升級配置指令包括升級固件的固件代碼標識、版本號及第一校驗碼。
交互平臺可以以建立升級任務的形式,接收升級配置指令。具體地,升級配置指令還可以包括升級完成時間、固件數(shù)量等。
S305:交互平臺根據(jù)升級配置指令,發(fā)送升級數(shù)據(jù)信息至服務平臺;升級數(shù)據(jù)信息包括升級固件的固件代碼標識、版本號及第一校驗碼。
交互平臺可以以發(fā)送升級任務至服務平臺的形式,發(fā)送升級數(shù)據(jù)信息至服務平臺。具體地,升級數(shù)據(jù)信息還可以包括升級完成時間、固件數(shù)量等。
S306:服務平臺根據(jù)接收的升級數(shù)據(jù)信息中的固件代碼標識、版本號,獲取升級對象信息。
可以理解地,服務平臺是存儲有升級固件的固件信息、升級對象信息的服務器。其中,固件信息包括固件代碼標識、版本號、固件大??;具體地,固件代碼標識可以為固件代碼名稱、固件代碼編號等。升級對象信息包括需要升級的通信設備的設備信息,設備信息包括MAC地址。進一步地,設備信息還可以包括設備標識或/及通信設備對應的固件的固件代碼標識。
S307:服務平臺根據(jù)升級對象信息及升級數(shù)據(jù)信息,發(fā)送升級數(shù)據(jù)包至通信設備。
可以理解地,升級數(shù)據(jù)包包括升級數(shù)據(jù)信息。具體地,根據(jù)升級數(shù)據(jù)信息形成升級數(shù)據(jù)包;根據(jù)升級對象信息將升級數(shù)據(jù)包發(fā)送至升級對象信息所對應的通信設備。
請繼續(xù)參閱圖3,在其中一個實施例中,為了使用戶可以通過交互平臺查看到升級結果,還包括:
S370:通信設備升級完成后,發(fā)送升級反饋信息至服務平臺。升級反饋信息包括升級完成后通信設備中當前運行固件的固件代碼標識及版本號。
S390:服務平臺接收到升級反饋信息后,根據(jù)當前運行固件的固件代碼標識及版本號與升級固件的固件代碼標識及版本號是否一致,確定升級結果,并將升級結果返回交互平臺。
具體地,當當前運行固件的固件代碼標識及版本號與升級固件的固件代碼標識及版本號一致時,升級結果為升級成功;當當前運行固件的固件代碼標識或版本號與升級固件的固件代碼標識或版本號不一致時,升級結果為升級失敗。
請繼續(xù)參閱圖3,在其中一個實施例中,為方便用戶在控制通信設備進行遠程固件升級時,方便地確定升級對象,交互平臺接收升級配置指令的步驟之前,還包括:
S301:交互平臺接收升級對象查詢指令,并根據(jù)升級對象查詢指令發(fā)送升級對象查詢請求至服務平臺。
升級對象查詢指令是用戶輸入至交互平臺、針對升級對象的查詢指令。具體地,升級對象查詢指令包括目標升級對象的固件代碼標識、版本號、條形碼、產(chǎn)品類型。如此,用戶無需記住每一個目標升級對象的具體MAC地址,便可以通過目標升級對象的固件代碼標識、版本號、條形碼及產(chǎn)品類型設置篩選條件,進而通過服務平臺查找到符合篩選條件的升級對象信息的集合,即升級對象集合信息??梢岳斫獾兀谄渲幸粋€具體實施例中,升級對象查詢請求可以包括該篩選條件。
S303:服務平臺根據(jù)升級對象查詢請求返回升級對象集合信息至交互平臺。
服務平臺根據(jù)升級對象查詢請求,查詢對應的升級對象集合信息,并將查詢到的升級對象集合信息返回至交互平臺,以使用戶可以根據(jù)交互平臺上的升級對象集合信息輸入升級配置指令。
在本實施例中,交互平臺接收升級配置指令的步驟為,S304:交互平臺在升級對象集合信息的基礎上,接收升級配置指令。
基于服務平臺返回的升級對象集合信息,交互平臺接收升級配置指令??梢岳斫獾兀壟渲弥噶钪邪ㄉ墝ο笮畔?。如,具體地,升級配置指令中可以包含升級對象的固件代碼標識。
請參閱圖4,一種通信設備遠程固件升級系統(tǒng),包括通信設備;通信設備包括:
數(shù)據(jù)包接收模塊410,用于接收服務平臺發(fā)送的升級數(shù)據(jù)包;服務平臺發(fā)送的升級數(shù)據(jù)包,包括升級固件的固件代碼標識、版本號及第一校驗碼;
校驗碼獲取模塊430,用于根據(jù)接收的升級數(shù)據(jù)包從服務平臺獲取固件代碼標識及版本號對應的固件,并對獲取的固件進行校驗得到第二校驗碼;
固件升級模塊450,用于若第一校驗碼與第二校驗碼一致,則進行固件升級。
上述通信設備遠程固件升級系統(tǒng),可以實現(xiàn)通信設備的遠程固件升級,無需通過人工的方式逐一到現(xiàn)場進行每個硬件設備的升級控制,因此,該通信設備遠程固件升級系統(tǒng)省去了專人親臨現(xiàn)場升級的麻煩,可以節(jié)約人力成本、提高升級效率。
請參閱圖5,在其中一個實施例中,固件升級模塊450,包括:
數(shù)據(jù)包臨時存儲單元451,用于若第一校驗碼與第二校驗碼一致,將接收的升級數(shù)據(jù)包存儲至臨時存放區(qū),并運行初運行區(qū)中的固件;
固件升級存儲單元453,用于當獲取的固件是對自身進行升級的固件時,將獲取的固件存儲至升級后運行區(qū);
檢驗碼升級確定單元455,用于對升級后運行區(qū)中存儲的固件進行校驗得到第三校驗碼;
數(shù)據(jù)包升級存儲單元457,用于當?shù)谌r灤a與第一校驗碼一致時,將臨時存儲區(qū)的升級數(shù)據(jù)包存儲至升級后運行區(qū),并切換至升級后運行區(qū)運行。
請參閱圖6,在其中一個實施例中,通信設備遠程固件升級系統(tǒng),包括:交互平臺100、服務平臺200及通信設備400;交互平臺100包括配置指令接收模塊140、升級信息發(fā)送模塊150;服務平臺200包括對象信息獲取模塊260、升級數(shù)據(jù)包發(fā)送模塊270;
配置指令接收模塊140,用于接收升級配置指令;升級配置指令包括升級固件的固件代碼標識、版本號及第一校驗碼;
升級信息發(fā)送模塊150,用于根據(jù)升級配置指令,發(fā)送升級數(shù)據(jù)信息至服務平臺;升級數(shù)據(jù)信息包括升級固件的固件代碼標識、版本號及第一校驗碼;
對象信息獲取模塊260,用于根據(jù)接收的升級數(shù)據(jù)信息中的固件代碼標識、版本號,獲取升級對象信息;
升級數(shù)據(jù)包發(fā)送模塊270,用于根據(jù)升級對象信息及升級數(shù)據(jù)信息,發(fā)送升級數(shù)據(jù)包至通信設備。
進一步地,升級數(shù)據(jù)包發(fā)送模塊270,包括:
第一子單元(圖未示),用于當?shù)谌r灤a與存儲在臨時存放區(qū)的第一校驗碼一致時,將臨時存儲區(qū)的升級數(shù)據(jù)包存儲至升級后運行區(qū);
第二子單元(圖未示),用于當存儲至升級后運行區(qū)中的第一校驗碼與第三校驗碼一致時,切換至升級后運行區(qū)運行。
在其中一個實施例中,通信設備400還包括反饋信息發(fā)送模塊470;服務平臺還包括升級結果反饋模塊290;
反饋信息發(fā)送模塊470,用于在通信設備400升級完成后,發(fā)送升級反饋信息至服務平臺200;升級反饋信息包括升級完成后通信設備400中當前運行固件的固件代碼標識及版本號;
升級結果反饋模塊290,用于在接收到升級反饋信息后,根據(jù)當前運行固件的固件代碼標識及版本號與升級固件的固件代碼標識及版本號是否一致,確定升級結果,并將升級結果返回交互平臺100。
在其中一個實施例中,交互平臺100還包括查詢指令接收模塊101,服務平臺還包括對象信息返回模塊203;
查詢指令接收模塊101,用于接收升級對象查詢指令,并根據(jù)升級對象查詢指令發(fā)送升級對象查詢請求至服務平臺200;
對象信息返回模塊203,用于根據(jù)升級對象查詢請求返回升級對象集合信息至交互平臺100;
配置指令接收模塊410,用于在接收升級對象集合信息的基礎上,接收升級配置指令。
由于上述系統(tǒng)與上述方法對應,因此,對于系統(tǒng)的細節(jié)技術特征不再一一贅述。
以上實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對本發(fā)明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發(fā)明構思的前提下,還可以做出多個變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應以所附權利要求為準。