專利名稱:一種軟件更新方法和系統的制作方法
技術領域:
本發明涉及移動通信技術領域,特別是涉及一種軟件更新方法和系統。
背景技術:
在TD-SCDMA通信系統中,無論通訊設備產品處于開發階段還是運營階段,由于特 性和功能需求的不同,以及環境的復雜性等各種需求,需要調整程序流程、調整參數或變更 協議類型等,這都需要對現有的軟件進行更新和升級。現有技術中,對軟件更新和升級提供的方法主要是采用軟件靜態更新架構。即由 于采用該架構的軟件所有運行程序都是靜態的,要控制程序流程、調整參數或變更協議類 型,就必須修改源代碼,然后經過編譯,最后進行系統升級。因此,每次更新均需要執行下面 的一系列操作流程源代碼修改、編譯、測試驗證、軟件下載、軟件更新、軟件更新后重啟動、 軟件更新失敗進行版本回退等。現有的軟件更新方法存在如下缺點1、更新模式過于單一,這種按部就班的軟件更新模式,只要有更新需求,就按源代 碼的修改、編譯、測試驗證、軟件下載、軟件更新、軟件更新后重啟動這一更新操作流程走一遍。2、開發維護時間成本和人力成本高,不利于產品的開發、升級和維護。主要在于每 一次更新都需要開發人員和工程維護人員執行上述的一系列操作,增加了工作量,同時增 加了開發、運營和維護成本。例如,代碼編譯修改帶來一些不必要的工作量,哪怕一個很小 的改動,都需要進行源代碼修改,然后就有可能出現編譯出錯,耗費人力和時間去查錯。3、不利于系統的穩定性,主要在于代碼改動,很可能會由于開發人員的這樣或那 樣的問題,引入新的漏洞(bug),導致系統不穩定。4、更新成功率低,主要在于升級流程操作過于復雜,每進行一次升級,在操作維護 界面,維護人員都需要進行多項指令的操作,很容易操作失誤或操作順序失誤,從而引起升 級失敗,甚至導致系統無法正常運行等問題發生。綜上所述,現有的軟件更新方法成本高、效率低、容易出錯。
發明內容
本發明提供了 一種軟件更新方法,該方法實現成本低、效率高且不容易出錯。本發明還提供了一種軟件更新系統,該系統實現成本低、效率高且不容易出錯。為達到上述目的,本發明的技術方案是這樣實現的本發明公開了一種軟件更新方法,該方法包括將軟件參數存儲到存儲介質中;在初始時,從存儲介質中獲取軟件參數賦給相應的軟件參數變量運行軟件;當需要更新軟件時,更新存儲介質中的軟件參數;從存儲介質中獲取更新后的軟件參數賦給相應的軟件參數變量運行軟件。
4
本發明還公開了一種軟件更新系統,該系統包括存儲介質模塊、設備單元和管理 維護中,其中存儲介質模塊,用于保存軟件參數;設備單元,用于在初始時,從存儲介質模塊中獲取軟件參數賦給相應的軟件參數 變量運行軟件,并在接收到管理維護中心下發的更改的軟件參數和更改指令后,用更改的 軟件參數更新存儲介質模塊中的軟件參數,并重新從存儲介質模塊中獲取更新后的軟件參 數賦給相應的軟件參數變量運行軟件;管理維護中心,用于在需要更新軟件時,向設備單元下發更改的軟件參數和更改 指令。由上述可見,本發明這種將軟件參數存儲到存儲介質中,在初始時,從存儲介質中 獲取軟件參數賦給相應的軟件參數變量運行軟件,當需要更新軟件時,更新存儲介質中的 軟件參數,再從存儲介質中獲取更新后的軟件參數賦給相應的軟件參數變量運行軟件的技 術方案,不需要向現有技術那樣執行源代碼修改、編譯、測試驗證等一系列的操作,因此實 現成本低、效率高且不容易出錯。
圖1是本發明實施例一種軟件更新方法的流程圖;圖2是本發明中的軟件更新方法的較佳實施例的流程圖;圖3是本發明實施例一種軟件更新系統的組成示意圖。
具體實施例方式圖1是本發明實施例一種軟件更新方法的流程圖。如圖1所示,該方法包括步驟101,將軟件參數存儲到存儲介質中。在本發明中,存儲介質為永久性存儲媒介,如閃存(Flash)或電可擦可編程只讀 存儲器(EEPROM)等。這里的軟件參數泛指軟件在更新升級過程中需要進行更改的參數,如程序在運行 過程中用到的一些重要的流程控制變量參數、公式計算參數、協議變更參數等。步驟102,在初始時,從存儲介質中獲取軟件參數賦給相應的軟件參數變量,運行 軟件。步驟103,當需要更新軟件時,更新存儲介質中的軟件參數。步驟104,從存儲介質中獲取更新后的軟件參數賦給相應的軟件參數變量,運行軟 件。在本發明的實施例中,在有相應的軟件更新需求時,通過管理維護中心的在線存 儲介質參數專用更改接口,來添加或修改相關參數進行軟件更新。為了使本發明的目的、技術方案和優點更加清楚,下面列舉較佳實施例對本發明 進行詳細描述。圖2是本發明中的軟件更新方法的較佳實施例的流程圖。如圖2所示,該流程分兩 部分點劃線左側的設備單元側的處理流程和點劃線右側的管理維護中心側的處理流程, 這里設備單元泛指需要進行軟件更新的主體,如板卡、通信終端等,且本實施例中存儲介質以EEPROM為例進行說明,該方法具體包括如下步驟步驟201,設備單元側進行初始化,運行開始。步驟202,設備單元從EEPROM中獲取軟件參數。步驟203,設備單元將獲取的軟件參數賦給相應的軟件參數變量,運行軟件。步驟204,當管理維護中心收到軟件更新請求時,通過調用在線存儲介質參數專用 更改接口,向設備單元下發更改的軟件參數和更改指令。步驟205,設備單元接收到更改的軟件參數和更改指令后,觸發存儲介質參數專用 更改服務程序,由存儲介質參數專用更改服務程序用更改的軟件參數更新EEraOM中的軟 件參數。本實施例中,存儲介質EEPROM加寫了保護,只有調用存儲介質參數專用更改服務 程序才能對EEPROM進行數據修改。步驟206,存儲介質參數專用更改服務程序對EEPROM中的軟件參數更新是否成 功,是則執行步驟207,否則執行步驟208。步驟207,設備單元向管理維護中心發送更新成功響應消息。步驟208,設備單元向管理維護中心發送更新失敗響應消息。步驟209,管理維護中心根據設備單元的響應消息判斷更新是否成功,是則執行步 驟211,否則執行步驟210。步驟210,管理維護中心接收的是更新失敗響應消息,確定更新失敗,結束流程。步驟211,管理維護中心接收的是更新成功響應消息,確定更新成功,向設備單元 下發更新后處理操作指令。步驟212,設備單元判斷更新后處理操作指令是否為更新立即生效指令,是則返回 步驟202,否則執行步驟213。步驟213,設備單元判斷更新后處理操作指令是否為指定時間點后更新生效指令, 是則執行步驟214,否則執行步驟216。步驟214,設備單元啟動預設時間點定時器。該預設時間點定時器設定為在所述的預設時間點超時。步驟215,在預設時間點定時器超時的時候,返回執行步驟202。這種設定定時器的方案,可以讓系統在夜深人靜業務量少的時間點執行更新生 效。步驟216,設備單元判斷更新后處理操作指令為是否為更新后重啟動指令,是則執 行步驟217,否則執行步驟218。步驟217,設備單元進行重新啟動操作,返回步驟201。步驟218,本次軟件更新操作結束。軟件運行的參數變量保持原來的數值繼續正常 運行,下次系統重啟動時或收到更新后處理操作指令后,在進行相應的更新操作。圖2所流程結束。在圖2所示的流程中,設備單元向維護管理中心發送的響應消息為更新成功響應 消息時,管理維護中心下發更新后處理操作指令。更新后處理操作指令有三種情況一是新 參數立即生效,使軟件程序立即以更新后的參數進行運算、協議變更和流程控制。二是設定 時間點生效,即軟件程序在某個時間節點后生效,該指令下發后,帶上時間點參數,即絕對時間信息或相對時間信息。三是軟件立即重啟動生效,這主要是針對一些需要重啟動執行 初始化的更新需求。基于上述實施例,接下來給出本發明中的一種軟件更新系統的組成示意圖。圖3是本發明實施例一種軟件更新系統的組成示意圖。如圖3所示,該系統包括 存儲介質模塊301、設備單元302和管理維護中心303,其中存儲介質模塊301,用于保存軟件參數;設備單元302,用于在初始時,從存儲介質模塊301中獲取軟件參數賦給相應的軟 件參數變量,運行軟件;用于在接收到管理維護中心303下發的更改的軟件參數和更改指 令后,用更改的軟件參數更新存儲介質模塊301中的軟件參數,并重新從存儲介質模塊301 中獲取更新后的軟件參數賦給相應的軟件參數變量,運行軟件;管理維護中心303,用于在需要更新軟件時,向設備單元302下發更改的軟件參數 和更改指令。在圖3所示系統中,管理維護中心303,用于通過調用在線存儲介質參數專用更改 接口,向設備單元302下發更改的軟件參數和更改指令。設備單元302,用于在接收到更改 的軟件參數和更改指令后,觸發存儲介質參數專用更改服務程序,由存儲介質參數專用更 改服務程序用更改的軟件參數更新存儲介質模塊301中的軟件參數。在圖3所示系統中,設備單元302,用于在存儲介質參數專用更改服務程序對存 儲介質模塊301中的軟件參數更新成功時,進一步向管理維護中心303發送更新成功響應 消息;用于在存儲介質參數專用更改服務程序對存儲介質模塊301中的軟件參數更新失敗 時,進一步向管理維護中心303發送更新失敗響應消息。在圖3所示系統中,管理維護中心303,用于在接收到更新成功響應消息后,進一 步向設備單元302發送更新后處理操作指令;如果所述更新后處理操作指令為更新立即生效指令,則設備單元302在接收到更 新后處理操作指令后,直接從存儲介質模塊301中獲取更新后的軟件參數賦給相應的軟件 參數變量,運行軟件;如果所述更新后處理操作指令為指定時間點后更新生效指令,則設備單元302在 接收到更新后處理操作指令后,先啟動預設時間點定時器,在該定時器超時的時候,再從存 儲介質模塊301中獲取更新后的軟件參數賦給相應的軟件參數變量,運行軟件;如果所述更新后處理操作指令為更新后重啟動指令,則設備單元進行重新啟動操 作,在重新啟動操作后執行所述的從存儲介質模塊301中獲取更新后的軟件參數賦給相應 的軟件參數變量,運行軟件的步驟。在圖3所示系統中,所述存儲介質模塊301為閃存或電可擦可編程只讀存儲器 EEPROM。本發明提出的上述軟件更新方案有如下優點1、對許多由于軟件參數更新、流程及協議兼容變更需求導致的更新需求,本發明 可實現軟件的靈活且便利的平滑升級。這種平滑升級可根據需要設計更新生效時間點。2、節省了軟件開發和維護的時間成本和人力成本。這主要體現在,本發明的技術 方案完全節省了代碼修改和編譯這兩步驟的時間,可以有效地減輕開發維護人員的工作負 擔,縮短軟件開發設計及系統升級的時間。進而減少代碼維護量,節省開發、運營和維護的成本。3、有益于維護系統的穩定性,避免了軟件更新升級引入漏洞的問題。這主要體現在無需進行源代碼修改和編譯工作,也就避免了由于開發人員這樣或那樣的原因,引入新 的漏洞,導致最后系統不穩定的問題。4、提高了更新的成功率,主要原因是節省了軟件下載、更新及更新后必須重啟動 等一系列操作流程,降低了維護人員的誤操作率,因此可大大提高更新的成功率。以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精 神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明保護的范圍之內。
權利要求
一種軟件更新方法,其特征在于,該方法包括將軟件參數存儲到存儲介質中;在初始時,從存儲介質中獲取軟件參數賦給相應的軟件參數變量,運行軟件;當需要更新軟件時,更新存儲介質中的軟件參數;從存儲介質中獲取更新后的軟件參數賦給相應的軟件參數變量,運行軟件。
2.根據權利要求1所述的方法,其特征在于,所述更新存儲介質中的軟件參數包括 管理維護中心向設備單元下發更改的軟件參數和更改指令;設備單元接收到更改指令后,用更改的軟件參數更新存儲介質中的軟件參數。
3.根據權利要求2所述的方法,其特征在于,所述管理維護中心通過調用在線存儲介質參數專用更改接口,向設備單元下發更改的 軟件參數和更改指令;設備單元觸發存儲介質參數專用更改服務程序,由存儲介質參數專用更改服務程序用 更改的軟件參數更新存儲介質中的軟件參數。
4.根據權利要求2所述的方法,其特征在于,在用更改的軟件參數更新存儲介質中的 軟件參數之后,并在從存儲介質中獲取更新后的軟件參數賦給相應的軟件參數變量運行軟 件之前,該方法進一步包括如果存儲介質參數專用更改服務程序對存儲介質中的軟件參數更新成功,設備單元向 管理維護中心發送更新成功響應消息;如果存儲介質參數專用更改服務程序對存儲介質中的軟件參數更新失敗,設備單元向 管理維護中心發送更新失敗響應消息。
5.根據權利要求4所述的方法,其特征在于,該方法進一步包括管理維護中心在接收 到更新成功響應消息后,向設備單元發送更新后處理操作指令;所述從存儲介質中獲取更新后的軟件參數賦給相應的軟件參數變量,運行軟件包括 如果所述更新后處理操作指令為更新立即生效指令,則設備單元在接收到更新后處理 操作指令后,直接從存儲介質中獲取更新后的軟件參數賦給相應的軟件參數變量,運行軟 件;如果所述更新后處理操作指令為指定時間點后更新生效指令,則設備單元在接收到更 新后處理操作指令后,先啟動預設時間點定時器,在該定時器超時的時候,再從存儲介質中 獲取更新后的軟件參數賦給相應的軟件參數變量,運行軟件;如果所述更新后處理操作指令為更新后重啟動指令,則設備單元進行重新啟動操作, 在重新啟動操作后執行所述的從存儲介質中獲取更新后的軟件參數賦給相應的軟件參數 變量,運行軟件的步驟。
6.一種軟件更新系統,其特征在于,該系統包括存儲介質模塊、設備單元和管理維護 中心,其中存儲介質模塊,用于保存軟件參數;設備單元,用于在初始時,從存儲介質模塊中獲取軟件參數賦給相應的軟件參數變量, 運行軟件;用于在接收到管理維護中心下發的更改的軟件參數和更改指令后,用更改的軟 件參數更新存儲介質模塊中的軟件參數,并重新從存儲介質模塊中獲取更新后的軟件參數 賦給相應的軟件參數變量,運行軟件;管理維護中心,用于在需要更新軟件時,向設備單元下發更改的軟件參數和更改指令。
7.根據權利要求6所述的系統,其特征在于,管理維護中心,用于通過調用在線存儲介質參數專用更改接口,向設備單元下發更改 的軟件參數和更改指令;設備單元,用于在接收到更改的軟件參數和更改指令后,觸發存儲介質參數專用更改 服務程序,由存儲介質參數專用更改服務程序用更改的軟件參數更新存儲介質模塊中的軟 件參數。
8.根據權利要求7所述的系統,其特征在于。設備單元,用于在存儲介質參數專用更改服務程序對存儲介質模塊中的軟件參數更新 成功時,進一步向管理維護中心發送更新成功響應消息;用于在存儲介質參數專用更改服 務程序對存儲介質模塊中的軟件參數更新失敗時,進一步向管理維護中心發送更新失敗響 應消息。
9.根據權利要求8所述的系統,其特征在于,管理維護中心,用于在接收到更新成功響應消息后,進一步向設備單元發送更新后處 理操作指令;如果所述更新后處理操作指令為更新立即生效指令,則設備單元在接收到更新后處理 操作指令后,立即從存儲介質模塊中獲取更新后的軟件參數賦給相應的軟件參數變量,運 行軟件;如果所述更新后處理操作指令為指定時間點后更新生效指令,則設備單元在接收到更 新后處理操作指令后,先啟動預設時間點定時器,在該定時器超時的時候,再從存儲介質模 塊中獲取更新后的軟件參數賦給相應的軟件參數變量,運行軟件;如果所述更新后處理操作指令為更新后重啟動指令,則設備單元進行重新啟動操作, 在重新啟動操作后執行所述的從存儲介質模塊中獲取更新后的軟件參數賦給相應的軟件 參數變量,運行軟件的步驟。
10.根據權利要求6至9中任一項所述的系統,其特征在于,所述存儲介質模塊為閃存 或電可擦可編程只讀存儲器EEPR0M。
全文摘要
本發明公開了一種軟件更新方法和系統。所述方法包括將軟件參數存儲到存儲介質中;在初始時,從存儲介質中獲取軟件參數賦給相應的軟件參數變量,運行軟件;當需要更新軟件時,更新存儲介質中的軟件參數;從存儲介質中獲取更新后的軟件參數賦給相應的軟件參數變量,運行軟件。本發明提供的軟件更新技術方案實現成本低、效率高且不容易出錯。
文檔編號G06F9/445GK101950254SQ20101028327
公開日2011年1月19日 申請日期2010年9月16日 優先權日2010年9月16日
發明者何定潤 申請人:新郵通信設備有限公司