[發(fā)明專利]數(shù)據(jù)庫的存儲方法、裝置及電子設(shè)備有效
| 申請?zhí)枺?/td> | 202011373498.8 | 申請日: | 2020-11-30 |
| 公開(公告)號: | CN112181902B | 公開(公告)日: | 2021-08-31 |
| 發(fā)明(設(shè)計)人: | 陳宗志 | 申請(專利權(quán))人: | 阿里云計算有限公司 |
| 主分類號: | G06F16/13 | 分類號: | G06F16/13;G06F16/16;G06F16/17;G06F16/172;G06F16/242;G06F16/28;G06F9/50;G06F3/06 |
| 代理公司: | 北京博思佳知識產(chǎn)權(quán)代理有限公司 11415 | 代理人: | 周嗣勇 |
| 地址: | 310024 浙江省*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 數(shù)據(jù)庫 存儲 方法 裝置 電子設(shè)備 | ||
1.一種數(shù)據(jù)庫的存儲方法,所述方法應(yīng)用于數(shù)據(jù)庫的存儲引擎;其中,所述存儲引擎維護(hù)了與所述數(shù)據(jù)庫對應(yīng)的重做日志文件,所述重做日志文件被劃分為多個重做日志子文件;所述方法包括:
獲取與所述數(shù)據(jù)庫對應(yīng)的多條數(shù)據(jù)修改語句,并將所述多條數(shù)據(jù)修改語句存儲在與所述重做日志文件對應(yīng)的日志緩存;
基于與所述多條數(shù)據(jù)修改語句對應(yīng)的數(shù)據(jù)修改結(jié)果,對與所述數(shù)據(jù)庫對應(yīng)的緩存區(qū)域進(jìn)行更新;
基于與所述多個重做日志子文件對應(yīng)的多個日志寫入線程,將所述日志緩存中的所述多條數(shù)據(jù)修改語句記錄至所述多個重做日志子文件;其中,所述多個日志寫入線程為并行執(zhí)行的多個線程,所述多個日志寫入線程與所述多個重做日志子文件之間一一對應(yīng);
在完成針對所述多個重做日志子文件的日志寫入之后,基于所述緩存區(qū)域中的所述數(shù)據(jù)修改結(jié)果,對與所述數(shù)據(jù)庫對應(yīng)的數(shù)據(jù)庫索引進(jìn)行更新。
2.根據(jù)權(quán)利要求1所述的方法,所述基于與所述多個重做日志子文件對應(yīng)的多個日志寫入線程,將所述多條數(shù)據(jù)修改語句記錄至所述多個重做日志子文件,包括:
針對所述多條數(shù)據(jù)修改語句中的任意一條目標(biāo)數(shù)據(jù)修改語句,確定與所述目標(biāo)數(shù)據(jù)修改語句對應(yīng)的目標(biāo)數(shù)據(jù)頁;
基于與所述多個重做日志子文件對應(yīng)的多個日志寫入線程中,與所述目標(biāo)數(shù)據(jù)頁對應(yīng)的目標(biāo)日志寫入線程,將所述目標(biāo)數(shù)據(jù)修改語句記錄至所述多個重做日志子文件中與所述目標(biāo)數(shù)據(jù)頁對應(yīng)的目標(biāo)重做日志子文件。
3.根據(jù)權(quán)利要求1所述的方法,所述基于所述緩存區(qū)域中的所述數(shù)據(jù)修改結(jié)果,對與所述數(shù)據(jù)庫對應(yīng)的數(shù)據(jù)庫索引進(jìn)行更新,包括:
基于與所述數(shù)據(jù)庫的數(shù)據(jù)頁對應(yīng)的數(shù)據(jù)頁刷新線程,以及所述緩存區(qū)域中的所述數(shù)據(jù)修改結(jié)果,對與所述數(shù)據(jù)庫對應(yīng)的數(shù)據(jù)庫索引進(jìn)行更新。
4.根據(jù)權(quán)利要求1所述的方法,所述方法還包括:
針對所述多個重做日志子文件中的任意一個目標(biāo)重做日志子文件,基于所述目標(biāo)重做日志子文件的存儲地址,為與所述目標(biāo)重做日志子文件對應(yīng)的目標(biāo)日志寫入線程分配目標(biāo)寄存器,以由所述目標(biāo)日志寫入線程基于所述目標(biāo)寄存器對所述目標(biāo)重做日志子文件進(jìn)行日志寫入處理。
5.根據(jù)權(quán)利要求1所述的方法,所述數(shù)據(jù)庫為分布式存儲的數(shù)據(jù)庫。
6.根據(jù)權(quán)利要求1所述的方法,所述數(shù)據(jù)庫索引為BTree索引。
7.一種數(shù)據(jù)庫的存儲裝置,所述裝置應(yīng)用于數(shù)據(jù)庫的存儲引擎;其中,所述存儲引擎維護(hù)了與所述數(shù)據(jù)庫對應(yīng)的重做日志文件,所述重做日志文件被劃分為多個重做日志子文件;所述裝置包括:
獲取模塊,用于獲取與所述數(shù)據(jù)庫對應(yīng)的多條數(shù)據(jù)修改語句,并將所述多條數(shù)據(jù)修改語句存儲在與所述重做日志文件對應(yīng)的日志緩存;
緩存更新模塊,用于基于與所述多條數(shù)據(jù)修改語句對應(yīng)的數(shù)據(jù)修改結(jié)果,對與所述數(shù)據(jù)庫對應(yīng)的緩存區(qū)域進(jìn)行更新;
日志寫入模塊,用于基于與所述多個重做日志子文件對應(yīng)的多個日志寫入線程,將所述日志緩存中的所述多條數(shù)據(jù)修改語句記錄至所述多個重做日志子文件;其中,所述多個日志寫入線程為并行執(zhí)行的多個線程,所述多個日志寫入線程與所述多個重做日志子文件之間一一對應(yīng);
索引更新模塊,用于在完成針對所述多個重做日志子文件的日志寫入之后,基于所述緩存區(qū)域中的所述數(shù)據(jù)修改結(jié)果,對與所述數(shù)據(jù)庫對應(yīng)的數(shù)據(jù)庫索引進(jìn)行更新。
8.根據(jù)權(quán)利要求7所述的裝置,所述日志寫入模塊具體用于:
針對所述多條數(shù)據(jù)修改語句中的任意一條目標(biāo)數(shù)據(jù)修改語句,確定與所述目標(biāo)數(shù)據(jù)修改語句對應(yīng)的目標(biāo)數(shù)據(jù)頁;
基于與所述多個重做日志子文件對應(yīng)的多個日志寫入線程中,與所述目標(biāo)數(shù)據(jù)頁對應(yīng)的目標(biāo)日志寫入線程,將所述目標(biāo)數(shù)據(jù)修改語句記錄至所述多個重做日志子文件中與所述目標(biāo)數(shù)據(jù)頁對應(yīng)的目標(biāo)重做日志子文件。
9.根據(jù)權(quán)利要求7所述的裝置,所述索引更新模塊具體用于:
基于與所述數(shù)據(jù)庫的數(shù)據(jù)頁對應(yīng)的數(shù)據(jù)頁刷新線程,以及所述緩存區(qū)域中的所述數(shù)據(jù)修改結(jié)果,對與所述數(shù)據(jù)庫對應(yīng)的數(shù)據(jù)庫索引進(jìn)行更新。
該專利技術(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/202011373498.8/1.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í)行方法及裝置





