本發(fā)明涉及安防技術(shù)領(lǐng)域,特別是涉及一種軟件升級(jí)方法、裝置及系統(tǒng)。
背景技術(shù):
對(duì)于安防系統(tǒng)來(lái)說(shuō),為了使前端設(shè)備,例如模擬攝像機(jī)、數(shù)字?jǐn)z像機(jī)等能夠較好地滿足實(shí)際需求,工作人員通常每隔一段時(shí)間就需要到前端設(shè)備的安裝現(xiàn)場(chǎng)去升級(jí)前端設(shè)備。一般來(lái)說(shuō),前端設(shè)備的安裝現(xiàn)場(chǎng)的環(huán)境較為惡劣??梢钥闯?,前端設(shè)備的升級(jí)操作非常麻煩,費(fèi)時(shí)費(fèi)力,并且,其升級(jí)成本也非常高。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例的目的在于提供一種軟件升級(jí)方法、裝置及系統(tǒng),以簡(jiǎn)化現(xiàn)有的安防系統(tǒng)中的前端設(shè)備的升級(jí)過(guò)程,并減小前端設(shè)備的升級(jí)成本。
一方面,本發(fā)明實(shí)施例提供了一種軟件升級(jí)方法,應(yīng)用于安防系統(tǒng)中的后端設(shè)備,所述后端設(shè)備通過(guò)通信線纜與所述安防系統(tǒng)中的前端設(shè)備相連接,所述方法包括如下步驟:
按照設(shè)定的第一時(shí)間間隔,獲取所述前端設(shè)備的類型信息及版本信息;
根據(jù)所述前端設(shè)備的類型信息及版本信息,判斷本地保存的該類型信息對(duì)應(yīng)的第一版本信息是否與所述前端設(shè)備的版本信息相同;
若不相同,則將本地存儲(chǔ)的所述第一版本信息對(duì)應(yīng)的第一軟件安裝包通過(guò)所述通信線纜發(fā)送給所述前端設(shè)備,以對(duì)所述前端設(shè)備的軟件進(jìn)行升級(jí)。
進(jìn)一步地,上述方法中,所述前端設(shè)備中具有掉電非遺失存儲(chǔ)區(qū),所述將本地存儲(chǔ)的所述第一版本信息對(duì)應(yīng)的第一軟件安裝包通過(guò)所述通信線纜發(fā)送給所述前端設(shè)備,包括:
將本地存儲(chǔ)的所述第一版本信息對(duì)應(yīng)的第一軟件安裝包通過(guò)所述通信線纜發(fā)送給所述前端設(shè)備,使所述前端設(shè)備將所述第一軟件安裝包存儲(chǔ)到所述前端設(shè)備的掉電非遺失存儲(chǔ)區(qū)中。
進(jìn)一步地,上述方法中,所述將本地存儲(chǔ)的所述第一版本信息對(duì)應(yīng)的第一軟件安裝包通過(guò)所述通信線纜發(fā)送給所述前端設(shè)備,包括:
通過(guò)所述通信線纜向所述前端設(shè)備發(fā)送復(fù)位指令,并在所述前端設(shè)備復(fù)位后將本地存儲(chǔ)的所述第一版本信息對(duì)應(yīng)的第一軟件安裝包通過(guò)所述通信線纜發(fā)送給所述前端設(shè)備。
進(jìn)一步地,上述方法中,所述后端設(shè)備還與服務(wù)器相連接,所述方法還包括:
按照設(shè)定的第二時(shí)間間隔,從所述服務(wù)器中獲取所述前端設(shè)備的類型信息和第二版本信息;
根據(jù)獲取的所述前端設(shè)備的類型信息和第二版本信息,對(duì)本地保存的所述前端設(shè)備的第一版本信息進(jìn)行更新。
進(jìn)一步地,上述方法中,所述對(duì)本地保存的所述前端設(shè)備的第一版本信息進(jìn)行更新,包括:
采用獲取的所述前端設(shè)備的類型信息和第二版本信息替換本地保存的所述前端設(shè)備的類型信息和第一版本信息。
進(jìn)一步地,上述方法中,所述對(duì)本地保存的所述前端設(shè)備的第一版本信息進(jìn)行更新,包括:
根據(jù)獲取的所述前端設(shè)備的類型信息,在本地保存的各存儲(chǔ)區(qū)中查找所述前端設(shè)備的類型信息;
采用所述獲取的所述前端設(shè)備的第二版本信息,替換所述查找到的所述前端設(shè)備的類型信息對(duì)應(yīng)的第一版本信息。
本發(fā)明實(shí)施例還提供了一種軟件升級(jí)裝置,應(yīng)用于安防系統(tǒng)中的后端設(shè)備,所述后端設(shè)備通過(guò)通信線纜與所述安防系統(tǒng)中的前端設(shè)備相連接,所述裝置包括:
第一獲取模塊,用于按照設(shè)定的第一時(shí)間間隔,獲取所述前端設(shè)備的類型信息及版本信息;
第一判斷模塊,用于根據(jù)所述前端設(shè)備的類型信息及版本信息,判斷本地 保存的該類型信息對(duì)應(yīng)的第一版本信息是否與所述前端設(shè)備的版本信息相同;
軟件安裝包發(fā)送模塊,用于當(dāng)本地保存的該類型信息對(duì)應(yīng)的第一版本信息與所述前端設(shè)備的版本信息不相同時(shí),將本地存儲(chǔ)的所述第一版本信息對(duì)應(yīng)的第一軟件安裝包通過(guò)所述通信線纜發(fā)送給所述前端設(shè)備,以對(duì)所述前端設(shè)備的軟件進(jìn)行升級(jí)。
進(jìn)一步地,上述裝置中,所述前端設(shè)備中具有掉電非遺失存儲(chǔ)區(qū),所述軟件安裝包發(fā)送模塊具體用于:
將本地存儲(chǔ)的所述第一版本信息對(duì)應(yīng)的第一軟件安裝包通過(guò)所述通信線纜發(fā)送給所述前端設(shè)備,使所述前端設(shè)備將所述第一軟件安裝包存儲(chǔ)到所述前端設(shè)備的掉電非遺失存儲(chǔ)區(qū)中。
進(jìn)一步地,上述裝置中,所述軟件安裝包發(fā)送模塊具體用于:
通過(guò)所述通信線纜向所述前端設(shè)備發(fā)送復(fù)位指令,并在所述前端設(shè)備復(fù)位后將本地存儲(chǔ)的所述第一版本信息對(duì)應(yīng)的第一軟件安裝包通過(guò)所述通信線纜發(fā)送給所述前端設(shè)備。
進(jìn)一步地,上述裝置中,所述后端設(shè)備還與服務(wù)器相連接,所述裝置還包括:
第二獲取模塊,用于按照設(shè)定的第二時(shí)間間隔,從所述服務(wù)器中獲取所述前端設(shè)備的類型信息和第二版本信息;
更新模塊,用于根據(jù)獲取的所述前端設(shè)備的類型信息和第二版本信息,對(duì)本地保存的所述前端設(shè)備的第一版本信息進(jìn)行更新。
進(jìn)一步地,上述裝置中,所述更新模塊具體用于:
采用獲取的所述前端設(shè)備的類型信息和第二版本信息替換本地保存的所述前端設(shè)備的類型信息和第一版本信息。
進(jìn)一步地,上述裝置中,所述更新模塊包括:
查找模塊,用于根據(jù)獲取的所述前端設(shè)備的類型信息,在本地保存的各存儲(chǔ)區(qū)中查找所述前端設(shè)備的類型信息;
替換模塊,用于采用所述獲取的所述前端設(shè)備的第二版本信息,替換所述 查找到的所述前端設(shè)備的類型信息對(duì)應(yīng)的第一版本信息。
再一方面,本發(fā)明實(shí)施例還提供了一種軟件升級(jí)系統(tǒng),包括:后端設(shè)備和前端設(shè)備;其中,所述后端設(shè)備通過(guò)通信線纜與所述前端設(shè)備相連接;
所述后端設(shè)備,用于按照設(shè)定的第一時(shí)間間隔,獲取所述前端設(shè)備的類型信息及版本信息,并根據(jù)所述前端設(shè)備的類型信息及版本信息,判斷本地保存的該類型信息對(duì)應(yīng)的第一版本信息是否與所述前端設(shè)備的版本信息相同,若不相同,則將本地存儲(chǔ)的所述第一版本信息對(duì)應(yīng)的第一軟件安裝包通過(guò)所述通信線纜發(fā)送給所述前端設(shè)備;
所述前端設(shè)備,用于根據(jù)接收到的第一軟件安裝包,對(duì)自身的軟件進(jìn)行升級(jí)。
進(jìn)一步地,上述系統(tǒng)中,所述前端設(shè)備內(nèi)具有備份存儲(chǔ)區(qū)和掉電非遺失存儲(chǔ)區(qū),所述前端設(shè)備,用于檢測(cè)自身的狀態(tài),并在自身處于工作狀態(tài)時(shí),將接收到的第一軟件安裝包存儲(chǔ)于所述備份存儲(chǔ)區(qū)內(nèi),并在復(fù)位后將所述備份存儲(chǔ)區(qū)內(nèi)的第一軟件安裝包轉(zhuǎn)存到所述掉電非遺失存儲(chǔ)區(qū)內(nèi)。
進(jìn)一步地,上述系統(tǒng)中,所述前端設(shè)備,還用于接收所述后端設(shè)備通過(guò)通信線纜發(fā)送的復(fù)位指令,并在復(fù)位后根據(jù)接收到的第一軟件安裝包,對(duì)自身的軟件進(jìn)行升級(jí)。
本發(fā)明實(shí)施例提供了一種軟件升級(jí)方法、裝置及系統(tǒng)。其中,該方法應(yīng)用于安防系統(tǒng)中的后端設(shè)備,后端設(shè)備通過(guò)通信線纜與安防系統(tǒng)中的前端設(shè)備相連接。該方法包括如下步驟:按照設(shè)定的第一時(shí)間間隔,獲取前端設(shè)備的類型信息及版本信息;根據(jù)前端設(shè)備的類型信息及版本信息,判斷本地保存的該類型信息對(duì)應(yīng)的第一版本信息是否與前端設(shè)備的版本信息相同;若不相同,則將本地存儲(chǔ)的第一版本信息對(duì)應(yīng)的第一軟件安裝包通過(guò)通信線纜發(fā)送給前端設(shè)備,以對(duì)前端設(shè)備的軟件進(jìn)行升級(jí)。具體地,后端設(shè)備中可以預(yù)先存儲(chǔ)有其支持接入的部分或者所有類型的前端設(shè)備的類型信息、第一版本信息以及與第一版本相對(duì)應(yīng)的第一軟件安裝包,且該第一版本信息可以為制造商發(fā)布的最新的版本信息,相應(yīng)地,第一軟件安裝包即為制造商發(fā)布的最新的版本對(duì)應(yīng)的軟件安裝包??梢钥闯?,與現(xiàn)有技術(shù)相比,本實(shí)施例中,操作人員不再需要到環(huán)境惡劣的安裝現(xiàn)場(chǎng)去對(duì)前端設(shè)備進(jìn)行升級(jí),故前端設(shè)備的升級(jí)操作實(shí)施起來(lái)較為 便捷,從而降低了操作人員的勞動(dòng)強(qiáng)度,同時(shí)也提高了前端設(shè)備的升級(jí)效率,前端設(shè)備的升級(jí)成本也會(huì)大大地降低。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的軟件升級(jí)方法的流程圖;
圖2為安防系統(tǒng)的一種結(jié)構(gòu)示意圖;
圖3為安防系統(tǒng)的又一結(jié)構(gòu)示意圖;
圖4為合成數(shù)據(jù)包中的數(shù)據(jù)組成圖;
圖5為本發(fā)明實(shí)施例提供的軟件升級(jí)裝置的結(jié)構(gòu)框圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
軟件升級(jí)方法實(shí)施例:
本發(fā)明實(shí)施例提供了一種軟件升級(jí)方法。該軟件升級(jí)方法可以應(yīng)用于安防系統(tǒng)中的后端設(shè)備,后端設(shè)備通過(guò)通信線纜與安防系統(tǒng)中的前端設(shè)備相連接。本實(shí)施例中,前端設(shè)備可以為后端設(shè)備支持接入的多種前端設(shè)備中的一個(gè)或者多個(gè),這樣,后端設(shè)備內(nèi)的數(shù)據(jù)文件可以通過(guò)通信線纜傳輸至前端設(shè)備中。具體地,后端設(shè)備可以為硬盤錄像機(jī)dvr、網(wǎng)絡(luò)硬盤錄像機(jī)nvr、光端機(jī)或者視頻綜合平臺(tái),通信線纜可以為網(wǎng)線或者光纖線,前端設(shè)備可以為模擬攝像機(jī)、數(shù)字?jǐn)z像機(jī)或者網(wǎng)絡(luò)攝像機(jī)中的一個(gè)或者多個(gè)。當(dāng)然,后端設(shè)備、前端設(shè)備和通信線纜的具體類型并不限于上述情況,具體可以根據(jù)實(shí)際情況來(lái)確定,本實(shí)施例對(duì)此不做任何限定。
參見(jiàn)圖1,圖中示出了本發(fā)明實(shí)施例提供的軟件升級(jí)方法的流程圖。如圖1所示,該方法包括如下步驟:
步驟s101,按照設(shè)定的第一時(shí)間間隔,獲取前端設(shè)備的類型信息及版本信息。
其中,第一時(shí)間間隔可以為一天、一周或者一個(gè)月,當(dāng)然,第一時(shí)間間隔的時(shí)長(zhǎng)值并不限于上述情況,具體可以根據(jù)實(shí)際情況來(lái)確定,本實(shí)施例對(duì)此不做任何限定。本實(shí)施例中,前端設(shè)備的類型信息中可以包括前端設(shè)備的型號(hào),前端設(shè)備的版本信息中可以包括前端設(shè)備的版本號(hào)。具體實(shí)施時(shí),后端設(shè)備可以按照設(shè)定的第一時(shí)間間隔,通過(guò)通信線纜向前端設(shè)備發(fā)送獲取類型信息和版本信息的指令,在前端設(shè)備接收到該指令后,前端設(shè)備會(huì)將其自身的類型信息和版本信息通過(guò)通信線纜發(fā)送給前端設(shè)備。
步驟s102,根據(jù)前端設(shè)備的類型信息及版本信息,判斷本地保存的該類型信息對(duì)應(yīng)的第一版本信息是否與前端設(shè)備的版本信息相同,若不相同,執(zhí)行步驟s103。
步驟s103,將本地存儲(chǔ)的第一版本信息對(duì)應(yīng)的第一軟件安裝包通過(guò)通信線纜發(fā)送給前端設(shè)備,以對(duì)前端設(shè)備的軟件進(jìn)行升級(jí)。
其中,后端設(shè)備中可以預(yù)先存儲(chǔ)有其支持接入的部分或者所有類型的前端設(shè)備的類型信息、第一版本信息以及與第一版本相對(duì)應(yīng)的第一軟件安裝包。本實(shí)施例中,第一版本可以為制造商發(fā)布的最新的版本,相應(yīng)地,第一軟件安裝包即為制造商發(fā)布的最新的版本對(duì)應(yīng)的軟件安裝包。
具體實(shí)施時(shí),由于后端設(shè)備內(nèi)存儲(chǔ)的前端設(shè)備的類型信息、第一版本信息以及第一軟件安裝包的數(shù)量均為多個(gè),故后端設(shè)備在獲取到與其通過(guò)通信線纜相連接的前端設(shè)備的類型信息和版本信息后,后端設(shè)備需要先確定其獲取到的類型信息與本地存儲(chǔ)的多個(gè)類型信息中的哪一個(gè)類型相對(duì)應(yīng)。具體地,后端設(shè)備可以采用遍歷的方式,將其獲取到的類型信息與本地存儲(chǔ)的多個(gè)類型信息一一地進(jìn)行比較,直至在本地存儲(chǔ)的類型信息中查找到與獲取到的類型信息相同的類型信息。接著,后端設(shè)備會(huì)判斷其獲取到的版本信息與其查找到的類型信息相對(duì)應(yīng)的第一版本信息是否相同。若兩者相同,則說(shuō)明與后端設(shè)備通過(guò)通信電纜相連接的前端設(shè)備中當(dāng)前的軟件版本是最新的版本,此時(shí)前端設(shè)備的軟件 不需要進(jìn)行升級(jí),故后端設(shè)備不執(zhí)行發(fā)送第一軟件安裝包的操作。若兩者不相同,則說(shuō)明與后端設(shè)備通過(guò)通信電纜相連接的前端設(shè)備當(dāng)前的軟件版本并不是最新的版本,此時(shí),后端設(shè)備可以將本地存儲(chǔ)的最新版本對(duì)應(yīng)的第一軟件安裝包通過(guò)通信線纜發(fā)送給前端設(shè)備,這樣,前端設(shè)備可以存儲(chǔ)該第一軟件安裝包,以使第一軟件安裝包替換前端設(shè)備中原有的軟件安裝包,這樣,前端設(shè)備中存儲(chǔ)的將為制造商發(fā)布的最新的軟件安裝包,故前端設(shè)備實(shí)現(xiàn)了軟件版本的更新,即軟件的升級(jí)。
可以看出,本發(fā)明實(shí)施例中,只需要預(yù)先在后端設(shè)備中存儲(chǔ)后端設(shè)備支持接入的部分或者所有類型的前端設(shè)備的類型信息、最新的版本信息以及與最新的版本信息相對(duì)應(yīng)的第一軟件安裝包,后端設(shè)備就可以在前端設(shè)備內(nèi)的軟件版本不是最新版本的情況下,向前端設(shè)備發(fā)送最新的版本信息對(duì)應(yīng)的軟件安裝包,以使前端設(shè)備根據(jù)該第一軟件安裝包進(jìn)行升級(jí)。與現(xiàn)有技術(shù)相比,本實(shí)施例中,操作人員不再需要到環(huán)境惡劣的安裝現(xiàn)場(chǎng)去對(duì)前端設(shè)備進(jìn)行升級(jí),故前端設(shè)備的升級(jí)操作實(shí)施起來(lái)較為便捷,從而降低了操作人員的勞動(dòng)強(qiáng)度,同時(shí)也提高了前端設(shè)備的升級(jí)效率,前端設(shè)備的升級(jí)成本也會(huì)大大地降低。
需要說(shuō)明的是,上述實(shí)施例中,在每次升級(jí)之前,前端設(shè)備內(nèi)的軟件的版本信息可以有兩種不同的情況。一種情況下,前端設(shè)備內(nèi)的版本號(hào)為默認(rèn)的版本號(hào),對(duì)應(yīng)地,前端設(shè)備內(nèi)的軟件安裝包為出廠前安裝的,該軟件安裝包主要是用來(lái)測(cè)試前端設(shè)備硬件的性能,而無(wú)法滿足用戶的實(shí)際需求;另一種情況下,前端設(shè)備內(nèi)的版本號(hào)并不是默認(rèn)的版本號(hào),對(duì)應(yīng)地,該軟件安裝包為出廠之后安裝的,該軟件安裝包可以使整個(gè)前端設(shè)備正常運(yùn)行,以較好地滿足用戶的實(shí)際需求。
可以看出,本實(shí)施例中,新的前端設(shè)備通過(guò)通信線纜與后端設(shè)備相連接后,后端設(shè)備會(huì)自動(dòng)地向前端設(shè)備發(fā)送第一軟件安裝包,以實(shí)現(xiàn)前端設(shè)備內(nèi)軟件程序的安裝,而不需要人為地、手動(dòng)地去在前端設(shè)備中安裝軟件程序,從而使前端設(shè)備內(nèi)軟件程序的安裝更為方便,同時(shí)也減小了操作人員的勞動(dòng)強(qiáng)度。
需要說(shuō)明的是,上述實(shí)施例中,后端設(shè)備可以通過(guò)通信線纜與多個(gè)前端設(shè)備相連接。這樣,該后端設(shè)備可以同時(shí)將對(duì)應(yīng)的第一軟件安裝包發(fā)送給各前端設(shè)備,以使各前端設(shè)備完成軟件的升級(jí),而不需要分別到各前端設(shè)備的安裝現(xiàn)場(chǎng)去人為地、手動(dòng)地去一臺(tái)臺(tái)地升級(jí)各前端設(shè)備,從而實(shí)現(xiàn)了前端設(shè)備的軟件 的批量升級(jí)。
本實(shí)施例中,前端設(shè)備中可以具有掉電非遺失存儲(chǔ)區(qū)。具體地,掉電非遺失存儲(chǔ)區(qū)可以位于前端設(shè)備外掛的nandflash(flash內(nèi)存中的一種)中。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,存儲(chǔ)于掉電非遺失存儲(chǔ)區(qū)內(nèi)的數(shù)據(jù)將不會(huì)由于掉電而丟失。這樣,將本地存儲(chǔ)的第一版本信息對(duì)應(yīng)的第一軟件安裝包通過(guò)通信線纜發(fā)送給前端設(shè)備,包括:
將本地存儲(chǔ)的第一版本信息對(duì)應(yīng)的第一軟件安裝包通過(guò)通信線纜發(fā)送給前端設(shè)備,使前端設(shè)備將第一軟件安裝包存儲(chǔ)到前端設(shè)備的掉電非遺失存儲(chǔ)區(qū)中。
具體地,前端設(shè)備外掛的nandflash可以與前端設(shè)備的中央處理器cpu或者微控制單元mcu相連接。在后端設(shè)備將第一軟件安裝包發(fā)送給前端設(shè)備時(shí),前端設(shè)備可以先通過(guò)cpu或者mcu接收第一軟件安裝包,接著前端設(shè)備的cpu或者mcu可以將第一軟件安裝包轉(zhuǎn)存到掉電非遺失存儲(chǔ)區(qū)內(nèi)??梢钥闯?,由于第一軟件安裝包最終存儲(chǔ)于前端設(shè)備內(nèi)的掉電非遺失存儲(chǔ)區(qū),這樣可以可靠地避免第一軟件安裝包由于前端設(shè)備的關(guān)機(jī)而丟失,從而較好地保證了前端設(shè)備的正常工作。
上述實(shí)施例中,一般而言,前端設(shè)備內(nèi)通常還可以具有一備份存儲(chǔ)區(qū)。具體地,備份存儲(chǔ)區(qū)也可以位于前端設(shè)備外掛的nandflash中。這樣,若后端設(shè)備在前端設(shè)備的正常工作狀態(tài)下向前端設(shè)備發(fā)送第一軟件安裝包,由于掉電非遺失存儲(chǔ)區(qū)內(nèi)已有的軟件安裝包正在運(yùn)行,為了避免影響到已有的軟件安裝包的正常運(yùn)行,前端設(shè)備會(huì)先通過(guò)cpu或者mcu接收第一軟件安裝包,然后將第一軟件安裝包轉(zhuǎn)存到備份存儲(chǔ)區(qū)內(nèi),接著,當(dāng)前端設(shè)備重啟并再次上電后,第一軟件安裝包才會(huì)從備份存儲(chǔ)區(qū)內(nèi)轉(zhuǎn)存到掉電非遺失存儲(chǔ)區(qū)內(nèi),以替換非掉電遺失存儲(chǔ)區(qū)中已有的軟件安裝包,以完成前端設(shè)備軟件版本的更新??梢钥闯觯瑐浞荽鎯?chǔ)區(qū)的設(shè)置可以有效地保證前端設(shè)備的正常工作。
上述情況下,由于前端設(shè)備軟件版本的更新需要先將第一軟件安裝包存儲(chǔ)到備份存儲(chǔ)區(qū)內(nèi),然后才轉(zhuǎn)存到非掉電遺失存儲(chǔ)區(qū)內(nèi),故前端設(shè)備的軟件版本的整個(gè)更新過(guò)程較為麻煩。
為了有效地避免上述問(wèn)題,上述實(shí)施例中,將本地存儲(chǔ)的第一版本信息對(duì) 應(yīng)的第一軟件安裝包通過(guò)通信線纜發(fā)送給前端設(shè)備,包括:
通過(guò)通信線纜向前端設(shè)備發(fā)送復(fù)位指令,并在前端設(shè)備復(fù)位后將本地存儲(chǔ)的第一版本信息對(duì)應(yīng)的第一軟件安裝包通過(guò)通信線纜發(fā)送給前端設(shè)備。
這樣,在前端設(shè)備復(fù)位,即重啟后,前端設(shè)備可以先通過(guò)cpu或者mcu接收第一軟件安裝包,然后cpu或者mcu直接將第一軟件安裝包寫入非掉電遺失存儲(chǔ)區(qū)即可,不需要執(zhí)行將第一軟件安裝包存儲(chǔ)到備份存儲(chǔ)區(qū)中的步驟??梢钥闯?,本實(shí)施例可以有效的縮短前端設(shè)備的軟件版本進(jìn)行升級(jí)所需的時(shí)間。
上述實(shí)施例中,對(duì)于后端設(shè)備來(lái)說(shuō),其內(nèi)部預(yù)先存儲(chǔ)的可以是其支持接入的部分或者所有類型的前端設(shè)備的類型信息、最新版本信息以及與最新的版本信息相對(duì)應(yīng)的第一軟件安裝包。一般而言,為了更好地滿足用戶的實(shí)際需求,同時(shí)完善設(shè)備的功能,制造商可能每隔一段時(shí)間就會(huì)針對(duì)一部分或者所有的前端設(shè)備推出版本更新、功能更為強(qiáng)大的軟件安裝包,這時(shí),第一軟件安裝包可能就不再是最新的軟件安裝包了,相應(yīng)地,當(dāng)前端設(shè)備根據(jù)第一軟件安裝包進(jìn)行軟件升級(jí)時(shí),前端設(shè)備的軟件版本也無(wú)法更新到當(dāng)前最新的版本。
為了有效地解決上述問(wèn)題,后端設(shè)備還可以與服務(wù)器相連接。這時(shí),本實(shí)施例提供的軟件版本升級(jí)方法還可以包括如下步驟:
按照設(shè)定的第二時(shí)間間隔,從服務(wù)器中獲取前端設(shè)備的類型信息和第二版本信息。
其中,第二時(shí)間間隔可以為一天、一周或者一個(gè)月,當(dāng)然,第一時(shí)間間隔的具體時(shí)長(zhǎng)并不限于上述情況,具體可以根據(jù)實(shí)際情況來(lái)確定,本實(shí)施例對(duì)此不做任何限定。
具體實(shí)施時(shí),服務(wù)器內(nèi)可以預(yù)先存儲(chǔ)有后端設(shè)備支持接入的部分或者所有類型的前端設(shè)備的類型信息、第二版本信息以及與第二版本信息相對(duì)應(yīng)的第二軟件安裝包。具體實(shí)施時(shí),第二版本信息可以為最新的版本信息,第二版本信息和第二軟件安裝包可以周期性地進(jìn)行更新,以使服務(wù)器內(nèi)存儲(chǔ)的前端設(shè)備的第二軟件安裝包始終為制造商發(fā)布的前端設(shè)備的最新版本對(duì)應(yīng)的軟件安裝包。
根據(jù)獲取的前端設(shè)備的類型信息和第二版本信息,對(duì)本地保存的前端設(shè)備的第一版本信息進(jìn)行更新。
一般而言,對(duì)于后端設(shè)備支持接入的各個(gè)前端設(shè)備來(lái)說(shuō),制造商可能并不會(huì)同時(shí)發(fā)布各個(gè)前端設(shè)備的最新的軟件安裝包,制造商可能只發(fā)布了后端設(shè)備支持接入的前端設(shè)備中的部分前端設(shè)備的最新的軟件安裝包,這時(shí)對(duì)本地保存的前端設(shè)備的第一版本信息進(jìn)行更新就可以有兩種不同的情況。
一種情況下,對(duì)本地保存的前端設(shè)備的第一版本信息進(jìn)行更新包括:
采用獲取的前端設(shè)備的類型信息和第二版本信息替換本地保存的前端設(shè)備的類型信息和第一版本信息。
本實(shí)施例中,由于后端設(shè)備內(nèi)需要存儲(chǔ)其支持接入的部分或者所有類型的前端設(shè)備的類型信息、第一版本信息以及與第一版本相對(duì)應(yīng)的第一軟件安裝包,故可以將多個(gè)類型的前端設(shè)備的類型信息、第一版本信息以及第一軟件安裝包合成為一個(gè)大的數(shù)據(jù)包,然后將這個(gè)大數(shù)據(jù)包存儲(chǔ)到后端設(shè)備中。相應(yīng)地,也可以將多個(gè)類型的前端設(shè)備的類型信息、第二版本信息以及與第二版本信息相對(duì)應(yīng)的第二軟件安裝包合成為一個(gè)大的數(shù)據(jù)包,然后將這個(gè)大數(shù)據(jù)包存儲(chǔ)于服務(wù)器中。這樣,只要后端設(shè)備內(nèi)存儲(chǔ)的任一個(gè)前端設(shè)備的版本信息不是最新的版本信息時(shí),后端設(shè)備就會(huì)用服務(wù)器內(nèi)的大數(shù)據(jù)包替換本地的大數(shù)據(jù)包,以使本地內(nèi)存儲(chǔ)的第一軟件安裝包始終為制造商發(fā)布的最新版本的軟件安裝包。
可以看出,這樣全部替換的方式操作起來(lái)非常簡(jiǎn)單,便于實(shí)施。
另一種情況下,對(duì)本地保存的前端設(shè)備的第一版本信息進(jìn)行更新包括:
根據(jù)獲取的前端設(shè)備的類型信息,在本地保存的各存儲(chǔ)區(qū)中查找前端設(shè)備的類型信息。
本實(shí)施例中,后端設(shè)備內(nèi)可以具有多個(gè)存儲(chǔ)區(qū),每個(gè)存儲(chǔ)區(qū)內(nèi)存儲(chǔ)一種類型的前端設(shè)備的類型信息、第一版本信息和第一軟件安裝包。這樣,當(dāng)后端設(shè)備獲取到前端設(shè)備的類型信息和版本信息后,后端設(shè)備會(huì)遍歷各個(gè)存儲(chǔ)區(qū),以找出存儲(chǔ)有與獲取到的類型相同的類型信息所在的那一個(gè)存儲(chǔ)區(qū)。
采用獲取的前端設(shè)備的第二版本信息,替換查找到的前端設(shè)備的類型信息對(duì)應(yīng)的第一版本信息。
具體地,當(dāng)后端設(shè)備判斷其內(nèi)部某一個(gè)存儲(chǔ)區(qū)內(nèi)存儲(chǔ)的版本信息不是最新的版本信息時(shí),后端設(shè)備將會(huì)采用從服務(wù)器內(nèi)獲取的第二版本信息和第二軟件 安裝包來(lái)替換這個(gè)存儲(chǔ)區(qū)內(nèi)原本存儲(chǔ)的第一軟件安裝包,最終各個(gè)存儲(chǔ)區(qū)內(nèi)存儲(chǔ)的第二版本信息將始終為制造商發(fā)布的最新版本信息,第二軟件安裝包始終為制造商發(fā)布的最新版本的軟件安裝包。
下面以一個(gè)具體的例子來(lái)對(duì)本發(fā)明實(shí)施例提供的軟件升級(jí)方法進(jìn)行詳細(xì)說(shuō)明。
如圖2所示,安防系統(tǒng)中可以包括后端設(shè)備1和多個(gè)前端設(shè)備,后端設(shè)備1與各前端設(shè)備相連接。如圖3所示,后端設(shè)備1可以為nrv,前端設(shè)備的數(shù)量可以為兩個(gè),這兩個(gè)前端設(shè)備分別為第一前端設(shè)備2和第二前端設(shè)備3。具體地,第一前端設(shè)備2可以為個(gè)人計(jì)算機(jī)ipc1,第二前端設(shè)備3可以為個(gè)人計(jì)算機(jī)ipc2。后端設(shè)備1通過(guò)第一通信線纜4(即圖3中所示的uart1)與第一前端設(shè)備2相連接,后端設(shè)備1還通過(guò)第二通信線纜5(即圖3中所示的uart2)與第二前端設(shè)備3相連接。具體地,第一通信電纜4和第二通信線纜5的類型均可以為通用異步收發(fā)傳輸器uart。
實(shí)際應(yīng)用時(shí),nvr首先需要對(duì)其支持接入的部分或者所有類型的前端設(shè)備的設(shè)備型號(hào)和最新版本號(hào)進(jìn)行id標(biāo)定。本實(shí)施例中,nvr可以將各前端設(shè)備的設(shè)備型號(hào)標(biāo)定為dev_id,nvr可以將各前端設(shè)備的版本號(hào)標(biāo)定為soft_id,這樣,根據(jù)設(shè)備型號(hào)和版本號(hào)之間的關(guān)系可以生成為一個(gè)二位數(shù)組,該二位數(shù)組為(dev_id1x,dev_id2x,……,dev_idnx)(soft_id1x,soft_id2x,……,soft_idnx),其中,dev_id1x為nvr支持接入的第一種類型的前端設(shè)備的設(shè)備型號(hào),soft_id1x為nvr支持接入的第一種類型的前端設(shè)備的版本號(hào),dev_id2x為nvr支持接入的第二種類型的前端設(shè)備的設(shè)備型號(hào),soft_id2x為nvr支持接入的第二種類型的前端設(shè)備的版本號(hào),依次類推。
接著可以將各個(gè)設(shè)備型號(hào)和第一版本號(hào)以及與該第一版本號(hào)相對(duì)應(yīng)的第一軟件安裝包均存儲(chǔ)起來(lái)。具體存儲(chǔ)時(shí),可以先將各個(gè)設(shè)備型號(hào)和各第一版本號(hào)以及與該第一版本號(hào)相對(duì)應(yīng)的第一軟件安裝包與nrv自身的軟件安裝包合成為一個(gè)合成安裝包,該合成數(shù)據(jù)包中的數(shù)據(jù)組成可以參照?qǐng)D4,然后將該合成安裝包通過(guò)nvr的本地高速接口或者遠(yuǎn)程高速接口直接燒錄到后端設(shè)備的存儲(chǔ)單元中,例如圖3中所示的nvr外掛的nandflash6中。當(dāng)然,合成安裝包也可以直接離線燒錄到后端設(shè)備的nandflash6中,具體可以根據(jù)實(shí)際情況來(lái)確定,本實(shí)施例對(duì)此不做任何限定。顯然,合成數(shù)據(jù)包中包括ipc1和ipc2 的軟件升級(jí)所需的軟件安裝包。
接下來(lái),nvr會(huì)通過(guò)第一連接線纜4獲取ipc1的類型信息與軟件版本信息,同時(shí)通過(guò)第二連接線纜5獲取ipc2的類型信息與軟件版本信息,然后,nvr會(huì)在合成安裝包內(nèi)尋找ipc1的類型信息對(duì)應(yīng)的第一版本信息,當(dāng)ipc1當(dāng)前的版本與合成安裝包內(nèi)ipc1的類型信息對(duì)應(yīng)的第一版本不相同時(shí),即說(shuō)明ipc1當(dāng)前的版本并不是最新的版本,此時(shí)nvr會(huì)先向ipc1發(fā)送復(fù)位指令,并在ipc1復(fù)位后將ipc1的類型信息對(duì)應(yīng)的第一軟件安裝包發(fā)送給ipc1,以使ipc1根據(jù)該第一軟件安裝包完成軟件的升級(jí)。類似地,當(dāng)ipc2當(dāng)前的版本與合成安裝包內(nèi)ipc2的類型信息對(duì)應(yīng)的第一版本不相同時(shí),即說(shuō)明ipc2當(dāng)前的版本并不是最新的版本,此時(shí)nvr會(huì)先向ipc2發(fā)送復(fù)位指令,并在ipc2復(fù)位后將ipc2的類型信息對(duì)應(yīng)的第一軟件安裝包發(fā)送給ipc2,以使ipc2根據(jù)該第一軟件安裝包完成軟件的升級(jí)。這樣,ipc1和ipc2就完成了軟件的升級(jí)。
需要說(shuō)明的是,ipc1中可以具有flash1(一種存儲(chǔ)器),ipc2中可以具有flash2(一種存儲(chǔ)器),flash1和flash2中可以具有掉電非遺失存儲(chǔ)區(qū),以防止ipc1或ipc2內(nèi)的數(shù)據(jù)丟失。
需要說(shuō)明的是,上述實(shí)施例中,除了可以通過(guò)后端設(shè)備給與其通過(guò)通信線纜相連接的前端設(shè)備進(jìn)行軟件升級(jí)之外,也可以通過(guò)后端設(shè)備給與其通過(guò)通信線纜相連接的又一后端設(shè)備進(jìn)行軟件升級(jí),具體升級(jí)過(guò)程參照上述說(shuō)明即可,在此不再贅述。
綜上,本實(shí)施例中,前端設(shè)備的軟件升級(jí)操作實(shí)施起來(lái)較為便捷,降低了操作人員的勞動(dòng)強(qiáng)度,同時(shí)也提高了前端設(shè)備的升級(jí)效率,前端設(shè)備的升級(jí)成本也會(huì)大大地降低。
軟件升級(jí)裝置實(shí)施例:
本發(fā)明實(shí)施例還提供了一種軟件升級(jí)裝置。該裝置可以應(yīng)用于安防系統(tǒng)中的后端設(shè)備,后端設(shè)備通過(guò)通信線纜與安防系統(tǒng)中的前端設(shè)備相連接。參見(jiàn)圖5,圖中示出了本發(fā)明實(shí)施例提供的軟件升級(jí)裝置的結(jié)構(gòu)框圖。如圖5所示,該裝置包括:
第一獲取模塊51,用于按照設(shè)定的第一時(shí)間間隔,獲取前端設(shè)備的類型信息及版本信息;
第一判斷模塊52,用于根據(jù)前端設(shè)備的類型信息及版本信息,判斷本地保存的該類型信息對(duì)應(yīng)的第一版本信息是否與前端設(shè)備的版本信息相同;
軟件安裝包發(fā)送模塊53,用于當(dāng)本地保存的該類型信息對(duì)應(yīng)的第一版本信息與前端設(shè)備的版本信息不相同時(shí),將本地存儲(chǔ)的第一版本信息對(duì)應(yīng)的第一軟件安裝包通過(guò)通信線纜發(fā)送給前端設(shè)備,以對(duì)前端設(shè)備的軟件進(jìn)行升級(jí)。
進(jìn)一步地,上述裝置中,前端設(shè)備中具有掉電非遺失存儲(chǔ)區(qū),軟件安裝包發(fā)送模塊具體用于:
將本地存儲(chǔ)的第一版本信息對(duì)應(yīng)的第一軟件安裝包通過(guò)通信線纜發(fā)送給前端設(shè)備,使前端設(shè)備將第一軟件安裝包存儲(chǔ)到前端設(shè)備的掉電非遺失存儲(chǔ)區(qū)中。
進(jìn)一步地,上述裝置中,軟件安裝包發(fā)送模塊具體用于:
通過(guò)通信線纜向前端設(shè)備發(fā)送復(fù)位指令,并在前端設(shè)備復(fù)位后將本地存儲(chǔ)的第一版本信息對(duì)應(yīng)的第一軟件安裝包通過(guò)通信線纜發(fā)送給前端設(shè)備。
進(jìn)一步地,上述裝置中,后端設(shè)備還與服務(wù)器相連接,該裝置還包括:
第二獲取模塊,用于按照設(shè)定的第二時(shí)間間隔,從服務(wù)器中獲取前端設(shè)備的類型信息和第二版本信息;
更新模塊,用于根據(jù)獲取的前端設(shè)備的類型信息和第二版本信息,對(duì)本地保存的第一版本信息進(jìn)行更新。
進(jìn)一步地,上述裝置中,更新模塊具體用于:
采用獲取的前端設(shè)備的類型信息和第二版本信息替換本地保存的前端設(shè)備的類型信息和第一版本信息。
進(jìn)一步地,上述裝置中,更新模塊包括:
查找模塊,用于根據(jù)獲取的前端設(shè)備的類型信息,在本地保存的各存儲(chǔ)區(qū)中查找前端設(shè)備的類型信息;
替換模塊,用于采用獲取的前端設(shè)備的第二版本信息,替換查找到的前端設(shè)備的類型信息對(duì)應(yīng)的第一版本信息。
綜上,本實(shí)施例中,前端設(shè)備的升級(jí)操作實(shí)施起來(lái)較為便捷,降低了操作人員的勞動(dòng)強(qiáng)度,同時(shí)也提高了前端設(shè)備的升級(jí)效率,前端設(shè)備的升級(jí)成本也會(huì)大大地降低。
軟件升級(jí)系統(tǒng)實(shí)施例:
本發(fā)明實(shí)施例還提供了一種軟件升級(jí)系統(tǒng)。該系統(tǒng)包括:后端設(shè)備和前端設(shè)備。其中,后端設(shè)備通過(guò)通信線纜與前端設(shè)備相連接。
后端設(shè)備,用于按照設(shè)定的第一時(shí)間間隔,獲取前端設(shè)備的類型信息及版本信息,并根據(jù)前端設(shè)備的類型信息及版本信息,判斷本地保存的該類型信息對(duì)應(yīng)的第一版本信息是否與前端設(shè)備的版本信息相同,若不相同,則將本地存儲(chǔ)的第一版本信息對(duì)應(yīng)的第一軟件安裝包通過(guò)通信線纜發(fā)送給前端設(shè)備;
前端設(shè)備,用于根據(jù)接收到的第一軟件安裝包,對(duì)自身的軟件進(jìn)行升級(jí)。
進(jìn)一步地,上述系統(tǒng)中,前端設(shè)備內(nèi)具有備份存儲(chǔ)區(qū)和掉電非遺失存儲(chǔ)區(qū),前端設(shè)備,用于檢測(cè)自身的狀態(tài),并在自身處于工作狀態(tài)時(shí),將接收到的第一軟件安裝包存儲(chǔ)于備份存儲(chǔ)區(qū)內(nèi),并在復(fù)位后將備份存儲(chǔ)區(qū)內(nèi)的第一軟件安裝包轉(zhuǎn)存到掉電非遺失存儲(chǔ)區(qū)內(nèi)。
進(jìn)一步地,上述系統(tǒng)中,前端設(shè)備,還用于接收后端設(shè)備通過(guò)通信線纜發(fā)送的復(fù)位指令,并在復(fù)位后根據(jù)接收到的第一軟件安裝包,對(duì)自身的軟件進(jìn)行升級(jí)。
綜上,本實(shí)施例中,前端設(shè)備的升級(jí)操作實(shí)施起來(lái)較為便捷,降低了操作人員的勞動(dòng)強(qiáng)度,同時(shí)也提高了前端設(shè)備的升級(jí)效率,前端設(shè)備的升級(jí)成本也會(huì)大大地降低。
需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括 所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
本說(shuō)明書中的各個(gè)實(shí)施例均采用相關(guān)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。