專利名稱:一種移動通信網(wǎng)管系統(tǒng)的升級方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動通信網(wǎng)中網(wǎng)管系統(tǒng),尤其涉及移動通信網(wǎng)中網(wǎng)管系統(tǒng)的數(shù)據(jù)庫升級。
背景技術(shù):
在移動通信網(wǎng)中,網(wǎng)管負(fù)責(zé)對網(wǎng)絡(luò)設(shè)備進行維護工作,提供人機接口,對電信網(wǎng)絡(luò)設(shè)備進行配置、檢查、控制、診斷、操作權(quán)限檢查,跟蹤設(shè)備的運行狀況,收集分析網(wǎng)絡(luò)設(shè)備的運行數(shù)據(jù)。要保證前臺電信網(wǎng)絡(luò)設(shè)備(以下通稱為前臺)的正常運行及管理,必須在后臺網(wǎng)管服務(wù)器(以下通稱為后臺)提供數(shù)據(jù)庫管理系統(tǒng),然后安全可靠地提供給設(shè)備使用以及支持對網(wǎng)絡(luò)的管理。由此可見網(wǎng)管服務(wù)器的應(yīng)用程序和數(shù)據(jù)庫是不可以或缺的,并且必須是安全、可靠、及時、高效的。
但是,業(yè)務(wù)的需求在不斷地變化,網(wǎng)絡(luò)管理功能也必須為了滿足業(yè)務(wù)的新需求而發(fā)生改變,這就帶來一個升級問題。按照原有的機制,升級時將前后臺斷開,然后升級后臺網(wǎng)管服務(wù)器和客戶端,升級完成后再升級前臺各個MP和單板,重新同步升級后的數(shù)據(jù)庫給前臺,最后再將前臺重啟后,業(yè)務(wù)開始正常運行。
這種機制的缺點不言而喻,就是它在升級過程中萬一出現(xiàn)后臺服務(wù)器升級失敗,將會造成無法對前臺網(wǎng)絡(luò)設(shè)備的管理和維護,給運營商網(wǎng)絡(luò)帶來了現(xiàn)網(wǎng)運行的危險以及造成一定程度的損失。
發(fā)明內(nèi)容
本發(fā)明要解決的問題,是提供一種方法保證后臺網(wǎng)管在升級前后均能正常運行,即保證低版本網(wǎng)管服務(wù)器升級過程能夠安全、可靠地進行,并且能夠自動完成,如果出現(xiàn)失敗,將自動安全地回滾到老版本而不影響當(dāng)前現(xiàn)網(wǎng)運行。
本發(fā)明的技術(shù)方案如下1.1維護一個版本列表或配置文件,包含所有網(wǎng)管系統(tǒng)歷史版本和當(dāng)前最新版本;1.2為每一個歷史版本定義一個升級腳本文件,該升級腳本只負(fù)責(zé)將當(dāng)前歷史版本升級到比當(dāng)前版本高一級的版本;1.3初始化系統(tǒng),將所有歷史版本與相應(yīng)的升級腳本關(guān)聯(lián);1.4將當(dāng)前數(shù)據(jù)庫版本與待升級的版本比較,如果兩者版本號一致,則連接數(shù)據(jù)庫并對數(shù)據(jù)庫進行備份,然后1.5遞歸讀取升級腳本語句,并逐級升級,直到升級到最新版本;1.6將最新版本修改到數(shù)據(jù)庫中。
步驟1.2中的升級腳本文件,包括系統(tǒng)名稱、每一個歷史版本號和它的下一個版本號。
步驟1.4中的將當(dāng)前數(shù)據(jù)庫版本與待升級的版本比較是通過一個比較函數(shù)來完成的。
步驟1.5中的遞歸讀取升彖腳本語句將逐級升級,是通過升級入口函數(shù),該函數(shù)是一個遞歸調(diào)用,它查找與當(dāng)前低版本匹配的升級腳本,如果找到則調(diào)用此腳本進行升級,直到升級到最新版本。所述的逐級升級,是指每一個版本只升級到它的下一個版本。在逐級升級過程中,任何一級升級失敗,則用備份數(shù)據(jù)庫恢復(fù)。
在本發(fā)明中,還定義一個標(biāo)記,表明是哪種系統(tǒng)(HLR后臺/計費服務(wù)器/OMC網(wǎng)管服務(wù)器)待升級。
采用本發(fā)明所述方法,與現(xiàn)有技術(shù)相比,可以實現(xiàn)安全和自動化升級。安全是指使升級的后臺軟件能夠避免升級過程中出現(xiàn)失敗而無法自動恢復(fù)原先版本環(huán)境的現(xiàn)象,取得了產(chǎn)品穩(wěn)定性、安全性方面的的效果。自動化是指用戶只需要點擊一個升級按鈕,就把備份數(shù)據(jù),恢復(fù)數(shù)據(jù),升級數(shù)據(jù)等步驟自動完成;跨版本升級時也不需要人工參與,通過鏈?zhǔn)缴壏椒ㄗ詣油瓿伞?br>
由于本發(fā)明采用了鏈?zhǔn)缴壍姆椒?,它是一個逐步升級的過程,即在每次升級版本更新時,避免了需要重寫所有歷史版本的升級工作,只需要新增次新版本向最新版本升級的腳本(其他更老版本的網(wǎng)管系統(tǒng)可以由以前的升級腳本負(fù)責(zé)將它升級到次新版本,然后再由剛才新增的升級腳本再將次新版本的網(wǎng)管系統(tǒng)升級到最新版本),這樣就節(jié)省了開發(fā)時間,降低了開發(fā)的復(fù)雜度,提高了開發(fā)效率。
圖1是本發(fā)明的的流程圖;圖2是業(yè)務(wù)變動后,增加一個新版本的流程圖;圖3是開局現(xiàn)場,技術(shù)人員實施安全自動化升級操作的具體流程。
具體實施例方式下面主要討論數(shù)據(jù)庫的升級,對于應(yīng)用程序的升級提供文件備份,如果需要回滾,用備份的文件覆蓋新安裝的文件即可(同樣由程序自動完成)。
為了增加擴展性和兼容性,具體實現(xiàn)本發(fā)明的技術(shù)時,可以使用java語言以及JDBC(Java DataBase Connection,Java數(shù)據(jù)庫連接),做到跨平臺(windows/unix),跨數(shù)據(jù)庫(sqlserver/mysql/oracle/db2等),跨系統(tǒng)(HLR/計費/OMC等),提供GUI圖形界面,簡單操作,方便實用。
在發(fā)明內(nèi)容中已對本發(fā)明的技術(shù)方案進行了詳細(xì)描述,下面結(jié)合附圖以具體實施進行說明。
圖1是本發(fā)明主要的流程。
在本發(fā)明中,升級腳本文件命名規(guī)則如下
將特定版本號和對應(yīng)的升級系統(tǒng)相關(guān)聯(lián)。其中sys是特定的系統(tǒng)名,可以是omc、hlr、billomm……;oldVersion是一個歷史版本號,如CNV2.00.1、CNV2.00.2……;newVersion是當(dāng)前升級版本號,如CNV2.00.2、CNV2.00.3……。如果某個系統(tǒng)的歷史版本要升級,可以根據(jù)系統(tǒng)名+版本號找到相應(yīng)的升級腳本文件,然后通過JDBC調(diào)用具體的升級sql語句將數(shù)據(jù)庫升級到下一個版本。這個文件命名的主要作用就是能夠根據(jù)系統(tǒng)號+版本號快速查找到對應(yīng)這個版本的升級腳本文件。
當(dāng)前維護一個版本列表或配置文件,包含所有網(wǎng)管系統(tǒng)歷史版本和當(dāng)前最新版本。在升級時,首先取得數(shù)據(jù)庫配置文件信息,根據(jù)當(dāng)前網(wǎng)管系統(tǒng)版本獲取可升級版本列表。版本列表配置文件verupdate.ini如下
它是一個版本列,內(nèi)容就是前面所說的oldVersion和newVersion。在此模擬了實際開局情況下,運營商需要維護的版本列表,每一個版本都有可能在現(xiàn)實開局環(huán)境中存在。其中第n個版本是當(dāng)前最新版本,不需要進行升級;其余n-1個版本都有對應(yīng)的升級腳本,分別負(fù)責(zé)將自己對應(yīng)的版本升級到下一個版本,直到升級到最新版本n。維護這個版本列表的主要目的主要就是為了保證任何一個低版本網(wǎng)管系統(tǒng)都能夠順利升級到最新版本。
數(shù)據(jù)庫存在一張帶安全自動化升級版本信息的表r_dbver。表結(jié)構(gòu)如下
其中dbver代表數(shù)據(jù)庫的版本號,最初版本假定可以定為CNV2.00.1,以后如果版本發(fā)生變化,版本號將逐步上升。有了這個表以后,后臺程序就可以根據(jù)版本號對升級版本進行判斷和確認(rèn)升級等工作。
在升級過程中,通過一個版本比較函數(shù)將當(dāng)前數(shù)據(jù)庫版本號與待升級的網(wǎng)管系統(tǒng)版本比較,如果不等,升級失??;如果等于,為防止升級失敗首先進行數(shù)據(jù)庫連接,進行數(shù)據(jù)備份;成功備份后則調(diào)用該項的升級腳本,升級到下一個版本,如果備份失敗則升級失??;如果執(zhí)行該升級腳本返回失敗,利用備份的數(shù)據(jù)進入自動恢復(fù)數(shù)據(jù)庫流程,升級失敗;如果升級成功,則將升級后的版本號為參數(shù),進行遞歸調(diào)用,繼續(xù)執(zhí)行升級工作,直到將歷史版本升級為最新的版本,最后將最新版本修改到數(shù)據(jù)庫中,完成安全自動化升級流程。該升級流程是一個鏈?zhǔn)降纳壍倪^程,即從低版本向高版本一步一步升級,絕對不會出現(xiàn)跳級升級的現(xiàn)象,這主要是為了降低以后新增版本的開發(fā)復(fù)雜度。
圖2介紹了增加一個新版本的流程。當(dāng)業(yè)務(wù)需求發(fā)生變化并且牽涉到數(shù)據(jù)庫改動時,安全自動化升級必須隨之更新,該圖說明了安全自動化升級的詳細(xì)更新步驟。從圖中可以看出,該過程十分簡單,只需新增版本列表項(和一個升級腳本命名一致即可),因為如果有其他更低的版本需要升級到最新版本,安全自動化升級流程會先調(diào)用以前的升級腳本負(fù)責(zé)將這個低版本的網(wǎng)管系統(tǒng)升級到次新版本,最終再調(diào)用新增的升級腳本,將次新版本的網(wǎng)管系統(tǒng)升級到最新版本。這種簡單的方法體現(xiàn)了安全自動化升級的優(yōu)點,即在很大程度上提高了開發(fā)的效率。
圖3介紹了在開局現(xiàn)場,技術(shù)人員實施安全自動化升級前后臺時的具體操作流程。首先確定當(dāng)前后臺版本以及要升級到哪個新版本,利用升級工具進行后臺網(wǎng)管的安全自動化升級;如果失敗,則本次升級失敗,如果后臺升級成功,則可以進入前臺的升級工作,否則,無法使用正常的網(wǎng)管系統(tǒng)對應(yīng)的升級前臺版本的工具來對老版本前臺進行升級。前臺可能有多個,這里需要逐個升級,每個前臺升級完成后即可運行;如果所有前臺升級完成,則前后臺所有的升級工作就結(jié)束了,如果有前臺升級后版本運行不正常,說明前臺版本文件制作有問題,進行正確的前臺版本加載即可。開局人員必須嚴(yán)格按照本圖的步驟進行升級,否則升級后的系統(tǒng)運行可能存在很多的隱患,如前后臺版本不一致,后臺同步數(shù)據(jù)到前臺失敗等等。
權(quán)利要求
1.一種移動通信網(wǎng)管系統(tǒng)的安全自動化升級方法,包括1.1維護一個版本列表或配置文件,包含所有網(wǎng)管系統(tǒng)歷史版本和當(dāng)前最新版本;1.2為每一個歷史版本定義一個升級腳本文件,該升級腳本只負(fù)責(zé)將當(dāng)前歷史版本升級到比當(dāng)前版本高一級的版本;1.3初始化系統(tǒng),將所有歷史版本與相應(yīng)的升級腳本關(guān)聯(lián);1.4將當(dāng)前數(shù)據(jù)庫版本與待升級的版本比較,如果兩者版本號一致,則連接數(shù)據(jù)庫并對數(shù)據(jù)庫進行備份,然后1.5遞歸讀取升級腳本語句,并逐級升級,直到升級到最新版本;1.6將最新版本修改到數(shù)據(jù)庫中。
2.權(quán)利要求1所述的移動通信網(wǎng)管系統(tǒng)的安全自動化升級方法,其特征在于,步驟1.2中的升級腳本文件,包括系統(tǒng)名稱、每一個歷史版本號和它的下一個版本號。
3.權(quán)利要求1所述的移動通信網(wǎng)管系統(tǒng)的安全自動化升級方法,其特征在于,步驟1.4中的將當(dāng)前數(shù)據(jù)庫版本與待升級的版本比較是通過一個比較函數(shù)來完成的。
4.權(quán)利要求1所述的移動通信網(wǎng)管系統(tǒng)的安全自動化升級方法,其特征在于,步驟1.5中的遞歸讀取升彖腳本語句將逐級升級,是通過升級入口函數(shù),該函數(shù)是一個遞歸調(diào)用,它查找與當(dāng)前低版本匹配的升級腳本,如果找到則調(diào)用此腳本進行升級,直到升級到最新版本。
5.權(quán)利要求1所述的移動通信網(wǎng)管系統(tǒng)的安全自動化升級方法,其特征在于,步驟1.5所述的逐級升級,是指每一個版本只升級到它的下一個版本。
6.權(quán)利要求1所述的移動通信網(wǎng)管系統(tǒng)的安全自動化升級方法,其特征在于,在步驟1.5逐級升級過程中,任何一級升級失敗,則用備份數(shù)據(jù)庫恢復(fù)。
7.權(quán)利要求1到6任一權(quán)利要求所述的移動通信網(wǎng)管系統(tǒng)的安全自動化升級方法,其特征在于,還包括定義一個標(biāo)記,表明是哪種系統(tǒng)待升級。
全文摘要
一種移動通信網(wǎng)管系統(tǒng)的升級方法,涉及移動通信網(wǎng)中網(wǎng)管系統(tǒng)的數(shù)據(jù)庫升級。在網(wǎng)管系統(tǒng)中維護一個版本列表或配置文件,包含所有歷史版本和最新版本;為每一個歷史版本定義一個將當(dāng)前歷史版本升級到比當(dāng)前版本高一級的版本的升級腳本文件;初始化系統(tǒng),將所有歷史版本與相應(yīng)的升級腳本關(guān)聯(lián);將當(dāng)前數(shù)據(jù)庫版本與待升級的版本比較,如果兩者版本號一致,則連接數(shù)據(jù)庫并對數(shù)據(jù)庫進行備份,然后遞歸讀取升級腳本語句,并逐級升級,直到升級到最新版本;將最新版本修改到數(shù)據(jù)庫中。采用本發(fā)明所述方法,逐步升級,避免了重寫所有歷史版本的工作,只需要新增次新版本向最新版本升級的腳本,節(jié)省了開發(fā)時間,降低了開發(fā)的復(fù)雜度,提高了開發(fā)效率。
文檔編號G06F11/14GK1713154SQ20041002772
公開日2005年12月28日 申請日期2004年6月22日 優(yōu)先權(quán)日2004年6月22日
發(fā)明者顧榮偉 申請人:中興通訊股份有限公司