專利名稱:一種boss數(shù)據(jù)庫升級腳本的生成方法和設備的制作方法
技術領域:
涉及通訊領域,尤其涉及一種BOSS數(shù)據(jù)庫升級腳本的生成方法和設備。
背景技術:
B0SS(業(yè)務操作支撐系統(tǒng),S卩 Business&Operation Support System)是一種 IT 信息化支撐系統(tǒng),面對客戶是統(tǒng)一的;面對電信運營商,它融合了 BSS^usiness Support System,即業(yè)務支撐系統(tǒng))與OSS (Operation Support System,即運營支撐系統(tǒng)),是一個 綜合的業(yè)務運營和管理平臺。BOSS每次版本更新都或多或少有一定的數(shù)據(jù)庫變化,因此每 次都必須為測試組或現(xiàn)場提供數(shù)據(jù)庫升級腳本。數(shù)據(jù)庫升級的目的就是保證數(shù)據(jù)庫完全一致,目前的做法是使用兩個版本的 label取數(shù)據(jù)庫腳本進行比較,取其中的差異,形成升級腳本,然后進行相關測試。這種方法 有顯然易見的缺點,就是工作重復、繁瑣。如何解決數(shù)據(jù)庫升級自動化程度不高的問題,正是現(xiàn)有技術函待改進的。
發(fā)明內容
針對上述現(xiàn)有技術存在的問題,本發(fā)明旨在提供一種能自動生成BOSS數(shù)據(jù)庫升 級腳本的技術。為了實現(xiàn)上述目的,本發(fā)明提供了一種BOSS數(shù)據(jù)庫升級腳本的生成方法,包括比較新版和舊版BOSS數(shù)據(jù)庫的表結構;比較新版和舊版BOSS數(shù)據(jù)庫的非表對象;比較新版和舊版BOSS數(shù)據(jù)庫的數(shù)據(jù);根據(jù)各所述比較的結果,生成升級腳本。相應地,本發(fā)明還提供了一種BOSS數(shù)據(jù)庫升級腳本的生成設備,包括表結構比較模塊,用于比較新版和舊版BOSS數(shù)據(jù)庫的表結構;非表對象比較模塊,用于比較新版和舊版BOSS數(shù)據(jù)庫的非表對象;數(shù)據(jù)比較模塊,用于比較新版和舊版BOSS數(shù)據(jù)庫的數(shù)據(jù);與所述表結構比較模塊、非表對象比較模塊、數(shù)據(jù)比較模塊連接的腳本生成模塊, 用于根據(jù)各所述比較的結果,生成升級腳本。通過上述本發(fā)明采用的技術方案可以看出,在本發(fā)明中,通過比較新版和舊版 BOSS數(shù)據(jù)庫之間的種種差異,從而自動生成升級腳本,以方便系統(tǒng)技術的升級,其具有促進 工作效率、使升級自動化等有益效果。
圖1所示為BOSS數(shù)據(jù)庫的配置文件控制流程示意圖;圖2所示為本發(fā)明一種BOSS數(shù)據(jù)庫升級腳本的生成方法的一種實施例流程示意 圖3所示為本發(fā)明一種BOSS數(shù)據(jù)庫升級腳本的生成設備的一種實施例結構示意 圖;圖4所示為圖2中,比較新版和舊版BOSS數(shù)據(jù)庫的表結構的一種實施例流程示意 圖;圖5所示為圖2中,比較新版和舊版BOSS數(shù)據(jù)庫的非表對象的一種實施例流程示 意圖;圖6所示為OSS數(shù)據(jù)庫表層次關系示意圖;圖7所示為圖2中,比較新版和舊版BOSS數(shù)據(jù)庫的數(shù)據(jù)的一種實施例流程示意 圖。
具體實施例方式下面結合附圖及優(yōu)選實施例對本發(fā)明的特征及技術內容進行進一步說明。附圖僅 用于解釋本發(fā)明而非限制。為了更清楚描述本發(fā)明,下面先說明數(shù)據(jù)庫的安裝技術。公司內部網(wǎng)絡的互聯(lián)互通,是協(xié)同開發(fā)的基礎;ClearCase的成功運用,使軟件的 版本控制得到良好控制;基于以上兩個條件,我們可以隨時安裝指定版本的數(shù)據(jù)庫,目前的 通常做法是1、建立數(shù)據(jù)庫用戶、賦權;2、設定特定版本信息的ClearCase視圖(View);3、運行數(shù)據(jù)庫安裝腳本;4、輸入安裝參數(shù);5、檢查輸出log文件。對以上安裝步驟分析后發(fā)現(xiàn),除了安裝過程中需要人工輸入?yún)?shù)外,其他幾步都 是不變的。以上步驟可以合成到一個Siell文件中,在Unix下一個命令可以完成所有工 作。由此可見,可以讓程序根據(jù)配置文件,生成特定的Shell文件,再調用Unix命令運行該 腳本,可以實現(xiàn)數(shù)據(jù)庫的自動安裝。需要說明的是,數(shù)據(jù)庫的自動安裝,需要從配置文件讀取足夠的信息,生成安裝 Shell文件,再由應用程序調用Unix接口運行。由于B0SS4. 0數(shù)據(jù)庫由OSS和TS兩個數(shù)據(jù)庫用戶組成,需要連續(xù)運行兩個安裝腳 本,所以需要兩個獨立的配置文件來控制。本發(fā)明一種實施例中,一共有6個配置文件,如下面表1所示表 權利要求
1.一種BOSS數(shù)據(jù)庫升級腳本的生成方法,其特征在于,包括 比較新版和舊版BOSS數(shù)據(jù)庫的表結構;比較新版和舊版BOSS數(shù)據(jù)庫的非表對象; 比較新版和舊版BOSS數(shù)據(jù)庫的數(shù)據(jù); 根據(jù)各所述比較的結果,生成升級腳本。
2.如權利要求1所述的BOSS數(shù)據(jù)庫升級腳本的生成方法,其特征在于,所述比較新版 和舊版BOSS數(shù)據(jù)庫的表結構包括比較表的增減; 比較分區(qū)改變;比較列的增減、類型改變、約束; 比較索引。
3.如權利要求1所述的BOSS數(shù)據(jù)庫升級腳本的生成方法,其特征在于,所述比較新版 和舊版BOSS數(shù)據(jù)庫的非表對象包括從所述舊版BOSS數(shù)據(jù)庫中獲取所述非表對象; 查詢所述新版BOSS數(shù)據(jù)庫中是否存在所述非表對象; 相應地,所述根據(jù)所述比較的結果,生成升級腳本包括 當所述新版BOSS數(shù)據(jù)庫中不存在所述非表對象時,生成刪除腳本。
4.如權利要求1所述的BOSS數(shù)據(jù)庫升級腳本的生成方法,其特征在于,所述比較新版 和舊版BOSS數(shù)據(jù)庫的數(shù)據(jù)包括獲得所有表名稱; 獲得表的關聯(lián)關系; 使用遞歸方法,找到葉子表; 根據(jù)葉子表的主鍵進行數(shù)據(jù)比較。
5.一種BOSS數(shù)據(jù)庫升級腳本的生成設備,其特征在于,包括 表結構比較模塊,用于比較新版和舊版BOSS數(shù)據(jù)庫的表結構; 非表對象比較模塊,用于比較新版和舊版BOSS數(shù)據(jù)庫的非表對象; 數(shù)據(jù)比較模塊,用于比較新版和舊版BOSS數(shù)據(jù)庫的數(shù)據(jù);與所述表結構比較模塊、非表對象比較模塊、數(shù)據(jù)比較模塊連接的腳本生成模塊,用于 根據(jù)各所述比較的結果,生成升級腳本。
6.如權利要求5所述的BOSS數(shù)據(jù)庫升級腳本的生成設備,其特征在于,所述表結構比 較模塊包括表增減比較模塊,用于比較表的增減; 分獲比較模塊,用于比較分區(qū)改變; 列比較模塊,用于比較列的增減、類型改變、約束; 索引比較模塊,用于比較索引。
7.如權利要求5所述的BOSS數(shù)據(jù)庫升級腳本的生成設備,其特征在于,所述非表對象 比較模塊包括獲取模塊,用于從所述舊版BOSS數(shù)據(jù)庫中獲取所述非表對象; 查詢模塊,用于查詢所述新版BOSS數(shù)據(jù)庫中是否存在所述非表對象;相應地,所述腳本生成包括刪除腳本生成模塊,用于當所述查詢模塊查詢結果為所述新版BOSS數(shù)據(jù)庫中不存在 所述非表對象時,生成刪除腳本。
8.如權利要求5所述的BOSS數(shù)據(jù)庫升級腳本的生成設備,其特征在于,所述數(shù)據(jù)比較 模塊包括表名稱獲取模塊,用于獲得所有表名稱; 表關聯(lián)關系獲取模塊,用于獲得表的關聯(lián)關系; 搜索模塊,用于使用遞歸方法,找到葉子表; 主鍵比較模塊,用于根據(jù)葉子表的主鍵進行數(shù)據(jù)比較。
全文摘要
本發(fā)明公開了一種BOSS數(shù)據(jù)庫升級腳本的生成方法,包括比較新版和舊版BOSS數(shù)據(jù)庫的表結構;比較新版和舊版BOSS數(shù)據(jù)庫的非表對象;比較新版和舊版BOSS數(shù)據(jù)庫的數(shù)據(jù);根據(jù)各所述比較的結果,生成升級腳本。本發(fā)明還相應公開了一種BOSS數(shù)據(jù)庫升級腳本的生成設備。采用本發(fā)明揭示的技術方案,能自動生成BOSS數(shù)據(jù)庫升級腳本,具有促進工作效率、使升級自動化等有益效果。
文檔編號G06F17/30GK102096671SQ20091021379
公開日2011年6月15日 申請日期2009年12月14日 優(yōu)先權日2009年12月14日
發(fā)明者何錦輝 申請人:深圳速浪數(shù)字技術有限公司