[發明專利]一種數據落盤方法和相關裝置有效
| 申請號: | 201811198130.5 | 申請日: | 2018-10-15 |
| 公開(公告)號: | CN109388346B | 公開(公告)日: | 2022-02-18 |
| 發明(設計)人: | 甄鳳遠 | 申請(專利權)人: | 鄭州云海信息技術有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 王寶筠 |
| 地址: | 450018 河南省鄭州市*** | 國省代碼: | 河南;41 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據 方法 相關 裝置 | ||
本申請公開一種數據落盤方法和相關裝置,該方法確定內存中需要下刷至磁盤中的節點元數據;從落盤緩沖隊列中獲取排列最前的節點數據;落盤緩沖隊列中包含多個按照預設順序排列的磁盤上的節點數據;將節點元數據與排列最前的節點數據進行合并;將合并后的數據下刷至磁盤中。由于在元數據落盤之前,已經預先準備了落盤緩沖隊列,因此當需要進行合并時,只需從落盤緩沖隊列中獲取排列最前的節點數據即可,無需等待讀取磁盤節點數據用于與元數據合并。由此可見,本申請技術方案相對于現有技術,能夠顯著提高元數據的落盤效率。
技術領域
本申請涉及存儲軟件技術領域,特別是涉及一種數據落盤方法和相關裝置。
背景技術
當主機下發輸入或輸出(Input/Output,I/O)請求的時候,元數據首先會以B+樹或類似的存儲數據結構存放到內存中。但是,由于存儲系統內存的有限,并且在存儲系統出現異常掉電等情況下,元數據常駐的內存在可能會造成數據的丟失。鑒于以上原因,當元數據在內存中達到一定閾值的時候,會觸發落盤,將內存中的數據下刷到磁盤上,即,使內存的數據以持久化的形式寫到磁盤上。進而,當主機進行數據查詢的時候,可以快速進行數據的定位。
下面以B+樹的存儲數據結構為例,對傳統的元數據落盤方法進行說明。
傳統的元數據落盤方法是,當內存中的B+樹達到下刷閾值的時候,讀取磁盤上的B+樹,將內存中的B+樹與磁盤上的B+樹進行合并,合并完成后將合并后的新的B+樹下刷到磁盤上,如此完成一次下刷操作,元數據落盤。合并時,具體地,選取內存中最小的一個葉子節點,然后從磁盤上讀取一個最小的葉子節點,按照代表節點邏輯地址的Key值的大小,重新組織新的B+樹。可見,這種操作方式使得合并操作必須等待磁盤節點數據的讀取。當磁盤上的B+樹特別大(即磁盤上的數據量龐大),且短時間內主機I/O請求量特別大時,落盤效率非常低,導致存儲系統性能急劇下降。
因此,如何提高存儲系統元數據落盤效率已成為本領域當前急需解決的技術問題。
發明內容
基于上述問題,本申請提供了一種數據落盤方法和相關裝置,以提高元數據落盤效率。
本申請實施例公開了如下技術方案:
第一方面,本申請提供一種數據落盤方法,該方法包括:
確定內存中需要下刷至磁盤中的節點元數據;
從落盤緩沖隊列中獲取排列最前的節點數據;所述落盤緩沖隊列中包含多個按照預設順序排列的磁盤上的節點數據;
將所述節點元數據與所述排列最前的節點數據進行合并;
將合并后的數據下刷至所述磁盤中。
作為一種可能的實現方式,在所述從落盤緩沖隊列中獲取排列最前的節點數據之前,所述方法還可以包括:
創建所述落盤緩沖隊列;
按照所述預設順序,將所述磁盤上的節點數據加載至所述落盤緩沖隊列中,直至所述落盤緩沖隊列中排滿節點數據。
作為一種可能的實現方式,在所述從落盤緩沖隊列中獲取排列最前的節點數據之后,所述方法還可以包括:
確定所述落盤緩沖隊列不滿時,按照所述預設順序將所述磁盤上未被加載的節點數據加載至所述落盤緩沖隊列,以補齊所述落盤緩沖隊列。
作為一種可能的實現方式,所述預設順序為所述磁盤上的節點數據的邏輯地址遞增的順序;
所述從落盤緩沖隊列中獲取排列最前的節點數據,具體為:
從所述落盤緩沖隊列中獲取邏輯地址最小的節點數據;
所述將所述節點元數據與所述排列最前的節點數據進行合并,具體為:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于鄭州云海信息技術有限公司,未經鄭州云海信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811198130.5/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





