專利名稱:安裝或升級方法和裝置的制作方法
技術領域:
本發(fā)明涉及計算機網(wǎng)絡技術,尤其是一種安裝或升級方法和裝置。
技術背景隨著計算機科學技術的不斷發(fā)展,編程語言、可擴展標識語(eXtensible Markup Lauguage,以下簡稱XML)的不斷成熟,為了使操作人員能夠重用項 目,因此需要在主機進行安裝或升級操作?,F(xiàn)有的安裝或升級方法主要有兩 種 一種是桌面式單機安裝或升級方法,其主要應用是應用軟件的獨立安裝; 另一種是多機安裝或升級方法,其主要應用是Windows系統(tǒng)的升級。這兩種安 裝或升級方法都是由二次開發(fā)人員指定安裝或升級內(nèi)容, 一旦開始執(zhí)行安裝 或升級操作,操作人員只有等待操作完成或取消操作,無法進行干預。但是, 在實際的生產(chǎn)生活中, 一些環(huán)境下不能依賴預設條件進行判斷,要根據(jù)實際 情況實時判斷,比如,在電信領域中,每個國家、城市的組網(wǎng)以及業(yè)務應用 都可能不一樣,而且非常復雜,若只根據(jù)預設的既有條件進行判斷,由于每 種應用場景都不一樣,那么安裝或升級操作很容易出錯,進而導致安裝或升 級失敗。并且,安裝或升級失敗后,依據(jù)現(xiàn)有技術,操作人員要么定位出問 題后,重新執(zhí)行安裝或升級操作,要么回滾已有的安裝或升級操作。要定位 出問題,多數(shù)情況下只能通過分析安裝或升級日志進行問題定位,而分析日 志是一項耗時、效率低的工作,而回滾的方式也會造成時間浪費,因此,現(xiàn) 有安裝或升級方法的靈活性差,缺乏可調(diào)試性。發(fā)明內(nèi)容本發(fā)明實施例提供一種安裝或升級方法和裝置,實現(xiàn)安裝或升級的可調(diào)試。本發(fā)明實施例提供一種安裝或升級方法,包括 獲取指令組,所述指令組至少包括一條安裝或升級操作指令; 選取一個指令組作為當前指令組,并在所述當前指令組運行結束后, 判斷所述當前指令組是否設置有斷點,若所述指令組設置有斷點,則進行 調(diào)試操作,若所述指令組未設置斷點,則運行下一個指令組。 本發(fā)明實施例提供一種安裝或升級裝置,包括解析模塊,用于獲取指令組,所述指令組至少包括一條安裝或升級操作 指令;執(zhí)行模塊,用于選取一個指令組作為當前指令組,并在所述當前指令 組運行結束后,判斷所述當前指令組是否設置有斷點,若所述指令組設置 有斷點,則進行調(diào)試操作,若所述指令組未設置斷點,則運行下一個指令 組。本發(fā)明實施例通過為安裝或升級指令組設置斷點,實現(xiàn)安裝或升級過程 中的可調(diào)試,并且可以通過不對指令組設置斷點,實現(xiàn)靜默式安裝或升級, 因此本發(fā)明實施例可以支持調(diào)試和非調(diào)試模式,實現(xiàn)另一種意義上的可調(diào)試 安裝或升級。
圖l為本發(fā)明安裝或升級方法實施例一流程圖; 圖2為本發(fā)明安裝或升級方法實施例二流程圖; 圖3為本發(fā)明安裝或升級裝置實施例結構示意圖; 圖4為本發(fā)明安裝或升級裝置實施例時序功能圖。
具體實施方式
下面結合附圖和具體實施例進一步說明本發(fā)明的技術方案。圖1為本發(fā)明安裝或升級方法實施例 一 流程圖,該實施例包括 步驟ll:獲取指令組。二次開發(fā)人員將安裝或升級操作劃分為至少一 個安裝或升級指令, 一個指令組包括至少一個安裝或升級指令。每個指令 組有多種屬性,這些屬性包括但不限于指令組名稱、描述、參數(shù)、斷點標 識、超時時間等,這些屬性可以進行配置也可以采用默認值,根據(jù)斷點標 識,二次開發(fā)人員可以選擇對指令組設置或不設置斷點。同時,為每個指 令組配置由零個或者多個變量組成的配置項,這些變量包括變量名、變量 值、默認值等,由這些變量輔助完成安裝或升級,所有安裝或升級指令組 和相應的配置項都保存在配置文件中。二次開發(fā)時,首先將開發(fā)的安裝或 升級指令的具體實現(xiàn)定義該配置文件,然后將配置文件和安裝或升級內(nèi)容 打包,形成安裝或升級包。進行安裝或升級操作時,主機通過解析安裝或 升級包獲取安裝或升級指令組,顯示這些指令組及其對應的配置項,并順 序執(zhí)行這些指令組。步驟12:選取一個該安裝或升級指令組作為當前指令組,并運行該當 前指令組。步驟13:在運行結束后,判斷該當前指令組是否設置有斷點,若是, 執(zhí)行步驟14;否則,執(zhí)行步驟15。其中,斷點可以在二次開發(fā)時由二次開 發(fā)人員設定,也可以在安裝或升級過程中由操作人員設定。在二次開發(fā)時, 由于每個指令組都包括斷點標識,二次開發(fā)人員可以通過選中斷點標識為 每個指令組設置斷點,即在安裝或升級過程中獲取的指令組有無斷點已預 設確定;在安裝或升級過程中,通過將安裝或升級指令組顯示在界面上, 操作人員可以根據(jù)顯示的安裝或升級指令組的斷點標識為尚未運行的指 令組設置斷點,即在安裝或升級過程中,當前指令組的后續(xù)的待運行的指 令組可以由操作人員有選擇性地進行斷點設置。步驟14:進行調(diào)試操作。即在斷點處暫停,進行調(diào)試,如顯示與當前 指令組對應的配置項中的變量值(如配置項為安裝路徑,變量值為"D:\Program"),安裝或升級或者修改顯示的變量值等。步驟15:調(diào)用下一個指令組,并運行。再重復執(zhí)行步驟13,直至所有 指令組運行完畢,若所有指令組都沒有設置斷點,即實現(xiàn)了靜默式的安裝 或升級。本實施例通過斷點標識選擇是否對指令組進行斷點設置,若設置斷點 實現(xiàn)可調(diào)試模式,若不設置斷點實現(xiàn)非調(diào)試模式,即靜默式安裝。通過選 擇由二次開發(fā)人員設置斷點或由操作人員設置斷點,實現(xiàn)既可在二次開發(fā) 時由二次開發(fā)人員進行調(diào)試,又可在安裝或升級過程中由操作人員進行調(diào) 試。圖2為本發(fā)明安裝或升級方法實施例二流程圖,該實施例包括 步驟201:解析由二次開發(fā)人員開發(fā)的安裝或升級包,從安裝或升級包 的配置文件中獲取安裝或升級指令及與之對應的配置項,并進行保存,以便 根據(jù)保存的值進行操作。其中,本實施例以XML格式開發(fā)了配置文件,但配置 文件不限于XML格式,本實施例的XML配置文件舉例如下< xiul version=rr 1-0" e.ncoding="gb2312rr >< 。-i乾:,;禱.爽分為's條.3g令…-…><exec—list>'.:丄tf令1:對磁盤.空間進行檢査---'><exec cmd="check-exe" ar:gs = "5 {ai:gl}" desc='r" break='ftr:ue'' timeout=r'60[30t] rr>《i— ■該變S調(diào)試的封'候可修改>《vai: name="dii:" vslue="" def au丄t^"C :\Pi:ogi:am files "/> </exec><exec cmd="install ,exe" ai:gs = 'f${ ai:g2 }rr desc="" bi:eak:=r'false" timeout二"60「則V><i- Ji-二 "'M7r " -:><exec crad="3t£Lr:tup-exe" ar:gs="5{ai:g31" desc="" break二"false" tiinecmt="6C]13l]0"/> </exec_list>該XML配置文件定義了三條指令check.exe、 install, exe和 startup, exe,并為每條指令設置了斷點,這些指令與安裝或升級的產(chǎn)品有關, 并不限于.exe格式。并且為了更好的支持國際化,在配置文件中的某些屬 性定義可采取標簽的形式,以滿足對本地化安裝或升級的需求。在二次開發(fā)過程中是將上述指令和安裝或升級內(nèi)容打包成安裝或升級包。當安裝或升級主機就是存放安裝或升級包的主機時(類似單機應用場景),直接解析安裝或升級包獲取指令即可;當安裝或升級主機不是存放安裝或升級包的主機時(類似多機應用場景),可以將安裝或升級包通過FTP或其他傳輸協(xié)議傳輸?shù)桨惭b或升級主機上的某個目錄下,再進行解析 以獲取指令。步驟202:將配置項顯示在界面上。步驟203:操作人員或二次開發(fā)人員可以通過界面對配置項進行設置, 并保存,然后啟動安裝或升級操作。并且在安裝或升級時,操作人員可更 改二次開發(fā)人員設置的配置項(如安裝路徑等)中的變量值,比如上述XML 文件中二次開發(fā)人員將安裝路徑(變量)設置為"dir=C: \Program files", 操作人員可以將其更改為"dir=D:\ Program files"。步驟204:安裝或升級主機獲取解析后的安裝或升級指令,運行第一 條安裝或升級指令,如進行磁盤空間檢查的check. exe。步驟205:指令運行結束后,判斷當前指令是否設置有斷點,如有斷點則 暫停進行調(diào)試,如上述的check. exe在二次開發(fā)時就已經(jīng)設置了斷點因此需要 暫停,若無斷點。執(zhí)行步驟209。其中,指令斷點可由二次開發(fā)默認指定,也 可在安裝或升級時由操作人員通過設置斷點標識進行實時指定。步驟206:暫停后,在界面上顯示配置項中可修改的變量。變量由二次開 發(fā)定義,變量分只讀、可寫兩種,使用哪種由二次開發(fā)決定。安裝或升級指 令需具有可回溯性,對于不可重復執(zhí)行的指令,在二次開發(fā)的時候需要進行 標識,執(zhí)行模塊根據(jù)指令的標識信息給出相應的提示信息,指導操作人員進 行后續(xù)操作,比如忽略當前指令、執(zhí)行下一條指令等。步驟207:操作人員判斷配置項中的變量值的正確性,可根據(jù)需要進行修 改,修改后的配置項同樣要進行保存。比如對不正確的配置項,如"D盤空間 不足",進行修改,如可以將安裝路徑更改為"dir=E: \Program files"。步驟208:判斷當前指令是否成功運行,若是,執(zhí)行步驟209,否則,執(zhí)行步驟210。根據(jù)新的配置項,如"dir=E: \Program files"再次運行該指令 check, exe,并在運行結束后暫停。步驟209:調(diào)用下一條指令,如install. exe,對修改后的配置項,根據(jù) 修改后的配置項,如"dir=E: \Program files "運行下 一 條指令 (install, exe),對沒有進行修改的配置項,根據(jù)未修改的配置項,如"dir-D: \ Program files" 運行下一條指令(instal 1. exe)。步驟210:根據(jù)修改后的配置項,"dir=E: \Program files"重新運行當 前指令。步驟211:安裝或升級指令都執(zhí)行完畢或者操作人員取消安裝或升級 操作時,主機進行環(huán)境清理操作,如刪除臨時文件等,結束安裝或升級操 作,并生成安裝或升級報告。本實施例中配置文件中的斷點設置是具體到每一條安裝或升級指令,可 替代的是,在實際應用中可以將這個斷點配置放寬,即可以是多條安裝或升 級指令才設置一個斷點,將這多條安裝或升級指令作為一個指令組。下面對 多條指令設置一個斷點進行描述,為了和上述一條指令設置一個斷點的方式 保持配置文件格式上的統(tǒng)一,這里仍然以XML格式為例,但并不局限于XML格 式及其內(nèi)容。多條指令設置一個斷點時的XML配置文件舉例如下< xml vei:sion=''l.0" encoding="gb2312" ><!—'"-''「-><step_list><:! :n" " w 7 〃-<step n纖e^"準備階段"desc二"" bresk:='rti:uer' ><exec and-"check 1.exe" airgs:"$ {srgl} " desc::"" timeout二"60Ci0[] "/> <exec ciud= "prepare - exe" ar:gs-r'$ {3rg3 } " desc=" " timeoufSOOIDC] "/> <var naiiae="dii:r' value='r" def ault=rrC: \ Program files V></step>< ' …… J—t<step ri纖e::-"執(zhí)行階段"desc--二"" b1:e3k:二"f3lse'、<exec cmd-"mk:dii: .exe" ai:gs = " " desc=" rr timeout二"6Di〕[)[] V> <exec ond= "copy.exe" ai:gs='r" desc="" timeout="MG[3[i"/></step> </step—list>從上述XML文件可以看出,多條指令設置一個斷點就是將斷點設置在 步驟級別而非指令級別,多條安裝或升級指令處于同一個斷點操作步驟 內(nèi),如果每個步驟中只有一條安裝或升級指令,即等同于上述一條指令設 置一個斷點的方式。因此,除了設置斷點的方式不同,其余處理流程與上 述一條指令設置 一 個斷點的流程 一致。本實施例,將安裝或升級操作順序劃分為一個或多個安裝或升級指令, 對每條指令或每個指令組都可以進行斷點標識,根據(jù)斷點標識選擇是否設置 斷點,若設置斷點,在斷點處暫停下來,并且可以修改變量值以便重新運行 指令,沒有斷點即實現(xiàn)靜默式安裝或升級,實現(xiàn)既可支持可調(diào)試也可支持非 調(diào)試兩種4莫式。并且,本實施例的斷點和變量值既可以通過二次開發(fā)建立默 認值,又可以通過操作人員在安裝或升級時,在操作界面進行設置,即可以 實現(xiàn)兩層的斷點設置及變量值的配置。圖3為本發(fā)明安裝或升級裝置實施例結構示意圖,該實施例包括角罕 析模塊1和執(zhí)行模塊3。解析模塊l用于獲取指令組,所述指令組至少包括一 條安裝或升級操作指令;執(zhí)行模塊3用于選取一個所述安裝或升級指令組 作為當前指令組,并在所述當前指令組運行結束后,判斷所述當前指令組 是否設置有斷點,若所述指令組設置有斷點,則進行調(diào)試操作,若所述指 令組未設置斷點,則運行下一個指令組。本實施例通過為指令組設置斷點,實現(xiàn)安裝或升級過程中的可調(diào)試, 如不為指令組設置斷點,實現(xiàn)靜默式安裝,即本實施例既支持可調(diào)試模式 有支持非可調(diào)試模式,實現(xiàn)另一種形式的可調(diào)試。參照圖4所示的各模塊的時序功能圖,本實施例還可以包括配置模塊 2。解析模塊l用于解析安裝或升級包,獲取安裝或升級指令組及其對應的配 置項;配置^f莫塊2用于顯示解析模塊l獲取的安裝或升級指令組,并顯示、修 改、保存與所述指令組對應的配置項中的變量值;執(zhí)行模塊3用于選取一個 安裝或升級指令組作為當前指令組,并根據(jù)配置模塊2保存的與當前指令 組對應的變量值運行當前指令組,在當前指令組運行結束后,判斷所述當前指令組是否設置有斷點,若所述指令組設置有斷點,則進行調(diào)試搡作, 若所述指令組未設置斷點,則運行下一個指令組。具體流程參照圖4及如下的步驟步驟401:解析模塊解析安裝或升級包,獲取安裝或升級指令組及其 對應的配置項。安裝或升級包可以存在本地進行安裝或升級操作的主機 上,也可以通過FTP或其他協(xié)議從遠程傳輸?shù)竭M行安裝或升級操作的主機 上。步驟402:解析模塊將獲取的指令組及其對應的配置項傳輸給配置模 塊。二次開發(fā)人員可以對配置項中的變量值進行預先的設置,即設置默認 值,如將安裝路徑預設為"C:\Program"。步驟403:配置模塊向操作人員顯示配置項,如安裝路徑,操作人員 可以根據(jù)需要對配置項中的變量值進行修改,如將"C:\Program"修改為 "D:\Program",配置模塊將修改后的變量值保存在指令組的配置項中。步驟404:配置;f莫塊發(fā)送一個作為當前指令組的指令組,如check. exe 及其對應的配置項給執(zhí)行模塊。步驟405:執(zhí)行模塊根據(jù)該當前指令組的配置項運行該當前指令組, 如操作人員沒有對安裝路徑進行修改時,將安裝或升級內(nèi)容安裝在 "C:\Program",若操作人員在將該變量修改為"D:\Prograra"后,安裝 或升級內(nèi)容將安裝在"D:\Program"。步驟4 06:執(zhí)行模塊在該當前指令組運行結束后判斷該當前指令組是 否有斷點,該斷點可以是二次開發(fā)人員預設的,也可以是操作人員在操作 過程中設置的,若有,執(zhí)行步驟407,否則運行下一個指令組。步驟407:執(zhí)行模塊判斷該當前指令組是否成功運行,若成功,如執(zhí) 行check. exe后發(fā)現(xiàn)D盤空間足夠,向配置模塊返回配置項;若不成功,如 執(zhí)行check. exe后發(fā)現(xiàn)D盤空間不夠,向配置模塊返回運行結果信息,如"D 盤空間不夠"。步驟408:配置模塊向操作人員顯示配置項,不論指令組是否成功運行,操作人員都可以對配置項的變量值進行修改,如將安裝路徑修改為"E:\Program"。配置模塊保存修改后的值。步驟409:配置模塊將修改后的變量值發(fā)送給執(zhí)行模塊,使執(zhí)行模塊 根據(jù)修改后的變量值運行指令組。步驟"0:若當前指令組(check, exe)成功運行,如上述D盤空間足夠, 執(zhí)行模塊根據(jù)新的變量值("E:\Program")運行下一個指令組,如 install.exe,若當前指令組(check.exe)未成功運行,如上述D盤空間 不足,執(zhí)行模塊根據(jù)新的變量值("E:\Program")再次運行當前指令組 (check.exe)。直至所,的指+纟且A功^^亍。本領域普通技術人員可以理解實現(xiàn)上述方法實施例的全部或部分步 驟可以通過程序指令相關的硬件來完成,前述的程序可以存儲于一計算機 可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟; 而前述的存儲介質(zhì)包括ROM、 RAM、磁碟或者光盤等各種可以存儲程序代 碼的介質(zhì)。最后應說明的是以上實施例僅用以說明本發(fā)明的技術方案,而非對 其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領域的普通 技術人員應當理解其依然可以對前述各實施例所記載的技術方案進行修 改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不 使相應技術方案的本質(zhì)脫離本發(fā)明各實施例技術方案的精神和范圍。
權利要求
1、一種安裝或升級方法,其特征在于,包括獲取指令組,所述指令組至少包括一條安裝或升級操作指令;選取一個指令組作為當前指令組,并在所述當前指令組運行結束后,判斷所述當前指令組是否設置有斷點,若所述指令組設置有斷點,則進行調(diào)試操作,若所述指令組未設置斷點,則運行下一個指令組。
2、 根據(jù)權利要求l所述的安裝或升級方法,其特征在于,所述獲取指令 組包括獲取有無斷點已預設確定的指令組。
3、 根據(jù)權利要求l所述的安裝或升級方法,其特征在于,還包括在當 前指令組運行過程中,為未運行的指令組有選擇性地設置斷點。
4、 根據(jù)權利要求1或2或3所述的安裝或升級方法,其特征在于,還包括 為所述指令組設置變量值。
5、 根據(jù)權利要求4所述的安裝或升級方法,其特征在于,所述進行調(diào)試 操作包括顯示與所述當前指令組對應的變量值。
6、 根據(jù)權利要求4所述的安裝或升級方法,其特征在于,所述進行調(diào)試 操作包括顯示并修改與所述當前指令組對應的變量值。
7、 根據(jù)權利要求4所述的安裝或升級方法,其特征在于,還包括判斷 所述當前指令組是否運行成功,若成功,則才艮據(jù)設置的變量值運行下一個指 令組,若不成功,則修改所述變量值,并根據(jù)修改后的變量值再次運行當前 指令組。
8、 根據(jù)權利要求l所述的安裝或升級方法,其特征在于,還包括當接 收到安裝或升級取消請求或所述安裝或升級指令組全部運行結束后,進行環(huán) 境清理并生成安裝或升級報告。
9、 根據(jù)權利要求l所述的安裝或升級方法,其特征在于從進行安裝或 升級搡作的主機上獲取所述指令組,或者通過文件傳輸協(xié)議獲取所述指令組。
10、 一種安裝或升級裝置,其特征在于,包括解析模塊,用于獲取指令組,所述指令組至少包括一條安裝或升級操作指令;執(zhí)行模塊,用于選取一個指令組作為當前指令組,并在所述當前指令 組運行結束后,判斷所述當前指令組是否設置有斷點,若所述指令組設置 有斷點,則進行調(diào)試操作,若所述指令組未設置斷點,則運行下一個指令 組。
11、根據(jù)權利要求10所述的安裝或升級裝置,其特征在于,還包括 配置模塊,用于顯示所述指令組并為所述指令組設置變量值。
全文摘要
本發(fā)明涉及一種安裝或升級方法和裝置。該安裝或升級方法包括獲取指令組;選取一個指令組作為當前指令組,并在所述當前指令組運行結束后,判斷所述當前指令組是否設置有斷點,若所述指令組設置有斷點,則進行調(diào)試操作,若所述指令組未設置斷點,則運行下一個指令組。該安裝或升級裝置包括解析模塊,用于獲取指令組;執(zhí)行模塊,用于選取一個安裝或升級指令組作為當前指令組,并在所述當前指令組運行結束后,判斷所述當前指令組是否設置有斷點,若所述指令組設置有斷點,則進行調(diào)試操作,若所述指令組未設置斷點,則運行下一個指令組。本發(fā)明實施例通過為安裝或升級指令組有選擇性地設置斷點,實現(xiàn)安裝或升級的可調(diào)試。
文檔編號G06F9/445GK101236507SQ20081008163
公開日2008年8月6日 申請日期2008年3月3日 優(yōu)先權日2008年3月3日
發(fā)明者山 姜, 婧 張, 博 李, 王治平, 石道強 申請人:華為技術有限公司