国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種實(shí)現(xiàn)軟件在線升級(jí)的方法、裝置及系統(tǒng)的制作方法

      文檔序號(hào):6577484閱讀:348來源:國知局
      專利名稱:一種實(shí)現(xiàn)軟件在線升級(jí)的方法、裝置及系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種實(shí)現(xiàn)軟件在線升級(jí)的方法、裝置 及系統(tǒng)。
      背景技術(shù)
      ISSU (In Service Software Update,在線軟件升級(jí))在軟件升級(jí)過程中 不中斷正在升級(jí)的業(yè)務(wù),能夠?qū)崿F(xiàn)軟件的無損升級(jí),并在軟件升級(jí)失敗時(shí)支持 回退。ISSU是通信設(shè)備進(jìn)行軟件升級(jí)時(shí)通常采用的升級(jí)方式。
      主備進(jìn)程倒換是ISSU的一種實(shí)現(xiàn)方式。所述主備進(jìn)程倒換是通過主進(jìn)程內(nèi)
      線升級(jí)過程中,用戶與系統(tǒng)進(jìn)行交互,人工對(duì)升級(jí)過程中組件升級(jí)的順序、版 本確認(rèn)等等軟件升級(jí)策略進(jìn)行操作控制。
      發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題 軟件升級(jí)過程中用戶和系統(tǒng)多次交互,人工對(duì)升級(jí)過程進(jìn)行操作,增加了
      操作的復(fù)雜度,影響軟件升級(jí)效率。另外,由用戶人工對(duì)升級(jí)過程進(jìn)行操作控
      制,可能導(dǎo)致人為操作錯(cuò)誤,從而影響軟件升級(jí)進(jìn)程。

      發(fā)明內(nèi)容
      本發(fā)明的實(shí)施例提供了一種實(shí)現(xiàn)軟件在線升級(jí)的方法、裝置及系統(tǒng),從而 避免由于用戶和系統(tǒng)多次交互對(duì)軟件升級(jí)造成的影響。 本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的 一種實(shí)現(xiàn)軟件在線升級(jí)的方法,包括解析預(yù)先生成的升級(jí)策略,所述升級(jí)策略包括待升級(jí)對(duì)象和升級(jí)方式; 根據(jù)所述升級(jí)策略執(zhí)行軟件在線升級(jí)操作。
      一種實(shí)現(xiàn)軟件在線升級(jí)的裝置,包括
      策略解析模塊,用于解析預(yù)先生成的升級(jí)策略,所述升級(jí)策略包括待升級(jí) 對(duì)象和升級(jí)方式;
      軟件升級(jí)模塊,用于根據(jù)所述策略解析模塊解析的升級(jí)策略執(zhí)行軟件在線 升級(jí)操作。
      一種生成升級(jí)策略的裝置,包括
      信息獲取模塊,用于通過設(shè)備的接口獲取系統(tǒng)當(dāng)前配置信息;通過解析升 級(jí)業(yè)務(wù)包獲取待升級(jí)對(duì)象信息;
      策略生成模塊,用于根據(jù)所述信息獲取模塊獲取的系統(tǒng)當(dāng)前配置信息和所 述待升級(jí)對(duì)象信息,生成升級(jí)策略。
      一種實(shí)現(xiàn)軟件在線升級(jí)的系統(tǒng),其特征在于,包括上述任意的實(shí)現(xiàn)軟件在 線升級(jí)的裝置,和與所述實(shí)現(xiàn)軟件在線升級(jí)的裝置進(jìn)行通信的上述任意的生成 升級(jí)策略的裝置。
      由上述本發(fā)明的實(shí)施例提供的技術(shù)方案可以看出,本發(fā)明實(shí)施例中,由于 本發(fā)明實(shí)施例中通過預(yù)先生成的升級(jí)策略完成軟件升級(jí),提高了升級(jí)效率,降 低了操作復(fù)雜度,同時(shí)避免了由于用戶對(duì)升級(jí)過程中進(jìn)行的錯(cuò)誤操作導(dǎo)致的升 級(jí)錯(cuò)誤。另外,由于生成升級(jí)策略的操作是獨(dú)立于軟件在線升級(jí)過程的,用戶 可以對(duì)升級(jí)策略進(jìn)行修改,增強(qiáng)了系統(tǒng)升級(jí)的靈活性。


      為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施 例描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖 僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以才艮據(jù)這些附圖獲得其他的附圖。
      圖1為本發(fā)明實(shí)施例提供的系統(tǒng)當(dāng)前配置信息表;
      圖2為本發(fā)明實(shí)施例提供的待升級(jí)對(duì)象信息表;
      圖3為本發(fā)明實(shí)施例提供的待升級(jí)組件及其配置信息表;
      圖4為本發(fā)明實(shí)施例提供的 一種升級(jí)步驟示意圖5為本發(fā)明實(shí)施例提供的主備進(jìn)程倒換處理過程示意圖6為本發(fā)明實(shí)施例提供的一種處理過程示意圖7為本發(fā)明實(shí)施例提供的裝置結(jié)構(gòu)示意圖8為本發(fā)明實(shí)施例提供的另 一種裝置結(jié)構(gòu)示意圖9為本發(fā)明實(shí)施例提供的系統(tǒng)結(jié)構(gòu)示意圖。
      具體實(shí)施例方式
      下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清 楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是 全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造 性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
      本發(fā)明實(shí)施例中,軟件在線升級(jí)的實(shí)現(xiàn)方案具體包括如下操作
      解析預(yù)先生成的升級(jí)策略,所述升級(jí)策略包括待升級(jí)對(duì)象和升級(jí)方式;才艮 據(jù)所述升級(jí)策略執(zhí)行軟件在線升級(jí)操作。所述軟件在線升級(jí)的操作是指通過主 備進(jìn)程倒換實(shí)現(xiàn)軟件在線升級(jí)。
      上述解析并根據(jù)升級(jí)策略進(jìn)行軟件在線升級(jí)的操作具體可以在需要升級(jí) 的設(shè)備上進(jìn)行,也可以在制作升級(jí)策略的設(shè)備(例如PC機(jī)Personal Computer 個(gè)人計(jì)算機(jī))上進(jìn)行。
      本發(fā)明實(shí)施例中,由于預(yù)先制定了升級(jí)策略,在升級(jí)過程中可根據(jù)所述升 級(jí)策略進(jìn)行自動(dòng)升級(jí),從而減少了升級(jí)過程中用戶與系統(tǒng)的交互,避免了由于 人為操作失誤導(dǎo)致的軟件升級(jí)失敗;同時(shí)也提高了升級(jí)效率。另外,現(xiàn)有技術(shù)的升級(jí)過程是執(zhí)行固定的升級(jí)代碼,而本發(fā)明實(shí)施例中,由于預(yù)先生成升級(jí)策 略,用戶可以對(duì)升級(jí)策略進(jìn)行修改,升級(jí)過程中按照策略執(zhí)行升級(jí),因此本發(fā) 明實(shí)施例提供的技術(shù)方案增強(qiáng)了軟件升級(jí)的靈活性。
      上述本發(fā)明實(shí)施例提供的技術(shù)方案中,所述升級(jí)策略是在通信設(shè)備外部生
      成的,例如在PC機(jī)上生成升級(jí)策略。本發(fā)明實(shí)施例還包括生成升級(jí)策略的梯:作 通過設(shè)備的接口獲取系統(tǒng)當(dāng)前配置信息;通過解析升級(jí)業(yè)務(wù)包獲取待升級(jí)對(duì)象 信息;通過比較所述系統(tǒng)當(dāng)前配置信息和所述待升級(jí)對(duì)象信息,生成升級(jí)策略。 其中,所述的設(shè)備是指待升級(jí)的通信設(shè)備,所述系統(tǒng)是指待升級(jí)的通信設(shè)備的 系統(tǒng),所述升級(jí)業(yè)務(wù)包的存放在設(shè)備,或者PC機(jī)等存儲(chǔ)單元中。所述生成升級(jí) 策略的4喿作可由軟件自動(dòng)完成。
      其中,所述系統(tǒng)當(dāng)前配置信息是指生成升級(jí)策略時(shí)系統(tǒng)組件和進(jìn)程當(dāng)前的 靜態(tài)信息和動(dòng)態(tài)信息,包括當(dāng)前組件版本信息,還可以包括組件類型信息、進(jìn) 程組索引信息、進(jìn)程標(biāo)識(shí)信息、組件PID ( Process Identity,進(jìn)^i標(biāo)識(shí)符)、 VR (Virtual Route,虛路由)索引、節(jié)點(diǎn)標(biāo)識(shí),和/或是否支持主備冗余模式 等信息。所述通過設(shè)備的接口獲取系統(tǒng)當(dāng)前配置信息的操作具體是指,與設(shè)備 的接口進(jìn)行通信,從所述設(shè)備接口獲取系統(tǒng)組件和進(jìn)程當(dāng)前的靜態(tài)和動(dòng)態(tài)信 息,作為舉例而非限定,還可以將獲取的信息構(gòu)成系統(tǒng)當(dāng)前配置信息表,所述 系統(tǒng)當(dāng)前配置信息表如圖1所示。
      圖1中列舉的系統(tǒng)配置信息僅作為舉例而非限定。獲取的系統(tǒng)當(dāng)前配置信 息根據(jù)組件版本不同會(huì)有所不同。
      所述的待升級(jí)對(duì)象信息包括新發(fā)布的組件版本信息,還可以包括業(yè)務(wù)類 型、組件類型、服務(wù)、組件的依賴關(guān)系、組件的水平兼容性信息,和/或組件的 垂直兼容性信息等等。所述通過解析升級(jí)業(yè)務(wù)包獲取待升級(jí)對(duì)象信息的操作是 指,解析新版本業(yè)務(wù)包,從中獲取升級(jí)需要的信息,作為舉例而非限定,還可 以將獲取的信息構(gòu)成待升級(jí)對(duì)象信息表,所述的待升級(jí)對(duì)象信息表如圖2所示。
      圖2中列舉的待升級(jí)對(duì)象信息僅作為舉例而非限定。獲取的待升級(jí)對(duì)象信息根據(jù)組件版本不同會(huì)有所不同。
      其中,水平兼容性是指同 一組件的是指主備進(jìn)程之間的信息版本是否兼 容,圖2中所示的">1.1.0",是指對(duì)大于版本1.1.0的同一組件兼容。垂直兼 容性是指相關(guān)聯(lián)的不同組件的新舊版本之間是否兼容,以及組件和它的運(yùn)行環(huán)
      境之間的配合關(guān)系,圖2中所示的"RM> 1.1.0"是指對(duì)大于版本1.1.0的"RM" 組件兼容,"RM"為組件名稱。當(dāng)相關(guān)聯(lián)的組件垂直不兼容時(shí),必須將不兼 容的多個(gè)組件同時(shí)升級(jí)。
      本發(fā)明實(shí)施例中,所述才艮據(jù)系統(tǒng)當(dāng)前配置信息和所述待升級(jí)對(duì)象信息,生 成升級(jí)策略的過程具體包括通過對(duì)比系統(tǒng)當(dāng)前配置信息和待升級(jí)對(duì)象信息, 確定待升級(jí)對(duì)象和升級(jí)方式,其中,所述待升級(jí)對(duì)象是指組件版本發(fā)生變化的 待升級(jí)組件和升級(jí)單元,所述升級(jí)單元由需要同時(shí)升級(jí)的待升級(jí)組件對(duì)應(yīng)的進(jìn) 程組成,所述升級(jí)方式是指升級(jí)單元之間的升級(jí)順序和升級(jí)步驟。下面將對(duì)生 成升級(jí)策略的具體操作過程進(jìn)行詳細(xì)描述 (一)確定待升級(jí)組件及其配置信息 根據(jù)系統(tǒng)當(dāng)前配置信息以及待升級(jí)對(duì)象信息確定待升級(jí)組件及其配置信息,以 圖2列舉的待升級(jí)對(duì)象信息為例,BGP ( Border Gate Protocol編輯網(wǎng)關(guān)協(xié)議) 服務(wù)和OSPF (Open Shortest Path First開放式最短路徑優(yōu)先)服務(wù)中的組件 版本均發(fā)生了變化,因此所述BGP服務(wù)和OSPF服務(wù)均需要升級(jí),進(jìn)而確定待 升級(jí)的組件為BRMJPV4、 BRM_MIPV4、 BNM和ONM,及其配置信息,所述 配置信息如圖3所示,包括,當(dāng)前組件版本信息(升級(jí)前版本)、新發(fā)布組件 版本信息(升級(jí)后版本)、主部署信息,和備部署信息等等,其中,所述的主 部署信息是指組件在主進(jìn)程中的進(jìn)程組索引信息,備部署信息是指組件在備進(jìn) 程中的進(jìn)程組索引信息。 (二)確定升級(jí)單元
      根據(jù)組件的兼容關(guān)系和部署依賴關(guān)系確定升級(jí)單元。由于系統(tǒng)支持進(jìn)程級(jí) 的主備倒換,所以升級(jí)的最小單位是進(jìn)程,升級(jí)單元由需要同時(shí)升級(jí)的待升級(jí) 組件對(duì)應(yīng)的進(jìn)程組成。如果多個(gè)待升級(jí)組件之間垂直兼容,且多個(gè)待升級(jí)組件之間沒有強(qiáng)依賴關(guān)系,則確定每個(gè)待升級(jí)組件對(duì)應(yīng)的進(jìn)程為一個(gè)升級(jí)單元;如 果關(guān)聯(lián)的多個(gè)待升級(jí)組件之間不垂直兼容,則所述多個(gè)相關(guān)聯(lián)的組件需要一 同
      升級(jí),確定所述多個(gè)相關(guān)聯(lián)的組件對(duì)應(yīng)的進(jìn)程為一個(gè)升級(jí)單元;如果多個(gè)組件 在部署上有強(qiáng)依賴關(guān)系,需要一同升級(jí),則確定所述多個(gè)組件對(duì)應(yīng)的進(jìn)程為一 個(gè)升級(jí)單元。所述部署依賴關(guān)系是指多個(gè)組件在部署上是否必須同時(shí)存在方能 正常工作,如果多個(gè)組件必須同時(shí)存在,則稱組件間具有強(qiáng)部署依賴關(guān)系,否 則,組件間沒有部署依賴關(guān)系。
      例如,上述舉例的待升級(jí)組件中,假設(shè)組件BRMJPV4、 BRM—MIPV4和 BNM在部署上存在強(qiáng)依賴關(guān)系,需要一同升級(jí),則將BRMJPV4、 BRM_MIPV4 和BNM對(duì)應(yīng)的進(jìn)程確定為 一個(gè)升級(jí)單元。
      (三) 確定升級(jí)單元之間的升級(jí)順序
      為升級(jí)單元分配升級(jí)順序號(hào),其中為需要串行升級(jí)的升級(jí)單元分配遞增 的升級(jí)順序;為不需要串行升級(jí)的升級(jí)單元分配相同的升級(jí)順序號(hào),以便并行 對(duì)多個(gè)升級(jí)單元進(jìn)行升級(jí),提高升級(jí)效率。其中,如果兩個(gè)升級(jí)單元之間有存 在主備關(guān)系的進(jìn)程,則這兩個(gè)升級(jí)單元不需要串行升級(jí);如果多個(gè)升級(jí)單元支 持并行升級(jí),則不需要串行升級(jí);如果未規(guī)定多個(gè)升級(jí)單元需要串行升級(jí),則 所述多個(gè)升級(jí)單元也不需要串行升級(jí)。例如有升級(jí)單元A、 B、 C、 D、 E和F。 其中,升級(jí)單元A和B之間有存在主備關(guān)系的進(jìn)程,升級(jí)單元A、 B、 E、 F可并 行升級(jí),升級(jí)單元C、 D需要串行依次升級(jí),則為所述升級(jí)單元確定升級(jí)順序 為
      1: A、 B、 E、 F、 C 2: D
      也可以是 1: C
      2: A、 B、 E、 F、 D
      (四) 確定升級(jí)步驟
      10確定升級(jí)步驟,以便在軟件升級(jí)過程中,系統(tǒng)按照確定的步驟對(duì)升級(jí)單元
      進(jìn)行升級(jí),所述升級(jí)步驟具體包括
      導(dǎo)入升級(jí)業(yè)務(wù)包后,對(duì)待升級(jí)對(duì)象進(jìn)行鎖配置,并對(duì)系統(tǒng)狀態(tài)進(jìn)行檢查,
      所述系統(tǒng)狀態(tài)包括內(nèi)存和硬盤空間是否充足、組件狀態(tài)是否正常等等;
      完成對(duì)系統(tǒng)狀態(tài)的檢查后,對(duì)待升級(jí)的組件進(jìn)行備份,以便回退時(shí)使用; 根據(jù)升級(jí)策略確定的升級(jí)順序,分別對(duì)升級(jí)單元進(jìn)行升級(jí),所述對(duì)升級(jí)單 元進(jìn)行升級(jí)的操作是指,將所述升級(jí)業(yè)務(wù)包中的程序文件復(fù)制到目標(biāo)單板的指 定目錄下;對(duì)所述程序文件進(jìn)行升級(jí),具體是通過主備進(jìn)程倒換的方式實(shí)現(xiàn)軟 件在線升級(jí),當(dāng)沒有備進(jìn)程時(shí),直接以新版本組件啟動(dòng)進(jìn)程; 當(dāng)升級(jí)完成后,對(duì)所述待升級(jí)對(duì)象進(jìn)行解鎖配置。
      其中,所述導(dǎo)入升級(jí)業(yè)務(wù)包是指從MMB (MasterMain Board,主主控板) 板的軟件倉庫中解壓縮所述升級(jí)業(yè)務(wù)包;所述鎖配置是為了禁止用戶在升級(jí)過 程中對(duì)所述升級(jí)單元的組件進(jìn)行配置,保證升級(jí)能夠順利進(jìn)行。
      所述升級(jí)步驟還可以包括當(dāng)升級(jí)完成后,發(fā)送升級(jí)驗(yàn)證提示,以便提示 用戶進(jìn)行升級(jí)校驗(yàn);完成升級(jí)校驗(yàn)后,清除軟件升級(jí)過程中產(chǎn)生的無用數(shù)據(jù)。
      本發(fā)明實(shí)施例中,用戶可以查看并修改、編輯生成的升級(jí)策略。
      本發(fā)明實(shí)施例中,根據(jù)所述升級(jí)策略執(zhí)行軟件在線升級(jí)操作之前,還包括 對(duì)預(yù)先生成的升級(jí)策略進(jìn)行檢查的操作對(duì)所述升級(jí)策略的語法進(jìn)行檢查,防 止由于用戶編輯升級(jí)策略導(dǎo)致的語法錯(cuò)誤;對(duì)所述升級(jí)策略中的新發(fā)布的組件 版本信息的垂直兼容性進(jìn)行檢查,防止由于用戶編輯升級(jí)策略導(dǎo)致的升級(jí)后組 件間不兼容;和/或,對(duì)用于生成所述生成策略的系統(tǒng)當(dāng)前配置信息的時(shí)效性進(jìn) 行檢查,具體是指,將生成所述升級(jí)策略時(shí)系統(tǒng)配置信息與進(jìn)行檢查時(shí)系統(tǒng)的 配置信息進(jìn)行比較,判斷系統(tǒng)配置信息是否發(fā)生變化。如果檢查出所述升級(jí)策 略存在語法錯(cuò)誤、存在版本不兼容的問題,和/或系統(tǒng)配置信息發(fā)生了變化,則 發(fā)送錯(cuò)誤提示信息,以便用戶對(duì)升級(jí)策略進(jìn)行修改,如果檢查通過,則可以根 據(jù)所述升級(jí)策略執(zhí)行軟件在線升級(jí)操作。其中,如果在生成所述升級(jí)策略的設(shè)備(例如PC機(jī))上執(zhí)行軟件在線升級(jí),則所述對(duì)升級(jí)策略的檢查是在該設(shè)備上 完成的,并在檢查通過后對(duì)所述生成的升級(jí)策略進(jìn)行解析,生成系統(tǒng)可執(zhí)行的 命令,通過執(zhí)行所述命令實(shí)現(xiàn)軟件在線升級(jí)。如果在待升級(jí)的通信設(shè)備上執(zhí)行 軟件在線升級(jí),則將所述升級(jí)策略上傳到通信設(shè)備的系統(tǒng)上,當(dāng)收到用戶輸入 的升級(jí)啟動(dòng)命令后,對(duì)所述升級(jí)策略進(jìn)行檢查,如果纟全查通過,解析所述升級(jí) 策略并根據(jù)所述升級(jí)策略執(zhí)行軟件在線升級(jí)操作。在通信設(shè)備上根據(jù)升級(jí)策略 執(zhí)行軟件在線升級(jí)時(shí),具體實(shí)現(xiàn)方式是解析所述升級(jí)策略獲得升級(jí)命令集,執(zhí) 行所述升級(jí)命令集中的升級(jí)命令實(shí)現(xiàn)軟件在線升級(jí)。本發(fā)明實(shí)施例中,由于在 升級(jí)之前對(duì)升級(jí)策略進(jìn)行檢查,以保證升級(jí)策略的正確,進(jìn)而提高了軟件在線 升級(jí)過程的可靠性。
      本發(fā)明實(shí)施例中,所述升級(jí)策略中還包括軟件升級(jí)過程中出現(xiàn)異常情況時(shí)
      的處理策略,所述處理策略包括升級(jí)重試策略、升級(jí)回滾策略、升級(jí)回退策 略,或者升級(jí)忽略策略等等。其中
      升級(jí)重試用于升級(jí)原子操作,當(dāng)升級(jí)原子操作返回錯(cuò)誤時(shí),進(jìn)行升級(jí)原子 操作重試,當(dāng)重試次數(shù)超過升級(jí)策略規(guī)定的最大重試次數(shù)時(shí),上報(bào)操作失敗提 示;所述的原子操作是指不能被中斷的操作,即組件在升級(jí)過程中,如果執(zhí)行 原子操作,則不能被中斷;
      升級(jí)回滾是指當(dāng)升級(jí)操作發(fā)生錯(cuò)誤時(shí),根據(jù)系統(tǒng)記錄的升級(jí)操作執(zhí)行路
      徑,按反方向逐步回滾到上一階^a處理點(diǎn)的處理策略;
      升級(jí)回退是指升級(jí)操作發(fā)生錯(cuò)誤時(shí),直接回退到升級(jí)最初的執(zhí)行起點(diǎn); 升級(jí)忽略是指忽略當(dāng)前的異常情況,繼續(xù)執(zhí)行升級(jí)操作。明。
      應(yīng)用實(shí)施例一
      在本發(fā)明應(yīng)用實(shí)施例一中,在與通信設(shè)備進(jìn)行通信的PC機(jī)上預(yù)先生成升級(jí) 策略,并由所述PC機(jī)對(duì)所述升級(jí)策略進(jìn)行檢查,在檢查通過后,將所述升級(jí)策略解析成系統(tǒng)可執(zhí)行的升級(jí)命令,通過執(zhí)行所述升級(jí)命令完成對(duì)通信設(shè)備軟件 在線升級(jí)。其中,所述的升級(jí)策略包括待升級(jí)組件及其配置信息,升級(jí)單元 信息,升級(jí)單元之間的升級(jí)順序信息,和升級(jí)步驟信息。所述升級(jí)策略還可以 包括升級(jí)出現(xiàn)異常情況時(shí)的處理策略。
      本發(fā)明應(yīng)用實(shí)施例一中,PC機(jī)執(zhí)行升級(jí)命令,自動(dòng)完成軟件在線升級(jí)的操 作如圖4所示,具體包括
      11、 導(dǎo)入新版本的升級(jí)業(yè)務(wù)包,具體實(shí)現(xiàn)方式可以是,從MMB板的軟件 倉庫中解壓縮所述新版本的升級(jí)業(yè)務(wù)包;
      12、 對(duì)待升級(jí)對(duì)象進(jìn)行鎖配置,通過鎖配置禁止用戶在升級(jí)過程中對(duì)待升 級(jí)的組件進(jìn)行配置,保證升級(jí)能夠順利進(jìn)行;
      13、 對(duì)系統(tǒng)狀態(tài)進(jìn)行檢查,所述系統(tǒng)狀態(tài)包括內(nèi)存和硬盤空間是否充足、 組件狀態(tài)是否正常等等;
      14、 對(duì)待升級(jí)的組件進(jìn)行備份,以便回退時(shí)使用;
      15、 根據(jù)升級(jí)策略確定的升級(jí)順序,分別對(duì)升級(jí)單元進(jìn)行升級(jí),每個(gè)升級(jí) 單元進(jìn)行升級(jí)的操作具體是指,將所述新版本的升級(jí)業(yè)務(wù)包中該升級(jí)單元的程 序文件復(fù)制到目標(biāo)單板的指定目錄下,對(duì)所述程序文件進(jìn)行軟件升級(jí),具體是 通過主備進(jìn)程倒換的方式實(shí)現(xiàn)軟件在線升級(jí),當(dāng)沒有備進(jìn)程時(shí),直接以新版本 組件啟動(dòng)進(jìn)程;
      16、 對(duì)所述待升級(jí)對(duì)象進(jìn)行解鎖配置,以便用戶進(jìn)行升級(jí)校驗(yàn);
      17、 發(fā)送升級(jí)驗(yàn)證提示,以便提示用戶進(jìn)行升級(jí)校驗(yàn);
      18、 清除軟件升級(jí)過程中產(chǎn)生的無用數(shù)據(jù)。
      上述的主備進(jìn)程倒換過程如圖5所示,包括當(dāng)用戶發(fā)起升級(jí)時(shí),重啟備 進(jìn)程,將主進(jìn)程中的所有組件的數(shù)據(jù)備份到備進(jìn)程中繼續(xù)運(yùn)行;進(jìn)行主備倒換, 保證軟件升級(jí)過程不影響系統(tǒng)正常運(yùn)行,此時(shí),原來的備進(jìn)程為當(dāng)前的主進(jìn)程, 原來的主進(jìn)程為當(dāng)前的備進(jìn)程;軟件升級(jí)操作結(jié)束后,以新版本組件重啟當(dāng)前 備進(jìn)程,系統(tǒng)繼續(xù)運(yùn)行。在上述軟件在線升級(jí)過程中,如果發(fā)生異常情況,系統(tǒng)判斷升級(jí)策略中是否制定了異常情況的處理策略,具體是檢測(cè)是否存在異常情況處理命令;如果升級(jí)策略制定了異常情況的處理策略,則執(zhí)行相關(guān)的升級(jí)命令,對(duì)異常情況進(jìn)行處理;否則,發(fā)送異常提示,并接收反饋信息,根據(jù)反饋信息中攜帶的異常 情況處理方式進(jìn)行操作?,F(xiàn)有技術(shù)的升級(jí)過程是執(zhí)行固定的升級(jí)代碼,且策略在通信設(shè)備內(nèi)部,對(duì) 用戶而言是不可見的。而本發(fā)明應(yīng)用實(shí)施例一中,由于預(yù)先生成升級(jí)策略,用 戶可以對(duì)升級(jí)策略進(jìn)行4務(wù)改,升級(jí)過程中4要照策略執(zhí)行升級(jí),因此本發(fā)明應(yīng)用 實(shí)施例一提供的技術(shù)方案增強(qiáng)了軟件升級(jí)的靈活性;由于系統(tǒng)根據(jù)解析升級(jí)策 略生成的升級(jí)命令自動(dòng)完成軟件在線升級(jí),從而提高了升級(jí)效率;另外,由于 在軟件升級(jí)之前對(duì)升級(jí)策略進(jìn)行檢查,避免了由于人為操作失誤導(dǎo)致的升級(jí)操 作失敗。應(yīng)用實(shí)施例二本發(fā)明應(yīng)用實(shí)施例二的處理過程如圖6所示,包括21、 在通信設(shè)備外部預(yù)先生成升級(jí)策略,并將所述升級(jí)策略上傳給通信設(shè)備;22、 用戶輸入升級(jí)啟動(dòng)命令,發(fā)起軟件在線升級(jí);23、 通信設(shè)備的系統(tǒng)在收到所述升級(jí)啟動(dòng)命令后,對(duì)所述升級(jí)策略進(jìn)行才全查;24、 在檢查通過后,系統(tǒng)根據(jù)所述升級(jí)策略完成軟件在線升級(jí)。其中,所述的升級(jí)策略包括待升級(jí)組件及其配置信息,升級(jí)單元信息, 升級(jí)單元之間的升級(jí)順序信息,和升級(jí)單元的執(zhí)行步驟信息。所述升級(jí)策略還 可以包括升級(jí)出現(xiàn)異常情況時(shí)的處理策略。在上述軟件在線升級(jí)過程中,如果發(fā)生異常情況,系統(tǒng)判斷升級(jí)策略中是 否制定了異常情況的處理策略,具體是檢測(cè)是否存在異常情況處理命令;如果 升級(jí)策略制定了異常情況的處理策略,則執(zhí)行相關(guān)的升級(jí)命令,對(duì)異常情況進(jìn)行處理;否則,發(fā)送異常提示,并接收反饋信息,根據(jù)反饋信息中攜帶的異常情況處理方式進(jìn)行操作。本發(fā)明應(yīng)用實(shí)施例二中,為了方便用戶對(duì)軟件升級(jí)過程的控制,當(dāng)系統(tǒng)根 據(jù)所述升級(jí)策略執(zhí)行軟件在線升級(jí)過程中時(shí),每執(zhí)行一條命令之前,發(fā)送命令 確認(rèn)提示,提示用戶對(duì)命令進(jìn)行確認(rèn)。當(dāng)接收到命令確認(rèn)反饋信息后,執(zhí)行該 條命令。實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來 完成,前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括ROM、 RAM、磁 碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。本發(fā)明實(shí)施例還提供了 一種實(shí)現(xiàn)軟件在線升級(jí)的裝置,該裝置結(jié)構(gòu)如圖7 所示,具體實(shí)現(xiàn)結(jié)構(gòu)包括策略解析模塊101,用于解析預(yù)先生成的升級(jí)策略,所述升級(jí)策略包括待 升級(jí)對(duì)象和升級(jí)方式;軟件升級(jí)模塊102,用于根據(jù)所述升級(jí)策略執(zhí)行軟件在 線升級(jí)操作。所述執(zhí)行軟件在線升級(jí)的操作是指通過主備進(jìn)程倒換實(shí)現(xiàn)軟件在 線升級(jí)。上述本發(fā)明實(shí)施例提供的裝置還包括策略檢查模塊103,用于在所述軟件 升級(jí)模塊102執(zhí)行軟件在線升級(jí)操作之前,對(duì)所述升級(jí)策略的語法進(jìn)行檢查, 防止由于用戶編輯升級(jí)策略導(dǎo)致的語法錯(cuò)誤;對(duì)所述升級(jí)策略中的新發(fā)布的組 件版本信息的垂直兼容性進(jìn)行檢查,防止由于用戶編輯升級(jí)策略導(dǎo)致的升級(jí)后 組件間不兼容;和/或,對(duì)用于生成所述生成策略的系統(tǒng)當(dāng)前配置信息的時(shí)效性 進(jìn)行檢查。如果檢查出所述升級(jí)策略存在語法錯(cuò)誤、存在版本不兼容的問題, 和/或系統(tǒng)配置信息發(fā)生了變化,則發(fā)送錯(cuò)誤提示信息,以便用戶對(duì)升級(jí)策略進(jìn) 行修改,如果檢查通過,則所述軟件升級(jí)模塊102可以執(zhí)行軟件在線升級(jí)操作。本發(fā)明實(shí)施例還提供一種生成升級(jí)策略的裝置,其結(jié)構(gòu)如圖8所示,具體 實(shí)現(xiàn)結(jié)構(gòu)包括信息獲取模塊201,用于通過設(shè)備的接口獲取系統(tǒng)當(dāng)前配置信息;通過解 析升級(jí)業(yè)務(wù)包獲取待升級(jí)對(duì)象信息;策略生成模塊202,用于根據(jù)所述信息獲 取模塊201獲取的系統(tǒng)當(dāng)前配置信息和所述待升級(jí)對(duì)象信息,生成升級(jí)策略。本發(fā)明實(shí)施例中,所述系統(tǒng)當(dāng)前配置信息包括當(dāng)前組件版本信息,所述待 升級(jí)對(duì)象信息包括新發(fā)布的組件版本信息,所述升級(jí)策略生成模塊4具體用于 通過對(duì)比系統(tǒng)當(dāng)前配置信息和待升級(jí)對(duì)象信息,確定待升級(jí)對(duì)象和升級(jí)方式, 其中,所述待升級(jí)對(duì)象是指組件版本發(fā)生變化的待升級(jí)組件和升級(jí)單元,所述級(jí)單元之間的升級(jí)順序和升級(jí)步驟。所述系統(tǒng)當(dāng)前配置信息還可以包括,當(dāng)前 版本信息、主部署信息,和備部署信息。其中,所述策略生成模塊202具體包括升級(jí)順序確定子模塊2021和升級(jí)步升級(jí)順序,具體是為需要串行升級(jí)的升級(jí)單元分配遞增的升級(jí)順序號(hào);為不需 要串行升級(jí)的升級(jí)單元分配相同的升級(jí)順序號(hào)。所述升級(jí)步驟確定子模塊2022 用于確定升級(jí)步驟,所述升級(jí)步驟包括導(dǎo)入新發(fā)布業(yè)務(wù)包后,對(duì)待升級(jí)對(duì)象 進(jìn)行鎖配置,并對(duì)系統(tǒng)狀態(tài)進(jìn)行檢查;完成對(duì)系統(tǒng)狀態(tài)的檢查后,對(duì)待升級(jí)的 組件進(jìn)行備份;根據(jù)升級(jí)策略確定的升級(jí)順序,分別對(duì)升級(jí)單元進(jìn)行升級(jí);當(dāng) 升級(jí)完成后,對(duì)所述待升級(jí)對(duì)象進(jìn)行解鎖配置。完成后,發(fā)送升級(jí)驗(yàn)證提示;完成升級(jí)校驗(yàn)后,清除軟件升級(jí)過程中產(chǎn)生的無 用數(shù)據(jù)。上述本發(fā)明實(shí)施例提供的裝置中,所述升級(jí)策略中還包括軟件升級(jí)過程中 出現(xiàn)異常情況時(shí)的處理策略,包括升級(jí)重試策略、升級(jí)回滾策略、升級(jí)回退 策略,或者升級(jí)忽略策略;所述策略生成模塊202還包括異常情況處理策略生 成子模塊2023。所述的生成升級(jí)策略的裝置設(shè)置在通信設(shè)備外部。所述實(shí)現(xiàn)軟件在線升級(jí)的裝置可以設(shè)置在通信設(shè)備中,也可以與所述生成升級(jí)策略的裝置設(shè)置在同一 設(shè)備當(dāng)中。本發(fā)明實(shí)施例還提供一種實(shí)現(xiàn)軟件在線升級(jí)的系統(tǒng),其結(jié)構(gòu)如圖9所示, 具體實(shí)現(xiàn)結(jié)構(gòu)包括上述實(shí)現(xiàn)軟件在線升級(jí)的裝置,以及與所述實(shí)現(xiàn)軟件在線升 級(jí)的裝置進(jìn)行通信的上述的生成升級(jí)策略的裝置。例如, 一種包含通信設(shè)備以 及與所述通信設(shè)備進(jìn)行通信的PC機(jī),所述PC機(jī)用于生成針對(duì)所述通信設(shè)備的 升級(jí)策略?,F(xiàn)有技術(shù)的升級(jí)過程是執(zhí)行固定的升級(jí)代碼,而本發(fā)明應(yīng)用實(shí)施例提供的 裝置及系統(tǒng),由于預(yù)先生成升級(jí)策略,用戶可以對(duì)升級(jí)策略進(jìn)行修改,升級(jí)過 程中按照策略執(zhí)行升級(jí),因此本發(fā)明實(shí)施例提供的裝置及系統(tǒng)增強(qiáng)了軟件升級(jí) 的靈活性;由于系統(tǒng)根據(jù)升級(jí)策略自動(dòng)完成軟件在線升級(jí),從而提高了升級(jí)效 率;另外,由于在軟件升級(jí)之前對(duì)升級(jí)策略進(jìn)行檢查,避免了由于人為操作失 誤導(dǎo)致的升級(jí)操作失敗。以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
      ,但本發(fā)明的保護(hù)范圍并不局 限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易 想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù) 范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
      權(quán)利要求
      1、一種實(shí)現(xiàn)軟件在線升級(jí)的方法,其特征在于,包括解析預(yù)先生成的升級(jí)策略,所述升級(jí)策略包括待升級(jí)對(duì)象和升級(jí)方式;根據(jù)所述升級(jí)策略執(zhí)行軟件在線升級(jí)操作。
      2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法還包括生成升級(jí)策略 的操作通過設(shè)備的接口獲取系統(tǒng)當(dāng)前配置信息; 通過解析升級(jí)業(yè)務(wù)包獲取待升級(jí)對(duì)象信息;根據(jù)所述系統(tǒng)當(dāng)前配置信息和所述待升級(jí)對(duì)象信息,生成升級(jí)策略。
      3、 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述系統(tǒng)當(dāng)前配置信息包括 當(dāng)前組件版本信息,所述待升級(jí)對(duì)象信息包括新發(fā)布的組件版本信息,所述根 據(jù)系統(tǒng)當(dāng)前配置信息和所述待升級(jí)對(duì)象信息,生成升級(jí)策略包括通過對(duì)比系統(tǒng)當(dāng)前配置信息和待升級(jí)對(duì)象信息,確定待升級(jí)對(duì)象和升級(jí)方 式,其中,所述待升級(jí)對(duì)象是指組件版本發(fā)生變化的待升級(jí)組件和升級(jí)單元, 所述升級(jí)單元由需要一 同升級(jí)的待升級(jí)組件對(duì)應(yīng)的進(jìn)程組成,所述升級(jí)方式是 指升級(jí)單元之間的升級(jí)順序和升級(jí)步驟。
      4、 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述升級(jí)單元之間的升級(jí)順 序的確定過程包括為需要串行升級(jí)的升級(jí)單元分配遞增的升級(jí)順序號(hào); 為不需要串行升級(jí)的升級(jí)單元分配相同的升級(jí)順序號(hào)。
      5、 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述升級(jí)步驟包括 導(dǎo)入升級(jí)業(yè)務(wù)包后,對(duì)待升級(jí)對(duì)象進(jìn)行鎖配置,并對(duì)系統(tǒng)狀態(tài)進(jìn)行檢查; 完成對(duì)系統(tǒng)狀態(tài)的檢查后,對(duì)待升級(jí)的組件進(jìn)行備份; 根據(jù)升級(jí)策略確定的升級(jí)順序,分別對(duì)升級(jí)單元進(jìn)行升級(jí);當(dāng)升級(jí)完成后,對(duì)所述待升級(jí)對(duì)象進(jìn)行解鎖配置。
      6、 根據(jù)權(quán)利要求5所述的方法,其特征在于,所述升級(jí)步驟還包括 當(dāng)升級(jí)完成后,發(fā)送升級(jí)驗(yàn)證提示;完成升級(jí)校驗(yàn)后,清除軟件升級(jí)過程中產(chǎn)生的無用數(shù)據(jù)
      7、 根據(jù)權(quán)利要求3-6任意一項(xiàng)所述的方法,其特征在于,根據(jù)所述升級(jí)策 略執(zhí)行軟件在線升級(jí)操作之前,該方法還包括對(duì)所述升級(jí)策略進(jìn)行^r查對(duì)所述升級(jí)策略的語法進(jìn)行;險(xiǎn)查;對(duì)所述升級(jí)策略中新發(fā)布的組件版本信息的垂直兼容性進(jìn)行;險(xiǎn)查;和/或,對(duì)用于生成所述生成策略的系統(tǒng)當(dāng)前配置信息的時(shí)效性進(jìn)行;險(xiǎn)查。
      8、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述升級(jí)策略中還包括軟件 升級(jí)過程中出現(xiàn)異常情況時(shí)的處理策略,包括升級(jí)重試策略、升級(jí)回滾策略、 升級(jí)回退策略,或者升級(jí)忽略策略。
      9、 一種實(shí)現(xiàn)軟件在線升級(jí)的裝置,其特征在于,包括 策略解析^^莫塊,用于解析預(yù)先生成的升級(jí)策略,所述升級(jí)策略包括待升級(jí)對(duì)象和升級(jí)方式;軟件升級(jí)模塊,用于根據(jù)所述策略解析模塊解析的升級(jí)策略執(zhí)行軟件在線 升級(jí)操作。
      10、 根據(jù)權(quán)利要求9所述的裝置,其特征在于,該裝置還包括策略檢查模 塊,用于在所述軟件升級(jí)模塊執(zhí)行軟件在線升級(jí)操作之前,對(duì)所述升級(jí)策略的 語法進(jìn)行檢查;對(duì)所述升級(jí)策略中的新發(fā)布的組件版本信息的垂直兼容性進(jìn)行 檢查;和/或,對(duì)用于生成所述生成策略的系統(tǒng)當(dāng)前配置信息的時(shí)效性進(jìn)行檢查。
      11、 一種生成升級(jí)策略的裝置,其特征在于,包括信息獲取模塊,用于通過設(shè)備的接口獲取系統(tǒng)當(dāng)前配置信息;通過解析升 級(jí)業(yè)務(wù)包獲取待升級(jí)對(duì)象信息;策略生成模塊,用于根據(jù)所述信息獲取模塊獲取的系統(tǒng)當(dāng)前配置信息和所述待升級(jí)對(duì)象信息,生成升級(jí)策略。
      12、 根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述系統(tǒng)當(dāng)前配置信息包 括當(dāng)前組件版本信息,所述待升級(jí)對(duì)象信息包括新發(fā)布的組件版本信息,所述 策略生成模塊具體用于通過對(duì)比系統(tǒng)當(dāng)前配置信息和待升級(jí)對(duì)象信息,確定待 升級(jí)對(duì)象和升級(jí)方式,其中,所述待升級(jí)對(duì)象是指組件版本發(fā)生變化的待升級(jí) 組件和升級(jí)單元,所述升級(jí)單元由需要同時(shí)升級(jí)的待升級(jí)組件對(duì)應(yīng)的進(jìn)程組 成,所述升級(jí)方式是指升級(jí)單元之間的升級(jí)順序和升級(jí)步驟。
      13、 根據(jù)權(quán)利要求12所述的裝置,其特征在于,策略生成模塊具體包括升 級(jí)順序確定子模塊和升級(jí)步驟確定子模塊所述升級(jí)順序確定子模塊用于為需要串行升級(jí)的升級(jí)單元分配遞增的升 級(jí)順序號(hào),為不需要串行升級(jí)的升級(jí)單元分配相同的升級(jí)順序號(hào);所述升級(jí)步驟確定子模塊用于確定升級(jí)步驟,所述升級(jí)步驟包括導(dǎo)入新 發(fā)布業(yè)務(wù)包后,對(duì)待升級(jí)對(duì)象進(jìn)行鎖配置,并對(duì)系統(tǒng)狀態(tài)進(jìn)行檢查;完成對(duì)系 統(tǒng)狀態(tài)的檢查后,對(duì)待升級(jí)的組件進(jìn)行備份;根據(jù)升級(jí)策略確定的升級(jí)順序, 分別對(duì)升級(jí)單元進(jìn)行升級(jí);當(dāng)升級(jí)完成后,對(duì)所述待升級(jí)對(duì)象進(jìn)行解鎖配置。
      14、 根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述升級(jí)步驟確定子模塊 確定的升級(jí)步驟還包括當(dāng)升級(jí)完成后,發(fā)送升級(jí)驗(yàn)證提示;完成升級(jí)校驗(yàn)后, 清除軟件升級(jí)過程中產(chǎn)生的無用數(shù)據(jù)。
      15、 一種實(shí)現(xiàn)軟件在線升級(jí)的系統(tǒng),其特征在于,包括權(quán)利要求8或9所述 的實(shí)現(xiàn)軟件在線升級(jí)的裝置,和與所述實(shí)現(xiàn)軟件在線升級(jí)的裝置進(jìn)行通信的如 權(quán)利要求10 14任意一項(xiàng)所述的生成升級(jí)策略的裝置。
      全文摘要
      一種實(shí)現(xiàn)軟件在線升級(jí)的方法,包括解析預(yù)先生成的升級(jí)策略,所述升級(jí)策略包括待升級(jí)對(duì)象和升級(jí)方式;根據(jù)所述升級(jí)策略執(zhí)行軟件在線升級(jí)操作。本發(fā)明實(shí)施例還提供了一種實(shí)現(xiàn)軟件在線升級(jí)的裝置及系統(tǒng),由于本發(fā)明實(shí)施例中通過根據(jù)預(yù)先生成的升級(jí)策略完成軟件升級(jí),避免了由于用戶對(duì)升級(jí)過程中進(jìn)行的錯(cuò)誤操作導(dǎo)致的升級(jí)錯(cuò)誤,并提高了升級(jí)效率,降低了操作復(fù)雜度。另外,由于升級(jí)策略是預(yù)先生成的,因此可以對(duì)所述升級(jí)策略進(jìn)行修改,增強(qiáng)了系統(tǒng)升級(jí)的靈活性。
      文檔編號(hào)G06F9/445GK101533356SQ200910130998
      公開日2009年9月16日 申請(qǐng)日期2009年4月21日 優(yōu)先權(quán)日2009年4月21日
      發(fā)明者何建成, 昊 孫, 岳常智, 趙亞明 申請(qǐng)人:華為技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1