[發明專利]一種分布式對象存儲中的邏輯卷實現方法有效
| 申請號: | 202010094573.0 | 申請日: | 2020-02-16 |
| 公開(公告)號: | CN111309263B | 公開(公告)日: | 2020-11-24 |
| 發明(設計)人: | 周耀輝;劉露 | 申請(專利權)人: | 西安奧卡云數據科技有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06 |
| 代理公司: | 西安維賽恩專利代理事務所(普通合伙) 61257 | 代理人: | 劉春 |
| 地址: | 712000 陜西省西*** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 分布式 對象 存儲 中的 邏輯 實現 方法 | ||
1.一種分布式對象存儲中的邏輯卷實現方法,其特征在于,按照以下步驟實施:
S1、分布式系統節點的后端磁盤組織形式:
每個節點在用戶態將其后端存儲磁盤組織成一個大的虛擬設備;
S2、分布式系統邏輯卷的組織形式:
邏輯卷被劃分成大小相等的邏輯單元,每個邏輯單元就是一個對象,每個對象對應一個對象元數據,對象元數據唯一確定對象的內容和位置,其為二元組結構包括對象邏輯塊號和對象哈希值;
邏輯卷通過默克爾樹管理對象元數據,默克爾樹包括葉子節點和中間節點,葉子節點用于存儲對象的哈希值,葉子節點號為對象的邏輯塊號,中間節點用于存儲的就是以葉子節點哈希值為內容計算出來的哈希值;
邏輯卷的數據讀寫請求會先掛載到對應的內核虛擬塊設備的等待隊列上,用戶態的線程會從內核驅動的等待隊列上獲取io請求,在內核態和用戶態之間進行數據傳遞,在用戶態計算出對象的元數據二元組,更新到默克爾樹的對應葉子節點上;
對于所述邏輯卷的寫操作具體為:
用戶態線程實時檢測內核虛擬塊設備的pending_queue隊列上是否有io請求,通過用戶態的io請求線程將數據拷貝到用戶態,在用戶態將邏輯卷數據轉成對象,算出邏輯塊號和哈希值存儲到默克爾樹的葉子節點上,再以其哈希值在一致性哈希表中查出對象數據會被存儲在分布式集群中的目標節點,通過網絡將對象數據發送到目標節點;在目標節點上會生成對象的對象記錄,對象記錄會記錄對象的哈希值、引用計數和物理塊號;之后對象會被存儲在虛擬設備的后端存儲分區中,對象記錄會存儲在虛擬設備的索引交換分區中。
2.如權利要求1所述的一種分布式對象存儲中的邏輯卷實現方法,其特征在于,所述步驟1中虛擬設備的組織形式如下:每個磁盤的頭部會被存入固定大小的設備戳信息,用于指定此磁盤是存儲系統內的有效磁盤;虛擬設備的實際空間的起始地址在每個磁盤設備戳位置大小的位置處,虛擬設備空間會被劃分為三個分區,每個分區都會橫向跨所有磁盤。
3.如權利要求2所述的一種分布式對象存儲中的邏輯卷實現方法,其特征在于,所述三個分區具體為:
第一個分區虛擬設備分區表,用于記錄虛擬設備劃分分區的詳細情況,位于每個磁盤的設備戳之后;
第二個分區后端存儲分區,其大小是虛擬設備的98%,用于存儲數據對象,其空間會被劃分成大小相等的區塊,區塊的排序是concat模式;
第三個分區索引交換分區,其大小是虛擬設備的2%,用于存儲數據對象的對象記錄,其空間被劃分成大小相等的塊,塊的排序是stripe模式。
4.如權利要求1或2所述的一種分布式對象存儲中的邏輯卷實現方法,其特征在于,所述步驟2中,邏輯卷在系統中即為內核虛擬塊設備,調用內核驅動模塊創建邏輯卷,在系統中就會創建出內核虛擬塊設備;對邏輯卷的讀寫就是對內核虛擬塊設備的讀寫,邏輯卷的讀寫數據就是bio。
5.如權利要求4所述的一種分布式對象存儲中的邏輯卷實現方法,其特征在于,所述內核虛擬塊設備包括兩個隊列pending_queue和active_queue;pending_queue隊列用來存儲虛擬塊設備的bio數據包;對內核虛擬塊設備讀寫的時候,bio就會以數據包的形式保存到pending_queue隊列中;active_queue隊列也是用來存儲內核虛擬塊設備的bio數據包,當用戶態線程從內核態的虛擬塊設備獲取io請求的時候,將bio數據包從pending_queue隊列轉移到active_queue隊列。
6.如權利要求5所述的一種分布式對象存儲中的邏輯卷實現方法,其特征在于,所述bio數據包含內核虛擬塊設備的信息、bio、bio在內核虛擬塊設備上的地址、bio大小、bio讀/寫模式以及完成情況。
7.如權利要求1或2所述的一種分布式對象存儲中的邏輯卷實現方法,其特征在于,對于所述邏輯卷的讀操作具體為:
讀請求先到內核態虛擬塊設備的pending_queue隊列上,通過用戶態的io請求線程獲取這個讀請求,解析出邏輯卷讀請求的邏輯塊號,在默克爾樹中查到邏輯塊號對應的對象哈希值,以對象哈希值在一致性哈希表中查出對象數據在分布式集群中的目標節點,通過網絡將對象哈希值的讀請求發到目標節點,在目標節點上,先從虛擬設備的索引交換分區中找到對象哈希對應的對象記錄,解析出對象記錄中的物理塊號,再以物理塊號為地址在虛擬設備的后端存儲分區中讀出對象數據,之后通過網絡傳輸到邏輯卷所在的節點,將數據從用戶態拷貝到內核態的虛擬塊設備上。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西安奧卡云數據科技有限公司,未經西安奧卡云數據科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010094573.0/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種貯水罐外壁噴涂設備
- 下一篇:一種動態功耗封頂調控的方法和設備





