專利名稱:一種實現(xiàn)網(wǎng)絡(luò)終端設(shè)備配置自動更新的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于網(wǎng)絡(luò)通信領(lǐng)域,尤其涉及一種實現(xiàn)對網(wǎng)絡(luò)終端設(shè)備的配置進行自動更新的方法及系統(tǒng)。
背景技術(shù):
隨著軟件功能的增強,帶來了系統(tǒng)復(fù)雜度的提高,而由此引起的是發(fā)布的程序中隱藏的缺陷越來越多。相應(yīng)的,為了解決系統(tǒng)中遺留的缺陷,軟件的升級也就顯得尤為重要。如何對軟件進行升級以及如何對系統(tǒng)配置信息進行更新是解決該問題的關(guān)鍵所在。軟件升級分為手動升級與自動升級兩種,手動升級指通過手工操作對設(shè)備或軟件進行升級處理,例如將設(shè)備送至維修處進行升級、或者點擊軟件界面上的“升級”按鈕進行升級。自動升級是指不需要人工干預(yù),系統(tǒng)在某種情況下自動觸發(fā)升級流程,再通過網(wǎng)絡(luò)自動獲取目標程序,然后進行軟件升級及更新系統(tǒng)配置信息的過程。
目前,網(wǎng)絡(luò)終端設(shè)備普遍采取單純判斷版本號的方法來對設(shè)備進行自動升級以及更新系統(tǒng)配置信息,升級流程如圖1所示在步驟S101中,系統(tǒng)啟動后,網(wǎng)絡(luò)終端設(shè)備向升級服務(wù)器發(fā)起請求下載一個升級信息文件,該升級信息文件中存在一個軟件版本號的描述字段;在步驟S102中,網(wǎng)絡(luò)終端設(shè)備提取升級信息文件中所描述的版本號字段,并將其與當(dāng)前程序的版本號進行比較,若不一致則執(zhí)行步驟S103,若一致則取消軟件升級操作,執(zhí)行后續(xù)的啟動步驟;在步驟S103中,下載升級信息文件中所描述的升級目標文件并執(zhí)行升級操作,并將升級信息文件中的配置信息導(dǎo)入目前的配置信息中。
由上所述,在現(xiàn)有技術(shù)中僅能根據(jù)版本號的異同來判斷升級與否,而且所有設(shè)備必須統(tǒng)一升級至完全相同的目標版本。同時,無法實現(xiàn)系統(tǒng)配置信息的靈活修改,若需要修改配置信息,則所有的設(shè)備都必須修改為完全相同的配置。
發(fā)明內(nèi)容
本發(fā)明的目的在于解決現(xiàn)有技術(shù)中僅能根據(jù)版本號的異同來判斷升級與否,無法實現(xiàn)系統(tǒng)配置信息的靈活修改,若需要修改配置信息,則所有的設(shè)備都必須修改為完全相同的配置或者升級至完全相同的目標版本的問題。
為實現(xiàn)上述發(fā)明目的,本發(fā)明提供了一種實現(xiàn)網(wǎng)絡(luò)終端設(shè)備配置自動更新的方法,所述方法包括解釋執(zhí)行預(yù)先設(shè)置的升級策略腳本,獲取與網(wǎng)絡(luò)終端設(shè)備本地配置信息對應(yīng)的目標文件信息,并觸發(fā)網(wǎng)絡(luò)終端設(shè)備執(zhí)行配置自動更新操作;所述升級策略腳本通過腳本語言設(shè)置有網(wǎng)絡(luò)終端設(shè)備的配置信息,以及與所述配置信息對應(yīng)的目標文件信息。
所述解釋執(zhí)行所述升級策略腳本的步驟進一步包括2.1解釋所述升級策略腳本,根據(jù)所述升級策略腳本中的配置函數(shù)調(diào)用所述網(wǎng)絡(luò)終端設(shè)備中待升級程序的對應(yīng)接口函數(shù);2.2根據(jù)所述待升級程序的接口函數(shù)返回的配置信息讀取所述升級策略腳本中對應(yīng)的目標文件信息;2.3觸發(fā)網(wǎng)絡(luò)終端設(shè)備執(zhí)行配置自動更新流程。
所述配置信息包括網(wǎng)絡(luò)終端設(shè)備的軟硬件版本號或/和系統(tǒng)配置參數(shù)。
所述配置自動更新包括待升級程序的自動升級或/和系統(tǒng)配置信息的自動修改。
所述腳本語言包括JavaScript。
所述腳本解釋器為HTML瀏覽器或者網(wǎng)絡(luò)終端設(shè)備中的待升級程序。
為實現(xiàn)上述發(fā)明目的,本發(fā)明還提供了一種實現(xiàn)網(wǎng)絡(luò)終端設(shè)備配置自動更新的系統(tǒng),所述系統(tǒng)包括
升級策略腳本生成器,設(shè)置于升級服務(wù)器,設(shè)置升級策略腳本,所述升級策略腳本通過腳本語言設(shè)置有網(wǎng)絡(luò)終端設(shè)備的配置信息,以及與所述配置信息對應(yīng)的目標文件信息;腳本解釋器,設(shè)置于網(wǎng)絡(luò)設(shè)備終端,用于解釋執(zhí)行所述升級策略腳本,獲取與網(wǎng)絡(luò)終端設(shè)備本地配置信息對應(yīng)的目標文件信息,并觸發(fā)網(wǎng)絡(luò)終端設(shè)備執(zhí)行配置自動更新操作。
所述配置自動更新包括待升級程序的自動升級或/和系統(tǒng)配置信息的自動修改。
所述配置信息包括網(wǎng)絡(luò)終端設(shè)備的軟硬件版本號或/和系統(tǒng)配置參數(shù)。
所述腳本解釋器為HTML瀏覽器或網(wǎng)絡(luò)終端設(shè)備中的待升級程序。
通過本發(fā)明,可以根據(jù)不同的網(wǎng)絡(luò)終端設(shè)備以及網(wǎng)絡(luò)終端設(shè)備的不同配置情況,靈活實現(xiàn)網(wǎng)絡(luò)終端設(shè)備配置的自動更新,解決了現(xiàn)有技術(shù)中無法針對不同的網(wǎng)絡(luò)終端設(shè)備進行區(qū)別性配置更新的問題。
圖1是現(xiàn)有技術(shù)中網(wǎng)絡(luò)終端設(shè)備軟件自動升級的實現(xiàn)流程圖;圖2是適用本發(fā)明的網(wǎng)絡(luò)結(jié)構(gòu)圖;圖3是本發(fā)明提供的實現(xiàn)網(wǎng)絡(luò)終端設(shè)備配置信息自動更新的實現(xiàn)流程圖;圖4是本發(fā)明提供的腳本解釋器對升級策略腳本進行解釋執(zhí)行的實現(xiàn)流程圖。
具體實施例方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
在本發(fā)明中,升級服務(wù)器通過腳本語言設(shè)置與網(wǎng)絡(luò)終端設(shè)備的配置信息對應(yīng)的目標文件信息,網(wǎng)絡(luò)終端設(shè)備通過解釋執(zhí)行腳本指令,獲取與本地配置信息對應(yīng)的目標文件信息,然后獲取目標文件完成網(wǎng)絡(luò)終端設(shè)備配置的自動更新,包括程序的自動升級以及系統(tǒng)配置信息的自動修改。
圖2示出了適用本發(fā)明的網(wǎng)絡(luò)結(jié)構(gòu),網(wǎng)絡(luò)終端設(shè)備200通過FTP(FileTransfer Protocol,文件傳送協(xié)議)或HTTP(Hypertext Transfer Protocol,超文本傳輸協(xié)議)與升級服務(wù)器100相連,從升級服務(wù)器100上下載升級策略腳本和目標程序。
升級策略腳本生成器101采用通用的腳本語言編寫升級策略腳本。由于大多數(shù)網(wǎng)絡(luò)終端設(shè)備都支持HTML(Hyper Text Markup Language,超文本標識語言)瀏覽器,而支持HTML瀏覽器通常也支持JavaScript腳本語言。因此,在本發(fā)明中選用JavaScript腳本語言的語法來對升級策略腳本進行描述,當(dāng)然也可以通過其他的腳本語言實現(xiàn)。
升級策略腳本中包含了網(wǎng)絡(luò)終端設(shè)備的配置信息,以及與網(wǎng)絡(luò)終端設(shè)備的配置信息對應(yīng)的目標文件信息。
在本發(fā)明中,網(wǎng)絡(luò)終端設(shè)備配置自動更新的升級策略可以根據(jù)網(wǎng)絡(luò)終端設(shè)備的配置信息以及目標程序情況靈活設(shè)置,例如(1)以網(wǎng)絡(luò)終端設(shè)備當(dāng)前的軟硬件版本號作為網(wǎng)絡(luò)終端設(shè)備配置自動更新的依據(jù);(2)以網(wǎng)絡(luò)終端設(shè)備當(dāng)前的一項或者多項配置參數(shù)作為網(wǎng)絡(luò)終端設(shè)備配置自動更新的依據(jù);(3)以網(wǎng)絡(luò)終端設(shè)備當(dāng)前的軟硬件版本號+一項或者多項配置參數(shù)作為網(wǎng)絡(luò)終端設(shè)備配置自動更新的依據(jù);(4)以網(wǎng)絡(luò)終端設(shè)備當(dāng)前的軟硬件版本號作為依據(jù),修改當(dāng)前的配置信息;(5)以網(wǎng)絡(luò)終端設(shè)備當(dāng)前的一項或者多項配置參數(shù)作為判斷依據(jù),修改當(dāng)前的配置信息;(6)以網(wǎng)絡(luò)終端設(shè)備當(dāng)前的版本號+一項或者多項配置參數(shù)作為判斷依據(jù),修改當(dāng)前的配置信息;(7)以網(wǎng)絡(luò)終端設(shè)備當(dāng)前的軟硬件版本號作為判斷依據(jù),修改當(dāng)前的配置信息,并選擇待升級的目標程序進行升級;(8)以網(wǎng)絡(luò)終端當(dāng)前的一項或者多項配置參數(shù)作為判斷依據(jù),修改當(dāng)前的配置信息,并選擇待升級的目標程序進行升級;(9)以網(wǎng)絡(luò)終端當(dāng)前的軟硬件版本號+一項或者多項配置參數(shù)作為判斷依據(jù),修改當(dāng)前的配置信息,并選擇待升級的目標文件進行升級等。
網(wǎng)絡(luò)終端設(shè)備的配置信息根據(jù)升級策略的不同會有所不同,例如選擇根據(jù)網(wǎng)絡(luò)終端設(shè)備當(dāng)前待升級程序的版本號進行升級時,配置信息中包含有當(dāng)前待升級程序的版本號;選擇根據(jù)網(wǎng)絡(luò)終端設(shè)備的硬件信息進行升級時,配置信息中包含網(wǎng)絡(luò)終端設(shè)備的各種軟硬件參數(shù)信息,如CPU的型號、硬盤的大小等等。作為本發(fā)明的一個實施例,目標文件信息是與網(wǎng)絡(luò)終端設(shè)備的相應(yīng)配置信息對應(yīng)的目標程序的文件名或者訪問路徑。
升級策略腳本中包含有一系列配置函數(shù),用于獲取網(wǎng)絡(luò)終端設(shè)備的配置信息、設(shè)置指定配置項以及發(fā)起針對指定目標文件的升級流程等,具體需要完成的功能可以根據(jù)軟件升級或配置更新的需求靈活定義。腳本解釋器201通過解釋執(zhí)行這些配置函數(shù),可以獲取與本地配置信息相對應(yīng)的目標文件信息。
以下通過示例對升級策略腳本進行具體說明以網(wǎng)絡(luò)終端當(dāng)前待升級程序的版本號作為判斷依據(jù)選擇待升級的目標文件為例//完成策略//版本號為VERSION_1的用戶,使用文件″ObjectFile1″進行升級;//版本號為VERSION_2.5的用戶,使用文件″ObjectFile2″進行升級;//其余情況不改變版本;//對應(yīng)該策略的升級策略腳本偽代碼為var Current Version=GetCurrent Version(SOFTWARE);
if(Current Version==VERSION_1)Upgrate To Version(ObjectFile1);
else if(Current Version>=VERSION_2.5)Upgrate To Version(ObjectFile2);
else DoNothing();
以網(wǎng)絡(luò)終端設(shè)備當(dāng)前的某項配置信息作為判斷依據(jù)選擇待升級的目標文件為例//完成策略//當(dāng)前用戶名中包含“sz”的設(shè)備,使用文件″ObjectFile1″進行升級;//當(dāng)前用戶名中包含“gd”的設(shè)備,使用文件″ObjectFile2″進行升級;//其余情況不改變版本;//對應(yīng)該策略的升級策略腳本偽代碼為var CurrentConf_Para_1=GetCurrentPARA(USERNAME);
if(IfStringInlucde(CurrentConf_Para_1,"sz")==TRUE)Upgrate To Version(ObjectFile1);
else if(CurrentConf_Para_1=="gd")Upgrate To Version(ObjectFile2);
else DoNothing();
以網(wǎng)絡(luò)終端設(shè)備的當(dāng)前待升級程序的版本號+某項配置信息作為判斷依據(jù)選擇待升級的目標文件為例;//完成策略//當(dāng)前版本號為VERSION_1,且當(dāng)前用戶名中包含“sz”的設(shè)備,使用文件″ObjctFile1″進行升級;//當(dāng)前版本號為VERSION_1,且當(dāng)前用戶名中包含“gz”的設(shè)備,使用文件″ObjectFile2″進行升級;//當(dāng)前版本號小于VERSION_3,且當(dāng)前用戶名中包含“gd”的設(shè)備,使用文件″ObjectFile3″進行升級;//其余情況不改變版本;//對應(yīng)該策略的升級策略腳本偽代碼為var Current Version=GetCurrent Version(SOFTWARE);
var CurrentConf_Para_1=GetCurrentPARA(USERNAME);if(CurrentVersion==VERSION_1 && CurrentConf_Para_1=="sz")Upgrate To Version(ObjectFile1);
else if(CurrentVersion==VERSION_1 && CurrentConf_Para_1=="gz")Upgrate To Version(ObjectFile2);
else if(CurrentVersion<=VERSION_3 && CurrentConf_Para_1=="gd")Upgrate To Version(ObjectFile3);
else DoNothing();
在其他配置信息情況下,升級策略腳本的實現(xiàn)與上述類似,不再贅述。
目標程序庫102存儲了網(wǎng)絡(luò)終端設(shè)備200進行軟件升級或者配置信息更新所需要的目標程序,當(dāng)網(wǎng)絡(luò)終端設(shè)備200獲取與本地配置信息對應(yīng)的目標文件信息時,網(wǎng)絡(luò)終端設(shè)備200可以登錄升級服務(wù)器100,下載目標程序庫102中相應(yīng)的目標程序進行安裝更新。
作為本發(fā)明的一個實施例,腳本解釋器201可以是網(wǎng)絡(luò)終端設(shè)備的HTML瀏覽器,HTML瀏覽器須提供對升級策略腳本中的配置函數(shù)的處理功能,實現(xiàn)升級策略腳本中的配置函數(shù)與待升級程序中接口函數(shù)的對應(yīng)調(diào)用關(guān)系,并進行參數(shù)傳遞及對返回值的處理。
作為本發(fā)明的另一個實施例,腳本解釋器201可以是待升級程序202提供的腳本解釋功能模塊。由于系統(tǒng)配置信息、版本號等應(yīng)該是由網(wǎng)絡(luò)終端設(shè)備200自身提供,所以該腳本解釋功能模塊通過一些函數(shù),例如設(shè)置/讀取配置信息的函數(shù)、發(fā)起升級流程的函數(shù)解釋執(zhí)行升級策略腳本,獲取網(wǎng)絡(luò)終端設(shè)備200的配置信息以及對應(yīng)的目標文件信息。
待升級程序202是網(wǎng)絡(luò)終端設(shè)備200當(dāng)前運行的待升級的程序,待升級程序202中具有一系列接口函數(shù),與升級策略腳本中的配置函數(shù)形成對應(yīng)關(guān)系,并完成相應(yīng)配置函數(shù)所需要執(zhí)行的功能,例如設(shè)置/讀取系統(tǒng)配置信息、發(fā)起下載目標程序的流程等。
以腳本語言是JavaScript為例,系統(tǒng)啟動后,腳本解釋器201根據(jù)JavaScript的語法對腳本進行解釋執(zhí)行,遇到升級策略腳本中自定義的JavaScript函數(shù)時,再由腳本解釋器201根據(jù)自定義的函數(shù)名調(diào)用待升級程序202的接口函數(shù),并將相應(yīng)的參數(shù)下發(fā)給待升級程序202的接口函數(shù)。接口函數(shù)完成相應(yīng)的操作后,例如設(shè)置/讀取系統(tǒng)配置信息、發(fā)起下載目標程序的流程后返回相應(yīng)的信息給腳本解釋器101,腳本解釋器101再根據(jù)接口函數(shù)的返回值來解釋執(zhí)行后續(xù)的升級策略腳本。
圖3中示出了本發(fā)明提供的配置自動更新的實現(xiàn)流程,詳述如下在步驟S301中,網(wǎng)絡(luò)終端設(shè)備200自動升級流程被觸發(fā),從升級服務(wù)器100上下載升級策略腳本。獲取升級策略腳本應(yīng)使用可靠的傳輸協(xié)議,例如FTP(File Transfer Protocol,文件傳送協(xié)議)或HTTP(Hypertext Transfer Protocol,超文本傳輸協(xié)議)。
在步驟S302中,網(wǎng)絡(luò)終端設(shè)備200判斷從服務(wù)器100上下載升級策略腳本文件是否成功,是則執(zhí)行步驟S303,否則結(jié)束流程。
在步驟S303中,網(wǎng)絡(luò)終端設(shè)備200獲得升級策略腳本后,通過腳本解釋器201對升級策略腳本進行解釋執(zhí)行,獲取與本地配置信息對應(yīng)的目標程序文件信息,根據(jù)獲取的目標程序文件信息向升級服務(wù)器請求獲取對應(yīng)的目標程序,將本地軟件程序自動升級至目標程序,或者修改本地配置。
圖4示出了腳本解釋器201的對升級策略腳本進行解釋執(zhí)行的實現(xiàn)流程,詳述如下在步驟S401中,升級策略腳本解釋執(zhí)行任務(wù)啟動后,判斷是否到達升級策略腳本的結(jié)束位置,是則升級策略腳本解釋執(zhí)行結(jié)束,否則執(zhí)行步驟S402;在步驟S402中,讀取升級策略腳本并按照腳本語言的語法進行解釋執(zhí)行;在步驟S403中,判斷是否調(diào)用了升級策略腳本中自定義的配置函數(shù),是則執(zhí)行步驟S404,否則返回步驟S401;在步驟S404中,當(dāng)腳本解釋器201遇到升級策略腳本中的配置函數(shù)時,根據(jù)配置函數(shù)的函數(shù)名調(diào)用待升級程序202的接口函數(shù),并將相應(yīng)的參數(shù)下發(fā)給接口函數(shù);在步驟S405中,待升級程序202的接口函數(shù)完成相應(yīng)的操作,例如設(shè)置/讀取系統(tǒng)配置信息、發(fā)起下載目標程序的流程后,返回相應(yīng)的信息給腳本解釋器201;在步驟S406中,腳本解釋器201根據(jù)待升級程序202的接口函數(shù)的返回值來解釋執(zhí)行升級策略腳本的后續(xù)部分。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種實現(xiàn)網(wǎng)絡(luò)終端設(shè)備配置自動更新的方法,其特征在于,所述方法包括解釋執(zhí)行預(yù)先設(shè)置的升級策略腳本,獲取與網(wǎng)絡(luò)終端設(shè)備本地配置信息對應(yīng)的目標文件信息,并觸發(fā)網(wǎng)絡(luò)終端設(shè)備執(zhí)行配置自動更新操作;所述升級策略腳本通過腳本語言設(shè)置有網(wǎng)絡(luò)終端設(shè)備的配置信息,以及與所述配置信息對應(yīng)的目標文件信息。
2.如權(quán)利要求1所述的方法,其特征在于,所述解釋執(zhí)行所述升級策略腳本的步驟進一步包括2.1解釋所述升級策略腳本,根據(jù)所述升級策略腳本中的配置函數(shù)調(diào)用所述網(wǎng)絡(luò)終端設(shè)備中待升級程序的對應(yīng)接口函數(shù);2.2根據(jù)所述待升級程序的接口函數(shù)返回的配置信息讀取所述升級策略腳本中對應(yīng)的目標文件信息;2.3觸發(fā)網(wǎng)絡(luò)終端設(shè)備執(zhí)行配置自動更新流程。
3.如權(quán)利要求1或2所述的方法,其特征在于,所述配置信息包括網(wǎng)絡(luò)終端設(shè)備的軟硬件版本號或/和系統(tǒng)配置參數(shù)。
4.如權(quán)利要求1或2所述的方法,其特征在于,所述配置自動更新包括待升級程序的自動升級或/和系統(tǒng)配置信息的自動修改。
5.如權(quán)利要求1所述的方法,其特征在于,所述腳本語言包括JavaScript。
6.如權(quán)利要求2所述的方法,其特征在于,所述腳本解釋器為HTML瀏覽器或者網(wǎng)絡(luò)終端設(shè)備中的待升級程序。
7.一種實現(xiàn)網(wǎng)絡(luò)終端設(shè)備配置自動更新的系統(tǒng),其特征在于,所述系統(tǒng)包括升級策略腳本生成器,設(shè)置于升級服務(wù)器,設(shè)置升級策略腳本,所述升級策略腳本通過腳本語言設(shè)置有網(wǎng)絡(luò)終端設(shè)備的配置信息,以及與所述配置信息對應(yīng)的目標文件信息;腳本解釋器,設(shè)置于網(wǎng)絡(luò)設(shè)備終端,用于解釋執(zhí)行所述升級策略腳本,獲取與網(wǎng)絡(luò)終端設(shè)備本地配置信息對應(yīng)的目標文件信息,并觸發(fā)網(wǎng)絡(luò)終端設(shè)備執(zhí)行配置自動更新操作。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述配置自動更新包括待升級程序的自動升級或/和系統(tǒng)配置信息的自動修改。
9.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述配置信息包括網(wǎng)絡(luò)終端設(shè)備的軟硬件版本號或/和系統(tǒng)配置參數(shù)。
10.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述腳本解釋器為HTML瀏覽器或網(wǎng)絡(luò)終端設(shè)備中的待升級程序。
全文摘要
本發(fā)明適用于網(wǎng)絡(luò)通信領(lǐng)域,提供了一種實現(xiàn)網(wǎng)絡(luò)終端設(shè)備配置自動更新的方法及系統(tǒng),所述方法包括解釋執(zhí)行預(yù)先設(shè)置的升級策略腳本,獲取與網(wǎng)絡(luò)終端設(shè)備本地配置信息對應(yīng)的目標文件信息,并觸發(fā)網(wǎng)絡(luò)終端設(shè)備執(zhí)行配置自動更新操作;所述升級策略腳本通過腳本語言設(shè)置有網(wǎng)絡(luò)終端設(shè)備的配置信息,以及與所述配置信息對應(yīng)的目標文件信息。通過本發(fā)明,可以根據(jù)不同的網(wǎng)絡(luò)終端設(shè)備以及網(wǎng)絡(luò)終端設(shè)備的不同配置情況,靈活實現(xiàn)網(wǎng)絡(luò)終端設(shè)備配置的自動更新,解決了現(xiàn)有技術(shù)中無法針對不同的網(wǎng)絡(luò)終端設(shè)備進行區(qū)別性配置更新的問題。
文檔編號G06F9/445GK1859180SQ20051012082
公開日2006年11月8日 申請日期2005年12月13日 優(yōu)先權(quán)日2005年12月13日
發(fā)明者張云浩 申請人:華為技術(shù)有限公司