[發(fā)明專利]存儲(chǔ)引擎切換方法、裝置、電子設(shè)備和介質(zhì)在審
| 申請(qǐng)?zhí)枺?/td> | 201910828325.1 | 申請(qǐng)日: | 2019-09-03 |
| 公開(公告)號(hào): | CN110532225A | 公開(公告)日: | 2019-12-03 |
| 發(fā)明(設(shè)計(jì))人: | 李勇;李理;田勇 | 申請(qǐng)(專利權(quán))人: | 北京百度網(wǎng)訊科技有限公司 |
| 主分類號(hào): | G06F16/11 | 分類號(hào): | G06F16/11;G06F3/06 |
| 代理公司: | 11332 北京品源專利代理有限公司 | 代理人: | 孟金喆<國(guó)際申請(qǐng)>=<國(guó)際公布>=<進(jìn)入 |
| 地址: | 100085 北京市*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 引擎 新數(shù)據(jù) 遷移 存儲(chǔ)引擎 激活狀態(tài) 對(duì)外提供服務(wù) 數(shù)據(jù)存儲(chǔ)技術(shù) 激活 保留數(shù)據(jù) 電子設(shè)備 獲取目標(biāo) 目標(biāo)存儲(chǔ) 響應(yīng)存儲(chǔ) 引擎類型 引擎切換 狀態(tài)設(shè)置 自動(dòng)切換 創(chuàng)建 感知 申請(qǐng) 存儲(chǔ) 上層 保留 保證 | ||
本申請(qǐng)公開了一種存儲(chǔ)引擎切換方法、裝置、電子設(shè)備和介質(zhì),涉及數(shù)據(jù)存儲(chǔ)技術(shù)領(lǐng)域。具體實(shí)現(xiàn)方案為:響應(yīng)存儲(chǔ)引擎切換請(qǐng)求,獲取目標(biāo)存儲(chǔ)引擎類型;基于目標(biāo)存儲(chǔ)引擎類型創(chuàng)建第一空引擎,并將所述第一空引擎的狀態(tài)設(shè)置為激活狀態(tài),其中,處于激活狀態(tài)的所述第一空引擎用于接收實(shí)時(shí)的新數(shù)據(jù),并對(duì)外提供服務(wù);將數(shù)據(jù)從當(dāng)前舊引擎遷移到所述第一空引擎,并在遷移過程中保留所述數(shù)據(jù)的最新值。本申請(qǐng)不僅實(shí)現(xiàn)引擎間自動(dòng)切換,而且在切換過程中通過創(chuàng)建空引擎并激活,讓激活的空引擎接收實(shí)時(shí)的新數(shù)據(jù),然后在數(shù)據(jù)從舊引擎向空引擎的遷移過程中保留數(shù)據(jù)最新值,不僅不影響實(shí)時(shí)新數(shù)據(jù)的存儲(chǔ),對(duì)上層無感知,而且還保證遷移過程中數(shù)據(jù)的穩(wěn)定性和一致性。
技術(shù)領(lǐng)域
本申請(qǐng)實(shí)施例涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及數(shù)據(jù)存儲(chǔ)技術(shù)領(lǐng)域,具體涉及一種存儲(chǔ)引擎切換方法、裝置、電子設(shè)備和介質(zhì)。
背景技術(shù)
存儲(chǔ)引擎是存儲(chǔ)系統(tǒng)中負(fù)責(zé)數(shù)據(jù)存儲(chǔ)和管理的組件,處于業(yè)務(wù)應(yīng)用和存儲(chǔ)設(shè)備之間,對(duì)上接收來自于業(yè)務(wù)的數(shù)據(jù),對(duì)下將數(shù)據(jù)存儲(chǔ)在存儲(chǔ)設(shè)備上,因此,在設(shè)計(jì)和實(shí)現(xiàn)上需要全面考慮硬件的特性和業(yè)務(wù)的特征。
存儲(chǔ)硬件發(fā)展迅速,類型眾多,每一種類型的存儲(chǔ)設(shè)備特征差異比較大,同時(shí),不同的業(yè)務(wù)對(duì)引擎也有不同的需求。因此,就出現(xiàn)對(duì)多種存儲(chǔ)引擎的需求,不僅同時(shí)支持多種類型的存儲(chǔ)引擎存在,也能從一個(gè)存儲(chǔ)引擎演進(jìn)到另一個(gè)引擎。
在引擎演進(jìn)的過程中,涉及舊引擎的退休和新引擎的加入。傳統(tǒng)的方法更多采用先離線導(dǎo)出舊引擎的數(shù)據(jù),經(jīng)過轉(zhuǎn)換后再導(dǎo)入新引擎,且通常是根據(jù)引擎定制導(dǎo)入導(dǎo)出的外部工具來實(shí)現(xiàn)。然而,工具的開發(fā)要求對(duì)引擎內(nèi)部結(jié)構(gòu)了解足夠深,不然容易影響數(shù)據(jù)的可靠性。而且,外部工具還依賴人工或者腳本來處理,在引擎數(shù)據(jù)切換過程中會(huì)引入額外的不穩(wěn)定因素,影響數(shù)據(jù)的一致性。
發(fā)明內(nèi)容
本申請(qǐng)實(shí)施例提供了一種存儲(chǔ)引擎切換方法、裝置、電子設(shè)備和介質(zhì),以提高不同引擎切換過程中數(shù)據(jù)的可靠性和一致性。
第一方面,本申請(qǐng)實(shí)施例提供了一種存儲(chǔ)引擎切換方法,包括:
響應(yīng)存儲(chǔ)引擎切換請(qǐng)求,獲取目標(biāo)存儲(chǔ)引擎類型;
基于所述目標(biāo)存儲(chǔ)引擎類型創(chuàng)建空引擎,并將所述空引擎的狀態(tài)設(shè)置為激活狀態(tài),其中,處于激活狀態(tài)的所述空引擎用于接收實(shí)時(shí)的新數(shù)據(jù),并對(duì)外提供服務(wù);
將數(shù)據(jù)從當(dāng)前舊引擎遷移到所述空引擎,并在遷移過程中保留所述數(shù)據(jù)的最新值。
上述申請(qǐng)中的一個(gè)實(shí)施例具有如下優(yōu)點(diǎn)或有益效果:不僅實(shí)現(xiàn)引擎間自動(dòng)切換,而且在切換過程中通過創(chuàng)建空引擎并激活,讓激活的空引擎接收實(shí)時(shí)的新數(shù)據(jù),然后在數(shù)據(jù)從舊引擎向空引擎的遷移過程中保留數(shù)據(jù)最新值,不僅不影響實(shí)時(shí)新數(shù)據(jù)的存儲(chǔ),對(duì)上層無感知,而且還保證遷移過程中數(shù)據(jù)的穩(wěn)定性和一致性。
可選的,在所述將數(shù)據(jù)從當(dāng)前舊引擎遷移到所述空引擎的執(zhí)行過程中,所述方法還包括:
響應(yīng)對(duì)任一目標(biāo)數(shù)據(jù)的讀操作,在所述空引擎中查詢是否存在所述目標(biāo)數(shù)據(jù)的key;
如果存在,則從所述空引擎中讀取所述目標(biāo)數(shù)據(jù)的值;
如果不存在,則在所述當(dāng)前舊引擎中查詢是否存在所述目標(biāo)數(shù)據(jù)的key,如果在所述當(dāng)前舊引擎中存在,則從所述當(dāng)前舊引擎中讀取所述目標(biāo)數(shù)據(jù)的值。
上述申請(qǐng)中的一個(gè)實(shí)施例具有如下優(yōu)點(diǎn)或有益效果:在引擎間數(shù)據(jù)遷移的過程中,若有讀請(qǐng)求出現(xiàn),則按照從空引擎到當(dāng)前舊引擎的順序進(jìn)行讀數(shù)據(jù),由于空引擎的數(shù)據(jù)較新,從而確保讀取到最新的數(shù)據(jù)。
可選的,在所述將數(shù)據(jù)從當(dāng)前舊引擎遷移到所述空引擎的執(zhí)行過程中,所述方法還包括:
響應(yīng)對(duì)任一目標(biāo)數(shù)據(jù)的刪除操作,在所述當(dāng)前舊引擎中查詢是否存在所述目標(biāo)數(shù)據(jù)的key;
如果存在,則在所述當(dāng)前舊引擎中刪除所述目標(biāo)數(shù)據(jù)的值;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京百度網(wǎng)訊科技有限公司,未經(jīng)北京百度網(wǎng)訊科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910828325.1/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 一種RAID5磁盤陣列中寫入數(shù)據(jù)的方法和裝置
- 一種重復(fù)數(shù)據(jù)刪除的方法和系統(tǒng)
- 移動(dòng)終端中群組數(shù)據(jù)與非群組數(shù)據(jù)同步的方法和裝置
- 基于配置項(xiàng)優(yōu)先級(jí)的CMDB調(diào)和方法及裝置
- 一種糾刪碼RAID的數(shù)據(jù)一致性保障方法及系統(tǒng)
- 一種RAID系統(tǒng)的數(shù)據(jù)寫入方法及裝置
- 數(shù)據(jù)同步方法、裝置以及電子設(shè)備
- 數(shù)據(jù)處理方法、裝置、電子設(shè)備和計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 數(shù)據(jù)合成的方法、裝置和設(shè)備
- 利用機(jī)器學(xué)習(xí)在項(xiàng)目周期不同階段防止內(nèi)容知識(shí)產(chǎn)權(quán)問題
- 遷移方法和裝置
- 移動(dòng)邊緣系統(tǒng)中遷移應(yīng)用方法、相關(guān)設(shè)備及系統(tǒng)
- 虛擬機(jī)的遷移方法及裝置
- 數(shù)據(jù)遷移方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 計(jì)算任務(wù)遷移方法及計(jì)算任務(wù)遷移器
- 文件遷移方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)
- 基于遷移工具的國(guó)產(chǎn)化應(yīng)用系統(tǒng)遷移方法
- 數(shù)據(jù)遷移方法及裝置
- 文件遷移方法及裝置
- 一種數(shù)據(jù)遷移方法、裝置、電子設(shè)備和存儲(chǔ)介質(zhì)
- 聯(lián)動(dòng)運(yùn)行方法和移動(dòng)通信終端
- 一種地震數(shù)據(jù)并行存儲(chǔ)系統(tǒng)
- 一種實(shí)現(xiàn)NoSQL的鍵值存儲(chǔ)引擎的方法
- 一種網(wǎng)絡(luò)處理器指令存儲(chǔ)裝置及該裝置的指令存儲(chǔ)方法
- 數(shù)據(jù)存儲(chǔ)方法、裝置和存儲(chǔ)系統(tǒng)
- 大數(shù)據(jù)處理方法及裝置
- 一種數(shù)據(jù)組分配方法、系統(tǒng)及電子設(shè)備和存儲(chǔ)介質(zhì)
- 一種數(shù)據(jù)存儲(chǔ)方法及數(shù)據(jù)存儲(chǔ)系統(tǒng)
- 數(shù)據(jù)搜索及存儲(chǔ)方法、數(shù)據(jù)搜索系統(tǒng)、裝置、設(shè)備及介質(zhì)
- 一種CockroachDB支持多存儲(chǔ)引擎的實(shí)現(xiàn)方法





