[發(fā)明專利]數(shù)據(jù)版本升級的裝置無效
| 申請?zhí)枺?/td> | 200610150452.3 | 申請日: | 2006-10-31 |
| 公開(公告)號: | CN101174204A | 公開(公告)日: | 2008-05-07 |
| 發(fā)明(設(shè)計(jì))人: | 劉民;王瑞豐;武銀成 | 申請(專利權(quán))人: | 中興通訊股份有限公司 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44 |
| 代理公司: | 北京康信知識產(chǎn)權(quán)代理有限責(zé)任公司 | 代理人: | 李偉;吳孟秋 |
| 地址: | 518057廣東省深圳市南*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 數(shù)據(jù) 版本 升級 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及一種數(shù)據(jù)版本升級的裝置,更具體地,涉及一種適用于計(jì)算機(jī)、通信領(lǐng)域等以大型數(shù)據(jù)庫系統(tǒng)為基礎(chǔ)的軟件系統(tǒng)的數(shù)據(jù)平滑升級的裝置。
背景技術(shù)
在現(xiàn)有的軟件系統(tǒng)中,有很多是以大型數(shù)據(jù)庫系統(tǒng)(諸如ORACLE、SQL?SERVER、SYBASE、DB2等)為基礎(chǔ)來管理系統(tǒng)運(yùn)行相關(guān)的配置數(shù)據(jù)和其它數(shù)據(jù)的,但是由于軟件產(chǎn)品總是不斷地推出新的版本,而每一次新版本的推出都可能涉及到數(shù)據(jù)結(jié)構(gòu)的變化和相關(guān)數(shù)據(jù)算法的變化,所以必然會對舊版本數(shù)據(jù)的平滑升級提出要求。而目前很多軟件產(chǎn)品在升級時(shí)需要提供專門的升級手冊,并且編寫專門的升級程序來做處理,這樣的實(shí)現(xiàn)方式不僅工作量大,而且擴(kuò)展性、靈活性、可維護(hù)性都很差。另外,有一些軟件產(chǎn)品雖然做出了一定改進(jìn),但每個(gè)新版本都要對應(yīng)編寫相應(yīng)的SQL升級腳本文件,通過對SQL腳本文件的逐級調(diào)用來實(shí)現(xiàn)數(shù)據(jù)庫的升級,這樣做的缺點(diǎn)是必須維護(hù)大量的復(fù)雜的升級腳本文件,不易理解且可維護(hù)性較差,增加了升級失敗的可能性。
發(fā)明內(nèi)容
因此,提出本發(fā)明是為了克服現(xiàn)有技術(shù)中的工作量大、擴(kuò)展性、靈活性和可維護(hù)性差等缺點(diǎn),實(shí)現(xiàn)以一套通用的版本變遷庫為核心的數(shù)據(jù)升級方法,應(yīng)用時(shí)可將該方法嵌入到軟件的安裝程序中,在軟件系統(tǒng)安裝的同時(shí)實(shí)現(xiàn)數(shù)據(jù)的平滑升級,從而,使得升級完成后可以平滑地切換到新版本。這樣,在日常開發(fā)過程中,只需要維護(hù)版本變遷庫中的一條條相對簡單的變遷規(guī)則即可,大大提高了開發(fā)和維護(hù)效率。
本發(fā)明的一個(gè)方面提供了一種數(shù)據(jù)版本升級的實(shí)現(xiàn)方法,其包括:將低版本數(shù)據(jù)庫以及從低版本到高版本的版本變遷庫寫入到軟件系統(tǒng);以及根據(jù)預(yù)定規(guī)則,將低版本數(shù)據(jù)導(dǎo)入到高版本數(shù)據(jù)庫中,從而將低版本數(shù)據(jù)庫升級到高版本數(shù)據(jù)庫。
根據(jù)本發(fā)明的一個(gè)方面,版本變遷庫包括以數(shù)據(jù)表形式存在的版本演變文件,其中包括每個(gè)版本與前一版本之間的升級規(guī)則和方法。
根據(jù)本發(fā)明的一個(gè)方面,版本演變文件包括以下至少之一:版本信息表、變遷規(guī)則表、以及實(shí)現(xiàn)變遷規(guī)則的函數(shù)和存儲過程信息。
根據(jù)本發(fā)明的一個(gè)方面,變遷規(guī)則表保存在數(shù)據(jù)版本升級過程中的數(shù)據(jù)變遷規(guī)則,數(shù)據(jù)變遷規(guī)則相對獨(dú)立。
在本發(fā)明中,預(yù)定規(guī)則包括:讀取數(shù)據(jù)庫版本號,數(shù)據(jù)庫版本號包括待升級的低版本數(shù)據(jù)庫和將要升級到的高版本數(shù)據(jù)庫的版本號;將低版本數(shù)據(jù)庫改名,創(chuàng)建高版本數(shù)據(jù)庫;在高版本數(shù)據(jù)庫中,創(chuàng)建版本變遷庫中定義的版本升級中要用到的規(guī)則函數(shù)和存儲過程信息,讀取變遷規(guī)則表中兩個(gè)版本之間的所有變遷規(guī)則;以及對每一張表進(jìn)行升級,在所導(dǎo)入所有表的數(shù)據(jù)之后,返回所有表的升級狀態(tài)信息。
在上述對每張表進(jìn)行升級的過程中,包括以下步驟:導(dǎo)入執(zhí)行升級所需的基本數(shù)據(jù);根據(jù)每張表的變遷規(guī)則,調(diào)用演變文件來進(jìn)行數(shù)據(jù)的變化和升級;以及記錄每張表的升級狀態(tài)信息。
其中,升級狀態(tài)信息包括升級成功信息和升級失敗信息。
在本發(fā)明中,如果返回升級成功信息,則升級結(jié)束。如果返回升級失敗信息,則恢復(fù)到升級前的低版本數(shù)據(jù)庫。
本發(fā)明的另一個(gè)方面提供了一種數(shù)據(jù)版本升級的實(shí)現(xiàn)裝置,其包括:版本寫入模塊,用于寫入低版本數(shù)據(jù)庫以及從低版本到高版本的版本變遷庫到軟件系統(tǒng);以及升級代理模塊,用于將低版本數(shù)據(jù)導(dǎo)入到高版本數(shù)據(jù)庫中,升級到高版本數(shù)據(jù)庫。
根據(jù)本發(fā)明的一個(gè)方面,在版本寫入模塊中,版本變遷庫包括以數(shù)據(jù)表形式存在的版本演變文件,其中包括每個(gè)版本與前一版本之間的升級規(guī)則和方法。
根據(jù)本發(fā)明的一個(gè)方面,版本演變文件包括以下至少之一:版本信息表、變遷規(guī)則表、以及實(shí)現(xiàn)變遷規(guī)則的函數(shù)和存儲過程信息。其中,變遷規(guī)則表保存在數(shù)據(jù)版本升級過程中的數(shù)據(jù)變遷規(guī)則,數(shù)據(jù)變遷規(guī)則相對獨(dú)立。
在本發(fā)明中,升級代理模塊包括:數(shù)據(jù)庫版本號讀取單元,用于讀取數(shù)據(jù)庫版本號,數(shù)據(jù)庫版本號包括待升級的低版本數(shù)據(jù)庫和將要升級到的高版本數(shù)據(jù)庫的版本號;高版本數(shù)據(jù)庫創(chuàng)建單元,用于將低版本數(shù)據(jù)庫改名,創(chuàng)建高版本數(shù)據(jù)庫;變遷規(guī)則讀取單元,用于在高版本數(shù)據(jù)庫中,創(chuàng)建版本變遷庫中定義的版本升級中要用到的規(guī)則函數(shù)和存儲過程信息,讀取變遷規(guī)則表中兩個(gè)版本之間的所有變遷規(guī)則;以及升級單元,用于對每一張表進(jìn)行升級,在所導(dǎo)入所有表的數(shù)據(jù)之后,返回所有表的升級狀態(tài)信息。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中興通訊股份有限公司,未經(jīng)中興通訊股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200610150452.3/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





