[發(fā)明專利]一種數(shù)據(jù)復(fù)用方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)在審
| 申請?zhí)枺?/td> | 201910695998.4 | 申請日: | 2019-07-30 |
| 公開(公告)號(hào): | CN110413568A | 公開(公告)日: | 2019-11-05 |
| 發(fā)明(設(shè)計(jì))人: | 賴梓昌;田勇;李理 | 申請(專利權(quán))人: | 北京百度網(wǎng)訊科技有限公司 |
| 主分類號(hào): | G06F16/11 | 分類號(hào): | G06F16/11;G06F16/13;G06F16/172;G06F16/18;G06F16/182 |
| 代理公司: | 北京品源專利代理有限公司 11332 | 代理人: | 孟金喆 |
| 地址: | 100085 北京市*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 寫入數(shù)據(jù) 存儲(chǔ)引擎 同步日志 存儲(chǔ)介質(zhì) 電子設(shè)備 數(shù)據(jù)復(fù)用 數(shù)據(jù)文件 索引信息 寫入請求 影子文件 寫入 分布式存儲(chǔ)系統(tǒng) 存儲(chǔ)設(shè)備 模塊存儲(chǔ) 模塊復(fù)用 使用壽命 寫入性能 用戶發(fā)送 磁盤 硬鏈 存儲(chǔ) | ||
1.一種數(shù)據(jù)復(fù)用方法,其特征在于,所述方法包括:
通過同步日志模塊存儲(chǔ)用戶發(fā)送的寫入請求;其中,所述寫入請求中包括:當(dāng)前寫入數(shù)據(jù)和所述當(dāng)前寫入數(shù)據(jù)的編號(hào);
將所述當(dāng)前寫入數(shù)據(jù)存儲(chǔ)到存儲(chǔ)引擎模塊的當(dāng)前數(shù)據(jù)文件中,并為所述當(dāng)前數(shù)據(jù)文件硬鏈出與其對應(yīng)的當(dāng)前影子文件;
根據(jù)所述當(dāng)前寫入數(shù)據(jù)的編號(hào)和所述當(dāng)前影子文件在所述同步日志模塊中建立所述當(dāng)前寫入數(shù)據(jù)的第一索引信息;其中,第一索引信息用于根據(jù)所述當(dāng)前寫入數(shù)據(jù)的編號(hào)讀取所述當(dāng)前寫入數(shù)據(jù);
所述當(dāng)前寫入數(shù)據(jù)提交之后在所述存儲(chǔ)引擎模塊中為所述當(dāng)前寫入數(shù)據(jù)建立第二索引信息;其中,所述第二索引信息用于提供所述當(dāng)前寫入數(shù)據(jù)的查詢服務(wù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
根據(jù)所述存儲(chǔ)引擎模塊中預(yù)先確定的各個(gè)歷史寫入數(shù)據(jù)的版本信息和預(yù)先獲取的內(nèi)存查找表,判斷各個(gè)歷史寫入數(shù)據(jù)是否為有效的寫入數(shù)據(jù);
若各個(gè)歷史寫入數(shù)據(jù)為有效的寫入數(shù)據(jù),將各個(gè)歷史寫入數(shù)據(jù)和各個(gè)歷史寫入數(shù)據(jù)的第二索引信息,從所述存儲(chǔ)引擎模塊的原目錄下切換到所述存儲(chǔ)引擎模塊的目標(biāo)目錄下。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將各個(gè)歷史寫入數(shù)據(jù)和各個(gè)歷史寫入數(shù)據(jù)的第二索引信息,從所述存儲(chǔ)引擎模塊的原目錄下切換到所述存儲(chǔ)引擎模塊的目標(biāo)目錄下,包括:
若各個(gè)歷史寫入數(shù)據(jù)為已提交的寫入數(shù)據(jù),在所述存儲(chǔ)引擎模塊的目標(biāo)目錄下存儲(chǔ)各個(gè)歷史寫入數(shù)據(jù)和各個(gè)歷史寫入數(shù)據(jù)的第二索引信息;在所述存儲(chǔ)引擎模塊的原目錄下刪除各個(gè)歷史寫入數(shù)據(jù)和各個(gè)歷史寫入數(shù)據(jù)的第二索引信息;
若各個(gè)歷史寫入數(shù)據(jù)為未提交的寫入數(shù)據(jù),在所述存儲(chǔ)引擎模塊的目標(biāo)目錄下硬鏈接原目錄下的各個(gè)歷史數(shù)據(jù)文件,同時(shí)更新各個(gè)影子文件與各個(gè)歷史數(shù)據(jù)文件的映射關(guān)系。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
通過同步日志模塊存儲(chǔ)所述用戶發(fā)送的讀取請求;其中,所述讀取請求中包括:所述當(dāng)前寫入數(shù)據(jù)的編號(hào);
根據(jù)所述當(dāng)前寫入數(shù)據(jù)的編號(hào),在所述同步日志模塊中獲取所述當(dāng)前寫入數(shù)據(jù)的第一索引信息;
根據(jù)所述當(dāng)前寫入數(shù)據(jù)的第一索引信息,確定出所述當(dāng)前寫入數(shù)據(jù)在所述存儲(chǔ)引擎模塊中的影子文件名稱及相應(yīng)的偏移和長度;
根據(jù)所述影子文件名稱及相應(yīng)的偏移和長度在所述存儲(chǔ)引擎模塊中讀取所述當(dāng)前寫入數(shù)據(jù)。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一索引信息包括至少一個(gè)起始編號(hào)start_id;各個(gè)start_id包括至少一個(gè)日志文件di_file;各個(gè)di_file包括至少一個(gè)日志項(xiàng)di_entry和全部di_entry的日志項(xiàng)索引index;各個(gè)di_entry包括:標(biāo)記magic_num、類型type、日志項(xiàng)數(shù)據(jù)data、校驗(yàn)值crc;所述data包括:請求頭和索引信息;所述索引信息包括:影子文件名稱、偏移量和長度;所述第二索引信息包括:至少一個(gè)存儲(chǔ)單元;各個(gè)存儲(chǔ)單元包括:原目錄和目標(biāo)目錄;所述原目錄和所述目標(biāo)目錄分別包括:0-64個(gè)索引校驗(yàn)indexcrc;0-64個(gè)索引index;0-63個(gè)數(shù)據(jù)data;各個(gè)data對應(yīng)設(shè)置一個(gè)影子文件;所述影子文件包括:影子文件名稱filename、偏移offset和長度len。
6.一種數(shù)據(jù)復(fù)用裝置,其特征在于,所述裝置包括:第一存儲(chǔ)模塊、第二存儲(chǔ)模塊、第一建立模塊和第二建立模塊;其中,
所述第一存儲(chǔ)模塊,用于通過同步日志模塊存儲(chǔ)用戶發(fā)送的寫入請求;其中,所述寫入請求中包括:當(dāng)前寫入數(shù)據(jù)和所述當(dāng)前寫入數(shù)據(jù)的編號(hào);
所述第二存儲(chǔ)模塊,用于將所述當(dāng)前寫入數(shù)據(jù)存儲(chǔ)到存儲(chǔ)引擎模塊的當(dāng)前數(shù)據(jù)文件中,并為所述當(dāng)前數(shù)據(jù)文件硬鏈出與其對應(yīng)的當(dāng)前影子文件;
所述第一建立模塊,用于根據(jù)所述當(dāng)前寫入數(shù)據(jù)的編號(hào)和所述當(dāng)前影子文件在所述同步日志模塊中建立所述當(dāng)前寫入數(shù)據(jù)的第一索引信息;其中,第一索引信息用于根據(jù)所述當(dāng)前寫入數(shù)據(jù)的編號(hào)讀取所述當(dāng)前寫入數(shù)據(jù);
所述第二建立模塊,用于所述當(dāng)前寫入數(shù)據(jù)提交之后在所述存儲(chǔ)引擎模塊中為所述當(dāng)前寫入數(shù)據(jù)建立第二索引信息;其中,所述第二索引信息用于提供所述當(dāng)前寫入數(shù)據(jù)的查詢服務(wù)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京百度網(wǎng)訊科技有限公司,未經(jīng)北京百度網(wǎng)訊科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910695998.4/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 聯(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)方法
- 使多媒體內(nèi)容與裝置同步的方法和設(shè)備
- 使多媒體內(nèi)容與裝置同步的方法和設(shè)備
- 主節(jié)點(diǎn)觸發(fā)回退的日志同步方法及裝置
- 一種日志落地方法及裝置
- 一種基于日志的數(shù)據(jù)同步的方法及裝置
- 一種網(wǎng)絡(luò)日志數(shù)據(jù)同步系統(tǒng)及方法
- 主動(dòng)和被動(dòng)同步日志的實(shí)現(xiàn)方法和裝置
- 日志同步方法及設(shè)備
- 一種基于日志解析同步的日志讀取方法和數(shù)據(jù)同步系統(tǒng)
- 一種日志同步方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 用于接合與分離存儲(chǔ)介質(zhì)的裝置
- 存儲(chǔ)介質(zhì)陣列控制器、控制方法、設(shè)備、和存儲(chǔ)介質(zhì)驅(qū)動(dòng)器
- 存儲(chǔ)介質(zhì)處理方法、系統(tǒng)及數(shù)據(jù)讀寫操作方法、系統(tǒng)
- 存儲(chǔ)裝置、存儲(chǔ)介質(zhì)以及存儲(chǔ)介質(zhì)的制造方法
- 數(shù)據(jù)存儲(chǔ)
- 存儲(chǔ)介質(zhì)之間的數(shù)據(jù)遷移
- 一種基于存儲(chǔ)系統(tǒng)的控制方法及裝置
- 自助設(shè)備及自助設(shè)備的介質(zhì)存儲(chǔ)裝置
- 融合存儲(chǔ)系統(tǒng)中的數(shù)據(jù)遷移方法和裝置
- 一種數(shù)據(jù)存儲(chǔ)方法、裝置及電子設(shè)備





