專利名稱:固件版本的升級(jí)方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種固件版本的升級(jí)方法及裝置。
背景技術(shù):
固件(也可以稱為固件版本)即寫(xiě)入可擦除只讀存儲(chǔ)器(EROM)或可擦除可編程 只讀存儲(chǔ)器(EPROM)中的程序,是一個(gè)系統(tǒng)最基礎(chǔ)最底層工作的軟件。為了改善設(shè)備的性能,或者糾正前期寫(xiě)入設(shè)備芯片中的固件版本的某些故障,固 件常常需要升級(jí)。固件升級(jí)的一般通過(guò)一個(gè)服務(wù)設(shè)備進(jìn)行(例如,PC,以下以PC為例進(jìn)行 說(shuō)明),把需要刷新的設(shè)備連接PC,用PC上的升級(jí)工具載入新的固件,點(diǎn)擊刷新,等待完成, 關(guān)閉升級(jí)工具,刷新結(jié)束。在現(xiàn)有技術(shù)中,最常用的升級(jí)方法就是用戶手動(dòng)的從指定的網(wǎng)站下載新的固件版 本,將其保存至本地電腦后,手動(dòng)運(yùn)行升級(jí)工具,升級(jí)固件版本。由于用戶并不知道何時(shí)指 定的網(wǎng)站會(huì)有更新的固件版本,因此,只能自行的鏈接到該網(wǎng)站進(jìn)行查找,這種升級(jí)固件版 本的方式對(duì)用戶而言是非常不方便的。針對(duì)這一問(wèn)題,在現(xiàn)有技術(shù)中,出現(xiàn)了一種解決方 案當(dāng)設(shè)備插入時(shí),與服務(wù)器進(jìn)行交互,檢測(cè)給定網(wǎng)站是否有該設(shè)備更新的固件版本文件, 若有,則將它下載到本地,然后升級(jí)到設(shè)備中,實(shí)現(xiàn)設(shè)備固件的升級(jí)。這種升級(jí)方式,雖然在一定程度上方便了用戶升級(jí)固件版本,但是,升級(jí)方式保證 在設(shè)備插入PC時(shí),PC的網(wǎng)絡(luò)連接是正常的,否則就無(wú)法實(shí)現(xiàn)升級(jí),降低了用戶的體驗(yàn)。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種固件版本的升級(jí)方法及裝置,以至少解決上述問(wèn)題。根據(jù)本發(fā)明的一個(gè)方面,提供了一種固件版本的升級(jí)方法,其特征在于包括服務(wù) 設(shè)備根據(jù)設(shè)備的信息從固件版本維護(hù)服務(wù)器下載所述設(shè)備的固件版本到本地,其中,所述 服務(wù)設(shè)備用于為所述設(shè)備提供固件版本升級(jí)服務(wù);檢測(cè)到所述設(shè)備連接至所述服務(wù)設(shè)備; 向所述設(shè)備發(fā)送本地保存的所述固件版本。優(yōu)選地,在向所述設(shè)備發(fā)送本地保存的固件版本之前,還包括確定所述服務(wù)設(shè)備 是否能夠與所述固件版本維護(hù)服務(wù)器連接;在不能情況下,向所述設(shè)備發(fā)送本地保存的所 述固件版本;在能的情況下,從所述固件版本維護(hù)服務(wù)器獲取固件版本,并將獲取到的固件 版本保存到本地后發(fā)送給所述設(shè)備。優(yōu)選地,所述服務(wù)設(shè)備根據(jù)所述設(shè)備的信息從所述固件版本維護(hù)服務(wù)器下載所述 設(shè)備的固件版本到本地包括在所述設(shè)備與所述服務(wù)設(shè)備連接過(guò)的情況下,所述服務(wù)設(shè)備 根據(jù)在所述設(shè)備與所述服務(wù)設(shè)備連接時(shí)獲取到的所述設(shè)備的信息從所述固件版本維護(hù)服 務(wù)器下載所述設(shè)備的固件版本。優(yōu)選地,所述服務(wù)設(shè)備根據(jù)本地保存的或者所述設(shè)備上已有的固件版本的信息從 所述固件版本維護(hù)服務(wù)器下載該固件版本的信息對(duì)應(yīng)的固件版本的升級(jí)版本。
優(yōu)選地,還包括所述服務(wù)設(shè)備在以下之一的情況下,將本地保存的固件版本刪 除所述服務(wù)設(shè)備下載到比本地保存的固件版本更新的固件版本;所述服務(wù)設(shè)備在預(yù)定時(shí) 長(zhǎng)內(nèi)未檢測(cè)到所述設(shè)備的連接;所述服務(wù)設(shè)備在將本地保存的固件版本發(fā)送給所述設(shè)備的 次數(shù)達(dá)到閾值。根據(jù)本發(fā)明的另一個(gè)方面,還提供了一種固件版本的升級(jí)裝置,位于為設(shè)備提供 固件版本升級(jí)服務(wù)的服務(wù)設(shè)備中,包括下載模塊,用于根據(jù)所述設(shè)備的信息從固件版本維 護(hù)服務(wù)器下載所述設(shè)備的固件版本到本地;檢測(cè)模塊,用于檢測(cè)所述設(shè)備連接至所述服務(wù) 設(shè)備;發(fā)送模塊,用于向所述設(shè)備發(fā)送本地保存的固件版本。優(yōu)選地,所述發(fā)送模塊用于在確定所述服務(wù)設(shè)備不能與所述固件版本維護(hù)服務(wù)器 連接的情況下,向所述設(shè)備發(fā)送本地保存的固件版本;并在確定所述服務(wù)設(shè)備能與所述固 件版本維護(hù)服務(wù)器連接的情況下,將從所述固件版本維護(hù)服務(wù)器獲取到的固件版本發(fā)送給 所述設(shè)備。優(yōu)選地,在所述設(shè)備與所述服務(wù)設(shè)備連接過(guò)的情況下,所述下載模塊用于根據(jù)在 所述設(shè)備與所述服務(wù)設(shè)備連接時(shí)獲取到的所述設(shè)備的信息下載所述設(shè)備的固件版本。優(yōu)選地,所述下載模塊用于根據(jù)本地保存的或者所述設(shè)備上已有的固件版本的信 息下載該固件版本的信息對(duì)應(yīng)的固件版本的升級(jí)版本。優(yōu)選地,上述裝置還包括刪除模塊,用于在以下至少之一的情況下,將本地保存 的固件版本刪除所述服務(wù)設(shè)備下載到比本地保存的固件版本更新的固件版本;所述服務(wù) 設(shè)備在預(yù)定時(shí)長(zhǎng)內(nèi)未檢測(cè)到所述設(shè)備的連接;所述服務(wù)設(shè)備在將本地保存的固件版本發(fā)送 給所述設(shè)備的次數(shù)達(dá)到閾值。通過(guò)本發(fā)明,采用服務(wù)設(shè)備根據(jù)設(shè)備的信息從固件版本維護(hù)服務(wù)器下載所述設(shè)備 的固件版本到本地,其中,所述服務(wù)設(shè)備用于為所述設(shè)備提供固件版本升級(jí)服務(wù);檢測(cè)到所 述設(shè)備連接至所述服務(wù)設(shè)備;向所述設(shè)備發(fā)送本地保存的固件版本。解決了現(xiàn)有技術(shù)中在 設(shè)備升級(jí)時(shí)PC的網(wǎng)絡(luò)連接必須正常,否則無(wú)法升級(jí)的問(wèn)題,提供了用戶體驗(yàn)。
此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā) 明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中圖1是根據(jù)本發(fā)明實(shí)施例的固件版本的升級(jí)方法的流程圖;圖2是根據(jù)本發(fā)明實(shí)施例的固件版本的升級(jí)裝置的結(jié)構(gòu)框圖;圖3是根據(jù)本發(fā)明實(shí)施例的固件版本的升級(jí)裝置的優(yōu)選結(jié)構(gòu)框圖;圖4是根據(jù)本發(fā)明實(shí)施例的優(yōu)選固件升級(jí)步驟的流程圖;圖5是根據(jù)本發(fā)明實(shí)施例的各模塊交互過(guò)程的示意圖;圖6是根據(jù)本發(fā)明實(shí)施例的設(shè)備初次插入PC的固件升級(jí)過(guò)程的流程圖;圖7是根據(jù)本發(fā)明實(shí)施例的曾在某臺(tái)PC插入過(guò)的設(shè)備再次插入時(shí)的固件升級(jí)過(guò) 程的流程圖;圖8是根據(jù)本發(fā)明實(shí)施例的固件升級(jí)過(guò)程中網(wǎng)絡(luò)中斷的升級(jí)流程的流程圖;圖9是根據(jù)本發(fā)明實(shí)施例的升級(jí)工具運(yùn)行后,檢測(cè)、更新設(shè)備歷史信息記錄并下 載服務(wù)器端新版本過(guò)程的流程圖。
具體實(shí)施例方式下文中將參考附圖并結(jié)合實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明。需要說(shuō)明的是,在不沖突的 情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。以下實(shí)施例解決了當(dāng)設(shè)備與服務(wù)設(shè)備(該服務(wù)設(shè)備用于為設(shè)備提供固件版本升 級(jí)服務(wù),以下存在以PC作為服務(wù)設(shè)備為例進(jìn)行說(shuō)明的實(shí)施例)連接時(shí),該服務(wù)設(shè)備處于無(wú) 網(wǎng)絡(luò)狀態(tài),無(wú)法對(duì)設(shè)備固件進(jìn)行升級(jí)的問(wèn)題。在本實(shí)施例中,提供了一種固件版本的升級(jí)方法,圖1是根據(jù)本發(fā)明實(shí)施例的固 件版本的升級(jí)方法的流程圖,如圖1所示,該流程包括如下步驟步驟S102,服務(wù)設(shè)備根據(jù)設(shè)備的信息從固件版本維護(hù)服務(wù)器下載設(shè)備的固件版本 到本地;步驟S104,該設(shè)備連接至服務(wù)設(shè)備;步驟S106,服務(wù)設(shè)備向該設(shè)備發(fā)送本地保存的固件版本。通過(guò)上述步驟,服務(wù)設(shè)備可以在有網(wǎng)絡(luò)連接的情況下獲取到固件版本,在設(shè)備與 其連接時(shí),無(wú)論此時(shí)該服務(wù)設(shè)備是否可以連接至固件版本維護(hù)服務(wù)器,均可以向待升級(jí)的 設(shè)備直接發(fā)送其本地保存的固件版本,從而解決了在升級(jí)時(shí),服務(wù)設(shè)備無(wú)網(wǎng)絡(luò)連接就無(wú)法 進(jìn)行升級(jí)的問(wèn)題,提高了用戶體驗(yàn)。當(dāng)然,采用上述的步驟有可能在升級(jí)時(shí)所使用的固件版本不是固件版本維護(hù)服務(wù) 器上最新的版本,為了解決這個(gè)問(wèn)題,可以采用下面的優(yōu)選的一個(gè)實(shí)施方式服務(wù)設(shè)備首先 確定其是否能夠與固件版本維護(hù)服務(wù)器連接;在不能情況下,向設(shè)備發(fā)送本地保存的固件 版本;在能的情況下,從固件版本維護(hù)服務(wù)器獲取固件版本,并將獲取到的固件版本保存到 本地后發(fā)送給設(shè)備。通過(guò)這種方式可以在有網(wǎng)絡(luò)連接的情況下,向設(shè)備發(fā)送的固件版本是 固件版本維護(hù)服務(wù)器上最新的版本。當(dāng)然,可以采用來(lái)判斷網(wǎng)絡(luò)連接狀況的方式來(lái)進(jìn)行,例 如,如果網(wǎng)速低于一個(gè)閾值,那么意味著將花費(fèi)比較長(zhǎng)的時(shí)間來(lái)下載新版本,此時(shí),從效率 的角度出發(fā),服務(wù)設(shè)備可以直接向設(shè)備發(fā)送本地保存的固件版本。優(yōu)選地,對(duì)于一個(gè)服務(wù)設(shè)備獲知應(yīng)當(dāng)去固件版本維護(hù)服務(wù)器上下載哪些設(shè)備的版 本的方式有很多種,在本實(shí)施例中提供了一種比較智能的方式,即服務(wù)設(shè)備可以自動(dòng)下載 與其連接過(guò)的設(shè)備的固件版本。例如,在設(shè)備與服務(wù)設(shè)備連接過(guò)的情況下,服務(wù)設(shè)備根據(jù)在 設(shè)備與服務(wù)設(shè)備連接時(shí)獲取到的設(shè)備的信息從固件版本維護(hù)服務(wù)器下載設(shè)備的固件版本。 當(dāng)然,更優(yōu)的一個(gè)實(shí)施方式為服務(wù)設(shè)備根據(jù)獲取到的設(shè)備上已有的固件版本的信息(例 如,可以在設(shè)備與服務(wù)設(shè)備連接時(shí))從固件版本維護(hù)服務(wù)器下載設(shè)備上已有的固件版本的 升級(jí)版本(當(dāng)然,服務(wù)設(shè)備也可以根據(jù)本地保存的固件版本的信息,從固件版本維護(hù)服務(wù) 器上下載本地保存的固件版本的升級(jí)版本)。需要說(shuō)明的是,可以采用其他的方式來(lái)使服務(wù) 設(shè)備明確其應(yīng)該自動(dòng)下載哪些設(shè)備的固件版本,例如,一個(gè)最簡(jiǎn)單的、也是最有效的實(shí)現(xiàn)方 式是用戶手工在服務(wù)設(shè)備上輸入需要下載固件版本的設(shè)備的信息。如果采用了上述的實(shí)施例或者優(yōu)選實(shí)施方式,那么,就可以保證服務(wù)設(shè)備在任何 網(wǎng)絡(luò)狀況下均可以實(shí)現(xiàn)對(duì)設(shè)備的升級(jí)。但是,由于服務(wù)設(shè)備需要下載和保存固件版本,因 此,對(duì)服務(wù)設(shè)備的存儲(chǔ)器的容量可能會(huì)造成一定的浪費(fèi)。作為另一個(gè)優(yōu)選的實(shí)施方式,可以 解決這個(gè)問(wèn)題,預(yù)先設(shè)置不同的條件或情況,在滿足這些條件和情況時(shí),服務(wù)設(shè)備可以主動(dòng)刪除在本地保存的固件版本,例如服務(wù)設(shè)備下載到比本地保存的固件版本更新的固件版 本;或者,服務(wù)設(shè)備在預(yù)定時(shí)長(zhǎng)內(nèi)未檢測(cè)到設(shè)備的連接;或者,服務(wù)設(shè)備在將本地保存的固 件版本發(fā)送給設(shè)備的次數(shù)達(dá)到閾值。通過(guò)上述實(shí)施例及其優(yōu)選實(shí)施方式,如果設(shè)備近期曾與服務(wù)設(shè)備連接,當(dāng)設(shè)備再 次與PC連接時(shí),即便PC當(dāng)前處于離線狀態(tài),也能夠?qū)崿F(xiàn)設(shè)備固件的自動(dòng)升級(jí)。本實(shí)施在提 供上述實(shí)現(xiàn)方法的同時(shí),還提供了一種固件版本的升級(jí)裝置,該裝置位于為設(shè)備提供固件 版本升級(jí)服務(wù)的服務(wù)設(shè)備中,用于實(shí)現(xiàn)上述的方法及其優(yōu)選實(shí)施方式,已經(jīng)進(jìn)行過(guò)說(shuō)明的 不再贅述,下面對(duì)其涉及到的模塊進(jìn)行說(shuō)明,圖2是根據(jù)本發(fā)明實(shí)施例的固件版本的升級(jí) 裝置的結(jié)構(gòu)框圖,如圖2所示,該裝置包括下載模塊22、檢測(cè)模塊M、發(fā)送模塊沈,下面對(duì) 該裝置進(jìn)行說(shuō)明。下載模塊22用于根據(jù)設(shè)備的信息從固件版本維護(hù)服務(wù)器下載設(shè)備的固件版本到 本地;檢測(cè)模塊M用于檢測(cè)到設(shè)備連接至服務(wù)設(shè)備;發(fā)送模塊沈用于向設(shè)備發(fā)送本地保 存的固件版本。優(yōu)選地,發(fā)送模塊沈用于在確定服務(wù)設(shè)備不能與固件版本維護(hù)服務(wù)器連接的情 況下,向設(shè)備發(fā)送本地保存的固件版本;并在確定服務(wù)設(shè)備能與固件版本維護(hù)服務(wù)器連接 的情況下,將從固件版本維護(hù)服務(wù)器獲取到的固件版本發(fā)送給設(shè)備。優(yōu)選地,在設(shè)備與服務(wù)設(shè)備連接過(guò)的情況下,下載模塊22用于根據(jù)在設(shè)備與服務(wù) 設(shè)備連接時(shí)獲取到的設(shè)備的信息下載設(shè)備的固件版本。優(yōu)選地,下載模塊22用于根據(jù)本地 保存的或者該設(shè)備上已有的固件版本的信息下載該固件版本信息對(duì)應(yīng)的固件版本的升級(jí) 版本。圖3是根據(jù)本發(fā)明實(shí)施例的固件版本的升級(jí)裝置的優(yōu)選結(jié)構(gòu)框圖,如圖3所示,該 裝置還可以包括刪除模塊32,該模塊用于在以下至少之一的情況下,將本地保存的固件 版本刪除服務(wù)設(shè)備下載到比本地保存的固件版本更新的固件版本;服務(wù)設(shè)備在預(yù)定時(shí)長(zhǎng) 內(nèi)未檢測(cè)到設(shè)備的連接;服務(wù)設(shè)備在將本地保存的固件版本發(fā)送給設(shè)備的次數(shù)達(dá)到閾值。下面以PC作為服務(wù)設(shè)備為例對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說(shuō)明。圖4是根據(jù)本發(fā)明實(shí)施例的優(yōu)選固件升級(jí)步驟的流程圖,如圖4所示,首先運(yùn)行PC 側(cè)的升級(jí)工具;檢測(cè)當(dāng)前是否有設(shè)備插入,如果當(dāng)前無(wú)設(shè)備插入PC,則升級(jí)工具執(zhí)行“設(shè)備 歷史信息記錄”的檢測(cè)和更新,同時(shí),還可以通過(guò)檢查當(dāng)前“設(shè)備歷史信息記錄”中記錄的是 否為N天內(nèi)曾插入該P(yáng)C的設(shè)備信息記錄,如果不是則可以刪除對(duì)應(yīng)的固件版本的,從而避 免下載下來(lái)的更新固件版本長(zhǎng)期存放在本地,但卻未用于對(duì)設(shè)備升級(jí),而占用本地存儲(chǔ)空 間;然后,升級(jí)工具逐條獲取檢測(cè)更新后的“設(shè)備歷史信息記錄”,將記錄中的固件版本號(hào)與 服務(wù)器中對(duì)應(yīng)位置存放的固件的版本號(hào)進(jìn)行比較,若服務(wù)器有更新的固件版本,則將其下 載到本地固定的存放位置,并更新“設(shè)備歷史信息記錄”。如果有設(shè)備插入PC,則從“設(shè)備歷 史信息記錄”中獲取插入設(shè)備的相關(guān)信息,若未檢測(cè)到相應(yīng)的設(shè)備信息(即本地并沒(méi)有保存 該設(shè)備的固件版本),則檢測(cè)服務(wù)器相應(yīng)位置是否有更新的固件版本,如果有,則將其下載 下來(lái),并對(duì)設(shè)備進(jìn)行升級(jí)。如果檢測(cè)到“設(shè)備歷史信息記錄中,,有該設(shè)備的信息,則檢測(cè)相 應(yīng)“設(shè)備歷史信息記錄”的“本地固件版本存放位置”中是否有更新的固件版本,如果有,則 對(duì)設(shè)備進(jìn)行升級(jí)。如果沒(méi)有,則執(zhí)行檢測(cè)服務(wù)器相應(yīng)位置是否有更新的固件版本,如果有, 則將其下載下來(lái),并對(duì)設(shè)備進(jìn)行升級(jí)。
本優(yōu)選實(shí)施例利用了燒寫(xiě)到設(shè)備中的自引導(dǎo)模塊,服務(wù)設(shè)備端的升級(jí)模塊、升級(jí) 監(jiān)控模塊、設(shè)備插入記錄模塊,及固件版本維護(hù)服務(wù)器端的版本維護(hù)數(shù)據(jù)庫(kù)模塊,實(shí)現(xiàn)了一 種設(shè)備固件版本的離線自動(dòng)升級(jí)方法和系統(tǒng)。圖5是根據(jù)本發(fā)明實(shí)施例的各模塊交互過(guò)程 的示意圖,如圖5所示,在本實(shí)施例中涉及到了設(shè)備側(cè)、PC側(cè),及服務(wù)器側(cè),下面結(jié)合圖5對(duì) 涉及到的模塊進(jìn)行分別說(shuō)明。燒寫(xiě)在設(shè)備中的自引導(dǎo)工具,用于設(shè)備初次插入時(shí),下載設(shè)備的驅(qū)動(dòng)版本,如果PC 上沒(méi)有升級(jí)工具,它能夠?qū)⑸?jí)工具下載下來(lái),并完成安裝。安裝在PC側(cè)的升級(jí)工具,一旦安裝,開(kāi)機(jī)后它即在后臺(tái)自動(dòng)運(yùn)行,包括設(shè)備歷史 信息記錄模塊、升級(jí)監(jiān)控模塊,以及升級(jí)模塊。其中,設(shè)備歷史信息記錄模塊用于記錄曾插 入設(shè)備的設(shè)備型號(hào)、國(guó)際移動(dòng)終端標(biāo)識(shí)(IMID)、軟件版本狀態(tài)、版本號(hào)、本地固件版本存放 位置,及升級(jí)時(shí)間;升級(jí)監(jiān)控模塊定期從設(shè)備歷史信息記錄模塊中依次獲取每條歷史信息 中記錄的設(shè)備型號(hào)、IMID和版本號(hào),將其發(fā)送給固件版本維護(hù)服務(wù)器,并根據(jù)服務(wù)器返回的 消息判斷當(dāng)前服務(wù)器上是否有近期插入的設(shè)備對(duì)應(yīng)的升級(jí)固件版本,如果有,則通知升級(jí) 模塊;升級(jí)模塊(實(shí)現(xiàn)了上述下載模塊22、檢測(cè)模塊M和發(fā)送模塊沈的功能)在獲取到 通知后,將該升級(jí)固件版本從服務(wù)器上下載下來(lái),存放在“本地固件版本存放位置”中。此 外,當(dāng)設(shè)備插入PC時(shí),升級(jí)模塊還負(fù)責(zé)檢索是否有對(duì)應(yīng)型號(hào)的更新設(shè)備版本存放在本地固 定的目錄中,如果有,則用其對(duì)設(shè)備進(jìn)行升級(jí)。固件版本維護(hù)服務(wù)器,負(fù)責(zé)維護(hù)運(yùn)營(yíng)商指定的設(shè)備的驅(qū)動(dòng)版本,固件升級(jí)版本, 以及升級(jí)工具版本。它包括了網(wǎng)頁(yè)服務(wù)(Web Server)模塊和文件傳輸服務(wù)(例如,F(xiàn)tp Server)模塊。Web Server模塊與升級(jí)監(jiān)控模塊進(jìn)行交互,獲取升級(jí)監(jiān)控模塊發(fā)送的設(shè)備型號(hào)、 IMID、版本號(hào)、本地固件版本存放位置,及升級(jí)時(shí)間。首先根據(jù)設(shè)備型號(hào),查找該型號(hào)的設(shè)備 對(duì)應(yīng)的群組,即服務(wù)器上維護(hù)的該版本所屬的群組;然后,根據(jù)設(shè)備的IMID,判斷該設(shè)備是 否為運(yùn)營(yíng)商已經(jīng)授權(quán)的設(shè)備(一些設(shè)備的IMID號(hào)不在運(yùn)營(yíng)商的授權(quán)范圍內(nèi),運(yùn)營(yíng)商對(duì)它 們不予維護(hù));若設(shè)備是運(yùn)營(yíng)商授權(quán)的設(shè)備,則將版本號(hào)與服務(wù)器上該群組對(duì)應(yīng)的最新版 本號(hào)進(jìn)行比較,若比較的結(jié)果為,服務(wù)器上有更新的設(shè)備固件版本,則通知升級(jí)監(jiān)控模塊XX 型號(hào)的設(shè)備當(dāng)前在服務(wù)器上有更新的固件版本。Ftp krver模塊與升級(jí)模塊進(jìn)行交互。如果服務(wù)器上有更新的固件版本,升級(jí)監(jiān) 控模塊在收到消息后啟動(dòng)升級(jí)模塊,升級(jí)模塊向固件版本維護(hù)服務(wù)器的Ftp krver模塊 發(fā)送消息,請(qǐng)求下載XX型號(hào)設(shè)備在服務(wù)器上的最新固件版本,F(xiàn)tp krver模塊在收到消息 后,返回該型號(hào)最新固件版本到PC側(cè)。通過(guò)本優(yōu)選實(shí)施例,不需要在設(shè)備插入PC時(shí),才與服務(wù)器進(jìn)行交互,檢測(cè)服務(wù)器 上是否有更新設(shè)備版本,只要設(shè)備曾插入PC,就會(huì)把設(shè)備的相關(guān)信息記錄下來(lái),只要網(wǎng)絡(luò)連 接正常,就會(huì)定期檢測(cè)服務(wù)器上該設(shè)備對(duì)應(yīng)的固件更新版本,并將其下載下來(lái),一旦設(shè)備再 次插入,就能夠?yàn)槠溥M(jìn)行升級(jí)。它有效地解決了當(dāng)設(shè)備插入PC時(shí),網(wǎng)絡(luò)連接失敗,而導(dǎo)致設(shè) 備不能夠正常升級(jí)的問(wèn)題。且整個(gè)升級(jí)的過(guò)程不需要任何手動(dòng)操作,實(shí)現(xiàn)了完全自動(dòng)的離 線升級(jí)。為運(yùn)營(yíng)商對(duì)設(shè)備固件版本的維護(hù)提供了一個(gè)更加有用的方式,確保設(shè)備一旦插入 PC,無(wú)論當(dāng)前在線還是離線,都能夠?qū)崿F(xiàn)自動(dòng)升級(jí)。下面對(duì)附圖不同的情況分別進(jìn)行說(shuō)明圖6是根據(jù)本發(fā)明實(shí)施例的設(shè)備初次插入PC的固件升級(jí)過(guò)程的流程圖,如圖6所示,如果設(shè)備初次插入某一臺(tái)PC,固件版本的升級(jí)過(guò)程如下燒寫(xiě)在設(shè)備中的自引導(dǎo)工具運(yùn)行,判斷網(wǎng)絡(luò)連接是否正常,如果不正常,則等待η 秒后,重新向網(wǎng)絡(luò)側(cè)發(fā)起請(qǐng)求,等待網(wǎng)絡(luò)側(cè)的響應(yīng)。如果網(wǎng)絡(luò)連接正常,則Ftp krver模塊 在收到請(qǐng)求后,將對(duì)應(yīng)的設(shè)備驅(qū)動(dòng),及升級(jí)工具返回給客戶端。自引導(dǎo)工具完成客戶端設(shè)備 驅(qū)動(dòng)及升級(jí)工具的安裝。升級(jí)工具安裝完成后自動(dòng)運(yùn)行,將設(shè)備的設(shè)備名、IMID(設(shè)備的唯 一標(biāo)識(shí))、軟件版本狀態(tài)(是否為最新版本)、版本號(hào)、本地固件版本存放位置、升級(jí)時(shí)間等, 記錄到“設(shè)備歷史信息記錄”模塊。升級(jí)監(jiān)控模塊將當(dāng)前設(shè)備的固件版本號(hào)發(fā)送給服務(wù)器側(cè) 的ffeb krver模塊,并等待服務(wù)器側(cè)的響應(yīng)。若服務(wù)器側(cè)無(wú)響應(yīng),則等待η秒后,繼續(xù)發(fā)起 請(qǐng)求,反之,服務(wù)器側(cè)的Web krver模塊檢測(cè)是否升級(jí),S卩服務(wù)器側(cè)是否有對(duì)應(yīng)的設(shè)備最新 固件版本。如果有,則返回下載指令,通知客戶端有最新固件版本。如果沒(méi)有,則升級(jí)流程 結(jié)束??蛻舳说纳?jí)模塊執(zhí)行下載指令,向服務(wù)器端的Ftp krver模塊發(fā)送下載的請(qǐng)求。 Ftp krver模塊收到請(qǐng)求后,將對(duì)應(yīng)的設(shè)備最新固件版本返回給客戶端??蛻舳说纳?jí)模 塊用從服務(wù)器上下載下來(lái)的最新固件版本對(duì)設(shè)備進(jìn)行固件版本的升級(jí)。固件版本升級(jí)完成 后,更新“設(shè)備歷史信息記錄”模塊中相應(yīng)的設(shè)備信息記錄,升級(jí)流程結(jié)束。圖7是根據(jù)本發(fā)明實(shí)施例的曾在某臺(tái)PC插入過(guò)的設(shè)備再次插入時(shí)的固件升級(jí)過(guò) 程的流程圖,如圖7所示,如果設(shè)備曾經(jīng)在某一臺(tái)PC插入過(guò),并且升級(jí)工具已正常安裝,固 件版本的升級(jí)過(guò)程如下(為了更好的說(shuō)明,在下面的說(shuō)明中使用了第幾步的編號(hào))第一步,查詢“設(shè)備歷史信息記錄”中,是否有對(duì)應(yīng)的設(shè)備信息記錄(需要說(shuō)明的 是,由于在同一臺(tái)PC上可能插入多種設(shè)備,因此在一種設(shè)備插入時(shí)需要判斷一下在設(shè)備歷 史信息記錄中有沒(méi)有該設(shè)備的信息記錄)。如果沒(méi)有,則執(zhí)行第四步,如果有,則執(zhí)行第二
止
少O第二步,獲取對(duì)應(yīng)記錄中的“固件版本號(hào)”,并與當(dāng)前設(shè)備的固件版本號(hào)進(jìn)行比較, 若記錄中的“固件版本號(hào)”有更新則執(zhí)行第三步。否則,執(zhí)行第四步。第三步,查找對(duì)應(yīng)記錄中的“本地固件版本存放位置”,獲取存放在本地的更新固 件版本,(優(yōu)選地,如果此時(shí)PC有網(wǎng)絡(luò)連接,則可以先判斷一下固件版本維護(hù)服務(wù)器上是否 存在更新的版本,如果存在,在可以先將本地保存的固件版本)執(zhí)行第七步。第四步,升級(jí)監(jiān)控模塊將當(dāng)前設(shè)備的固件版本號(hào)發(fā)送給服務(wù)器側(cè)的Web Server模 塊,并等待服務(wù)器側(cè)的響應(yīng)。若服務(wù)器側(cè)無(wú)響應(yīng),則等待η秒后,繼續(xù)發(fā)起請(qǐng)求,反之,執(zhí)行 第五步。第五步,服務(wù)器側(cè)的ffeb Servers模塊檢測(cè)是否升級(jí),即服務(wù)器側(cè)是否有對(duì)應(yīng)的設(shè) 備最新固件版本。如果有,則返回下載指令,通知客戶端有最新固件版本。如果沒(méi)有,則升 級(jí)流程結(jié)束。第六步,客戶端的升級(jí)模塊執(zhí)行下載指令,向服務(wù)器端的Ftp Server模塊發(fā)送下 載的請(qǐng)求。Ftp krver模塊收到請(qǐng)求后,將對(duì)應(yīng)的設(shè)備最新固件版本返回給客戶端。第七步,客戶端的升級(jí)模塊用最新固件版本對(duì)設(shè)備進(jìn)行固件版本的升級(jí)。第八部,固件版本升級(jí)完成后,更新“設(shè)備歷史信息記錄”模塊中相應(yīng)的設(shè)備信息 記錄。升級(jí)流程結(jié)束。圖8是根據(jù)本發(fā)明實(shí)施例的固件升級(jí)過(guò)程中網(wǎng)絡(luò)中斷的升級(jí)流程的流程圖,如圖 8所示,如果在固件的升級(jí)過(guò)程中網(wǎng)絡(luò)中斷,則固件版本的升級(jí)過(guò)程如下
等待η秒后,重新向網(wǎng)絡(luò)側(cè)發(fā)起請(qǐng)求,等待網(wǎng)絡(luò)側(cè)的響應(yīng),判斷網(wǎng)絡(luò)連接是否正 常,如果不正常則等待η秒后重新發(fā)起請(qǐng)求,如果正常,則服務(wù)器端的Ftp Server模塊在接 收到請(qǐng)求后。執(zhí)行斷點(diǎn)續(xù)傳,繼續(xù)傳遞前期未完成的固件更新版本給客戶端。直至將最新 固件版本完全返回給客戶端??蛻舳说纳?jí)模塊用最新固件版本對(duì)設(shè)備進(jìn)行固件版本的升 級(jí)。固件版本升級(jí)完成后,更新“設(shè)備歷史信息記錄”模塊中相應(yīng)的設(shè)備信息記錄。升級(jí)流 程結(jié)束。圖9是根據(jù)本發(fā)明實(shí)施例的升級(jí)工具運(yùn)行后,檢測(cè)、更新設(shè)備歷史信息記錄并下 載服務(wù)器端新版本過(guò)程的流程圖,如圖9所示,如果當(dāng)前無(wú)設(shè)備插入,開(kāi)機(jī)后升級(jí)工具就開(kāi) 始運(yùn)行,升級(jí)工具檢測(cè)并更新“設(shè)備歷史信息記錄”,下載服務(wù)器端新版本的過(guò)程如下獲取當(dāng)前的日期,并且用當(dāng)前日期與“設(shè)備歷史信息記錄”中的時(shí)間記錄逐條比 較。判斷時(shí)間間隔是否大于N天,如果大于N天,則執(zhí)行判斷該條記錄中的“本地版本存放 位置”是否存放有下載下來(lái)的更新固件版本,如果有,則執(zhí)行刪除“本地版本存放位置”中存 放的更新固件版本,否則,檢測(cè)過(guò)程結(jié)束,然后,刪除該條“設(shè)備歷史信息記錄”,檢測(cè)過(guò)程結(jié) 束ο該條記錄的時(shí)間間隔不大于N天,則獲取該條記錄中的“固件版本號(hào)”,升級(jí)監(jiān)控 模塊將當(dāng)前設(shè)備的固件版本號(hào)發(fā)送給服務(wù)器側(cè)的Web Server模塊,并等待服務(wù)器側(cè)的響 應(yīng)。若服務(wù)器側(cè)無(wú)響應(yīng),則等待η秒后,繼續(xù)發(fā)起請(qǐng)求,反之,服務(wù)器側(cè)的ffeb Servers模塊 檢測(cè)是否升級(jí),即服務(wù)器側(cè)是否有對(duì)應(yīng)的設(shè)備最新固件版本。如果有,則返回下載指令,通 知客戶端有最新固件版本。如果沒(méi)有,則流程結(jié)束。客戶端的升級(jí)模塊執(zhí)行下載指令,向服 務(wù)器端的Ftp krver模塊發(fā)送下載的請(qǐng)求。Ftp krver模塊收到請(qǐng)求后,將對(duì)應(yīng)的設(shè)備最 新固件版本返回給客戶端。下載至對(duì)應(yīng)記錄中的“本地固件版本存放位置”處,流程結(jié)束。顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用 的計(jì)算裝置來(lái)實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成 的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來(lái)實(shí)現(xiàn),從而可以將它們存儲(chǔ)在 存儲(chǔ)裝置中由計(jì)算裝置來(lái)執(zhí)行,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中 的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來(lái)實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬 件和軟件結(jié)合。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技 術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修 改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種固件版本的升級(jí)方法,其特征在于包括服務(wù)設(shè)備根據(jù)設(shè)備的信息從固件版本維護(hù)服務(wù)器下載所述設(shè)備的固件版本到本地,其 中,所述服務(wù)設(shè)備用于為所述設(shè)備提供固件版本升級(jí)服務(wù);檢測(cè)到所述設(shè)備連接至所述服務(wù)設(shè)備;向所述設(shè)備發(fā)送本地保存的所述固件版本。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在向所述設(shè)備發(fā)送本地保存的固件版本之前,還包括確定所述服務(wù)設(shè)備是否能夠與 所述固件版本維護(hù)服務(wù)器連接;在不能情況下,向所述設(shè)備發(fā)送本地保存的所述固件版本;在能的情況下,從所述固件 版本維護(hù)服務(wù)器獲取固件版本,并將獲取到的固件版本保存到本地后發(fā)送給所述設(shè)備。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述服務(wù)設(shè)備根據(jù)所述設(shè)備的信息從所 述固件版本維護(hù)服務(wù)器下載所述設(shè)備的固件版本到本地包括在所述設(shè)備與所述服務(wù)設(shè)備連接過(guò)的情況下,所述服務(wù)設(shè)備根據(jù)在所述設(shè)備與所述服 務(wù)設(shè)備連接時(shí)獲取到的所述設(shè)備的信息從所述固件版本維護(hù)服務(wù)器下載所述設(shè)備的固件 版本。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述服務(wù)設(shè)備根據(jù)本地保存的或者所述設(shè)備上已有的固件版本的信息從所述固件版 本維護(hù)服務(wù)器下載該固件版本的信息對(duì)應(yīng)的固件版本的升級(jí)版本。
5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的方法,其特征在于,還包括所述服務(wù)設(shè)備在以 下之一的情況下,將本地保存的固件版本刪除所述服務(wù)設(shè)備下載到比本地保存的固件版本更新的固件版本;所述服務(wù)設(shè)備在預(yù)定時(shí)長(zhǎng)內(nèi)未檢測(cè)到所述設(shè)備的連接;所述服務(wù)設(shè)備在將本地保存的固件版本發(fā)送給所述設(shè)備的次數(shù)達(dá)到閾值。
6.一種固件版本的升級(jí)裝置,其特征在于,位于為設(shè)備提供固件版本升級(jí)服務(wù)的服務(wù) 設(shè)備中,包括下載模塊,用于根據(jù)所述設(shè)備的信息從固件版本維護(hù)服務(wù)器下載所述設(shè)備的固件版本 到本地;檢測(cè)模塊,用于檢測(cè)所述設(shè)備連接至所述服務(wù)設(shè)備;發(fā)送模塊,用于向所述設(shè)備發(fā)送本地保存的固件版本。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述發(fā)送模塊用于在確定所述服務(wù)設(shè)備 不能與所述固件版本維護(hù)服務(wù)器連接的情況下,向所述設(shè)備發(fā)送本地保存的固件版本;并 在確定所述服務(wù)設(shè)備能與所述固件版本維護(hù)服務(wù)器連接的情況下,將從所述固件版本維護(hù) 服務(wù)器獲取到的固件版本發(fā)送給所述設(shè)備。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,在所述設(shè)備與所述服務(wù)設(shè)備連接過(guò)的情 況下,所述下載模塊用于根據(jù)在所述設(shè)備與所述服務(wù)設(shè)備連接時(shí)獲取到的所述設(shè)備的信息 下載所述設(shè)備的固件版本。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述下載模塊用于根據(jù)本地保存的或者 所述設(shè)備上已有的固件版本的信息下載該固件版本的信息對(duì)應(yīng)的固件版本的升級(jí)版本。
10.根據(jù)權(quán)利要求6至9中任一項(xiàng)所述的裝置,其特征在于,還包括刪除模塊,用于在以下至少之一的情況下,將本地保存的固件版本刪除所述服務(wù)設(shè)備 下載到比本地保存的固件版本更新的固件版本;所述服務(wù)設(shè)備在預(yù)定時(shí)長(zhǎng)內(nèi)未檢測(cè)到所述 設(shè)備的連接;所述服務(wù)設(shè)備在將本地保存的固件版本發(fā)送給所述設(shè)備的次數(shù)達(dá)到閾值。
全文摘要
本發(fā)明提供了固件版本的升級(jí)方法及裝置,該方法包括服務(wù)設(shè)備根據(jù)設(shè)備的信息從固件版本維護(hù)服務(wù)器下載設(shè)備的固件版本到本地,其中,服務(wù)設(shè)備用于為設(shè)備提供固件版本升級(jí)服務(wù);檢測(cè)到設(shè)備連接至服務(wù)設(shè)備;向設(shè)備發(fā)送本地保存的固件版本。通過(guò)本發(fā)明提高了用戶體驗(yàn)。
文檔編號(hào)H04L29/08GK102123170SQ20111002418
公開(kāi)日2011年7月13日 申請(qǐng)日期2011年1月21日 優(yōu)先權(quán)日2011年1月21日
發(fā)明者王婷 申請(qǐng)人:中興通訊股份有限公司