[發(fā)明專利]一種數(shù)據(jù)庫版本管理方法及系統(tǒng)在審
| 申請?zhí)枺?/td> | 202011081322.5 | 申請日: | 2020-10-10 |
| 公開(公告)號: | CN112100194A | 公開(公告)日: | 2020-12-18 |
| 發(fā)明(設(shè)計)人: | 亓穎 | 申請(專利權(quán))人: | 蘇州浪潮智能科技有限公司 |
| 主分類號: | G06F16/23 | 分類號: | G06F16/23;G06F16/21 |
| 代理公司: | 濟南誠智商標專利事務(wù)所有限公司 37105 | 代理人: | 王申雨 |
| 地址: | 215100 江蘇省蘇州市吳*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 數(shù)據(jù)庫 版本 管理 方法 系統(tǒng) | ||
本發(fā)明公開了一種數(shù)據(jù)庫版本管理方法及系統(tǒng),所述方法包括:管理系統(tǒng)啟動,根據(jù)配置數(shù)據(jù)源文件連接待同步數(shù)據(jù)庫;檢查元數(shù)據(jù)表是否存在,如果不存在,創(chuàng)建元數(shù)據(jù)表,所述元數(shù)據(jù)表用于記錄數(shù)據(jù)庫版本變更歷史及版本校驗碼;如果元數(shù)據(jù)表存在,讀取元數(shù)據(jù)表的執(zhí)行記錄,驗證已遷移版本文件;將存儲裝置中的版本文件與元數(shù)據(jù)表中的執(zhí)行記錄進行比對:如果該版本在元數(shù)據(jù)表中存在,則跳過此版本;如果該版本在元數(shù)據(jù)表中不存在,則掃描存儲裝置中的版本文件,按照順序?qū)姹疚募w移到待同步數(shù)據(jù)庫,并將版本的升級信息寫入元數(shù)據(jù)表的執(zhí)行記錄。所述系統(tǒng)包括存儲裝置和功能裝置。本發(fā)明實現(xiàn)了記錄數(shù)據(jù)庫版本演化過程,根據(jù)需求完成數(shù)據(jù)庫版本升級。
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)庫開發(fā)領(lǐng)域,具體涉及一種數(shù)據(jù)庫版本管理方法及系統(tǒng)。
背景技術(shù)
在軟件項目開發(fā)初期,會對數(shù)據(jù)庫進行全局設(shè)計。但是隨著產(chǎn)品開發(fā)過程中需求的變化,經(jīng)常會遇到更新數(shù)據(jù)庫模式(schema)的情況,比如新增表、新增字段或者新增數(shù)據(jù)等情況。當開發(fā)人員完成了數(shù)據(jù)庫腳本的開發(fā)后,通常需要對其它開發(fā)者的數(shù)據(jù)庫或者測試環(huán)境等進行數(shù)據(jù)庫腳本的同步,由于各環(huán)境的管理者不同,通常需要不同的角色手動執(zhí)行腳本,完成腳本的更新。
然而,不同環(huán)境場景下的數(shù)據(jù)庫同步,可能導(dǎo)致項目組中各研發(fā)角色對數(shù)據(jù)庫維護造成本地與原始環(huán)境出現(xiàn)差異性,影響版本升級的準確性。
發(fā)明內(nèi)容
為了解決上述技術(shù)問題,本發(fā)明提出了一種數(shù)據(jù)庫版本管理方法及系統(tǒng),實現(xiàn)了對數(shù)據(jù)庫版本的演化過程進行記錄,根據(jù)需求完成數(shù)據(jù)庫版本的升級更新。
為實現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案:
一種數(shù)據(jù)庫版本管理方法,包括:
管理系統(tǒng)啟動,根據(jù)配置數(shù)據(jù)源文件連接待同步數(shù)據(jù)庫;
檢查元數(shù)據(jù)表是否存在,如果不存在,創(chuàng)建元數(shù)據(jù)表,所述元數(shù)據(jù)表用于記錄數(shù)據(jù)庫版本變更歷史及版本校驗碼;
如果元數(shù)據(jù)表存在,讀取元數(shù)據(jù)表的執(zhí)行記錄,驗證已遷移版本文件;
將存儲裝置中的版本文件與元數(shù)據(jù)表中的執(zhí)行記錄進行比對:如果該版本在元數(shù)據(jù)表中存在,則跳過此版本;
如果該版本在元數(shù)據(jù)表中不存在,則掃描存儲裝置中的版本文件,按照順序?qū)姹疚募w移到待同步數(shù)據(jù)庫,并將版本的升級信息寫入元數(shù)據(jù)表的執(zhí)行記錄。
進一步地,所述驗證已遷移版本文件,包括:
將元數(shù)據(jù)表中的版本校驗碼與存儲裝置中的版本文件的校驗碼進行比對;
如果校驗碼相同,驗證通過;
如果校驗碼不同,驗證失敗,調(diào)用對應(yīng)版本文件,在待同步數(shù)據(jù)庫中更新。
進一步地,若版本文件遷移失敗,則讀取存儲裝置中的撤銷腳本,將數(shù)據(jù)庫中版本文件回滾至本次遷移前的版本。
進一步地,當元數(shù)據(jù)表發(fā)生錯誤時,調(diào)用修復(fù)執(zhí)行的歷史記錄表,刪除執(zhí)行失敗的元數(shù)據(jù)記錄。
進一步地,當需要重新更新和生成數(shù)據(jù)庫的表結(jié)構(gòu)時,刪除已配置構(gòu)架中的所有對象。
進一步地,還包括:讀取元數(shù)據(jù)表的執(zhí)行記錄,打印版本文件遷移信息,定位當前數(shù)據(jù)庫版本。
本發(fā)明還提出了一種數(shù)據(jù)庫版本管理系統(tǒng),包括存儲裝置和功能裝置;
所述存儲裝置用于存放數(shù)據(jù)庫腳本;
所述功能裝置包括:
配置數(shù)據(jù)源文件,用于配置連接執(zhí)行版本同步的待同步數(shù)據(jù)庫;
該專利技術(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/202011081322.5/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)庫
- 數(shù)據(jù)庫管理系統(tǒng)及數(shù)據(jù)庫
- 數(shù)據(jù)庫構(gòu)筑裝置、數(shù)據(jù)庫檢索裝置、數(shù)據(jù)庫裝置、數(shù)據(jù)庫構(gòu)筑方法、以及數(shù)據(jù)庫檢索方法
- 數(shù)據(jù)庫和數(shù)據(jù)庫處理方法
- 數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫更新方法、數(shù)據(jù)庫以及數(shù)據(jù)庫更新程序
- 容器數(shù)據(jù)庫
- 數(shù)據(jù)庫同步方法及數(shù)據(jù)庫
- 一種MongoDB數(shù)據(jù)庫對象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲方法、裝置、電子設(shè)備及存儲介質(zhì)
- 數(shù)據(jù)庫語句執(zhí)行方法及裝置





