[發(fā)明專利]數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)方法、存儲(chǔ)介質(zhì)與設(shè)備在審
| 申請(qǐng)?zhí)枺?/td> | 202211327416.5 | 申請(qǐng)日: | 2022-10-27 |
| 公開(公告)號(hào): | CN115481127A | 公開(公告)日: | 2022-12-16 |
| 發(fā)明(設(shè)計(jì))人: | 冷建全;何樹培;李翔 | 申請(qǐng)(專利權(quán))人: | 北京人大金倉(cāng)信息技術(shù)股份有限公司 |
| 主分類號(hào): | G06F16/22 | 分類號(hào): | G06F16/22;G06F16/21;G06F16/28;G06F3/06 |
| 代理公司: | 北京智匯東方知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11391 | 代理人: | 劉長(zhǎng)江 |
| 地址: | 100102 北京市朝陽(yáng)區(qū)容*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 數(shù)據(jù)庫(kù) 數(shù)據(jù) 存儲(chǔ) 方法 介質(zhì) 設(shè)備 | ||
本發(fā)明提供了一種數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)方法、存儲(chǔ)介質(zhì)與設(shè)備。其中數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)方法包括:獲取啟動(dòng)的觸發(fā)事件;判斷預(yù)先配置的臟頁(yè)隊(duì)列中未被刷寫的臟頁(yè)數(shù)量是否超過第一設(shè)定閾值;若是,獲取臟頁(yè)隊(duì)列中位于隊(duì)首的設(shè)定數(shù)量的臟頁(yè);將設(shè)定數(shù)量的臟頁(yè)寫入磁盤。本發(fā)明的方案,每次臟頁(yè)刷盤過程刷入的臟盤的數(shù)量一致,可以使得磁盤I/O占用平均,磁盤I/O使用趨于平滑,避免因臟頁(yè)刷盤而導(dǎo)致的數(shù)據(jù)庫(kù)性能下降,提高了數(shù)據(jù)庫(kù)性能。
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)庫(kù)技術(shù)領(lǐng)域,特別是涉及一種數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)方法、存儲(chǔ)介質(zhì)與設(shè)備。
背景技術(shù)
針對(duì)可能發(fā)生的故障隱患,現(xiàn)有數(shù)據(jù)庫(kù)系統(tǒng)一般都制定了恢復(fù)機(jī)制。在目前流行的關(guān)系型數(shù)據(jù)庫(kù)中,一般都具備了檢查點(diǎn)的功能。
檢查點(diǎn)(checkpoint)是WAL日志(Write Ahead Log,預(yù)寫日志)中的一個(gè)位點(diǎn)。WAL日志的特性可以確保檢查點(diǎn)之前的WAL日志對(duì)應(yīng)的頁(yè)面修改已經(jīng)全部落盤。檢查點(diǎn)機(jī)制可以縮短數(shù)據(jù)庫(kù)崩潰后的恢復(fù)時(shí)間,當(dāng)數(shù)據(jù)庫(kù)崩潰后,可以結(jié)合WAL日志和檢查點(diǎn),只需重做最后一個(gè)檢查點(diǎn)的redo日志,就可以實(shí)現(xiàn)數(shù)據(jù)恢復(fù)的目的。
常規(guī)檢查點(diǎn)也被稱為全量檢查點(diǎn),在常規(guī)檢查點(diǎn)觸發(fā)后,會(huì)將自上一檢查點(diǎn)以來(lái),修改的所有數(shù)據(jù)頁(yè)標(biāo)識(shí)為臟頁(yè)(標(biāo)臟),并在檢查點(diǎn)自動(dòng)觸發(fā)的時(shí)間間隔內(nèi),集中將所有臟頁(yè)全部寫入磁盤(刷盤),進(jìn)行持久化存儲(chǔ)。這種恢復(fù)方案簡(jiǎn)單、直觀,但是因?yàn)槌R?guī)檢查點(diǎn)必須在自動(dòng)觸發(fā)的時(shí)間間隔內(nèi),集中將所有臟頁(yè)刷盤。如果前一檢查點(diǎn)產(chǎn)生臟頁(yè)數(shù)量多,而后一檢查點(diǎn)產(chǎn)生臟頁(yè)數(shù)量少,這種情況下兩個(gè)檢查點(diǎn)刷盤的磁盤I/O(輸入/輸出)會(huì)差異非常大。
也就是說(shuō),消耗較大磁盤I/O的刷盤,會(huì)使得數(shù)據(jù)庫(kù)性能出現(xiàn)下降,消耗較小磁盤I/O的刷盤又會(huì)導(dǎo)致為恢復(fù)配置的資源不能充分利用,這導(dǎo)致了磁盤I/O使用效率無(wú)法平衡的問題。
發(fā)明內(nèi)容
本發(fā)明的一個(gè)目的是要提供一種能夠解決上述任一問題的數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)方法、存儲(chǔ)介質(zhì)與設(shè)備。
本發(fā)明一個(gè)進(jìn)一步的目的是要平衡磁盤I/O使用效率。
特別地,本發(fā)明提供了一種數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)方法,包括:
獲取啟動(dòng)的觸發(fā)事件;
判斷預(yù)先配置的臟頁(yè)隊(duì)列中未被刷寫的臟頁(yè)數(shù)量是否超過第一設(shè)定閾值;
若是,獲取臟頁(yè)隊(duì)列中位于隊(duì)首的設(shè)定數(shù)量的臟頁(yè);
將設(shè)定數(shù)量的臟頁(yè)寫入磁盤。
可選地,在獲取啟動(dòng)刷盤進(jìn)程的觸發(fā)事件的步驟之前還包括:
啟動(dòng)日志檢查點(diǎn)的檢查流程;
檢查緩沖池,以獲取上一檢查點(diǎn)后出現(xiàn)的臟頁(yè);
在臟頁(yè)隊(duì)列中逐項(xiàng)記錄臟頁(yè)的信息。
可選地,在臟頁(yè)隊(duì)列中逐項(xiàng)記錄臟頁(yè)的信息步驟包括:
在臟頁(yè)隊(duì)列的隊(duì)尾處逐項(xiàng)增加記錄臟頁(yè)的信息的元素,臟頁(yè)的信息包括:臟頁(yè)的標(biāo)識(shí)號(hào)、臟頁(yè)對(duì)應(yīng)事務(wù)的日志序號(hào),臟頁(yè)的狀態(tài)信息;
根據(jù)增加的元素?cái)?shù)量修改臟頁(yè)隊(duì)列的隊(duì)尾指針。
可選地,在根據(jù)增加的元素?cái)?shù)量修改臟頁(yè)隊(duì)列的隊(duì)尾指針的步驟之后還包括:
判斷臟頁(yè)隊(duì)列中未被刷寫的臟頁(yè)數(shù)量是否超過第二設(shè)定閾值;
若是,生成觸發(fā)事件。
可選地,在根據(jù)增加的元素?cái)?shù)量修改臟頁(yè)隊(duì)列的隊(duì)尾指針的步驟之后還包括:
對(duì)刷盤進(jìn)程的休眠時(shí)間計(jì)時(shí);
在計(jì)時(shí)時(shí)長(zhǎng)達(dá)到預(yù)設(shè)休眠時(shí)長(zhǎng)后,若是,生成觸發(fā)事件。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京人大金倉(cāng)信息技術(shù)股份有限公司,未經(jīng)北京人大金倉(cāng)信息技術(shù)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211327416.5/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(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í)行方法及裝置
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 動(dòng)態(tài)存儲(chǔ)管理裝置及方法
- 一種存儲(chǔ)方法、服務(wù)器及存儲(chǔ)控制器
- 一種基于存儲(chǔ)系統(tǒng)的控制方法及裝置
- 一種信息的存儲(chǔ)控制方法
- 一種數(shù)據(jù)存儲(chǔ)方法及裝置
- 數(shù)據(jù)存儲(chǔ)方法、裝置、計(jì)算機(jī)設(shè)備以及存儲(chǔ)介質(zhì)
- 一種數(shù)據(jù)存儲(chǔ)控制方法及裝置
- 存儲(chǔ)設(shè)備、存儲(chǔ)系統(tǒng)及存儲(chǔ)方法
- 物料存儲(chǔ)方法及系統(tǒng)
- 基于雙芯智能電表的數(shù)據(jù)分類存儲(chǔ)方法和裝置
- 一種數(shù)據(jù)庫(kù)讀寫分離的方法和裝置
- 一種手機(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ì)





