[發(fā)明專(zhuān)利]一種數(shù)據(jù)庫(kù)持續(xù)部署的方法和設(shè)備有效
| 申請(qǐng)?zhí)枺?/td> | 202011006517.3 | 申請(qǐng)日: | 2020-09-23 |
| 公開(kāi)(公告)號(hào): | CN112130891B | 公開(kāi)(公告)日: | 2021-06-29 |
| 發(fā)明(設(shè)計(jì))人: | 王新義 | 申請(qǐng)(專(zhuān)利權(quán))人: | 上海逸迅信息科技有限公司 |
| 主分類(lèi)號(hào): | G06F8/71 | 分類(lèi)號(hào): | G06F8/71;G06F8/65;G06F16/16 |
| 代理公司: | 北京睿博行遠(yuǎn)知識(shí)產(chǎn)權(quán)代理有限公司 11297 | 代理人: | 龔家驊 |
| 地址: | 201203 上海市浦東新區(qū)中國(guó)(上海)自*** | 國(guó)省代碼: | 上海;31 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 數(shù)據(jù)庫(kù) 持續(xù) 部署 方法 設(shè)備 | ||
本發(fā)明公開(kāi)了一種數(shù)據(jù)庫(kù)持續(xù)部署的方法和設(shè)備,所述方法包括:根據(jù)數(shù)據(jù)庫(kù)部署需求從預(yù)設(shè)版本庫(kù)中獲取指定數(shù)據(jù)庫(kù)腳本,所述部署需求包括新增部署和升級(jí)部署,所述指定數(shù)據(jù)庫(kù)腳本帶有與對(duì)應(yīng)的軟件代碼的版本號(hào)一致的指定版本號(hào),根據(jù)所述指定數(shù)據(jù)庫(kù)腳本在物理的目標(biāo)數(shù)據(jù)庫(kù)中構(gòu)建對(duì)應(yīng)的指定腳本文件,若所述數(shù)據(jù)庫(kù)部署需求為所述升級(jí)部署,根據(jù)所述指定腳本文件和當(dāng)前腳本文件生成變更數(shù)據(jù)庫(kù)腳本,所述當(dāng)前腳本文件為所述目標(biāo)數(shù)據(jù)庫(kù)中與當(dāng)前軟件版本的數(shù)據(jù)庫(kù)腳本對(duì)應(yīng)的腳本文件,根據(jù)所述變更數(shù)據(jù)庫(kù)腳本在所述目標(biāo)數(shù)據(jù)庫(kù)中構(gòu)建變更腳本文件,并基于所述變更腳本文件變更所述當(dāng)前腳本文件,從而提高了數(shù)據(jù)庫(kù)持續(xù)部署的效率。
技術(shù)領(lǐng)域
本申請(qǐng)涉及計(jì)算機(jī)技術(shù)領(lǐng)域,更具體地,涉及一種數(shù)據(jù)庫(kù)持續(xù)部署的方法和設(shè)備。
背景技術(shù)
隨著計(jì)算機(jī)和軟件的發(fā)展,特別是互聯(lián)網(wǎng)、移動(dòng)互聯(lián)網(wǎng)及大數(shù)據(jù)行業(yè)的發(fā)展,軟件系統(tǒng)變得越來(lái)越復(fù)雜,層次結(jié)構(gòu)和模塊變得越來(lái)越多,軟件開(kāi)發(fā)周期長(zhǎng)和軟件開(kāi)發(fā)、集成、測(cè)試及部署變得越來(lái)重要;敏捷軟件開(kāi)發(fā)方式越來(lái)越廣泛。軟件開(kāi)發(fā)周期的自動(dòng)化工具來(lái)提升持續(xù)集成與交付效率和速度,變得至關(guān)重要。通過(guò)CI(Continuous Integration,持續(xù)集成)/CD(Continuous Delivery,持續(xù)交付/Continuous Deployment,持續(xù)部署)工具,開(kāi)發(fā)團(tuán)隊(duì)可以保持軟件更新并將其迅速的投入實(shí)踐中。
目前代碼級(jí)別的持續(xù)集成、持續(xù)交付和持續(xù)部署有比較成熟的方法和系統(tǒng);持續(xù)集成、持續(xù)交付和持續(xù)部署及容器技術(shù)讓?xiě)?yīng)用打包和部署變得更快更容易。數(shù)據(jù)是應(yīng)用最重要的部分,由于所有的應(yīng)用都包含數(shù)據(jù),數(shù)據(jù)庫(kù)遷移、數(shù)據(jù)庫(kù)持續(xù)交付和數(shù)據(jù)庫(kù)持續(xù)部署相對(duì)于應(yīng)用打包和部署復(fù)雜的多,涉及到DDL(Data Definition Language,數(shù)據(jù)定義語(yǔ)言)的部署、基礎(chǔ)數(shù)據(jù)部署,特別在已有存量數(shù)據(jù)的基礎(chǔ)上如何升級(jí)部署數(shù)據(jù)庫(kù)是一個(gè)巨大的挑戰(zhàn)和棘手的問(wèn)題,數(shù)據(jù)庫(kù)不是文件集合,是最有價(jià)值資產(chǎn)的容器,包含必須保留的業(yè)務(wù)數(shù)據(jù)。數(shù)據(jù)庫(kù)部署包括處理數(shù)據(jù)庫(kù)Schema結(jié)構(gòu)(表結(jié)構(gòu))、數(shù)據(jù)庫(kù)代碼(過(guò)程、函數(shù)等)以及應(yīng)用程序使用的數(shù)據(jù)(元數(shù)據(jù)、查找內(nèi)容或者參數(shù)表)的腳本。開(kāi)發(fā)團(tuán)隊(duì)需要辦法來(lái)可靠的控制、遷移、和測(cè)試真實(shí)的應(yīng)用數(shù)據(jù)。
通過(guò)將數(shù)據(jù)庫(kù)對(duì)象變更腳本提交到傳統(tǒng)版本控制庫(kù)中實(shí)現(xiàn)自動(dòng)化,這種方法的用處是非常有限的,也缺少靈活性并與數(shù)據(jù)庫(kù)本身失去了關(guān)聯(lián)。同時(shí)它也可能是不真實(shí)的,由于變更沖突容易導(dǎo)致丟失目標(biāo)環(huán)境的更新。對(duì)于自動(dòng)化來(lái)說(shuō),使用“比較并同步”的工具是有風(fēng)險(xiǎn)的。這兩個(gè)概念并不兼容,因?yàn)樗鼈儽舜瞬⒉恢缹?duì)方。
對(duì)于一些團(tuán)隊(duì)來(lái)說(shuō),通過(guò)CI/CD pipeline來(lái)移動(dòng)應(yīng)用數(shù)據(jù),為了保持合規(guī)性和兼容其他一些問(wèn)題,一直是通過(guò)手動(dòng)方式來(lái)完成的,無(wú)法有效擴(kuò)展。通常只能適用于一小部分應(yīng)用,而且無(wú)法在不同環(huán)境中遷移。
因此,如何提高數(shù)據(jù)庫(kù)持續(xù)部署的效率和可靠性,實(shí)現(xiàn)數(shù)據(jù)庫(kù)持續(xù)交付和持續(xù)部署的自動(dòng)化,進(jìn)而提高軟件系統(tǒng)的持續(xù)集成、持續(xù)交付和持續(xù)部署的效率和自動(dòng)化率,是目前有待解決的技術(shù)問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明公開(kāi)了一種數(shù)據(jù)庫(kù)持續(xù)部署的方法,用于解決現(xiàn)有技術(shù)中數(shù)據(jù)庫(kù)持續(xù)部署的效率和可靠性低,無(wú)法自動(dòng)化的進(jìn)行數(shù)據(jù)庫(kù)持續(xù)部署的技術(shù)問(wèn)題,所述方法包括:
根據(jù)數(shù)據(jù)庫(kù)部署需求從預(yù)設(shè)版本庫(kù)中獲取指定數(shù)據(jù)庫(kù)腳本,所述部署需求包括新增部署和升級(jí)部署,所述指定數(shù)據(jù)庫(kù)腳本帶有與對(duì)應(yīng)的軟件代碼的版本號(hào)一致的指定版本號(hào);
根據(jù)所述指定數(shù)據(jù)庫(kù)腳本在物理的目標(biāo)數(shù)據(jù)庫(kù)中構(gòu)建對(duì)應(yīng)的指定腳本文件;
若所述數(shù)據(jù)庫(kù)部署需求為所述升級(jí)部署,根據(jù)所述指定腳本文件和當(dāng)前腳本文件生成變更數(shù)據(jù)庫(kù)腳本,所述當(dāng)前腳本文件為所述目標(biāo)數(shù)據(jù)庫(kù)中與當(dāng)前軟件版本的數(shù)據(jù)庫(kù)腳本對(duì)應(yīng)的腳本文件;
根據(jù)所述變更數(shù)據(jù)庫(kù)腳本在所述目標(biāo)數(shù)據(jù)庫(kù)中構(gòu)建變更腳本文件,并基于所述變更腳本文件變更所述當(dāng)前腳本文件。
一些實(shí)施例中,根據(jù)所述指定腳本文件和當(dāng)前腳本文件生成變更數(shù)據(jù)庫(kù)腳本,具體為:
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于上海逸迅信息科技有限公司,未經(jīng)上海逸迅信息科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011006517.3/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)管理系統(tǒng)及數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)構(gòu)筑裝置、數(shù)據(jù)庫(kù)檢索裝置、數(shù)據(jù)庫(kù)裝置、數(shù)據(jù)庫(kù)構(gòu)筑方法、以及數(shù)據(jù)庫(kù)檢索方法
- 數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)處理方法
- 數(shù)據(jù)庫(kù)系統(tǒng)、數(shù)據(jù)庫(kù)更新方法、數(shù)據(jù)庫(kù)以及數(shù)據(jù)庫(kù)更新程序
- 容器數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)同步方法及數(shù)據(jù)庫(kù)
- 一種MongoDB數(shù)據(jù)庫(kù)對(duì)象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲(chǔ)方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 數(shù)據(jù)庫(kù)語(yǔ)句執(zhí)行方法及裝置
- 一種業(yè)務(wù)處理執(zhí)行語(yǔ)言流程部署方法
- 云計(jì)算平臺(tái)應(yīng)用快速部署的管理方法
- 虛擬化網(wǎng)絡(luò)功能部署方法及系統(tǒng)
- 版本部署的方法、裝置、設(shè)備和計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 測(cè)試環(huán)境部署方法、部署裝置及存儲(chǔ)介質(zhì)
- 程序部署任務(wù)執(zhí)行方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種基于Ansible的輕量級(jí)容器化分布式系統(tǒng)與部署方法
- 模型部署方法、模型部署裝置及終端設(shè)備
- 系統(tǒng)部署狀態(tài)的可視化方法、裝置、設(shè)備及可讀存儲(chǔ)介質(zhì)
- 一種任務(wù)部署方法、系統(tǒng)、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





